Won't appear in plugin admin page

Dec 12, 2008 at 10:18 AM
Hi, I was so excited when I found your plugin...and even more so because it uploaded so easily. But now I simply can't get it to appear in my plugin admin page in order for me to activate it. I have tried reloading and checked to see that all the files have transferred (they have), so I am at a bit of a loss. I am using the Freshy theme, if that makes any difference. Any ideas on what I might be able to do to sort this out? Many thanks.
Dec 12, 2008 at 11:53 AM
I know this is going to seem a bit silly, but... sometimes a zip program will unzip a product in an extra folder. Look on your hard drive at the unzipped folder. Open it and see if the whole product is in yet another folder. If it is, you have uploaded it to your server in one extra folder. If that's true, just delete it and upload again from the second folder.

If, when you open the unzipped folder on your hard drive, you find an image folder and one or more data files/folders, then what I have described is not the issue. and in that case, I'm afraid I can't help, as I don't know what else the problem might be. Sorry.

Dec 12, 2008 at 3:42 PM
Msolsyd:  What version of WP are you using?  I use my own variation of EasyPayPal on my blog but discovered that there were errors in it once I upgraded to WP v 2.7 RC 1.  All it took was one additional line of code to fix the plugin.  What version of WP, what version of EasyPayPal, how did you upload the plugin, etc.

Dec 14, 2008 at 7:21 AM
Thanks so much to you both for your quick responses! It turns out that kitfanc was absolutely correct...I feel a bit silly, but very grateful nonetheless! I will also be looking out for errors in WP 2.6.3 - so thanks PDRater. Cheers to you both.
Dec 14, 2008 at 4:21 PM
Msolsyd:  As soon as you can, upgrade to v2.6.5 or, better yet, v2.7.  There's a critical error with 2.6.3 that got fixed with 2.6.5.  Starting with 2.7, you can automatically upgrade WP with a button click.  However, keep in mind that it may cause the same error I saw.  It had to do with "preg_replace" getting a non-string variable passed to it.  If you see that, post here again.

Dec 15, 2008 at 1:51 PM
No worries, Msolsyd! Silly happens from time to time. I just had a hunch your problem might be a simple one like that, but one never knows! Thankfully, it was an easy one! :-D Good luck to you!
Dec 16, 2008 at 10:05 AM
Hi PDRater,

As you may remember (or not), I use a modded 3.2 as well, and was just about to upgrade to WP 2.7 when I read your post about a problem - could you post (or pm) details of the problem/solution please so that I, like the good boy scout, am prepared!

Thanks in advance,

Dec 16, 2008 at 3:25 PM

You're absolutely right!  I had forgotten but now remember.  I'd be happy to post my mod.  If I don't post this evening, please remind me (its been a crazy week and its only Tuesday morning...)

Dec 16, 2008 at 3:36 PM
Thanks PDR - look forward to it!

Dec 17, 2008 at 4:05 AM
A few points:
  1. I've modified EasyPayPal pretty heavily for my own website.  On my site users may access their profiles at any time even if they're not paid subscribers.  I've created another function which returns "true" if the current user is a current paid subscriber and "false" if the current user is not a current paid subscriber.  Other custom plugins grant additional access/privilieges when this new function returns "true".
  2. I'm using the EasyPayPal v 3.2 "paypal_ipn.php."  In looking at the version you e-mailed me a while back, we're using identical versions.  (I highly recommend WinMerge as a comparison tool.)
  3. The problem:  It appears that WordPress prior to v2.7 RC 1 treated the entire contents of the user profile screen as a single string, accessed as "$text."  However, starting with WordPress v2.7 RC 1, the entire UI was heavily modified.  One of the changes appears to be that part of the user profile is created out of a string variable "$text" and text generated from the wp_user object.  The issue is that the php function "preg_replace" in the function "EasyPayPalButton_the_content" cannot modify the contents of an object.
  4. The solution:  It appears that WordPress v2.7 runs the "EasyPayPalButton_the_content" function on each component of the user profile.  So, I just inserted a check in the "EasyPayPalButton_the_content" function to determine if the variable its being passed is actually a string or not.  If its not, it just returns the variable $text.  If it is a variable, then it tries to replace the portions of "$text" that are supposed to be protected by EasyPayPal.  If you want to make this change yourself:
    1. On EasyPayPal v3.2 you'll need to go to line 314.
    2. On line 314 (or thereabouts), you should be inside the function "EasyPayPalButton_the_content".
    3. Locate the line "preg_match_all($tag_pattern, $text, $matches);"
    4. Just before this line, insert the following code (ignore quotes):      "if (is_string($text)) { $text = strval($text);"
    5. On line 351 (or thereabouts), you should be at the second to last line in the function "EasyPayPalButton_the_content".
    6. Locate the line "return $text;"
    7. Just before this line, insert the following code (ignore quotes):     "}"
I am pretty sure this was the problem and positive this was my solution.  However, its certainly possible that this problem was created by a bug in my mod of EasyPayPal.

I hope this helps!

