DLGuard
fully integrated with the major payment systems
Paypal
Clickbank
2checkout
Authorize.Net
Click2Sell
1ShoppingCart
LinkPoint
AlertPay
eBay
PayDotCom
Mal's e-commerce
PagSeguro
CCBill
CommerceGate
DigiResults
FastSpring
JVZoo
MultiSafePay
WorldPay
Plimus
WSO Pro
Paypal Digital Goods
RevenueWire
SWReg
     

Incremental/Time-Released Content for Membership Site

 
Post new topic   Reply to topic    DLGuard Forum Forum Index -> Member's Tips and Tricks!
View previous topic :: View next topic  
Author Message
kidino



Joined: 30 Aug 2006
Posts: 14

PostPosted: Fri Sep 26, 2008 5:04 am    Post subject: Incremental/Time-Released Content for Membership Site Reply with quote

I did this for Lisa at LearnPianoOnline.com. And she wanted to have some incremental / time-release content. You know, where certain content only becomes available after a certain number of period.

I asked Sam at the General forum about variables we can use from the membership details. It turns out you have access to $signupDate, which a Unix timestamp for the registration date.

So we can use that... in case you don't know this, a Unix timestamp is an integer value counting every second from January 1 1970 00:00:00 GMT.

Alright, without much explanation, here's the code... By the way, yes, people can access the content directly if they know real URL of the pages. That's why you make the file names a bit weird, like lesson01_secretkey.php or maybe lesson01_hdhyu.php ... you still need some naming convention to make it easy for you to manage the files.

Code:
<?php include('header.php'); ?>

<?php

$lesson[0] = "Positioning Your Fingers";
$link[0] = "lesson01_secretkey.php";
$desc[0] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$days[0] = 0; // for immediate

$lesson[1] = "Understanding the Rythm";
$desc[1] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$link[1] = "lesson01_secretkey.php";
$days[1] = 30; //

$lesson[2] = "Playing the Melody";
$desc[2] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$link[2] = "lesson02_noaccess.php";
$days[2] = 60; //

$lesson[3] = "How to Play Jazz Piano";
$desc[3] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$link[3] = "lesson03_password.php";
$days[3] = 90; //

$lesson[4] = "How To Play Classical Piano";
$desc[4] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$link[4] = "lesson04_sesame.php";
$days[4] = 289; //

?>

<!-- CONTENT GOES HERE -->

<h1>Your Lessons</h1>

<?php
$seconds_a_day = 86400;
for($i = 0; $i < count($lesson); $i++)
{
   $days_to_release = $days[$i] * $seconds_a_day;
   $release_date = $signupDate + $days_to_release;
   $j = $i + 1;
   if ($release_date > time())
   {
      echo "<p style='color: #999;'><strong>Lesson ".$j.": <u>".$lesson[$i]."</u></strong><br/>".$desc[$i]."<br/><em>available to you on ". date('l jS \of F Y', $release_date) ."</em></p>";
   }
   else
   {
      echo "<p><strong>Lesson ".$j.": <a href='".$link[$i]."'>".$lesson[$i]."</a></strong><br/>".$desc[$i]."<br/><em>Content released on ". date('l jS \of F Y', $release_date) ."</em></p>";
   }
}


?>


<!-- CONTENT GOES HERE -->

<?php include('footer.php'); ?>


I put the DLGuard codes in the header.php. I think it's pretty much self-explanatory. If you need some help with the code, do reply to this thread.
Back to top
View user's profile Send private message
admin
Site Admin


Joined: 31 Jul 2005
Posts: 9396
Location: Australia

PostPosted: Fri Sep 26, 2008 6:49 am    Post subject: Reply with quote

Excellent job, kidino!

And thanks for sharing the code!

cheers
Sam
_________________
Sam Stephens
DLGuard: www.dlguard.com
GuardHQ: www.guardhq.com
-------
Keep up to date with DLGuard and other GuardHQ products: www.guardhq.com/newsletter.php
www.twitter.com/DLGuard
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kidino



Joined: 30 Aug 2006
Posts: 14

PostPosted: Fri Sep 26, 2008 7:07 am    Post subject: Reply with quote

Glad to share. Hope others will find this useful...
Back to top
View user's profile Send private message
fatbloke



Joined: 11 Sep 2008
Posts: 57

PostPosted: Fri Oct 03, 2008 11:38 am    Post subject: Reply with quote

Hi kidino

Looks a great new facility ..thanks for posting it.

Just one question ... does the member have to remember to log in every week to get download link ? ..or is there a way to send reminder email.

