Entries Tagged 'Errors' ↓

Conflict With “Cache” Related Plugins

DAP currently does not work with any “Cache” related plugins, and the reason is quite simple, actually.

Cache plugins are built on the premise that they will “cache” (save and store the contents of) WordPress pages and posts – which usually don’t change for “non-membership” type regular blogs – in a easy to retrieve, static file, so that WordPress doesn’t have to go to the database to load the contents of the page or post each and every time, which will improve the performance and loading time of your WordPress blog in general.

But the fact that such plugins are actually designed to “skip” interactions with the database as much as possible, and will make a “static copy” of your page or post and serve the same static copy to all visitors regardless of who they are, completely goes against the concept of a membership site.

The idea behind using a membership plugin like DAP, it to make sure that different visitors see different content: For ex.,

1) Casual visitors (Non-Members) who have NOT yet signed up for your products, should see content differently than …

2) Members who may have purchased one of your products, but not the product that gives them access to a specific page or post, who should see content differently than…

3) Members who actually have purchased the right product and DO have access to the content, who should see content differently than…

4) Ex-Members who signed up for your subscription-based content in the past, but have since canceled or allowed their access to expire

So, DAP tries to figure out who the visitor is first, and then packages the very same content differently to each category of visitors.

And installing a “cache” plugin kind of makes the whole point of a membership plugin meaningless. Both plugins basically contradict each other in what they’re trying to do.

One (your cache plugin) is trying to speed things up by not going to the database every time, while the other wants to make sure all of the right settings are loaded from the database to make sure your content stays secure from un-authorized access.

So, while cache plugins may work for the average, non-membership, static blog where a single post or page is not really meant to be shown differently to different people, it’s not a good idea to use it on a membership-site.

Strange Characters In Emails

If you or your members are noticing strange characters in emails – especially where there should normally be a single or double quote, then these are due to what are known as “Smart Quotes”.

These special characters always show up when you copy text from a WordPress blog (some themes use these characters) or a Microsoft Word document.

Single quote:

'(correct)

