| View previous topic :: View next topic |
| Author |
Message |
kidino
Joined: 30 Aug 2006 Posts: 14
|
Posted: Fri Sep 26, 2008 5:04 am Post subject: Incremental/Time-Released Content for Membership Site |
|
|
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 |
|
 |
admin Site Admin
Joined: 31 Jul 2005 Posts: 9131 Location: Australia
|
|
| Back to top |
|
 |
kidino
Joined: 30 Aug 2006 Posts: 14
|
Posted: Fri Sep 26, 2008 7:07 am Post subject: |
|
|
| Glad to share. Hope others will find this useful... |
|
| Back to top |
|
 |
fatbloke
Joined: 11 Sep 2008 Posts: 57
|
Posted: Fri Oct 03, 2008 11:38 am Post subject: |
|
|
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 |
|
 |
kidino
Joined: 30 Aug 2006 Posts: 14
|
Posted: Mon Oct 06, 2008 3:00 am Post subject: |
|
|
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 |
|
 |
georgesepich
Joined: 19 Jun 2006 Posts: 71
|
Posted: Tue Nov 11, 2008 7:43 pm Post subject: |
|
|
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 |
|
 |
kidino
Joined: 30 Aug 2006 Posts: 14
|
Posted: Thu Nov 13, 2008 12:37 am Post subject: |
|
|
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 |
|
 |
georgesepich
Joined: 19 Jun 2006 Posts: 71
|
Posted: Thu Nov 13, 2008 4:44 am Post subject: |
|
|
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 |
|
 |
JohnK
Joined: 10 Dec 2008 Posts: 11
|
Posted: Mon Mar 30, 2009 7:35 pm Post subject: |
|
|
| 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 |
|
 |
VideoGuideToProfits
Joined: 08 Dec 2007 Posts: 146
|
Posted: Mon Feb 28, 2011 4:32 pm Post subject: |
|
|
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
Loz _________________ Daily Trading System - Ultimate Golden Cross |
|
| Back to top |
|
 |
VideoGuideToProfits
Joined: 08 Dec 2007 Posts: 146
|
Posted: Wed Mar 02, 2011 10:12 pm Post subject: |
|
|
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?
| 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 |
|
 |
VideoGuideToProfits
Joined: 08 Dec 2007 Posts: 146
|
Posted: Sun Mar 06, 2011 3:52 pm Post subject: |
|
|
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 |
|
 |
|