There are many ways in which you can protect videos.
By default, DAP can only protect files that are stored on the same web site where DAP is installed.
So if you install DAP on YourSite.com , then your files must also be located on YourSite.com. DAP installed on YourSite.com cannot protect files (.mp4, .mp3, .html, .pdf, .doc) that are stored on AnotherSite.com.
So assuming the files are stored on the same site as DAP, you can (and should) protect both the actual video file, as well as the blog post or page in which the embed-code for your video is published, by adding both to a Product.
This gives you 2 levels of protection for your videos:
Level 1: The blog post or page containing the video player code, itself is accessible only by authorized members.
Level 2: When an authorized user gets legitimate access to the page where the video is published (because they’re a paying member, say), even if they try to do a view source and figure out the location of the video (eg., http://yoursite.com/videos/howtovideo1.mp4) , and pass it around by email to their friends (or post the link in an online forum), their friends still can’t view the video, because the video link itself is protected by DAP.
If you have some text that you want the casual visitor (and Google) to read, but wish to protect only the video, then you could turn Sneak-Peek on (in Setup > Config > Advanced), insert a WordPress more tag (<!–more–>) into your post just where you want the content to start being protected, and put the video player’s embed code after the more tag.
The only 3rd-party-stored video files that DAP can protect at this time are videos (and other files) that are stored on Amazon S3. DAP cannot do this by itself, but uses a special WordPress plugin called S3MediaVault.com , which is a plugin we developed specifically to make Amazon S3 videos play in your WordPress blog posts/pages. So again you get 2 levels of protection for your videos…
Level 1: DAP protects the post/page where the special S3MV video player code is embedded
Level 2: The S3MediaVault plugin makes sure that even if someone tried to do a view source and figure out the actual link to your Amazon S3 video, they still won’t be able to view the video.
DAP cannot protect, say, videos that are embedded from other 3rd party web sites like YouTube or Hulu. Of course, DAP can always protect the blog post or page itself that contains the video, but once an authorized user gets valid access to that blog page, they can see that it is a YouTube video (say), and then pass that YouTube video link to their friends, in which case DAP cannot protect that external YouTube video link.
Check out my podcast episode at http://subscribeme.fm/video-hosting-for-your-membership-site/ which goes into detail about video hosting for your membership site.
Here’s how you can customize the HTML, look & feel of the DAP Sidebar Login Widget.
There is a file in the following folder…
/wp-content/plugins/DAP-WP-LiveLinks/
by name…
DAP-WP-LoginForm-LoginLogout.html
Make a copy of that file on your desktop, rename it to…
customDAP-WP-LoginForm-LoginLogout.html
(just added the text “custom” at the front of the original file’s name).
You can then modify this new file however you want, including altering spacing, and that’s what will be displayed.
Just be careful what you change – do not modify the field names or the submit URL. Feel free to change other visual elements.
1-Click Upsells, Downsells and OTO’s are now extremely simple to implement using the new “Upsell Tree” plugin for DAP.
And this particular plugin works with Paypal Standard! Which means you don’t need a merchant account any more.
All you need is a regular Paypal Business Account.
Please note that this is not “True 1-Click”, like you can do with a real merchant account – because of the very fact that Paypal expects your buyers to log in at least once into their paypal account through Paypal.com, and then at the end of the Upsell-flow, there is one final confirmation page. So it’s more like “2-Click Upsells” really.
If you want true 1-Click Upsells, then you need to have a merchant account through Paypal Website Payments Pro or Authorize.net.
On every upsell page, you must also include a “No, Thank You” button or link that will allow your buyer to skip your upsell or downsell, and go to the next part of the sale.
For all upsells that are not the last upsell, you can link this button or link to the next upsell in the chain. So basically, on Upsell 1, they can either take the upsell1 (whatever your offer is) by clicking on the buy button, or click on the “No, Thank You” button/link, and you could then either taken them to the URL of Upsell2, or Downsell 1, or if this is the last upsell in the flow, then you could send them directly to the Paypal Upsell Summary Page /dap/PaypalCheckoutConfirm.php
Button to take them to next Upsell/Downsell:
<form name=”nothankyou”>
<input type=”button” name=”nothankyoubutton” value=”No, thank you, I wish to skip this incredible offer” onClick=”location.href=’https://YourSite.com/dap/continue.php?url=/dap/upsell2.html‘;”>
</form>
Feel free to copy the above HTML button code for the no-thankyou button. However, paste it into a text editor and be careful and don’t delete any of the HTML code, and only change actual URL’s or the button’s value (which is the text your buyer will see on the button).
Button to take them to final Checkout Summary page:
<form name=”nothankyou”>
<input type=”button” name=”nothankyoubutton” value=”No, thank you, please complete my order” onClick=”location.href=’/dap/PaypalCheckoutConfirm.php‘;”>
</form>
Link to take them to next Upsell/Downsell:
<a href=”https://YourSite.com/dap/continue.php?url=/dap/upsell2.html“>No, thank you, I wish to skip this incredible offer</a>
Link to take them to final Checkout Summary page:
<a href=”/dap/PaypalCheckoutConfirm.php“>No, thank you, please complete my order</a>
That’s it.
While it looks like a LOT of steps, that is only because we have to explain the steps in detail so they are clear. In reality, it is very simple to set up, and starting from scratch, if you have DAP & SSL already installed, it shouldn’t take you more than 1/2 hour to set up your 1-Click Upsells/Downsells/OTO’s. And if you’re not using Upsells/Downsells, then it can be done even faster.
If you have any further questions, feel free to open a support ticket, and we will assist you in getting this going.
IMPORTANT: PLEASE NOTE
The latest version of Paypal Payments Pro (called PAYFLOW) is not compatible with DAP and Recurring Billing Cycles, You will have to open a Paypal account with the older version of their Payments Pro Merchant service that is compatible with DAP. Please make sure to use the older version of PPP which has to be specially requested through their support team. In a future DAP release, we will make it compatible with the new version of PPP.
Please read this for more on Payflow and Paypal Payments PRO :
http://www.digitalaccesspass.com/forums/threads/1044-Recurring-transaction-failed-in-paypal?highlight=payflow
This post includes information about generating buy buttons for Paypal Website Payments Pro. It also has information about setting up 1-Click Upsells.
Even if you don’t wish to do upsells, you should follow the setup instructions in this page, for integrating your site with Paypal Website Payments Pro .
a) Log in to your Paypal account and click on the “Profile” link.
b) Go to Instant Payment Notification
c) If IPN is already enabled, and you already have a URL in that field, then skip ahead to Step 2.
Else, if IPN is not already enabled, then click on “Choose IPN Settings”
d) On the next screen, in the Notification URL field, enter…
http://YourSite.com/dap/dap-paypal.php
Don’t forget to replace “YourSite.com” with your actual web site’s domain name.
e) Make sure “Receive IPN Messages” is selected.
f) Click on “Save”.
Log in to your Paypal account.
Go to Profile.
Click on Website Payment Preferences
Turn Auto Return to On (see image below)
Set Return URL to http://YourSite.com/dap/dap-thankyou.php
Scroll down further to the Payment Data Transfer (optional) section
Set Payment Data Transfer to On
Scroll all the way to the bottom of the page, and then Save the changes.
You will now see a green check mark image, with a long string of characters on line 2. That is your Paypal Identity Token. Copy that string.
Go back to DAP Dashboard > Setup > Config > Payment Processing > Paypal Identity Token field, and enter this string there, and save it.
<form name="DAPCartPaymentForm" method="post" action="https://yoursite.com/dap/checkout.php">
<input type="hidden" name="payment_succ_page" value="http://yoursite.com/members/"/>
<input type="hidden" name="item_name" value="Bronze Members" />
<input type="hidden" name="is_submitted" value="Y" />
<input type="hidden" name="btntype" value="buynow" />
<input type="hidden" name="is_last_upsell" value="N" />
<input type="hidden" name="payment_gateway" value="paypal" />
<div align="center"><input type="image" src="https://yoursite.com/dap/images/addtoorder1click.jpg" width="200" height="100" border="0" name="submit" /></div>
</form>
That’s it for Paypal Pro button generation.
You can either use the standalone cart page, and then customize the header and footer.php file.
Or you can put the cart right within a WordPress page on your site, so the cart will then take on your theme’s look and feel, and look like it were completely a part of your wordpress site.
To create custom header and footer, create two files by name cartheader.php & cartfooter.php
Upload them to the dap/inc/ folder.
Whatever HTML snippet you put in the above two files will show up as header & footer on the check out page.
See http://www.digitalaccesspass.com/doc/dap-shopping-cart-overview/
While it looks like a LOT of steps, that is only because we have to explain the steps in detail so they are clear. In reality, it is very simple to set up, and starting from scratch, if you have DAP & SSL already installed, it shouldn’t take you more than 1/2 hour to set up your 1-Click Upsells/Downsells/OTO’s. And if you’re not using Upsells/Downsells, then it can be done even faster.
If you have any further questions, feel free to open a support ticket, and we will assist you in getting this going.
Here are the merge-tags that you can use in your WP posts, and what they mean. (Click here for merge tags for Autoresponder & Broadcast Emails)
This is better suited for a WP “page”. This text will be replaced by a login form using which your members can log in to your membership site.
%%AFFDETAILS%%
This will be replaced by the entire Affiliate section from the default home page at YourSite.com/dap/ . Better suited for a Page.
This will be replaced by the user profile from the default home page at YourSite.com/dap/. Better suited for a Page.
This will be replaced by the user links section (the list of what products and what links user currently has access to) from the default home page at YourSite.com/dap/. Better suited for a Page.
%%FIRST_NAME%%
This will be replaced by the first-name of the user.
%%EMAIL%%
This will be replaced by the email id of the user.
%%AFF_LINK%%
This will be replaced by the raw affiliate link of the member. If you want it to show up as a link in your blog post, use it like this:
<a href=”%%AFF_LINK%%”>%%AFF_LINK%%</a>
%%USER_NAME%%
This will display the DAP user’s “Username” on the page.
%%USER_ID%%
This will display the DAP user’s ID on the page (ID is a number).
%%FEEDLINK%%
Replaces with user’s personalized RSS feed URL.
%%PRODUCT_DETAILS_<insert-product-id>%%
Replaces merge tag with Product-specific details (including links available to the member as part of that Product) on a specific WordPress page/post.
%%DAPCUSTOMFIELD_<insert-custom-field-name>%%
You can display the value of the user’s own custom fields on your pages, using a merge tag like this:
%%DAPCUSTOMFIELD_tax_id%%
In the above example, tax_id is the custom field that you have created in DAP. So if the name of the custom field in DAP were “ssn”, then the above merge tag would become %%DAPCUSTOMFIELD_ssn%%
Displays data of the user’s “upline” affiliate.
Displays upcoming drip-feed scheduled content.
[DAPRefAffId]
Displays id of affiliate who referred visitor to site. If no affiliate set, displays DAP Admin’s id.
[DAPShowTransactions]
Shows list of all transactions/orders by logged-in user.
[DAPUserSubscriptions]
Shows list of all subscriptions by logged-in user.
DAP has a Login/Logout Widget that you can use in any widget-ready theme.
Log in as WP admin, and look under “Appearance > Widgets”.
You’ll see the widget. Drag this widget on to any customizable part of your theme.
The widget puts the DAP login form right on your sidebar.
When a user is not logged in, they will see the login form.
When they are logged in, they just see a “Logout” button.
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/sitename/public_html/wp-content/plugins/DAP-WP-LiveLinks/DAP-WP-LiveLinks.php:11) in /home/sitename/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, then 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_v4.3). 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.
————————————————————
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…
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.
————————————————————
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”.
————————————————————
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
Or you see a blank screen after activating DAP LiveLinks.
a) Your server has a low memory limit set by your host, and your host needs to increase the memory allocated to PHP/PDO.
Add this line to the top of your wp-config.php file:
ini_set('memory_limit', '64M');
OR…
b) Sometimes, this is not really related to memory at all, even though the message appears to indicate so. Instead, the issue could be that the database connection parameters in /dap/dap-config.php file are invalid/incorrect. And that manifests itself appearing to be a memory issue.
So, maybe 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. For whatever reason, it’s possible that 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 and make sure it matches your wp-config.php file.
————————————————————
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.
————————————————————
Weird, inexplicable, illogical stuff happening: This is the typical symptom of something called “Mod Security” being installed on your host, that is preventing DAP from accessing the database.
So please open a ticket with your host, and tell them this…
“I have a WordPress plugin on my site that is showing unexpected behavior and database errors when I try to save any data. The developers tell me that there is probably Mod Security installed on the server where mysite.com is hosted. So ideally, please disable it, in case it is enabled. Or at the very least, please white-list all requests coming from yoursite.com/dap/ so that the plugin is able to do its job.”
Once they fix that, then try whatever was not working before, and this time, it should work fine.
————————————————————
a) After installing (or upgrading to) DAP v4.4, your site doesn’t load properly.
b) Or you get a an error that looks like the one below and your WP admin doesn’t load, won’t let you log in, or shows a blank screen.
Fatal error: Call to undefined function mcrypt_decrypt() in /home/XYZ/public_html/yoursite.com/dap/inc/functions_admin.php on line 3839
This means that your server is missing a standard PHP library – usually installed on most web servers – called “mcrypt_decrypt” that is used by the new DAP v4.4 for encrypting users’ passwords. Please ask your web host to enable that library, and after that, if you activate the DAP LiveLinks plugin in WordPress, it should work fine.
If your site is not loading, then temporarily rename the wp-content/plugins/DAP-WP-LiveLinks plugin’s folder name (add an underscore at the beginning or the end) so that your site can load.
————————————————————
You are seeing errors like this on your site…
PHP Notice: Undefined index: HTTP_HOST in /var/www/my/site/httpdocs/dap/dap-settings.php on line 108
PHP Notice: Undefined index: HTTP_HOST in /var/www/my/site/httpdocs/dap/dap-settings.php on line 110
PHP Strict Standards: Only variables should be passed by reference in /var/www/my/site/httpdocs/dap/inc/classes/Dap_User.class.php on line 272
It’s probably because the PHP error reporting has been set to “Strict” on your server.
Just paste the following line of code towards the top of the dap/dap-config.php file, right after the PHP opening tag (“<?php”)
error_reporting(0);
That should resolve this issue.