Jump to content

Recommended Posts

About This File

Based visually in the My Paid Files page from IPS Marketplace, this plugin will add the ability to file submitters to add manual purchases for their files.

Requirements:

  • Commerce
  • Downloads, with the Commerce integration enabled.

Settings:

  • Files per page on index listing
  • Purchases per page on file view
  • Display purchasers
    • If disabled, file submitter will not be able to view who bought their files
  • Groups allowed to use this feature
     

Note: made by request.

Link to comment

I am just going to post here because I can't update my review.

I feel like people don't understand what this does. Trust me you NEED this you just don't know it yet. (read on)

This mod allows your contributors to downloads who contribute PAID files the ability the manually generate an invoice for a user. This gives your contributors the ability to have more control over their business on your site. for example,

  • your contributors can offer 1 free download to anyone who makes the most posts in a specific thread.
  • or they can offer a free download as a customer service measure to make one of your customers happy.
  • They can also BETTER see who downloaded their files and how many times. (this works better than built in system)

Really, it will be the best $10 you spend all week. TRY IT!!

 

This mod SAVED MY A$$: As many of you know I was recently hacked. I had to go to a backup made several days prior to the hacking. What about customers who purchased after the backup? Do they have to re-buy the video?    It's easy enough to have contributors re-upload the files but without this mod there would have been no way for contributors to manually add purchases for customers who already paid. I would have to do all of it myself in the ACP.

Edited by superj707
Link to comment
  • 2 months later...
  • 3 months later...

EDIT The button is fine on live site but still have the problem with the table when changing pages

the tables in my paid files purchasers when you go to page 2 say it gives a error the url it gives is this mypaidfiles/file/0-%257B%3F%257D/&page=2 and this code Error code: MY PAID FILES/3

Edited by TheJackal84
Link to comment

OK so I fixed everything needed fixing but if anyone has already generated purchases then they need to edit their database (read at the bottom for that )

 

First is the simple it's just adding the <li> </li> class to the purchases button so it don't kiss the renew button

Is for the tables in the mypaidfilesFiles.php in line 97

$table 					= new \IPS\Helpers\Table\Db( 'nexus_purchases', \IPS\Http\Url::internal( 'app=downloads&module=downloads&controller=browse&do=contributorsviewfile&id={$id}', 'front', 'downloads_contributors_file' ), $where );

Needs to be

$table 					= new \IPS\Helpers\Table\Db( 'nexus_purchases', \IPS\Http\Url::internal( "app=downloads&module=downloads&controller=browse&do=contributorsviewfile&id={$id}", 'front', 'downloads_contributors_file', $file->name_furl ), $where )

Its just the ' ' at the start and end of the url needs to be " " as it don't read the {$id} and the furl is not reading the $file->name_furl as it's not added

In the generate purchase controller we need to change the

'ps_renewals'			=> $expire > 0 ? 1 : 0,

on line 215 to

'ps_renewals'			=> $file->renewal_term,

all its doing is trying to add the expire time to the db where it should be like 1 or 6 for 1 year or 6 months and add

'ps_renewal_unit'       => $file->renewal_units,

to it as it don't know the period of the renewal, but if there is no renewal set for a file, it will throw another error that renewal_units cants be null so I used

                if ( $file->renewal_units )
                {
                    $save = array(
                        'ps_member'             => $values['mypaidfiles_member']->member_id,
                        'ps_name'               => $file->name,
                        'ps_active'             => 1,
                        'ps_start'              => $values['mypaidfiles_purchased']->getTimestamp(),
                        'ps_expire'             => $expire,
                        'ps_app'                => "downloads",
                        'ps_type'               => "file",
                        'ps_item_id'            => $file->id,
                        'ps_renewals'           => $file->renewal_term,
                        'ps_renewal_price'      => $price,
                        'ps_renewal_unit'       => $file->renewal_units,
                        'ps_renewal_currency'   => \IPS\nexus\Customer::loggedIn()->defaultCurrency()
                    );
                }
                else
                {
                    $save = array(
                        'ps_member'             => $values['mypaidfiles_member']->member_id,
                        'ps_name'               => $file->name,
                        'ps_active'             => 1,
                        'ps_start'              => $values['mypaidfiles_purchased']->getTimestamp(),
                        'ps_expire'             => $expire,
                        'ps_app'                => "downloads",
                        'ps_type'               => "file",
                        'ps_item_id'            => $file->id,
                        'ps_renewals'           => $file->renewal_term,
                        'ps_renewal_price'      => $price,
                        'ps_renewal_currency'   => \IPS\nexus\Customer::loggedIn()->defaultCurrency()
                    );
                }