Dec 17, 2008 at 11:31 AM
Thanks for that, PDR, I shall go ahead shortly with a 2.7 update, and will post an update here.
Dec 17, 2008 at 12:31 PM
Edited Dec 18, 2008 at 8:37 AM
I have been hesitant to come back and ask another silly question, but I don't see any other option. Help! I can't figure it out! It's as simple as that. More precisely, I want to restrict access to one page on my site and to have people pay a membership fee (preferably with the option of a quarterly or annual membership) in order to be able to access the page, but I can't work out how to create a registration/login for the page, how to make that a paid registration and how to hide access to anyone who is not a member. I know it can be done, but I just can't figure out what I am not doing. Easypaypal seems to have uploaded fine thanks to kitfan's suggestion and I followed PDRater's advice and upgraded to WP 2.7 (terrified of messing it up, but so relieved when it worked). I have checked with other discussions on this subject, but even http://www.codeplex.com/easypaypal/Thread/View.aspx?ThreadId=29408 hasn't helped me. As per Shannon Whitely's instructions, I have placed [pay]MEMBER-ONLY CONTENT[/pay]
at the top of my 'members only' page, but that hasn't appeared to achieve anything...I guess I am simply missing a fundamental piece of the pie. I know this is probably painfully remedial, but if anyone can give me the 101 pointer that I am clearly missing, I would be hugely grateful. And just when I thought I had started to figure this thing all out... Thanks in advance, M
Dec 17, 2008 at 1:51 PM
Hi msolsyd,

I'm not sure, but I think you've misinterpreted Shannons instruction - The [pay] [/pay] have to surround ALL the of the content you want hidden, it's not a "head of page" piece of code.

If, for example, I placed the tags around the [pay] Private Member Bits[/pay] the public would see everything except the Private Members Bits. It quite literally hides what's between the tags and puts a message in its place (which you define) with a url (which you define) that leads to the payment/registration page.

Let us know if that's the answer - if not we'll take a look and have another go.

Dec 17, 2008 at 6:09 PM

Thanks for responding to folks on this issue.  I'm sticking my head in to try to address some of these issues as well.
Dec 17, 2008 at 9:19 PM
@SWhitley:  No problem!  The way I look at it, you've given everyone an incredible resource.  This is my way of giving back too.

My website requires automatically recurring payments and the PayPal IPN.  I've modified EasyPayPal to work very well with my own website.  I haven't touched the code in months, but I had modified it so that:
  1. Anyone can view their profile, even if they're not a paid registered user.
  2. EasyPayPal has a function that returns true/false if the current user is paid up/not paid up.
  3. I was working on a modification of EasyPayPal that would:
    1. Add a simple checkbox to every post/page that would protect the page if the current user was not paid up
    2. Allow you to tag a post with a pre-defined tag, probably something like "paid" or "premium," that would allow the user to easily protect a page by tagging it
As I understand it, your most recent version of EasyPayPal does not work with the PayPal IPN.  Automatically recurring payments is such a huge benefit that I think its really worth returning to v3.2.


Dec 23, 2008 at 2:38 PM
Thanks for that johnedgely. You were right, I didn't understand. In case anyone else finds it useful, I have combined EPP with the wp plugin page-restrict: http://sivel.net/wordpress/ which allows me to restrict access to a page on my site to paid members only...I am having other issues now, but at least those problems have been solved. Cheers to everyone for their help :)
Jan 20, 2009 at 8:17 PM
PDRater, I'd love to get this to work. I am using EPP V.3.51 and WP 2.7 at http://solutionsjournal.com.

People register and are sent to Paypal to make the payment, but still cannot log in until I place them in the Exceptions List. I really don't want to do this as it defeats the purpose of EPP. I suspect that my problem lies in that I have a PayPal Websites Pro Account, that requires the IPN to be on. I cannot turn it off as this violates the PayPal agreement. In fact, I couldn't turn it off if I wanted to - it is locked.

I tried to make the changes that you mentioned in v3.2 and failed. I tried it three times, checking my code carefully, but WP crashed each time and de-installed the plug in. I am back to 3.51 at this time. Any suggestions would be helpful.

Bill Hood
Solutions Journal Magazine
Jan 21, 2009 at 4:36 AM

EPP v3.5+ does not support the PayPal IPN.  I'm very sorry that you've been unable to fix these issues.  I've spent a considerable amount of time working with EPP v2.3 to modify it to work on my own website.  Please allow me to make a few suggestions:
  1. You appear to be having a specific set of problems with EPP.  However, in your various posts I can only discern that you are unable (even with Shanon's assistance) to get any version of EPP to work for you.  Try starting a new discussion thread and describing each of your problems in detail, providing as much information as possible.  That way anyone who knows how to fix one of the problems might be able to help you out with a specific problem.
  2. I know at least one user of this website has had some success offering to pay for help fixing their problems with EPP.  Shanon has put in a lot of effort to put together this really fantastic and free resource.
I'm sorry, but since I don't know what problems you're having, I don't have a way of making any recommendations.

Good luck,

Jan 21, 2009 at 5:03 AM
Edited Jan 21, 2009 at 5:57 AM

I have tried to address the situation as you suggest. And, I am certainly open to any effort to resolve the issue - even payment. To date, no one has stated that they have an answer and will "fix" it for a fee. I'd be glad to find an answer if you have one, even reverting back to an earlier version.

I agree that Shannon (and others, including yourself) have put a considerable amount of effort into a valuable resource. While I believe in Open Source, I also believe in rewarding those who can fulfill the needs of the world.

EPP works, except that it will not communicate with PayPal after the client has paid. After payment the client is continuously sent back to PayPal until I add them to the Exceptions List, which defeats the purpose of EPP. A small part of EPP, but an important one for a Subscription Management Program.

I will post a new thread as you suggest.

Bill Hood
Solutions Journal Magazine