Added Tell-A-Friend v2.2 -> Added version list. -> Added ability to only allow purchasing customers to be affiliates. -> Added giveaway product functionality. -> Added affiliate emailing. -> Added a few bug fixes. v2.3 -> Added code for parsing PHP in templates. -> Updated code that decides who gets OTO sale. -> Major Security update tracks purchases by IP and only allows Completed payments to be redirected to the download page. -> Added ability to only allow OTO customers to get commissions on the OTO. -> Added ability to disable download emails from automatically being sent. -> Added support for all PayPal currencies. -> BUG FIX: Corrected 48 hour extension of download link to add 48 hours to THIS moment. -> Added script configure util (config.php) v2.4 -> BUG FIX: When OTO commission is set to zero, affiliate always gets the commission. -> BUG FIX: Affiliate cookie now cleared if only customers are allowed to be affiliates. -> BUG FIX: Removed case-sensitive referrer domain comparison for TAF. -> IPN script now prevents people from paying less than stated price for products. -> IPN script now prevents people from purchasing using different emails from the same domains. -> Added admin section for viewing fraudulent transactions. -> Added version number to ipn.php, config.php and settings.php -> Added back-end search features for sales records. -> Added download security. */ $sys_version = 2.4; include("settings.php"); function searchKeywords($url){ $parts = parse_url($url); $host = str_replace("www.", "", $parts["host"]); $keywords = ""; parse_str($parts["query"], $vars); if(strpos(" $host", "google")){ $keywords = urldecode($vars["q"]); } elseif(strpos(" $host", "yahoo")){ $keywords = urldecode($vars["p"]); } elseif(strpos(" $host", "live")){ $keywords = urldecode($vars["q"]); } elseif($vars["keywords"]){ $keywords = urldecode($vars["keywords"]); } elseif($vars["query"]){ $keywords = urldecode($vars["query"]); } else{ $keywords = urldecode($vars["q"]); } return $keywords; } function evalPHP($template){ # Make all settings.php variables accessible to template PHP code. global $sys_admin_username, $sys_admin_password, $sys_domain, $sys_support_address, $sys_script_folder, $sys_template_folder, $sys_default_email, $sys_item_name, $sys_item_number, $sys_item_cost, $sys_oto, $sys_oto_name, $sys_oto_number, $sys_oto_cost, $sys_oto_percent, $sys_item_cancel_url, $sys_expire_hours, $sys_blocked, $sys_secure_dl, $sys_tell_subject, $sys_tell_body, $sys_purchasers_only, $sys_purchasers_override, $sys_giveaway_product, $sys_oto_purchasers_only, $sys_oto_purchasers_override; # Eval all php code in a template and plug result into output. $output = ""; $last = 0; $i = strpos($template, "", $i); $phpcode = trim(str_replace(array(""), "", substr($template, $i, $i2 - $i))); $val = eval($phpcode); $output .= $val; $last = $i2 + 3; $i = strpos($template, "", $i); $phpcode = trim(str_replace(array(""), "", substr($output, $i, $i2 - $i))); $val = eval("return $phpcode;"); $output2 .= $val; $last = $i2 + 3; $i = strpos($output, " "; } elseif($_GET["tries"]<11){ # Give one minute for PayPal to post IPN record before giving up and showing an error. if(!isset($_GET["tries"])){ $tries = 1; } else{ $tries = $_GET["tries"] + 1; } $seconds = 60 - ($tries * 5); echo "

Waiting for PayPal confirmation of purchase, please wait...

$seconds seconds left...

(This page will refresh every 5 seconds until PayPal provides confirmation.)

"; } else{ # IP not found in records. Show error message. if(substr($sys_support_address, 0, 7)=="http://"){ $eaddress = $sys_support_address; } else{ $eaddress = "mailto:$sys_support_address"; } echo " Purchase record not found.

We apologize for the inconvenience, but there was a problem confirming your purchase. Please contact our technical support staff for your download link at:

$eaddress

Please paste a copy of your PayPal receipt into your message for verification.

NOTICE: If you paid with an eCheck or bank draft, the download link will be emailed to you automatically after the payment clears.

Click here to continue.

"; setcookie("first", 0, time()-3600, "/", "." . $sys_domain); } exit; } # Clear first cookie. setcookie("first", 0, time()-3600, "/", "." . $sys_domain); if(isset($_GET["e"])){ # Make sure this account hasn't been blocked. if(!strpos(" $sys_blocked", $_GET["e"])){ # Set cookie and redirect visitor if it's through an affiliate link. # Set privacy policy for IE6/WinXP users. # If you don't do this, a lot of IE browsers wont accept the cookie. header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"'); setcookie("aff", $_GET["e"], time()+31536000, "/", "." . $sys_domain); if($sys_purchasers_only){ if(strpos(strtolower(" $sys_purchasers_override"), strtolower($_GET["e"]))){ # Affiliate is in over-ride list. Let them sell. $sellit = true; } else{ # Verify that this paypal email address is in our ipn.txt $sellit = false; $sales = @file($sys_template_folder . "ipn.txt"); foreach($sales as $sale){ $sale = explode("|", $sale); if(strtolower($sale[4])==strtolower($_GET["e"])){ # They're a customer. $sellit = true; break; } } } } else{ # Let anybody sell the product. $sellit = true; } if($sellit){ if($_GET["taf"]){ header("Location: $sys_script_folder?taf=1"); } else{ header("Location: $sys_script_folder"); } } else{ # Clear affiliate cookie. setcookie("aff", "", time() - 3600); # Show a message indicating that only people who bought can sell. showTemplate($sys_template_folder . "customersonly.html"); } exit; } else{ # Inform visitor that this customers link has been blocked # for fradulent activity. $filename = $sys_template_folder . "fraud.html"; showTemplate($filename); exit; } } # Keep paypal email on hand at all times. if(isset($_COOKIE["aff"])){ $email = $_COOKIE["aff"]; } else{ $email = $sys_default_email; } if($action==""){ # Save referrer. if(isset($_GET["taf"])){ setcookie("ref", "TELL-A-FRIEND", time()+31536000, "/", "." . $sys_domain); } else{ setcookie("ref", $_SERVER["HTTP_REFERER"], time()+31536000, "/", "." . $sys_domain); } # Show sales letter. $filename = $sys_template_folder . "salesletter.html"; # Set test cookie to make sure this will work for user. #setcookie("cookietest", true, time()+31536000, "/", "." . $sys_domain); } elseif($action=="giveaway"){ if($sys_giveaway_product){ # This is a giveaway product. Set cookies for squeeze page. setcookie("first", time(), time()+600, "/", "." . $sys_domain); setcookie("ordered", time(), time()+($sys_expire_hours * 3600), "/", "." . $sys_domain); setcookie("giveaway", time(), time()+($sys_expire_hours * 3600), "/", "." . $sys_domain); # Send them on. header("Location: index.php?action=squeeze"); exit; } } elseif($action=="order"){ # An order. Great! :) if(!$sys_currency){ # Default to USD. $sys_currency = "USD"; } # First, make sure cookies work for this user (since they are required). #if(isset($_COOKIE["cookietest"])){ if(1){ # Yup. Send them through the order process. if(isset($_GET["oto"])){ # Buying OTO. if(!isset($_COOKIE["aff"])){ # No affiliate. Use primary email address. $email = $sys_default_email; } else{ $checksale = true; if($sys_oto_purchasers_only){ $checksale = false; # Restrict OTO commissions to OTO purchasers only. $sale = getOTOSalesRecord($_COOKIE["aff"]); if(is_array($sale)){ # They are an OTO customer. $checksale = true; } } if($checksale){ # Use sales data to figure out who should get next OTO sale. $sales = @file($sys_template_folder . "ipn.txt"); $afftotal = 0; $affsales = 0; foreach($sales as $sale){ $sale = explode("|", $sale); if($sale[2] == $sys_oto_number && strtolower($sale[13]) == strtolower($_COOKIE["aff"])){ # OTO sale referred by affiliate. $afftotal++; if(strtolower($sale[3]) == strtolower($_COOKIE["aff"])){ # Affiliate got the OTO sale. $affsales++; } } } if($afftotal > 0){ $affper = $affsales / $afftotal; } else{ $affper = 0; } if($sys_oto_percent > 0 && $affper<=$sys_oto_percent){ # Give OTO to affiliate. $email = $_COOKIE["aff"]; } else{ # Give OTO to vendor. $email = $sys_default_email; } } else{ # Send payment to vendor. $email = $sys_default_email; } /* Old selection code. srand(); $r = rand(1, 100); if($r<=$sys_oto_percent){ # Send OTO to affiliate. $email = $_COOKIE["aff"]; } else{ # Use primary. $email = $sys_default_email; } */ } $item_name = $sys_oto_name; $item_number = $sys_oto_number; $item_cost = $sys_oto_cost; $item_download_url = "http://$sys_domain" . $sys_script_folder . "?action=downloadoto"; #$item_download_url = "http://$sys_domain" . $sys_script_folder; $item_cancel_url = $sys_item_cancel_url; $item_ipn_url = "http://$sys_domain" . $sys_script_folder . "ipn.php"; setcookie("oto", time(), time()+($sys_expire_hours * 3600), "/", "." . $sys_domain); } else{ # Regular purchase. $item_name = $sys_item_name; $item_number = $sys_item_number; $item_cost = $sys_item_cost; $item_download_url = "http://$sys_domain" . $sys_script_folder . "?action=squeeze"; #$item_download_url = "http://$sys_domain" . $sys_script_folder; $item_cancel_url = $sys_item_cancel_url; $item_ipn_url = "http://$sys_domain" . $sys_script_folder . "ipn.php"; } setcookie("first", time(), time()+600, "/", "." . $sys_domain); # Set ordered cookie. setcookie("ordered", time(), time()+($sys_expire_hours * 3600), "/", "." . $sys_domain); # Get customer IP address. $ip = $_SERVER["REMOTE_ADDR"]; # Use meta-refresh instead of header() redirect. # header() seems to cause session issues with PayPal. echo " Please wait...

We use PAYPAL (A world leader in secure online transactions) to conduct business with you.

Once PAYPAL has approved your payment remember to click on the RETURN TO MERCHANT to download the software.


You are now being redirected to the PayPal...

"; exit; } } elseif($action=="download" && isset($_REQUEST["id"])){ # Check that: 1) ID is valid and 2) download has not timed out. $id = $_REQUEST["id"]; $fh = @fopen($sys_template_folder . "ipn.txt", "r"); $invalid = true; $records = array(); $changes = false; while($rec = @fgets($fh)){ $rec = str_replace("\n", "", $rec); if(trim($rec)){ $record = explode("|", $rec); if($record[0]==$id){ $invalid = false; # Valid ID. Check timeout. if(time()<=$record[9]){ # Still active. Set cookies and show download. setcookie("ordered", time(), $record[9], "/", "." . $sys_domain); if($record[2]==$sys_oto_number){ # One-time offer download. Set cookie and show download. setcookie("oto", time(), $record[9], "/", "." . $sys_domain); $filename = $sys_template_folder . "downloadoto.html"; } else{ # Already squeezed, show download page. $filename = $sys_template_folder . "download.html"; } } else{ # Expired. $filename = $sys_template_folder . "downloadexpired.html"; } $rec = ""; for($i=0;$i0){ # Replace message vars. $subject = str_replace("[SENDER]", $sendername, $sys_tell_subject); $subject = str_replace("[PAYPAL]", $senderpaypal, $subject); $body = str_replace("[SENDER]", $sendername, $sys_tell_body); $body = str_replace("[PAYPAL]", $senderpaypal, $body); $headers = "From: $sendername<$senderpaypal> X-Sender: $sendername<$senderpaypal> X-Mailer: PHP " . phpversion() . " X-Priority: 3 Return-Path: $sendername<$senderpaypal> Reply-To: $sendername<$senderpaypal>"; # Read number of tell-a-friend mails sent to date. $tafcount = @file_get_contents($sys_template_folder . "tellafriend.txt"); if(!$tafcount){ $tafcount = 0; } # Send the message. foreach($emails as $email){ if($email){ @mail($email, $subject, $body, $headers); $tafcount++; } } # Write new count. $fh = @fopen($sys_template_folder . "tellafriend.txt", "w+"); @fwrite($fh, $tafcount); @fclose($fh); # Thanks! echo "Thanks! A message has been sent to the people you entered into the form."; exit; } else{ # Mail can only be sent from this domain. echo "Mail can only be sent from $sys_domain."; exit; } } else{ echo "Your name and PayPal email address are required."; exit; } } elseif($action=="remove"){ # Remove affiliate from email list. if($_REQUEST["email"]){ $fh = @fopen($sys_template_folder . "unsubs.txt", "a+"); @fwrite($fh, $_REQUEST["email"] . "\n"); @fclose($fh); echo "

You will no longer receive email from $sys_item_name.

"; exit; } } elseif($action=="downloadfile"){ # } # All other actions require that user has ordered and # cookie is set. If it's not, then it's expired. elseif(isset($_COOKIE["ordered"])){ # Kill "first" cookie if($action=="oto"){ # Show oto page. $filename = $sys_template_folder . "oto.html"; } elseif($action=="squeeze"){ $sale = getIPSalesRecord(); if(is_array($sale)|isset($_COOKIE["giveaway"])){ # Show name squeeze page. $filename = $sys_template_folder . "squeeze.html"; } else{ # Not safe, show expired. $filename = $sys_template_folder . "downloadexpired.html"; } } elseif($action=="download"){ $sale = getIPSalesRecord(); if(is_array($sale)|isset($_COOKIE["giveaway"])){ if($sys_oto && !isset($_GET["dl"])){ # Show OTO page. $filename = $sys_template_folder . "oto.html"; } else{ # Show download page. $filename = $sys_template_folder . "download.html"; } } else{ # Not safe, show expired. $filename = $sys_template_folder . "downloadexpired.html"; } } elseif($action=="downloadoto" && isset($_COOKIE["oto"])){ $sale = getIPSalesRecord(true); if(is_array($sale)){ # Show OTO download page. $filename = $sys_template_folder . "downloadoto.html"; } else{ # Invalid IP. $filename = $sys_template_folder . "downloadexpired.html"; } } elseif($action=="downloadoto"){ # Show expired since visitor doesn't have oto cookie. $filename = $sys_template_folder . "downloadexpired.html"; } else{ # Expired. $filename = $sys_template_folder . "downloadexpired.html"; } } elseif($action=="order" && !isset($_COOKIE["cookietest"])){ # No cookies. Show error. $filename = $sys_template_folder . "nocookies.html"; } elseif($action){ # Cookie's gone. Download has expired. $filename = $sys_template_folder . "downloadexpired.html"; } if($action=="admin"){ # Get username/password for admin area. echo "
Admin Login

username
password

"; exit; } elseif($action=="adminlogin"){ # Verify admin username/password. if($_POST["username"] == $sys_admin_username && $_POST["password"] == $sys_admin_password){ # Valid. Cookie and redirect. setcookie("admin", true); header("Location: $_SERVER[PHP_SELF]?action=adminmenu"); exit; } else{ echo "Invalid username or password."; exit; } } if($_COOKIE["admin"]){ $adminheader = "Admin Panel

$7 Secrets Scripts v$sys_version

"; $adminfooter = "
dixie chicks married heros dixie chicks married heros- left gay truckers london ontario gay truckers london ontario- lost 3 way fuck fest 3 way fuck fest- difficult canker sores on vagina canker sores on vagina- wait his father s mistress his father s mistress- segment naked amatuer thumbs naked amatuer thumbs- describe nude pussy cat dolls nude pussy cat dolls- drink gay cock trailers gay cock trailers- full bleeding while having sex bleeding while having sex- school singles in qatar singles in qatar- reason teen license driving teen license driving- together beaver and fox coat beaver and fox coat- egg leg fetish model leg fetish model- after nude naturalism nude naturalism- he bad spanking wet bad spanking wet- mark sensory integration dysfunction cure sensory integration dysfunction cure- life milfs in panties milfs in panties- sugar ny escort outcall pics ny escort outcall pics- necessary nude men screensavers nude men screensavers- success rate nude russian girls rate nude russian girls- month cameltoes pissing cameltoes pissing- chick love learn delaware love learn delaware- were bent webcam bent webcam- about gum porn gum porn- dear brooklyn decker nude brooklyn decker nude- liquid piercing the breast piercing the breast- solution nude amateur nikki nude amateur nikki- so hos and tits hos and tits- control carey hart nude carey hart nude- cross uk singles forums uk singles forums- product sybian teen movies sybian teen movies- connect beautiful tranny pictures beautiful tranny pictures- where femdom utopia geocities femdom utopia geocities- boat sexy nude cartoon pics sexy nude cartoon pics- subtract amateur video homemade amateur video homemade- long cathern bell tits cathern bell tits- event huge tits in bikinis huge tits in bikinis- give article on agape love article on agape love- compare cheerleader naughty cheerleader naughty- include nasty lil wayne lyrics nasty lil wayne lyrics- drop gay long branch nj gay long branch nj- clear erotic vintage erotic vintage- when dokken stop fighting love dokken stop fighting love- me panties undressing panties undressing- town sex and ass licking sex and ass licking- or big boob lesbians clips big boob lesbians clips- thank boob licking clips boob licking clips- boat lisa lewis suckers lisa lewis suckers- middle blonde milf clip blonde milf clip- score mistress elle marbella mistress elle marbella- her dana hayes milf myspace dana hayes milf myspace- game nude apprentice pics nude apprentice pics- bar mothers daughters nude mothers daughters nude- center christian dating rule christian dating rule- steam nudists ohio nudists ohio- salt gay big dick porn gay big dick porn- evening elctro sex toys elctro sex toys- triangle sex toy masturbators sex toy masturbators- pair cock bong cock bong- rail mature pantyhose movies mature pantyhose movies- set male sex appeal male sex appeal- place islam gay islam gay- many martin luther king fuck martin luther king fuck- milk bloodninja cyber sex bloodninja cyber sex- rise creampie bitches creampie bitches- break paris hilton s breasts paris hilton s breasts- pound michael callen gay michael callen gay- condition london sex museum london sex museum- camp white ho gangbanged white ho gangbanged- weight tan gay ass tan gay ass- push chicken breast shish kabob chicken breast shish kabob- market cosmopoliton erotic cosmopoliton erotic- temperature rakhi sawant porn rakhi sawant porn- course cock too big story cock too big story- bear women threesome free video women threesome free video- excite tities beer tities beer- machine alien lesbian pics alien lesbian pics- done accused of harassment accused of harassment- put voyeur clips spandex voyeur clips spandex- ready foot fetish porn star foot fetish porn star- tail breast br st breast br st- range nude catherine nude catherine- back erotic stories soft erotic stories soft- class adult little girl fetish adult little girl fetish- tone girl orgasm pics girl orgasm pics- said all celebrities sex scandals all celebrities sex scandals- deal female rappers nude female rappers nude- smile bdsm heel training bdsm heel training- collect breast milk images breast milk images- flower sperm bank china pics sperm bank china pics- such gratis seks webcam chat gratis seks webcam chat- tube itialian porn itialian porn- from breast feding breast feding- try natalie portman young nude natalie portman young nude- spend university counseling resourches university counseling resourches- yellow wedgie proof underwear wedgie proof underwear- mountain teen girlfriends teen girlfriends- cent remote sex toys reviewed remote sex toys reviewed- plain scarlette johansson porn scarlette johansson porn- hot wet look in wetsuits wet look in wetsuits- moment cat pussy logo cat pussy logo- big party girls naked pictures party girls naked pictures- sand naked pictures milla jovovich naked pictures milla jovovich- age counseling chit navy counseling chit navy- key cheerleaders gettin fucked cheerleaders gettin fucked- clock men hanes underwear men hanes underwear- came young teen bbs imageboard young teen bbs imageboard- probable extreme sex tube extreme sex tube- heavy chola pussy chola pussy- exact doctor clinique erotic stories doctor clinique erotic stories- supply mature british xxx mature british xxx- catch romance personality quiz romance personality quiz- keep found moms dildo stories found moms dildo stories- material youngest virgins youngest virgins- been brooke gilbertsen naked brooke gilbertsen naked- end lindsay lohan porn photos lindsay lohan porn photos- rub groupsex photo mfm groupsex photo mfm- don't kim hee sun nude kim hee sun nude- it flabby asses mature flabby asses mature- surprise asain schoolgirl asain schoolgirl- design twinks teens gay twinks teens gay- glass inteligent dating uk inteligent dating uk- camp angel star shemale angel star shemale- stick badongo fuck badongo fuck- charge lesbian teen support groups lesbian teen support groups- oxygen cumming in my ass cumming in my ass- dream jake steed porn pics jake steed porn pics- found teen cousin porn teen cousin porn- exercise rainbow party hot blonde rainbow party hot blonde- instrument booty patrol free download booty patrol free download- soil nude m4m tampa nude m4m tampa- fair bali gay places bali gay places- music vision boards passion test vision boards passion test- hope nylon preparation nylon preparation- rain swing of interior doors swing of interior doors- found liberty knobs and pulls liberty knobs and pulls- body naked redhead male naked redhead male- touch nude schoolchildren nude schoolchildren- watch suicide for teens suicide for teens- the marcia brady blowjob marcia brady blowjob- port xxx american cartoons xxx american cartoons- region just married sex pictures just married sex pictures- experiment super vibrators for men super vibrators for men- ground teenage drunk sluts teenage drunk sluts- help controversial erotic photographers controversial erotic photographers- stop forum nude at home forum nude at home- fun lesbians grabbing boobs lesbians grabbing boobs- process adult mother daughter relationship adult mother daughter relationship- use secrete amateur video secrete amateur video- original teens learning to drive teens learning to drive- material 3 c channel strips 3 c channel strips- bad porcline water jugs porcline water jugs- material girlfriend gets gangbanged girlfriend gets gangbanged- month hot body cuties hot body cuties- test real sex on hbo real sex on hbo- three cool teen gifts girl cool teen gifts girl- stop fist gay fuckers fist gay fuckers- figure disabled fetish sites disabled fetish sites- ball pussy s and dick s pussy s and dick s- language anitmated sex movies anitmated sex movies- wrote large booty clap large booty clap- drive pussies on view tightteen pussies on view tightteen- yes the naughty saint the naughty saint- reason milfs mothers milfs mothers- record joan hackett nude joan hackett nude- wing video game hentai archive video game hentai archive- plan anime monsters sex anime monsters sex- less calf halters nylon rope calf halters nylon rope- brother original deepthroat original deepthroat- leg teen physical teen physical- hunt horny and over forty horny and over forty- which telephone controlled power strip telephone controlled power strip- box blacki dick latin blacki dick latin- arrive casting calls playboy nude casting calls playboy nude- shape voyeur homemade free clips voyeur homemade free clips- interest nude young girls asian nude young girls asian- log naughty costumes for couples naughty costumes for couples- tiny local regina sask chatrooms local regina sask chatrooms- rail lesbien porns lesbien porns- caught busty blow job busty blow job- left straight looking gay straight looking gay- old punk sucks cd punk sucks cd- people gay coffeehouse gay coffeehouse- also coke bottle sex coke bottle sex- rich turning men into sissies turning men into sissies- while costa rica teen escorts costa rica teen escorts- most nude blond models nude blond models- born eskort prostitution sverige eskort prostitution sverige- blood erotic transference in psychotherapy erotic transference in psychotherapy- said naked sof a vergara naked sof a vergara- spell gay video warehouse gay video warehouse- have cock oops cock oops- east helen steele nude pics helen steele nude pics- whole sick anal insertions tgp sick anal insertions tgp- area cartoon titty fucking cartoon titty fucking- but horny teacher masturbation videos horny teacher masturbation videos- every moms love cock moms love cock- silver post op mtf nude gallery post op mtf nude gallery- hunt fetish butt plug fetish butt plug- continent girls sucking black dick girls sucking black dick- hot contaminated beauty products contaminated beauty products- fig nudes on u tube nudes on u tube- busy rate us couples rate us couples- doctor 80s porn star pics 80s porn star pics- match i love sirius i love sirius- our bizarre dog video bizarre dog video- water teens start smoking teens start smoking- column panama city beach webcams panama city beach webcams- set fat cats xxx fat cats xxx- well confidential dating las vegas confidential dating las vegas- broad asian pee pee tgp asian pee pee tgp- level manila girls xxx manila girls xxx- real chloe nicole fetish chloe nicole fetish- garden losing friends over relationships losing friends over relationships- told should couples use vibrators should couples use vibrators- general don vicente swing dance don vicente swing dance- shall blood xxx blood xxx- bear queensland independent escorts queensland independent escorts- father candies escort service candies escort service- saw sissy bar 250cc rebel sissy bar 250cc rebel- beauty candid nude beach photos candid nude beach photos- floor uncut celebrity cocks uncut celebrity cocks- event fake nude celebritites fake nude celebritites- dark simgirl dna cheatcodes hentai simgirl dna cheatcodes hentai- bring spanking video spanking video spanking video spanking video- roll black cheerleaders getting fucked black cheerleaders getting fucked- search lesbo next door lesbo next door- present water sex bondage water sex bondage- carry porn videos croc porn videos croc- process wife naked submitted photo wife naked submitted photo- stretch monro walk naked monro walk naked- unit naked egyptians naked egyptians- least shakita kash lesbian movies shakita kash lesbian movies- has grandma jerks off grandson grandma jerks off grandson- friend sammy hatfied escort sammy hatfied escort- suggest hentai game labyrinth hentai game labyrinth- stood breast foreplay video breast foreplay video- record mature licks mature licks- wild amatuer private sex amatuer private sex- slow everett clinic sucks everett clinic sucks- smile cindy crawford sex video cindy crawford sex video- sit dick sporting goods store dick sporting goods store- quotient nude in public katarina nude in public katarina- science richardsrealm richardsrealm- valley ist time virgins ist time virgins- through multiple lesbians multiple lesbians- by bondage personals checklist bondage personals checklist- spread vanessa hughen nude pictures vanessa hughen nude pictures- open teens having fun xxx teens having fun xxx- hole young erotic anime young erotic anime- meant nice naked ass nice naked ass- lot richard proeneke porn richard proeneke porn- century olson twins boobs olson twins boobs- girl teen model photography art teen model photography art- continue oklahoma sex offender oklahoma sex offender- chord tantric nudism tantric nudism- wrong naked playboy picture naked playboy picture- world fat fucked fat fucked- syllable rabbit review ebony rabbit review ebony- corner bangladeshi porn bangladeshi porn- noon bodybuilding pussy videos bodybuilding pussy videos- pound daddies twinks daddies twinks- deal jewelry porn clip jewelry porn clip- made perfect cuties gallery perfect cuties gallery- crowd big chubby women big chubby women- wear fuck me joelle fuck me joelle- method chicks whips chicks whips- slow hentai big tit movie hentai big tit movie- sing porn thong porn thong- interest naked web cam chat naked web cam chat- necessary hentai breast chart hentai breast chart- tube nude next door nude next door- blue hard core granny sex hard core granny sex- dictionary pictures family nudist colonies pictures family nudist colonies- most vaginal photography vaginal photography- teach bleeding vagina sex bleeding vagina sex- salt big tits college girls big tits college girls- plan you teens masturbating you teens masturbating- month seductive naked women seductive naked women- had nude jessica alba videos nude jessica alba videos- group shit sex videos shit sex videos- whether hot blonde southern girls hot blonde southern girls- pattern glenda jackson nude glenda jackson nude- tell human pleasure centers human pleasure centers- result redhead teacher students hentai redhead teacher students hentai- able hagerstown md escorts hagerstown md escorts- break naked cleaning naked cleaning- air aishwarya fucked aishwarya fucked- bird lingerie cumshot lingerie cumshot- correct goth and fetish wear goth and fetish wear- spoke wing tatoo fuck wing tatoo fuck- sell naked tiffany naked tiffany- vary bdsm catalogues bdsm catalogues- act homemake fuck movies homemake fuck movies- spend ameature porn pic ameature porn pic- yellow flying naked flying naked- excite teen candid stocking photos teen candid stocking photos- love teenage hentai free videos teenage hentai free videos- buy drunk girl pussy slips drunk girl pussy slips- melody nylon slicks shorts nylon slicks shorts- supply super hotties sucking dick super hotties sucking dick- old sybian pussy sybian pussy- class magical do re mi shemale magical do re mi shemale- serve tag team singles tag team singles- face pee anal sex pee anal sex- hair pics of teens kissing pics of teens kissing- third philipina porn philipina porn- drop east liverpool littel beavers east liverpool littel beavers- than alyssia malano nude alyssia malano nude- had ap porn ap porn- observe smegma cheese cock gallery smegma cheese cock gallery- field kc motorcycle escorts kc motorcycle escorts- among aunt wet dream erection aunt wet dream erection- run porn star carolyn reese porn star carolyn reese- press heaven austin escort heaven austin escort- and bit torrent gay porn bit torrent gay porn- noun the perfect 36d breasts the perfect 36d breasts- fair personals gay master personals gay master- meat ecchi nude ecchi nude- captain tranny torrents tranny torrents- keep cum soaked milf cum soaked milf- large carries him male porn carries him male porn- window 020 escorts 020 escorts- tree hairy legs fetish hairy legs fetish- unit awesome hentai for free awesome hentai for free- stretch motnes erotic motnes erotic- month infant toddler outdoor swings infant toddler outdoor swings- cent wild lingerie gallery naked wild lingerie gallery naked- separate nice young nude bbs nice young nude bbs- compare forced deepthroats forced deepthroats- copy indian symbol love indian symbol love- ride opaque pantyhose tights opaque pantyhose tights- order butoconazole vaginal butoconazole vaginal- tube tv mistress rachael tv mistress rachael- make audio sex orgasms free audio sex orgasms free- read minneapolis nude club minneapolis nude club- found superhead sex tape superhead sex tape- record lewd cyclists lewd cyclists- high mona nude czech republic mona nude czech republic- spoke mark harmon shirtless mark harmon shirtless- king naughty daughters top naughty daughters top- mother speed dating hagerstown speed dating hagerstown- master nude artists nude artists- sight dick corporation dick corporation- subject black lesbian couples counseling black lesbian couples counseling- nation bleeding while having sex bleeding while having sex- travel mpegs on xbox mpegs on xbox- say married couples working together married couples working together- nation giant tits bisexual giant tits bisexual- cost kip 66 singles kip 66 singles- difficult foreign sex candids foreign sex candids- time booties 4mm straight needles booties 4mm straight needles- black big legged teen pics big legged teen pics- own nudist web cams nudist web cams- case virgin thompson monach virgin thompson monach- oh nude bachlerette party sex nude bachlerette party sex- radio bankok sex girls bankok sex girls- wife philosphy beauty products philosphy beauty products- bright teen big tit fuck teen big tit fuck- between sexy naked asain sexy naked asain- quick quick time video fuck quick time video fuck- face valentines day texas singles valentines day texas singles- after mature thai thumbs mature thai thumbs- ice andy dick latest story andy dick latest story- won't teen pelvic exam video teen pelvic exam video- degree real pussy orgasm clips real pussy orgasm clips- draw ffm lucky guy ffm lucky guy- long power exchange bdsm spokane power exchange bdsm spokane- exact mature gay crossdress mature gay crossdress- twenty cowgirl dating cowgirl dating- mix nude school boys pics nude school boys pics- simple gay and boy bands gay and boy bands- corner love pats panites love pats panites- bank prescriptions for vaginal infections prescriptions for vaginal infections- path love songs about cheating love songs about cheating- crease kickball naked kickball naked- about amatuer girls nude amatuer girls nude- fire escort couples ft lauderdale escort couples ft lauderdale- soil cool teen rooms cool teen rooms- brother milf handjob quicktime milf handjob quicktime- direct famous stars kiss famous stars kiss- science feet fetish pictures sex feet fetish pictures sex- contain christina millian nude pics christina millian nude pics- indicate fat naked ladies porn fat naked ladies porn- happy oiled tits oiled tits- brown find lesbians on myspace find lesbians on myspace- fun naked ameteurs home video naked ameteurs home video- draw womens facial hair groomer womens facial hair groomer- dry swing guitars swing guitars- hill john and marty kiss john and marty kiss- property yellow vaginal discharge itching yellow vaginal discharge itching- supply tisa porn star pics tisa porn star pics- his outdoor sex scenes outdoor sex scenes- offer metaxalone premature ejaculation metaxalone premature ejaculation- women dick edwards manhatten kansas dick edwards manhatten kansas- size licking my wifes pussy licking my wifes pussy- island aqua teen tshirts aqua teen tshirts- wonder girl orgasm till squirt girl orgasm till squirt- them trish stratus s pussy trish stratus s pussy- modern gothic sluts gothic sluts- which keelly hazzell nude keelly hazzell nude- wife lesbians masterbating with dildos lesbians masterbating with dildos- parent dyanne cannon nude photos dyanne cannon nude photos- place yahoo groups creampie yahoo groups creampie- magnet lincoln ne escorts lincoln ne escorts- won't nude female abercrombie models nude female abercrombie models- rock sluts edmonton sluts edmonton- system az escort services az escort services- seven crochet thongs crochet thongs- climb email lesbian porn videos email lesbian porn videos- send morroco sex morroco sex- said totally bizarre hats totally bizarre hats- am dan massa safford personals dan massa safford personals- fine viveca a fox nude viveca a fox nude- some mature zilla mature zilla- have download bleach hentai game download bleach hentai game- car real models tgp real models tgp- inch spanking holders spanking holders- suffix shaven labia sex shaven labia sex- some caught peeing pics caught peeing pics- suggest vanessa van hudgens naked vanessa van hudgens naked- describe sicillian kiss sicillian kiss- bat antique dresser knobs antique dresser knobs- led drawn together tootse naked drawn together tootse naked- create horny housewives sex horny housewives sex- meat asshole naked bubble butt asshole naked bubble butt- other oldwomen xxx oldwomen xxx- describe parodie hentai videos parodie hentai videos- went girls showing thong videos girls showing thong videos- mountain n0orth west beaver habits n0orth west beaver habits- decimal webcams on nantucket webcams on nantucket- share teen thumb asian teen thumb asian- join hardcore fucking group hardcore fucking group- end amature angels amature angels- after buying cheap Viagra online in uk
"; # Admin functions. if($action=="adminmenu"){ # Get tell-a-friend count. $taf = @file_get_contents($sys_template_folder . "tellafriend.txt"); if(!$taf){ $taf = 0; } echo " $adminheader

Admin Panel

  1. Show All Sales
  2. Show Last 50 Sales
  3. Show Last 100 Sales
  4. Show My Sales
  5. Search Sales
  6. Referrer Report
  7. Referrer Domains Report
  8. My Sales Referrer Report
  9. My Sales Referrer Domains Report
  10. Fraud Report
  11. Affiliates Report
  12. Email Affiliates
  13. Export Purchases to CSV
  14. Logout

$taf people have been emailed using the tell-a-friend script.

$adminfooter "; exit; } elseif($action=="adminbuys"|$action=="adminmine"){ # Show all customers. $records = @file($sys_template_folder . "ipn.txt"); $count = 0; $count = $_REQUEST["count"]; if($records){ $rcount = count($records); } else{ $rcount = 0; $records = array(); } if($count){ $showing = "last $count"; } else{ $showing = "all $rcount"; } if($action=="adminmine"){ $showing = "only sales paid to you"; } echo " $adminheader Back to Menu

Clicking the EXPIRES link will add another $sys_expire_hours hours to the customer's download link expiration.

$rcount total records. Showing $showing. Your sales are highlighted. "; $bgcolor = "#ffffff"; $c = $rcount; foreach($records as $rec){ $c--; if(!$count | $c<=$count){ $rec = str_replace("\n", "", $rec); if(trim($rec)){ $record = explode("|", $rec); $date = ""; if($record[11]){ $date = date("Y-m-d H:i:s", $record[11]); } $expires = date("Y-m-d H:i:s", $record[9]); if($record[3]==$sys_default_email){ # Our sale. Yay! :) $bgcolor = "#ffffcc"; } $show = true; if($action=="adminmine"){ if($record[3]!=$sys_default_email){ $show = false; } } if($show){ echo " "; } if($bgcolor=="#ffffff"){ $bgcolor = "#eeeeee"; } else{ $bgcolor = "#ffffff"; } } } } echo "
PayPal Receipt ID Item Number Affiliate Email Customer Email First Name Last Name Payment Bought Expires
$record[0] $record[2] $record[3] $record[4] $record[5] $record[6] $record[8] $date $expires
$adminfooter"; exit; } elseif($action=="adminexport"){ # Export purchase records to CSV. $first = true; header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=export.csv"); header("Content-Transfer-Encoding: binary"); $records = @file($sys_template_folder . "ipn.txt"); if($records){ foreach($records as $rec){ $rec = str_replace("\n", "", $rec); if(trim($rec)){ if($first){ # Output headers. echo '"PayPal Receipt ID","Item Name","Item Number","Affiliate Email","Customer Email","First Name","Last Name","Company","Payment","Bought","Expires"' . "\r\n"; $first = false; } $record = explode("|", $rec); $date = ""; if($record[11]){ $date = date("Y-m-d H:i:s", $record[11]); } $expires = date("Y-m-d H:i:s", $record[9]); echo "\"$record[0]\",\"$record[1]\",\"$record[2]\",\"$record[3]\",\"$record[4]\",\"$record[5]\",\"$record[6]\",\"$record[7]\",\"$record[8]\",\"$date\",\"$expires\"\r\n"; } } } exit; } elseif($action=="adminrefs"|$action=="adminrefsmine"){ # Show referrer report. $records = @file($sys_template_folder . "ipn.txt"); $count = 0; $count = $_REQUEST["count"]; if($records){ $rcount = count($records); } else{ $rcount = 0; $records = array(); } if($count){ $showing = "last $count"; } else{ $showing = "all $rcount"; } if($action=="adminrefsmine"){ $showing = "only sales paid to you"; } echo " $adminheader Back to Menu

$rcount total records. Showing $showing. Your sales are highlighted. "; $bgcolor = "#ffffff"; $c = $rcount; $refs = array(); foreach($records as $rec){ $c--; if(!$count | $c<=$count){ $rec = str_replace("\n", "", $rec); if(trim($rec)){ $record = explode("|", $rec); $date = ""; if($record[11]){ $date = date("Y-m-d H:i:s", $record[11]); } $expires = date("Y-m-d H:i:s", $record[9]); if($record[3]==$sys_default_email){ # Our sale. Yay! :) $bgcolor = "#ffffcc"; } $show = true; if($action=="adminrefsmine"){ if($record[3]!=$sys_default_email){ $show = false; } } if($show){ if(strlen($record[12])>100){ $ref = substr($record[12], 0, 98) . ".."; } else{ $ref = $record[12]; } if(isset($refs[$record[12]])){ $refs[$record[12]]++; } else{ $refs[$record[12]]=1; } } } } } arsort($refs); foreach($refs as $ref => $sales){ $parts = parse_url($ref); $host = str_replace("www.", "", $parts["host"]); $keywords = searchKeywords($ref); if(strlen($ref)>100){ $sref = substr($ref, 0, 98) . ".."; } else{ $sref = $ref; } echo " "; if($bgcolor=="#ffffff"){ $bgcolor = "#eeeeee"; } else{ $bgcolor = "#ffffff"; } } echo "
Referrer Domain Keywords Sales
$sref $host $keywords $sales
$adminfooter"; exit; } elseif($action=="adminrefdomains"|$action=="adminrefdomainsmine"){ # Show referrer report. $records = @file($sys_template_folder . "ipn.txt"); $count = 0; $count = $_REQUEST["count"]; if($records){ $rcount = count($records); } else{ $rcount = 0; $records = array(); } if($count){ $showing = "last $count"; } else{ $showing = "all $rcount"; } if($action=="adminrefdomainsmine"){ $showing = "only sales paid to you"; } echo " $adminheader Back to Menu

$rcount total records. Showing $showing. Your sales are highlighted. "; $bgcolor = "#ffffff"; $c = $rcount; $refs = array(); foreach($records as $rec){ $c--; if(!$count | $c<=$count){ $rec = str_replace("\n", "", $rec); if(trim($rec)){ $record = explode("|", $rec); $date = ""; if($record[11]){ $date = date("Y-m-d H:i:s", $record[11]); } $expires = date("Y-m-d H:i:s", $record[9]); if($record[3]==$sys_default_email){ # Our sale. Yay! :) $bgcolor = "#ffffcc"; } $show = true; if($action=="adminrefdomainsmine"){ if($record[3]!=$sys_default_email){ $show = false; } } if($show){ $parts = parse_url($record[12]); $host = str_replace("www.", "", $parts["host"]); if(isset($refs[$host])){ $refs[$host]++; } else{ $refs[$host]=1; } } } } } arsort($refs); foreach($refs as $ref => $sales){ echo " "; if($bgcolor=="#ffffff"){ $bgcolor = "#eeeeee"; } else{ $bgcolor = "#ffffff"; } } echo "
Domain Sales
$ref $sales
$adminfooter"; exit; } elseif($action=="adminaffiliates"){ # Show referrer report. $records = @file($sys_template_folder . "ipn.txt"); $count = 0; $count = $_REQUEST["count"]; if($records){ $rcount = count($records); } else{ $rcount = 0; $records = array(); } if($count){ $showing = "last $count"; } else{ $showing = "all $rcount"; } echo " $adminheader Back to Menu

$rcount total records. Showing $showing. Your sales are highlighted. "; $bgcolor = "#ffffff"; $c = $rcount; $refs = array(); foreach($records as $rec){ $c--; if(!$count | $c<=$count){ $rec = str_replace("\n", "", $rec); if(trim($rec)){ $record = explode("|", $rec); $date = ""; if($record[11]){ $date = date("Y-m-d H:i:s", $record[11]); } $expires = date("Y-m-d H:i:s", $record[9]); if($record[3]==$sys_default_email){ # Our sale. Yay! :) $bgcolor = "#ffffcc"; } if(isset($refs[$record[3]])){ $refs[$record[3]]++; } else{ $refs[$record[3]]=1; } } } } arsort($refs); foreach($refs as $ref => $sales){ echo " "; if($bgcolor=="#ffffff"){ $bgcolor = "#eeeeee"; } else{ $bgcolor = "#ffffff"; } } echo "
Affiliate Sales
$ref $sales
$adminfooter"; exit; } elseif($action=="adminextend"){ # Extend duration of purchase download link. $id = $_REQUEST["id"]; $records = @file($sys_template_folder . "ipn.txt"); $recs = array(); if($records){ foreach($records as $rec){ $rec = str_replace("\n", "", $rec); if(trim($rec)){ $record = explode("|", $rec); if($record[0]==$id){ # Extend this record. $changes = true; $record[9] = time() + (3600 * $sys_expire_hours); $rec = ""; for($i=0;$iBack to Menu

Link expiration has been extended by $sys_expire_hours hours.

Give customer this link to download:

http://$sys_domain" . $sys_script_folder . "?action=download&id=$id

$adminfooter "; } else{ echo " Back to Menu

No matching purchase record found.

"; } exit; } elseif($action=="adminemailaffiliates"){ # Show affiliate mailer form. echo " $adminheader Back to Menu

Email Subject:

Email Body:

Only send to affiliates with at least sales.

$adminfooter "; exit; } elseif($action=="adminemailaffiliates2"){ # Send a mailer to all affiliates who aren't unsubed. # -- First read unsub file. $unsubs = @file($sys_template_folder . "unsubs.txt"); if(!is_array($unsubs)){ # No unsubs. $removed = array(); } else{ $removed = array(); foreach($unsubs as $aff){ $aff = str_replace(array("\r", "\n"), "", $aff); $removed[$aff] = true; } } # Read IPN file and get unique affiliates. $affiliates = array(); $sales = @file($sys_template_folder . "ipn.txt"); foreach($sales as $sale){ $sale = explode("|", $sale); if(!isset($affiliates[$sale[3]])){ $affiliates[$sale[3]] = 1; } else{ $affiliates[$sale[3]]++; } } if(substr($sys_support_address, 0, 7)=="http://"){ $eaddress = "noreply@$sys_domain"; } else{ $eaddress = $sys_support_address; } $headers = "From: $sys_item_name<$eaddress> X-Sender: $sys_item_name<$eaddress> X-Mailer: PHP " . phpversion() . " X-Priority: 3 Return-Path: $sys_item_name<$eaddress> Reply-To: $sys_item_name<$eaddress>"; $affs = array(); $esubject = $_POST["esubject"]; $ebody = stripslashes($_POST["ebody"]); $ebody .= "\n===\nTo stop receiving emails from $sys_item_name, click this link:\nhttp://$sys_domain" . $sys_script_folder . "?action=remove&email=[EMAIL]"; foreach($affiliates as $aff => $sales){ if(!$removed[$aff] && $sales >= $_POST["esales"]){ $affs[] = $aff; } } echo " $adminheader

    Sending " . count($affs) . " emails...

    "; foreach($affs as $aff){ # Send the mailer. $sendbody = str_replace("[EMAIL]", $aff, $ebody); @mail($aff, $esubject, $sendbody, $headers); echo "
  1. $aff ..
    "; flush(); } echo " $adminfooter
Back to Menu "; exit; } elseif($action=="adminfraud"){ # Show all fraudulent transactions. $records = @file($sys_template_folder . "fraud.txt"); if($records){ $rcount = count($records); } else{ $rcount = 0; $records = array(); } echo " $adminheader Back to Menu

$rcount total fraudulent transactions. Fraudulent buyers do not receive the download.

It is recommended that you report fraudulent buyers to PayPal at 888-215-5506.

"; $bgcolor = "#ffffff"; $c = $rcount; foreach($records as $rec){ $c--; if(!$count | $c<=$count){ $rec = str_replace("\n", "", $rec); if(trim($rec)){ $record = explode("|", $rec); $date = ""; if($record[11]){ $date = date("Y-m-d H:i:s", $record[11]); } $expires = date("Y-m-d H:i:s", $record[9]); $show = true; if($show){ echo " "; } if($bgcolor=="#ffffff"){ $bgcolor = "#eeeeee"; } else{ $bgcolor = "#ffffff"; } } } } echo "
PayPal Receipt ID Item Number Affiliate Email Customer Email First Name Last Name Payment Date  
$record[0] $record[2] $record[3] $record[4] $record[5] $record[6] $record[8] $date not fraud
$adminfooter"; exit; } elseif($action=="adminapprove"){ # Add record into ipn.txt, since it wasn't actually fraud. $records = @file($sys_template_folder . "fraud.txt"); foreach($records as $record){ $rec = explode("|", $record); if($rec[0]==$_REQUEST["id"]){ # Add this record to ipn.txt file. $fh = fopen($sys_template_folder . "ipn.txt", "a+"); fwrite($fh, $record); fclose($fh); if(substr($sys_support_address, 0, 7)=="http://"){ $eaddress = "noreply@$sys_domain"; $support = "For support, visit our web site at:\n\n$sys_support_address"; } else{ $eaddress = $sys_support_address; $support = "Reply to this email with any questions or support needs you may have."; } $subject = "Your download link."; $expires = time() + (3600 * $sys_expire_hours); $time = time(); $body = "$rec[5],\n\nThank you for your purchase.\nTo download your copy, click here:\n\nhttp://$sys_domain" . $sys_script_folder . "?action=download&id=$rec[0]\n\nYou have $sys_expire_hours hours to download before the link expires.\nWe appreciate your business.\n$support\n\nThanks again.\n"; # Send download notification to purchaser. @mail($rec[4], $subject, $body, "From: $sys_item_name <$eaddress>\r\nReply-To: $eaddress\r\nX-Mailer: PHP" . phpversion()); } } echo "$adminheader Back to Menu

The customer has been emailed their download link.

"; exit; } elseif($action=="adminsearch"){ # Show sales search form. echo " $adminheader

Back to Menu

Find Records Where


$adminfooter "; exit; } elseif($action=="adminsearch2"){ echo "$adminheader

Back to Menu

Matching Records:

Clicking the EXPIRES link will add another $sys_expire_hours hours to the customer's download link expiration.

"; $matches = 0; $records = @file($sys_template_folder . "ipn.txt"); foreach($records as $record){ $rec = explode("|", $record); $match = false; if($_POST["compare"]==1){ # Equal to. if(strtolower($rec[$_POST["field"]])==strtolower(trim($_POST["query"]))){ $match = true; } } elseif($_POST["compare"]==2){ if(strpos(" " . strtolower($rec[$_POST["field"]]), strtolower($_POST["query"]))){ $match = true; } } if($match){ $matches++; $date = ""; if($rec[11]){ $date = date("Y-m-d H:i:s", $rec[11]); } $expires = date("Y-m-d H:i:s", $rec[9]); echo " "; } } echo "
PayPal Receipt ID Item Number Affiliate Email Customer Email First Name Last Name Payment Bought Expires
$rec[0] $rec[2] $rec[3] $rec[4] $rec[5] $rec[6] $rec[8] $date $expires

$matches matching record(s) found.

"; exit; } elseif($action=="adminlogout"){ # Logout. setcookie("admin", "", time() - 3600); header("Location: $_SERVER[PHP_SELF]"); exit; } } # If we made it here, this needs to be cleared. setcookie("first", 0, time()-3600, "/", "." . $sys_domain); if($filename){ # Show appropriate page. showTemplate($filename); } else{ # Odd. echo " There was a problem processing your request. Please send the following information in a ticket to AskJonLeger.com:

af:$_COOKIE[aff]
ct:$_COOKIE[cookietest]
or:$_COOKIE[ordered]
ot:$_COOKIE[oto]
ac:$action

"; } ?>