If they do not collect a weeks download before the next is due do they loose the missed download(s) ?

Cheers

Roy
Back to top
View user's profile Send private message
kidino



Joined: 30 Aug 2006
Posts: 14

PostPosted: Mon Oct 06, 2008 3:00 am    Post subject: Reply with quote

Hello Roy,

Well, this method is not connected to the product list from your products. It's just a bunch of links scheduled to be live at a specific time. Actually, the links can be accessed directly if members know what it is. That's why you need to name them with weird combination. So, to answer your question, it never expires.

Oh yeah, another thing, about notifying members. You can create another script for crontab. Crontab allows you run specific application or scripts on your web hosting. So the script can check for members with new content and can notify them by email...

For an easy solution, you can put the content, description, link array in a different PHP file. And both the list file and the script for crontab can access is using the include(). The script for crontab will go through DLGuard's database directly and search for members that needs notifications of new content. Members can be notified via email.

Alright, maybe a bit more complicated that it sounds. But I hope you get the idea... I hope you understand what the above simple solution does and what else you can do...

I can help you with this if you want. Let me know ... write to kidino[at]moneyclicking[dot]net -- subject line, "DLGuard Incremental Content". I need to it to filter through spam.
Back to top
View user's profile Send private message
georgesepich



Joined: 19 Jun 2006
Posts: 71

PostPosted: Tue Nov 11, 2008 7:43 pm    Post subject: Reply with quote

I would like to implement the code shown above. What DLG code do I put in a header.php file?

Also, to test the above Kidino code out, if I create pages with the same file names to test, after that do I just paste the entire code above into an html page with a php extension? Will the specified files then appear at 0 and 30 days etc.

Do the above files go in the main DLG folder/directory?

I could really put this to use, so if Sam, Kidino or anybody else less foggy than myself can help me get this going, I will appreciate it mucho.

Thanks,
George
Back to top
View user's profile Send private message
kidino



Joined: 30 Aug 2006
Posts: 14

PostPosted: Thu Nov 13, 2008 12:37 am    Post subject: Reply with quote

What to put in the header.php?

In the header.php, I put in the DLGuard code to make the membership site works. The code from DLG will authenticate the visitors to see if they logged in or not. I also put in HTML codes that I need for the top part of the web page.

...do I just paste the entire code above into an html page with a php extension?

Yes. But I need to remind you that this code will only list out the content and future content members will have access to. Your other files should only have the header.php (assuming that it contains the DLG code for membership site) and the actual content.

Do the above files go in the main DLG folder/directory?

The files above go into a folder under your DLG installation. I can be any folder but it has to be the same domain as your DLG installation, otherwise your membership site doesn't work.

I can't really remember this, you may need to define a membership site and a folder in DLG for this to work.

I could really put this to use, so if Sam, Kidino or anybody else less foggy than myself can help me get this going, I will appreciate it mucho.

Sure... I can help you with one website right now. Send me a private message.
Back to top
View user's profile Send private message
georgesepich



Joined: 19 Jun 2006
Posts: 71

PostPosted: Thu Nov 13, 2008 4:44 am    Post subject: Reply with quote

Thanks Kidino,
I got it working with no problem once I upgraded to DLG 4.3. I didn't realize the signupdate variable was just added as of this latest 4.3 version, so no wonder it was working for me before as I was running 4.2. As soon as I upgraded the code it all fell into place working great.

George
Back to top
View user's profile Send private message
JohnK



Joined: 10 Dec 2008
Posts: 11

PostPosted: Mon Mar 30, 2009 7:35 pm    Post subject: Reply with quote

kidino wrote:
By the way, yes, people can access the content directly if they know real URL of the pages. That's why you make the file names a bit weird, like lesson01_secretkey.php or maybe lesson01_hdhyu.php ... you still need some naming convention to make it easy for you to manage the files.


kidino wrote:

... this method is not connected to the product list from your products. It's just a bunch of links scheduled to be live at a specific time. Actually, the links can be accessed directly if members know what it is. That's why you need to name them with weird combination. So, to answer your question, it never expires.


This is what I've done to make sure that members cannot access the link directly unless they have been a member for the required number of days. If they try to go an incremental-content page sooner than it is scheduled to be released, I refresh the page back to the menu with a meta tag...

Code:
<?php
$seconds_a_day = 86400;
$days = 7;
$days_to_release = $days * $seconds_a_day;
$release_date = $signupDate + $days_to_release;
   if ($release_date >  time())
   {
      echo "<meta http-equiv=\"refresh\" content=\"0;URL=yourincrementalcontentmenu.php\">";
   }
?>