`(incorrect)

Double quote:

" (correct)

`` (incorrect)

The single quote that works correctly is located next to the “Enter” key.

The incorrect one is located next to the “1″ number key.

So copy your email text to a text editor, like notepad. Then change all single quotes to be and all double-quotes to be in your emails. Then put them back into DAP, and then test.

The “strange characters” issue should then be resolved.

NOTE: In a future version, we will implement an enhancement in DAP so that DAP can handle this automatically, but for now, the above solution is your only option.

Troubleshooting Login Errors

Problem: When you go to http://YourSite.com/dap/ , you get redirected to a "Page Not Found – 404" error page.

Solution: This is happening because in DAP Config, you probably set up an invalid URL to be the default login page. So do this:

  • First, log out of DAP by going to http://yoursite.com/dap/logout.php (manually type that in to your browser)
  • Now log in to DAP via DAP's special login page – http://YourSite.com/dap/login.php
  • Go to "Setup > Config > Advanced" screen
  • Then where it says "Location of your login page (eg., if using WordPress). Should start with a forward slash (`/`)" – enter a valid URL there. Before entering any URL there, visit the URL separately in a separate browser tab (or window) and make sure you can actually get to it, and that it has a login form there. Then put that URL in to the above field, and click on "Update".
  • Now in a separate browser (totally different browser) where you are not logged in to DAP or WP, try to go to http://YourSite.com/dap/ and see if it redirects to the right page. If not, revisit the steps above, and double check the login URL, that's all.

Data Loading Errors

Progress Bar Never Stops

You’re seeing the green “Loading… Please Wait” progress bar continuosly running – it never stops and comes back with any data.

If this is a new setup, then it’s possible that your web host does not have a library called “JSON” enabled. Just ask them to enable it for your server. It’s rather simple to do, and we’ve never seen a host that won’t do this for their customers.

If it’s an old setup, and it was working previously, then your host made some changes that caused the library to stop working. So you still need their help in resolving the issue.

Error Message: “There was an error returning data’”.

One possibility is that your database or web site is temporarily down, slow, or plain not responding for some reason. So DAP cannot connect to your database, and comes back with this error.

Or it could also be the “Progress Bar Never Stops” issue from above.

Troubleshooting 1ShoppingCart Integration

There are a few different reasons why this may not be working.

1. Check if Cron is running

The DAP email-processing cron that processes the 1SC emails may not be running. Check your webhost control panel -> Cron job settings. Make sure dap-emailorder.php is setup to run once every 10 minutes.

2. Incorrect Setup of Billing Email Id

The billing email id you have entered in DAP at Setup > Config > Payment Processing , should be entered into the “Order Notice Email – Primary Destination” field in your 1SiteAutomation/1Shoppingcart account, on the Setup > Orders > Notifications section. If by chance you enter it into the “Order Notice Email – Primary Destination” field, it WILL NOT WORK.

3. No Notification Emails from 1SC

The DAP cron is running but 1SC payment notification emails are not reaching your mail server. Check the email account where you expect to receive your 1SC payment notification emails and see if the order notification email from 1SC is in that mail box.

4. Incorrect Mail Server Settings

The cron is running and the 1SC order notification email is reaching your mail server – but you did not configure the mail server settings correctly in DAP Dashboard -> Setup -> Config -> Payment Processing.

Email Server Where Order Emails Come In
Email Server User Name
Email Server Password

5.”Read” Or Deleted Emails

DAP only processes order notification emails that are in the “Unread” status, to prevent previously processed emails and other non-DAP emails from being repeatedly processed.

Also, if you “pop” off the emails from that mail box (means, your email client like Outlook or Thunderbird or Gmail is “removing” your emails from the server when it retrieves them), it means that when DAP logs in to that billing email address, there are no emails there to be processed – the mailbox is empty, or the 1SC payment notification emails have somehow gotten deleted from that mailbox.

So it is possible that DAP is able to connect to your email server, but DAP is not finding any “unread” emails. Please login to your email server and mark all the payment emails that you want DAP to process… as “unread”. And also make sure that your email client does not remove the emails from that mail box.

6.Product Name Mismatch

There might be a “Product Name” mismatch. The product name has to be EXACTLY the same (including case, spaces, etc) in both DAP as well as in 1ShoppingCart. So if you have created a product by name “Widget A”, make sure your 1shoppingcart product also has the exact same name “Widget A”.

If everything is setup correctly, DAP cron will run every 10 minutes and try to process all 1SC emails.

The next time the DAP cron will run (every 10 minutes), it will pick up all the unread payment emails from 1SC.

7. Empty “Thankyou-Email Body/Subject”

Welcome email is not getting sent.

Select the product, and make sure there is some text in the “Thankyou-Email Subject” and “Thankyou-Email Body”. Whatever is in these fields is what gets sent immediately after someone purchases that product (or right after you give them access from the backend).

Now go to DAP Dashboard -> Users -> Add .

Select the product and manually add user. Now see if the thankyou email gets sent to that email id. If it got sent, then your product setup is correct.

Also check the DAP Dashboard -> Orders . Search for all orders, look up the order for the particular user in question by email.

Check the payment status and make sure there is no error there.

If you did all this and things are still not working, please do this:

1. Set DAP Dashboard > Setup Config -> Basic > Log Level = 5
2. Re-run the 1SC test purchase
3. Check the DAP Logs (DAP Dashboard > System > Logs) and send us the log text in there for troubleshooting by pasting it into a new support ticket.

8. Sending Email & Password To Buyer

Make sure you have set the thank-you message with the right merge tags for Email and Password.

9. Manually Running Cron

First set DAP Dashboard > Settings > Config > Log Level = 5

If you feel that the orders were not processed in dap, then just login to the 1SC email account where the sales/payment notification emails are sitting, and mark those orders/emails as UNREAD that you want dap to process.

Then manually run the cron script dap-emailorder.php cron by visiting the following link in the browser.

http://www.yoursite.com/dap/dap-emailorder.php

Replace yoursite.com with the name of your site.

It will just display an empty screen when complete.

Then check “Users > Manage” to see if user has been created.

- Veena Prashanth

Customizing Error Messages On Protected Pages

When an unauthorized visitor tries to access a protected page or post, you can choose from among two things that can happen:

1) Display an “In-Page Error Message“: They can be presented with an error message that shows a “lock” image. You can show the standard DAP version, or you can customize this message and add your own text.

-OR-

2) Redirect to Error Page: They can be redirected to any other page of your choice (WordPress page or post, or a completely non-WP page)

1. Display “In-Page” Error Message

“In-Page” basically means that this message will be shown on the same page that the user is trying to access (to which they do not have access). So basically, the content of the very post or page they’re trying to access, will be replaced by this “In-Page” error message.

The default error messages shown by DAP are as follows.

A) If a visitor is NOT logged in, then they will see…

(Image A)

B) If a visitor IS logged in, then they will see…

(Image B)

If you see Image A above, there is a line of text that says: “Click here to get access”.

And in Image B above, there is a line of text that says: “If you are a free member, then click here to purchase access”.

In both cases, the text “click here” is actually a link. And by default, that link will point to whatever you put in the “Sales Page URL” in your DAP Product (to which the above post/page is part of). See Image C below.

(Image C)

Displaying Custom Error Message

If you wish to customize the above standard error messages, then here’s what you need to do:

  1. Go to /dap/inc/ folder. There are two files there:error-loggedin.php , and
    error-notloggedin.php
  2. Make a copy of both files on your computer, and add the text ‘custom‘ to the front of each of the file names of the newly copied files. So the new files are now called: customerror-loggedin.php , and
    custom
    error-notloggedin.php
  3. Open customerror-loggedin.php and customerror-notloggedin.php and modify them as you please, change the text, formatting, font size, color, etc.
  4. Upload the new files to the same folder – /dap/inc/ – as the original error files.That’s it. DAP will then ignore the old error files, and start displaying your new “custom” error messages.

2. Redirect to Error Page

Instead of showing an error page (default or custom, from (1) above) you can also redirect the un-authorized user to a completely new page/post of your choice.

If you see Image D below, you will see that on the DAP Products page, there is a field called “Error Page URL“.

By default, this is pointing to /dap/product-error.php

(Image D)


Change this to any link you want. Examples…

http://YourSite.com/myerrorpage.html , or

http://YourSite.com/myerrorpage/

Whatever you put in the above field (Error Page URL) is what page the user will be redirected to, when they access a page that they don’t have access to (either because they have not logged in, or because they are logged in, but don’t have access to it yet).

Plugin Errors

(1) When Activating LiveLinks

If you are seeing an error that looks like this when you try to activate LiveLinks…

Fatal error: Cannot redeclare dap_filter_posts() (previously declared in /home/birdtric/public_html/wp-content/plugins/DAP-WP-LiveLinks/DAP-WP-LiveLinks.php:11) in /home/birdtric/public_html/wp-content/plugins/DAP-WP-LiveLinks/DAP-WP-LiveLinks.php on line 11

First click on the DigitalAccessPass link on the left side bar of your WP admin panel and see if you able to login to the DAP Admin Panel successfully.

If yes,  you can ignore this error. If not, try out these solutions one-at-a-time.

Solution A) This could be because you have incorrectly named the DAP or Livelinks folders.

Remember, the dap folder must always be named dap (all lower case – and not, say, dap_v3.0). And the livelinks folder must be named DAP-WP-LiveLinks .

Solution B) Make sure you have installed dap to the root of your site/domain. If you installed it right, you will be able to access this URL:

http://yoursite.com/dap/phpinfo.php

Note: Replace yoursite.com with the name of your site.

Now go back to WP admin panel -> plugins  and de-activate and re-activate the DAP-WP-LiveLinks plugin.

Solution C) Go to /dap folder on your site

Rename dap-config.php to dap-config.old.php

Now go back to WP Admin -> Plugins -> de-activate and re-activate DAP live links plugin.

Solution D) Go to WP admin panel -> plugins

Try to de-activate all active plugins. Just activate DAP-WP-LiveLinks first. See if it works. Then re-activate all other plugins one-at-a-time to find out if there is a plugin conflict.

Solution E) Go to WP admin panel -> Appearance -> Theme

Try to de-activate the currently active theme and use the WP default theme.  Now go back to WP admin -> plugins and de-activate and re-activate DAP Live Links plugin and see if that resolves the issue. If yes, it points to a theme issue and you might have to consider switching the theme or contact the theme developer for a possible fix.

Solution F) This applies to DAP installation on a  sub-domain or add-on domain.

If you are installing DAP on a sub-domain or an add-on domain, then this problem is likely because the path to the root of your site does NOT match the server document_root.

Here’s how you can figure out the siteroot and document root.

Run this command in a browser window:

http://yoursite.com/dap/getpath.php and note down the path.  That’s the path to the root of your site.

Run this command in a browser window:

http://yoursite.com/dap/phpinfo.php and search for document_root. Note down the path. That’s the path to the document root of your site.

NOTE: replace yoursite.com above with the name of your site.

If the only difference is that the first one (getpath.php) has a /dap at the end, then it’s fine. But if getpath.php results in a different path than the one returned by phpinfo.php, then you will have to update wp-config.php with a new siteroot definition using the value returned by getpath.php.

Copy the results of getpath upto /dap as shown below and add it to wp-config.php.

For ex – if getpath.php returns – /home/yoursite/yoursite.com/dap, then this will be what goes into wp-config.php

if ( !defined(‘SITEROOT’) )

define(‘SITEROOT’, ‘/home/yoursite/yoursite.com’);

Please Note :

Replace backticks (‘) above with single quotes in the define statement. When this document is updated, wordpress replaces single quote with backticks, but if you copy and paste the define statement above directly from this document to your wordpress config file, remember to change backticks back to single quote.

Now try to re-activate dap live links plugin.

If it succeeds and installs DAP successfully, then go back to /dap folder on your site. You will now see a new file called dap-config.php. Edit the dap-config.php file.

Add the same line to dap-config.php also.

if ( !defined(‘SITEROOT’) )

define(‘SITEROOT’, ‘/home/yoursite/yoursite.com’);

That’s it. You will not see any of these warning/errors after that.

NOTE: here ‘/home/yoursite/yoursite.com’ is just a sample, you need to use the path returned by http://yoursite.com/dap/getpath.php on your site.

Solution G) It is possible that your web site does not meet the minimum requirements to run DAP .

If you open a ticket and give us your FTP info and your WordPress Admin login info, we can confirm this to you right away.

— *** —

If you are seeing an error that looks like this when you try to activate LiveLinks…

Oops! Could not create the config file (dap-config.php). Please make the ‘dap’ folder writable by doing CHMOD 755 (and if that doesn’t work, then try CHMOD 777.)

Installation failed. Please de-activate LiveLinks and re-activate it when you’ve fixed the issue. (106)

* CHMOD just the dap directory to 777.

* Then de-activate and activate the LiveLinks plugin.

* This time around, it should be able create the dap-config.php file within the dap directory. You should see the successful installation message.

* CHMOD just the dap directory back to 755.

If that doesn’t work, then open a ticket with the FTP info and WP admin info.

————————————————————

(2) Session Error

If you see an error that looks like this…

Fatal error: Dap_Session::isLoggedIn() [dap-session.isloggedin]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition “Dap_Session” of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /home/site/public_html/dap/inc/classes/Dap_Session.class.php on line 41

This is basically caused by someone else’s 3rd-party WordPress plugin that is wiping out the “session” data (or user data stored in memory) which DAP relies on to store the user information. So there are two things you can try…

  1. See if you have a plugin by name “WordPress Automattic Upgrade” in your wordpress plugins page.This has created many issues for so many other plugins too, including LiveLinks. Just de-activate this plugin, and your error should go away. Also, if you are using WordPress version 2.7.1, you don’t really need this plugin any more – the automatic upgrade feature has been built right into this version.
  2. See if you have a plugin for doing “Captcha” – this is where to prevent bots from spamming your comments, your visitor is presented with some kind of an image to verify that they are human. Try with that de-activated.
  3. If none of the above worked, or if you don’t have any of the above plugins active and you’re still seeing the error, then just try de-activating all other plugins temporarily (except LiveLinks, of course), and turn them back on one-by-one.

Refresh your blog page every time you activate a plugin. That way, you will know which is the plugin that is causing the error.

If that still doesn’t help, just open a support ticket and we’ll take care of it.

————————————————————

(3) PDO Error

You see an error like this:

Fatal error: Class ‘PDO’ not found in /home1/knowlee3/public_html/buildamagneticnetwork/dap/inc/classes/Dap_Connection.class.php on line 19

If DAP had been working fine on your web site, and you all of a sudden see this error, then your host quietly pulled the rug from under your feet :-) . This appears because they either deliberately or mistakenly disabled the “PDO” library, which is a must-have requirement for DAP to run.

So check with your host and ask them “if they disabled PHP/PDO for MySQL on your server recently”.

————————————————————

(4) Memory Allocation

You see an error like this:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 16 bytes) in /home/yoursite.com/public_html/dap/inc/classes/Dap_Connection.class.php on line 19

If this happens just once, then just ignore it.

But if it occurs more than once, then it could be because:

a) You recently made some changes to your DAP files or web site files, and overwrote/updated your dap-config.php file with the wrong database information. Even though it shows up like a memory issue, in reality it could be because DAP is unable to connect to the database because of incorrect information in the dap config file. Check the database settings within your dap-config.php file.

b) Your server legitimately has a low memory limit set by your host, and your host needs to increase the memory allocated to PHP/PDO. Open a ticket with your web host to do this.

Or add this line to the top of your wp-config.php file:

ini_set('memory_limit', '64M');

————————————————————

(5) Simple-Pie & Memory Allocation

You see an error like this:

Fatal error: Allowed memory size of 37423432 bytes exhausted (tried to allocate 371520 bytes) in /…/public_html/~username/wp-includes/class-simplepie.php

Open the file wp-config.php (which is in your blog’s main folder)

Add this line at the top…

define('WP_MEMORY_LIMIT', '64M');

That should take care of the error.

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 491520 bytes) in /home8/paladinc/public_html/equityarb/wp-includes/class-simplepie.php