another little edit will be in the purchasersRows.phtml to edit from line 24 replacing

                    <div class="ipsDataItem_generic ipsDataItem_size8">
                        {{if $row['ps_expire']}}
                            {lang="mypaidfiles_expires"} {datetime="$row['ps_expire']"}
                        {{else}}
                            {lang="mypaidfiles_noexpire"}
                        {{endif}}
                    </div>

with

                    <div class="ipsDataItem_generic ipsDataItem_size8">
                        {{if $row['ps_expire'] AND $row['ps_expire'] < $time}}
                            {lang="Expired"}
                        {{elseif $row['ps_expire']}}
                            {lang="mypaidfiles_expires"} {datetime="$row['ps_expire']"}
                        {{else}}
                            {lang="mypaidfiles_noexpire"}
                        {{endif}}
                    </div>

Adding whatever lang string you want, that way if the file is expired it will show expired instead of the expire date.

then anyone who has generated their purchases will need to edit their database adding the proper renewals terms and the renewal units otherwise it cant generate any renewal invoices and will throw a server error, Unless you make a little plugin to do it that way by pulling the file id and stuff then updating the columns

Don't mean to be rude by this post just hoping it will help / be easier with fixing the errors

Edited by TheJackal84
Link to comment
4 hours ago, superj707 said:

could you get me the fix for this too?

It will be better to wait for @Adriano Faria to update it then to take let's say a hack of it ( I call it hack because it is not my work and I would be annoyed if someone edited mine and gave it to my customers ), I have put everything in a post above to what needs doing so hopefully he won't need to search through it all etc to find the errors etc, I have tested it already on my live site with them edits and its fine, and the tasks for the renewals no longer through a error they now send the mails

Edited by TheJackal84
Link to comment
  • 7 months later...
  • 6 months later...
3 hours ago, SJ77 said:

My folks are seeing the add manual purchase button twice. Can you help?

@Adriano Faria

2F75A79F-FBA1-4BF1-91BC-7574284453E4.png

That's not what shows to me:

V8ENf1E.png

It should display the PURCHASERS button and when you click on it, it will have an option to add a manual purchase.

Make sure you are using latest version and if you are, disable the app/plugin that adds this 2 other buttons there to see how it goes.

Link to comment
2 hours ago, Adriano Faria said:

That's not what shows to me:

V8ENf1E.png

It should display the PURCHASERS button and when you click on it, it will have an option to add a manual purchase.

Make sure you are using latest version and if you are, disable the app/plugin that adds this 2 other buttons there to see how it goes.

I am using the latest version 😞

I don't know why it's not working right

 

Link to comment
  • 1 month later...
9 hours ago, SJ77 said:

still not working I see add manual purchase twice

And I still can't reproduce. I can't even see the button that shows up in your screenshot:

fZ8tP3D.png

VVLgn6p.png

Shows up to me PURCHASERS... for you, ADD PURCHASE. I wouldn't waste more time and would uninstall it and reinstall it. Also, disable all other plugins related to Downloads and test this alone to determine if it's a conflict with something else.

----------------------------------------------------------------

The screenshots above is from IPS 4.4, so it is compatible with IPS 4.4.

Link to comment
  • 2 months later...
  • 1 month later...
1 hour ago, SJ77 said:

Just found out this allows files submitter to rate and review their own files. Not good. Being used by some of my file contributors to cheat and fake up ratings. Please help

Don't think that is anything to do with this file, I can review any of my files here and also on my own site, always been able to as long as I have downloaded it, it will let me review ( settings are set to download before review on downloads settings )

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...