I put this code right below the DLGuard membership code. Just change $days to equal the number of days until a new member can access the page. This way, even if someone discovers the links to all of the content, the content can still only be accessed according to the incremental-content schedule that you've determined.

I hope this is useful.

John

BTW - thanks kidino for sharing your incremental-content solution. This has made DLGuard the perfect script for my membership sites.
Back to top
View user's profile Send private message
VideoGuideToProfits



Joined: 08 Dec 2007
Posts: 148

PostPosted: Mon Feb 28, 2011 4:32 pm    Post subject: Reply with quote

Hi guys,

thanks for providing this info..

Im lost / confused now...

I got the first part.. but when John posted his, im now confused...

I get the part of placing it below DLG's code that goes on each page to protect the page... but where does this code John made go in light of the code kidino created?

what does the overall page look like?

Can anyone share their thoughts on this please? thx Smile

Loz
_________________
Daily Trading System - Ultimate Golden Cross
Back to top
View user's profile Send private message Visit poster's website
VideoGuideToProfits



Joined: 08 Dec 2007
Posts: 148

PostPosted: Wed Mar 02, 2011 10:12 pm    Post subject: Reply with quote

Where does this go?

JohnK wrote:


Code:
<?php
$seconds_a_day = 86400;
$days = 7;
$days_to_release = $days * $seconds_a_day;
$release_date = $signupDate + $days_to_release;
   if ($release_date >  time())
   {
      echo "<meta http-equiv=\"refresh\" content=\"0;URL=yourincrementalcontentmenu.php\">";
   }
?>


I understand this below... but im not sure where your code is supposed to go?

Can anyone help please? Sad



Code:

<?php include('header.php'); ?>

<?php

$lesson[0] = "Positioning Your Fingers";
$link[0] = "lesson01_secretkey.php";
$desc[0] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$days[0] = 0; // for immediate

$lesson[1] = "Understanding the Rythm";
$desc[1] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$link[1] = "lesson01_secretkey.php";
$days[1] = 30; //

$lesson[2] = "Playing the Melody";
$desc[2] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$link[2] = "lesson02_noaccess.php";
$days[2] = 60; //

$lesson[3] = "How to Play Jazz Piano";
$desc[3] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$link[3] = "lesson03_password.php";
$days[3] = 90; //

$lesson[4] = "How To Play Classical Piano";
$desc[4] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$link[4] = "lesson04_sesame.php";
$days[4] = 289; //

?>

<!-- CONTENT GOES HERE -->

<h1>Your Lessons</h1>

<?php
$seconds_a_day = 86400;
for($i = 0; $i < count($lesson); $i++)
{
   $days_to_release = $days[$i] * $seconds_a_day;
   $release_date = $signupDate + $days_to_release;
   $j = $i + 1;
   if ($release_date > time())
   {
      echo "<p style='color: #999;'><strong>Lesson ".$j.": <u>".$lesson[$i]."</u></strong><br/>".$desc[$i]."<br/><em>available to you on ". date('l jS \of F Y', $release_date) ."</em></p>";
   }
   else
   {
      echo "<p><strong>Lesson ".$j.": <a href='".$link[$i]."'>".$lesson[$i]."</a></strong><br/>".$desc[$i]."<br/><em>Content released on ". date('l jS \of F Y', $release_date) ."</em></p>";
   }
}


?>


<!-- CONTENT GOES HERE -->

<?php include('footer.php'); ?>


does it go in replacement of the content? where this section is?
Code:
$seconds_a_day = 86400;



and why would i place

Code:


$lesson[4] = "How To Play Classical Piano";
$desc[4] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sagittis ipsum at lorem. Suspendisse feugiat. Sed imperdiet orci at magna.";
$link[4] = "lesson04_sesame.php";
$days[4] = 289; //


on every page?

Im not quite getting it...

I got a section of videos to be released at X day.

Do i place all my videos I want released in one file, or dont it matter?

Can someone give me an example of a completed drip script?

Thanks.
_________________
Daily Trading System - Ultimate Golden Cross
Back to top
View user's profile Send private message Visit poster's website
VideoGuideToProfits



Joined: 08 Dec 2007
Posts: 148

PostPosted: Sun Mar 06, 2011 3:52 pm    Post subject: Reply with quote

I guess no one knows then?

How about if i used this?
http://www.wpdrip.com/ in a wordpress installation, and just added the DLG guard code to each page... how would I integrate it so it shows the content at the right times?
_________________
Daily Trading System - Ultimate Golden Cross
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    DLGuard Forum Forum Index -> Member's Tips and Tricks! All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group