#!/usr/local/bin/perl -s use CGI::Carp qw(fatalsToBrowser); require "COMMONLIB.pl"; if ($ENV{'SCRIPT_NAME'}=~/index2.cgi/) { require "CP2.pl"; } else { require "CP.pl"; } print "Content-type: text/html\n\n";#!INDX\\n #print qq~<!-- HTTPS: $ENV{'HTTPS'} -->~; $root = $ENV{'DOCUMENT_ROOT'};$root=~/^[^\n]*/; $Root=$&; $version=qq~2.08~; $inbuff= &get_form_data; &GET_ENV_CONFIG; &setfields; &do_me; sub do_me { if ($Fo{'DO'} eq "SNIP") { print &GET_SNIPPET; exit; } &GET_SNIPPET; # PORTAL ADMIN: ADD DOMAIN if ($Fo_ADD eq "DOMAIN") { $keyname=&ADD_DOMAIN; } # START ADPAGE elsif ($Fo_START eq "ADPAGE") { $keyname=&START_ADPAGE; } # ADD DNS elsif ($Fo_ADD eq "DNS") { print &ADD_DNS_RECORD($Fo_domain); exit; } # START CLAIM SPECIAL elsif ($Fo_START eq "CLAIM_SPECIAL") { $keyname=&START_CLAIM_SPECIAL; } # SUBMIT CLAIM SPECIAL elsif ($Fo_SUBMIT eq "CLAIM_SPECIAL") { $keyname=&SUBMIT_CLAIM_SPECIAL; } # PORTAL ADMIN: VERIFY URLS, BATCH elsif ($Fo_RUN eq "CRON") { $keyname=&RUN_CRON; } # PORTAL ADMIN: VERIFY URLS, BATCH elsif ($Fo_ADMIN eq "VERIFYURLS") { $keyname=&VERIFY_URLS_ADMIN; } # PORTAL ADMIN: CHANGE CAT elsif ($Fo_ADMIN eq "CHANGE_CAT") { $keyname=&ADMIN_EDIT_CAT; } # PORTAL ADMIN: NAVIGATOR elsif ($Fo_ADMIN eq "NAV") { $keyname=&ADMIN_NAV; } # PORTAL ADMIN: CLAIM SPECIAL elsif ($Fo_ADMIN eq "CLAIM_SPECIAL") { $keyname=&ADMIN_CLAIM_SPECIAL; } # PORTAL ADMIN: VERIFY URLS, BATCH elsif ($Fo_TEST eq "OUTFILE") { &OUTFILE("EN/ztest.htm","$Fo_page_html"); `chmod ugoa+w EN/ztest.htm`; print "written"; exit; } # PORTAL ADMIN: VERIFY A SUPERSPLASH ORDER elsif ($Fo_ADMIN eq "VERIFYSPLASH") { $keyname=&VERIFY_SPLASH; } # GENERATE AJAX PAY BUTTON: BEFORE PAYING FOR SuperSplash elsif ($Fo_ajax eq "splashpaybutton") { $keyname=&SPLASH_PAYMENT_AJAX_PAYBUTTON_CLICKED; } # GENERATE AJAX PAY BUTTON: BEFORE PAYING FOR AccountSignup elsif ($Fo_ajax eq "signuppaybutton") { $keyname=&SIGNUP_PAYMENT_AJAX_PAYBUTTON_CLICKED; } # GENERATE AJAX PAY BUTTON: BEFORE PAYING FOR URL elsif ($Fo_ajax eq "urlpaybutton") { $keyname=&URL_PAYMENT_AJAX_PAYBUTTON_CLICKED; } # COMPLETE PAYMENT: AFTER COMMING BACK FROM PAYPAL elsif ($Fo_pay eq "ok") { $keyname=&CONFIRM_PAYMENT; } # COMPLETE PAYMENT: AFTER COMMING BACK FROM PAYPAL FROM URL ORDER elsif ($Fo_pay eq "okurl") { $keyname=&CP_ADD_URL_PAYMENT_COMPLETE; } # COMPLETE PAYMENT: AFTER COMMING BACK FROM PAYPAL FROM SPLASH ORDER FORWARD elsif ($Fo_pay eq "oksplashfwd") { &SPLASH_PAYMENT_COMPLETE_FORWARD; } # COMPLETE PAYMENT: AFTER COMMING BACK FROM PAYPAL FROM SPLASH ORDER FORWARD elsif ($Fo_pay eq "oksignupfwd") { &SIGNUP_PAYMENT_COMPLETE_FORWARD; } # COMPLETE PAYMENT: AFTER COMMING BACK FROM PAYPAL FROM SPLASH ORDER FORWARD elsif ($Fo_pay eq "okurlfwd") { &URL_PAYMENT_COMPLETE_FORWARD; } # COMPLETE PAYMENT: AFTER COMMING BACK FROM PAYPAL FROM SPLASH ORDER elsif ($Fo_pay eq "oksplash") { $keyname=&CP_ORDER_SPLASH_PAYMENT_COMPLETE; } # COMPLETE PAYMENT: AFTER COMMING BACK FROM PAYPAL FROM SIGNUP TO ACTIVATE ACCOUNT elsif ($Fo_pay eq "oksignup") { $keyname=&CP_ORDER_SIGNUP_PAYMENT_COMPLETE; } # AJAX_GET_CATS_OPTIONBOX: RETURN OPTIONS FROM PARENT ID elsif ($Fo_AJAX eq "DOMS") { $keyname=&AJAX_GET_DOMS_OPTIONBOX; } # AJAX_GET_CATS_OPTIONBOX: RETURN OPTIONS FROM PARENT ID elsif ($Fo_AJAX eq "CATS") { $keyname=&AJAX_GET_CATS_OPTIONBOX; } # ROTATOR SIGNUP: STEP1 elsif ($Fo_SIGNUP eq "ROTATOR") { $keyname=&SIGNUP_ROTATOR; } # ROTATOR CP: ADD DOMAIN elsif ($Fo_CP_ADD eq "DOMAIN") { $keyname=&CP_ADD_DOMAIN; } # PORTAL ADMIN: DELETE DOMAIN elsif ($Fo_DEL eq "DOMAIN") { $keyname=&DELETE_DOMAIN; } # PORTAL ADMIN: DELETE DOMAIN elsif ($Fo_CP_DEL eq "DOMAIN") { $keyname=&CP_DELETE_DOMAIN; } # PORTAL CP: START CONTROL PANEL elsif ($Fo_CP eq "DOMAINS") { $keyname=&START_ROTATOR_CP; } # PORTAL CP: START SANDBOX elsif ($Fo_CP eq "SANDBOX") { $keyname=&CP_SANDBOX; } # PORTAL CP: FORGOT PASS elsif ($Fo_CP eq "FORGOTPASS") { $keyname=&CP_FORGOT_PASS; } # PORTAL CP: START CONTROL PANEL elsif ($Fo_CP eq "MY_URLS") { $keyname=&CP_MY_URLS; } # PORTAL CP: CREATE PENDING URLSNOTICE elsif ($Fo_CP eq "NOTICE") { $keyname=&CP_CREATE_NOTICE; } # PORTAL CP: SHOW BANNER PAGE elsif ($Fo_CP eq "BANNERS") { $keyname=&CP_BANNERS; } # PORTAL CP: TRAFFIC SOURCE elsif ($Fo_CP eq "TRAFFIC_SOURCE") { $keyname=&CP_TRAFFIC_SOURCE; } # PORTAL CP: START LIST PENDING URLS elsif ($Fo_CP eq "PENDING_URLS") { $keyname=&CP_PENDING_URLS; } # PORTAL CP: START CONTROL PANEL elsif ($Fo_CP eq "START") { $keyname=&START_ROTATOR_CP; } # PORTAL CP: VIEW REFERRALS elsif ($Fo_CP eq "MY_REFS") { $keyname=&CP_MY_REFS; } # ROTATOR CP: TRAFFIC TREE elsif ($Fo_CP eq "TRAFFIC_TREE") { $keyname=&CP_TRAFFIC_TREE; } # ROTATOR CP: UPDATE PROFILE elsif ($Fo_CP eq "UPDATE_PROFILE") { $keyname=&CP_UPDATE_PROFILE; } # ROTATOR CP: UPDATE URL AFTER PAYMENT COMPLETE elsif ($Fo_CP eq "UPDATE_URL_AFTER_PAYMENT") { $keyname=&CP_UPDATE_URL_AFTER_PAYMENT; } # ROTATOR CP: START BUY SPLASH elsif ($Fo_CP eq "ORDER_SSPLASH") { $keyname=&CP_START_ORDER_SUPERSPLASH; } # ROTATOR CP: CC ORDER PANEL elsif ($Fo_CP eq "CC_ORDER") { $keyname=&CP_CC_ORDER; } # ROTATOR CP: LOAD SUPERSPLASH PANEL elsif ($Fo_CP eq "USSP_STATS") { $keyname=&CP_USSP_STATS; } # ROTATOR CP: LOAD SUPERSPLASH PANEL elsif ($Fo_CP eq "SUPERSPLASH") { $keyname=&CP_START_SUPERSPLASH; } # ROTATOR CP: SUBMIT SETUP SPLASH (after order complete) elsif ($Fo_CP eq "SUBMIT_SETUP_SSPLASH") { $keyname=&CP_SUBMIT_SETUP_SUPERSPLASH; } # ROTATOR CP: REFRESH TOP STATS elsif ($Fo_CP eq "REFRESH_STATS") { $keyname=&CP_REFRESH_STATS; } # ROTATOR CP: SUBMIT DOMAIN elsif ($Fo_CP eq "ADD_DOMAIN_SUBMIT") { $keyname=&CP_ADD_DOMAIN_SUBMIT; } # ROTATOR CP: BANNER STATS elsif ($Fo_CP eq "BANNER_STATS") { $keyname=&CP_BANNER_STATS; } # ROTATOR CP: TRAFFIC TREE elsif ($Fo_CP eq "START_ADD_URL") { $keyname=&CP_START_ADD_URL; } # PORTAL CP: START CONTROL PANEL elsif ($Fo_CP_ADD eq "URL") { $keyname=&CP_ADD_URL; } # PORTAL ADMIN: LOAD DOMAIN elsif ($Fo_LOAD eq "DOMAIN") { $keyname=&LOAD_DOMAIN; } # PORTAL ADMIN: LOAD DOMAIN elsif ($Fo_LOAD eq "ROTATION") { $keyname=&LOAD_ROTATION; } # PORTAL ADMIN: GENERATE DOMAIN ADMIN elsif ($Fo_LIST eq "DOMAINS") { $keyname=&LIST_DOMAINS; } # PORTAL ADMIN: GENERATE DOMAIN ADMIN elsif ($Fo_LIST eq "VPENDING") { $keyname=&LIST_PENDING_URLS; } # PORTAL ADMIN: EDIT ROTATION elsif ($Fo_ADD eq "ROTATION") { $keyname=&ADD_ROTATION; } # ROTATOR CP: EDIT ROTATION elsif ($Fo_CP_ADD eq "ROTATION") { $keyname=&CP_ADD_ROTATION; } # PORTAL USERS: LOGIN TO ROTATOR elsif ($Fo_LOGIN eq "ROTATOR") { $keyname=&LOGIN_ROTATOR; } # PORTAL ADMIN: ACTIVATE OR DEACTIVATE ROTATION elsif ($Fo_ACTIVATE eq "ROTATION") { $keyname=&ACTIVATE_ROTATION; } # PORTAL ADMIN: ACTIVATE OR DEACTIVATE FORWARDING URL FOR A DOMAIN elsif ($Fo_ACTIVATE eq "FURL") { $keyname=&ACTIVATE_FURL; } # PORTAL CP: ACTIVATE OR DEACTIVATE FORWARDING URL FOR A DOMAIN elsif ($Fo_CP_ACTIVATE eq "FURL") { $keyname=&CP_ACTIVATE_FURL; } # PORTAL: POST LEAD TO CRM elsif ($Fo_DEL eq "ROTATION") { $keyname=&DELETE_ROTATION; } # PORTAL: CP DELETE ROTATION FURL elsif ($Fo_CP_DEL eq "ROTATION") { $keyname=&CP_DELETE_ROTATION; } # PORTAL ADMIN: LOAD DOMAIN elsif ($Fo_LOAD eq "ROTATION") { $keyname=&LOAD_ROTATION; } # ADMIN: MANUAL UPDATE SPLASH ROTATORS elsif ($Fo_UPDATE eq "SSROTATORS") { &UPDATE_SUPERSPLASH_ROTATORS($Fo_domain); } # PORTAL ADMIN: GENERATE DOMAIN ADMIN elsif ($Fo_LIST eq "ROTATION") { $keyname=&LIST_ROTATION; } # PORTAL ADMIN: GENERATE DOMAIN ADMIN elsif ($Fo_CP eq "ROTATION") { $keyname=&LIST_ROTATION_CP; } # PORTAL ADMIN: EDIT ROTATION elsif ($Fo_create eq "lead") { $keyname=&POST_LEAD_TO_CRM; } # FUTURO: DO SIGNUP elsif ($Fo_SIGNUP eq "GO") { $keyname = &DO_SIGNUP; } # FUTURO: REMOVE EMAIL elsif ($Fo_remove ne "") { $keyname = &FUTURO_OPT_OUT; } # FUTURO: VIEW PETITION elsif ($Fo_view eq "petition") { $keyname = &VIEW_PETITION; } elsif ($Fo{'get'} ne "") { $keyname=$Fo{'get'}; # LOOKUP CUSTOM DEFAULT PAGE IF DEFINED IN DB ($custom_page,$custom_text,$rotator,$crm_id,$pif_tag,$uem_tag,$uep_tag,$upp_tag,$owner_name,$text_2,$domain_id)=split(/\|/, &FECHALL("SELECT homepage,welcome,rotator,crm_id,pif_tag,uem_tag,uep_tag,upp_tag,owner_name,text_2,id FROM domains WHERE domain='$this_domain'")); # CHECK TO SEE IF THIS IS A SUPERSPLASH PAGE $splash_id=&FECHALL("SELECT id FROM splash WHERE pagename='$Fo{'get'}'"); # IF SPLASH ID IS NOT EMPTY THEN WE HAVE A FEW THINGS TO DO if ($splash_id ne "") { # UPDATE SPLASH HITS &FECHALL("UPDATE splash SET hits=hits+1 WHERE id=$splash_id"); # UPDATE ROTATOR HITS FOR THIS PAGE &FECHALL("UPDATE rotator SET hits=hits+1 WHERE url LIKE '$this_domain/go/$Fo{'get'}' AND splash_id=$splash_id"); } if ($Fo_userid ne "") { &GET_MEMBER_INFO($Fo_userid); &RTLOG("$firstname $lastname IS VIEWING $Fo_get"); } } else { # LOOKUP CUSTOM DEFAULT PAGE IF DEFINED IN DB ($custom_page,$custom_text,$rotator,$crm_id,$pif_tag,$uem_tag,$uep_tag,$upp_tag,$owner_name,$text_2,$domain_id)=split(/\|/, &FECHALL("SELECT homepage,welcome,rotator,crm_id,pif_tag,uem_tag,uep_tag,upp_tag,owner_name,text_2,id FROM domains WHERE domain='$this_domain'")); # IF DOMAIN IS ACTIVE AS A ROTATOR THEN RUN ROTATOR SUB if ($rotator > 0) { &RUN_ROTATE($rotator); } # IF FOUND, USE IT, OTHERWISE US DEFAULT DEFAULT PAGE, LOL if ($custom_page ne "") { $keyname=$custom_page; } else { $keyname="adpage"; } } $Page = &CAT("EN/$keyname.htm"); $PAGE=&GREPVARS($Page); print $PAGE; #! |_____________________________________________________________|#! } ################################# PORTAL ADMIN FUNCTIONS ############################# ################################################################################ sub GET_MEMBER_INFO { $tmpid=$_[0]; ($firstname,$lastname,$userid,$username,$alertpay_email,$moneybookers_email,$paypal_email,$subscription_active,$payment_conf,$sponsor_id,$email,$address,$city,$state,$zip,$suite,$phone,$aim,$skype,$msn,$gmail,$country,$yahoo,$taxid,$userip)=split(/\|/, &FECHALL("SELECT firstname,lastname,id,username,alertpay_email,moneybookers_email,paypal_email,subscription_active,payment_conf,sponsor_id,email,address,city,state,zip,suite,phone,aim,skype,msn,gmail,country,yahoo,taxid,ip FROM users WHERE id=$tmpid")); ($sponsor_name,$sponsor_id,$sponsor_email,$sponsor_alertpay_email,$sponsor_moneybookers_email,$sponsor_paypal_email)=split(/\|/, &FECHALL("SELECT concat(firstname,' ',lastname),id,email,alertpay_email,moneybookers_email,paypal_email FROM users WHERE id = '$sponsor_id' LIMIT 1")); # SET DEFAULT PAYMENT EMAILS if ($sponsor_alertpay_email eq "") { $sponsor_alertpay_email="multiverse\@futuro.cc"; } if ($sponsor_paypal_email eq "") { $sponsor_paypal_email="paypal\@et.ubiee.net"; } if ($sponsor_moneybookers_email eq "") { $sponsor_moneybookers_email="chelo\@futuro-group.org"; } if ($firstname eq "") { print "THE ACCOUNT ID YOU HAVE SUBMITTED IS INVALID."; exit; } } sub RUN_CRON { if ($Fo_ACTION eq "USERS") { &RTLOG("*** RUNNING TIMER CRON: USERS"); # REDUCE DAY COUNTS BY 1 FOR USERS &FECHALL("UPDATE users SET days_left=days_left - 1 WHERE days_left > 0 AND payment_conf = 1"); # USERS: FIND ACTIVE SUBSCRIPTIONS THAT HAVE REACHED 0 DAYS, AND RESET BASED ON CYCLE TYPE @ZERO_ACTIVE=split(/\n/, &FECHALL("SELECT firstname,lastname,email,id,cycle,pay_date FROM users WHERE payment_conf = 1 AND subscription_active = 1 AND days_left = 0 AND cycle != 'LI'")); foreach $line (@ZERO_ACTIVE) { ($firstname,$lastname,$email,$tmpid,$cycle,$pay_date)=split(/\|/, $line); if ($cycle eq "YR") { $days_left=365; } elsif ($cycle eq "2YR") { $days_left=730; } elsif ($cycle eq "MO") { $days_left=30; } else { $days_left=30; } &FECHALL("UPDATE users SET days_left=$days_left, cycle_count=cycle_count+1 WHERE id=$tmpid"); &RTLOG("*** TIMER CRON: RESET $firstname $lastname, $days_left days left, cycle: $cycle, pay date: $pay_date"); } # USERS: FIND INACTIVE SUBSCRIPTIONS AT 0 DAYS AND CHANGE PAY STATUS TO FREE @ZERO_INACTIVE=split(/\n/, &FECHALL("SELECT firstname,lastname,email,id,cycle,pay_date FROM users WHERE payment_conf = 1 AND subscription_active = 0 AND days_left = 0 AND cycle != 'LI'")); foreach $line (@ZERO_INACTIVE) { ($firstname,$lastname,$email,$tmpid,$cycle,$pay_date)=split(/\|/, $line); # RESET PAYMENT STATUS IN USERS TO FREE &FECHALL("UPDATE users SET days_left=0, cycle_count=0, payment_conf=0 WHERE id=$tmpid"); # FIND URLS BY THIS USER AND SET TO INACTIVE &FECHALL("UPDATE rotator SET active = 0 WHERE users_id=$tmpid"); &RTLOG("*** TIMER CRON: CANCELLED $firstname $lastname, cycle: $cycle, pay date: $pay_date"); } } ####################################################### if ($Fo_ACTION eq "URLS") { # REDUCE DAY COUNTS BY 1 FOR URLS &FECHALL("UPDATE rotator SET days_left=days_left - 1 WHERE days_left > 0 AND subscription_active = 1"); # ROTATOR: FIND ACTIVE SUBSCRIPTIONS THAT HAVE REACHED 0 DAYS, AND RESET BASED ON CYCLE TYPE @ZERO_ACTIVE=split(/\n/, &FECHALL("SELECT id,cycle FROM rotator WHERE subscription_active = 1 AND days_left = 0 AND cycle != 'LI' AND users_id > 0 AND splash_id = 0")); foreach $line (@ZERO_ACTIVE) { ($tmpid,$cycle)=split(/\|/, $line); if ($cycle eq "YR") { $days_left=365; } elsif ($cycle eq "2YR") { $days_left=730; } elsif ($cycle eq "MO") { $days_left=30; } else { $days_left=30; } &FECHALL("UPDATE rotator SET days_left=$days_left, cycle_count=cycle_count+1 WHERE id=$tmpid"); } # ROTATOR: FIND INACTIVE SUBSCRIPTIONS AT 0 DAYS AND CHANGE STATUS TO INACTIVE @ZERO_INACTIVE=split(/\n/, &FECHALL("SELECT id FROM users WHERE payment_conf = 1 AND subscription_active = 0 AND days_left = 0 AND cycle != 'LI'")); foreach $line (@ZERO_INACTIVE) { &FECHALL("UPDATE users SET days_left=0, cycle_count=0, payment_conf=0 WHERE id=$tmpid"); } } } sub GET_SPECIALS_BOX { $program=$_[0]; ($special,$special_id)=split(/\|/, &FECHALL("SELECT special,id FROM specials WHERE today=1 AND selected=0 AND program='$program'")); # IF THERE IS NO SPECIAL, RETURN, ELSE GENERATE BOX if ($special eq "") { return; } else { $special_box=&SIMPLEGREP(&CAT("EN/special_box.htm")); } return $special_box; } sub START_CLAIM_SPECIAL { &GET_MEMBER_INFO($Fo_userid); $special=&FECHALL("SELECT special FROM specials WHERE id=$Fo_special_id"); return "claim_special"; } sub SUBMIT_CLAIM_SPECIAL { &GET_MEMBER_INFO($Fo_userid); # DETECT IF THE PAY METHOD SELECTED IS AVALABLE, IF NOT, RETURN MESSAGE TO ADD TO PROFILE if ($Fo_paymethod eq "paypal") { if ($paypal_email eq "") { return "claim_special_no_payinfo"; } } elsif ($Fo_paymethod eq "alertpay") { if ($alertpay_email eq "") { return "claim_special_no_payinfo"; } } elsif ($Fo_paymethod eq "moneybookers") { if ($moneybookers_email eq "") { return "claim_special_no_payinfo"; } } ($special,$program)=split(/\|/, &FECHALL("SELECT special,program FROM specials WHERE id=$Fo_special_id")); # CALC CURRENT SS PRICE $ss_current_price=$tot_domains * .5; # NOTIFY ADMINS THAT THE PAY BUTTON WAS CLICKED # SEND A LETTER TO ADMIN1 &sendmail($tmp_firstname,"rotatorpro\@ceo.a-url.com","ADMIN: $firstname $lastname CLAIM SPECIAL BUTTON CLICKED","claim_special_admin_email"); # SEND A LETTER TO ADMIN2 &sendmail($tmp_firstname,"rotatorpro\@joe.a-url.com","ADMIN: $firstname $lastname CLAIM SPECIAL BUTTON CLICKED.","claim_special_admin_email"); return "claim_special_complete"; } sub ADMIN_CLAIM_SPECIAL { &FECHALL("UPDATE specials SET selected=1 WHERE id=$Fo_special_id"); ($special,$program)=split(/\|/, &FECHALL("SELECT special,program FROM specials WHERE id=$Fo_special_id")); print qq~The following special: $special <br>FOR $program <br> Has now been marked as selected~; exit; } sub START_ADPAGE { return "rotator_signup_step1"; } sub SPLASH_PAYMENT_AJAX_PAYBUTTON_CLICKED { # FECH HTML FOR PAYMENT BUTTON, AND LOOK UP MEMBER INFO, THEN RETURN RESULTS GREPPED TO AJAX &GET_MEMBER_INFO($Fo_userid); $tmphtm=&CAT("EN/$Fo_get.htm"); $Fo_current_price=~s/,/./gi; print &SIMPLEGREP($tmphtm); # NOTIFY ADMINS THAT THE PAY BUTTON WAS CLICKED # SEND A LETTER TO ADMIN1 &sendmail($tmp_firstname,"rotatorpro\@ceo.a-url.com","ADMIN: $firstname $lastname SUPERSPLASH PAYMENT BUTTON CLICKED","supersplash_paymentbutton_clicked_admin_notice"); # SEND A LETTER TO ADMIN2 &sendmail($tmp_firstname,"rotatorpro\@joe.a-url.com","ADMIN: $firstname $lastname SUPERSPLASH PAYMENT BUTTON CLICKED.","supersplash_paymentbutton_clicked_admin_notice"); # GET OUT BECAUSE WE REALLY ARE DONE NOW. exit; } sub SIGNUP_PAYMENT_AJAX_PAYBUTTON_CLICKED { # FECH HTML FOR PAYMENT BUTTON, AND LOOK UP MEMBER INFO, THEN RETURN RESULTS GREPPED TO AJAX &GET_MEMBER_INFO($Fo_userid); $tmphtm=&CAT("EN/$Fo_get.htm"); print &SIMPLEGREP($tmphtm); # NOTIFY ADMINS THAT THE PAY BUTTON WAS CLICKED # SEND A LETTER TO ADMIN1 &sendmail($tmp_firstname,"rotatorpro\@ceo.a-url.com","ADMIN: $firstname $lastname CONTROL PANEL SIGNUP PAYMENT BUTTON CLICKED","signup_cp_paymentbutton_clicked_admin_notice"); # SEND A LETTER TO ADMIN2 &sendmail($tmp_firstname,"rotatorpro\@joe.a-url.com","ADMIN: $firstname $lastname CONTROL PANEL SIGNUP PAYMENT BUTTON CLICKED.","signup_cp_paymentbutton_clicked_admin_notice"); # GET OUT BECAUSE WE REALLY ARE DONE NOW. exit; } sub URL_PAYMENT_AJAX_PAYBUTTON_CLICKED { # FECH HTML FOR PAYMENT BUTTON, AND LOOK UP MEMBER INFO, THEN RETURN RESULTS GREPPED TO AJAX &GET_MEMBER_INFO($Fo_userid); $tmphtm=&CAT("EN/$Fo_get.htm"); print &SIMPLEGREP($tmphtm); # NOTIFY ADMINS THAT THE PAY BUTTON WAS CLICKED # SEND A LETTER TO ADMIN1 # &sendmail($tmp_firstname,"rotatorpro\@ceo.a-url.com","ADMIN: $firstname $lastname URL PAYMENT BUTTON CLICKED","signup_cp_paymentbutton_clicked_admin_notice"); # SEND A LETTER TO ADMIN2 # &sendmail($tmp_firstname,"rotatorpro\@joe.a-url.com","ADMIN: $firstname $lastname URL PAYMENT BUTTON CLICKED.","signup_cp_paymentbutton_clicked_admin_notice"); # GET OUT BECAUSE WE REALLY ARE DONE NOW. exit; } sub SPLASH_PAYMENT_COMPLETE_FORWARD { # PAYMENT CONFIRMED BUT THE CONFIRM URL USES MOD REWRITE, SO JUMP OVER TO STANDARD URL... print qq~<META HTTP-EQUIV="refresh" content="0;URL=$SCRIPTURL?pay=oksplash&userid=$Fo_userid&paymethod=$Fo_paymethod&payamt=$Fo_payamt">~; exit; } sub SIGNUP_PAYMENT_COMPLETE_FORWARD { # PAYMENT CONFIRMED BUT THE CONFIRM URL USES MOD REWRITE, SO JUMP OVER TO STANDARD URL... print qq~<META HTTP-EQUIV="refresh" content="0;URL=$SCRIPTURL?pay=oksignup&userid=$Fo_userid&paymethod=$Fo_paymethod&payamt=$Fo_payamt&cycle=$Fo_cycle">~; exit; } sub URL_PAYMENT_COMPLETE_FORWARD { # PAYMENT CONFIRMED BUT THE CONFIRM URL USES MOD REWRITE, SO JUMP OVER TO STANDARD URL... print qq~<META HTTP-EQUIV="refresh" content="0;URL=$SCRIPTURL?pay=okurl&userid=$Fo_userid&paymethod=$Fo_paymethod&urlid=$Fo_urlid&cycle=$Fo_cycle">~; exit; } sub ADMIN_NAV { if ($Fo_ACTION eq "MAIN_PANEL") { $admin_cat_tree=&CREATE_CAT_LIST_ADMIN; return "rotator_admin_nav_panel"; } elsif ($Fo_ACTION eq "CHANGE_SETTING") { if ($Fo_SETTING eq "PUB") { if ($Fo_VAL eq "1") { &FECHALL("UPDATE domains SET pub=1 WHERE id=$Fo_dom_id"); print qq~<a href="#" onclick="ajax_loadContent('pub_$Fo_dom_id','$SCRIPTURL?ADMIN=NAV&ACTION=CHANGE_SETTING&SETTING=PUB&dom_id=$Fo_dom_id&VAL=0');return false">YES</a>~; } elsif ($Fo_VAL eq "0") { &FECHALL("UPDATE domains SET pub=0 WHERE id=$Fo_dom_id"); print qq~<a href="#" onclick="ajax_loadContent('pub_$Fo_dom_id','$SCRIPTURL?ADMIN=NAV&ACTION=CHANGE_SETTING&SETTING=PUB&dom_id=$Fo_dom_id&VAL=1');return false">NO</a>~; } } elsif ($Fo_SETTING eq "ROT") { if ($Fo_VAL eq "1") { &FECHALL("UPDATE domains SET rotator=1 WHERE id=$Fo_dom_id"); print qq~<a href="#" onclick="ajax_loadContent('rot_$Fo_dom_id','$SCRIPTURL?ADMIN=NAV&ACTION=CHANGE_SETTING&SETTING=ROT&dom_id=$Fo_dom_id&VAL=0');return false"><font color="#009900">ON<font></a>~; } elsif ($Fo_VAL eq "0") { &FECHALL("UPDATE domains SET rotator=0 WHERE id=$Fo_dom_id"); print qq~<a href="#" onclick="ajax_loadContent('rot_$Fo_dom_id','$SCRIPTURL?ADMIN=NAV&ACTION=CHANGE_SETTING&SETTING=ROT&dom_id=$Fo_dom_id&VAL=1');return false"><font color="#FF0000">OFF<font></a>~; } } } elsif ($Fo_ACTION eq "DELETE_URL") { &FECHALL("DELETE FROM rotator WHERE id=$Fo_urlid"); exit; } elsif ($Fo_ACTION eq "LIST_URLS") { @SOURCELIST=split(/\n/, &FECHALL("SELECT hits,url,id,users_id,active,verified,date_added,paid_with FROM rotator WHERE domains_id = '$Fo_dom_id' ORDER BY hits DESC")); $rotator_title=&FECHALL("SELECT rotator_title FROM domains WHERE domain='$Fo_domain' LIMIT 1"); foreach $item (@SOURCELIST) { ($urp_hits,$urp_url,$urlid,$users_id,$active,$verified,$date_added,$paid_with)=split(/\|/, $item); # SET VSTAT if ($verified == 1) { $vstat=qq~<font color=#009900>VERIFIED</font>~; } else { $vstat=qq~<font color=#990000>NOT VERIFIED</font>~; } # GET OWNER AND SPONSOR if ($users_id != 0) { ($sponsor_id,$owner_name)=split(/\|/, &FECHALL("SELECT sponsor_id,concat(firstname,' ',lastname) FROM users WHERE id=$users_id")); $sponsor_name=&FECHALL("SELECT concat(firstname,' ',lastname) FROM users WHERE id=$sponsor_id"); } else { $owner_name=qq~<i>UBIEE HQ</i>~; } if ($active==0) { $inactive_class="white_red_right"; } else { $inactive_class=""; } $disp_url=$urp_url; $disp_url=~s/(............................................................).+/$1.../g; # GENERATE TRAFFIC SOURCE DOM REF URL LIST $tmp=&CAT("EN/rotator_admin_nav_urp_urls_list.htm"); $sourcelist.=&SIMPLEGREP($tmp); # $sourcelist.=qq~($urp_hits) <a href="#edit" onclick="ajax_loadContent('edit','$SCRIPTURL?ADMIN=CHANGE_CAT&urlid=$urlid&TMPL=template_blank');return false">$urp_url</a><br>~; } return "rotator_admin_nav_urp_urls"; } elsif ($Fo_ACTION eq "MAIL") { if ($Fo_DO eq "SEND") { if ($Fo_mode eq "preview") { print $Fo_html; exit; } if ($Fo_mode eq "test") { $limit="LIMIT 10"; } @LIST=split(/\n/, &FECHALL("SELECT firstname,lastname,email,sponsor_id,id,subscription_active,payment_conf FROM users $limit")); foreach $line (@LIST) { ($firstname,$lastname,$email,$sponsor_id,$id,$subscription_active,$payment_conf)=split(/\|/, $line); if ($subscription_active == 1) { $paystatus = "PAID"; } else { $paystatus = "FREE"; } ($sponsor_name,$sponsor_email)=split(/\|/, &FECHALL("SELECT concat(firstname,' ',lastname),email FROM users WHERE id=$sponsor_id")); if ($Fo_mode eq "test") { $email=$Fo_test_email; } $tmphtm=&SIMPLEGREP($Fo_html); $tmpsubject=&SIMPLEGREP($Fo_subject); # $tmphtm=~s~(U)(B)(I)(E)(E)~<font color="blue">$1</font><font color="red">$2</font><font color="green">$3</font><font color="#ffcc00">$4</font><font color="#0099ff">$5</font>~g; $mailprogram = "/usr/lib/sendmail -t"; my $type = qq!Mime-Version: 1.0\nContent-Type: text/html; charset="us-ascii"\n!; open (MAIL, "|$mailprogram") || die "Can't open $mailprogram!\n"; # print MAIL "To: $firstname $lastname <joe\@joe.a-url.com>\n"; print MAIL "To: $firstname $lastname <$email>\n"; print MAIL "From: UBIEE RotatorPRO <URP_reply\@ceo.a-url.com>\n"; print MAIL "Subject: $tmpsubject\n"; print MAIL "${type}\n"; print MAIL "$tmphtm\n"; close(MAIL); print qq~Sent to $firstname $lastname - $email<br>~; } print "sending whoooooo weeeee....................."; exit; } else { return "rotator_admin_nav_mail"; } } else { return "rotator_admin_nav_panel_top"; } } sub ADMIN_EDIT_CAT { $turl=&FECHALL("SELECT url FROM rotator WHERE id = $Fo_urlid"); if ($Fo_ACTION eq "UPDATE_CAT") { &FECHALL("UPDATE rotator SET domains_id='$Fo_dom_id' WHERE id=$Fo_urlid"); return "rotator_admin_select_cat_success_message"; } else { if ($Fo_showlevel eq "doms") { @DOMLIST=split(/\n/, &FECHALL("SELECT id,domain,rotator_title FROM domains WHERE cat_id='$Fo_parent_id'")); foreach $item (@DOMLIST) { ($dom_id,$dom_name,$dom_title)=split(/\|/, $item); # GENERATE SELECT DOMAIN LIST $domlist.=qq~<a href="#" onclick="ajax_loadContent('edit','$SCRIPTURL?ADMIN=CHANGE_CAT&ACTION=UPDATE_CAT&&dom_id=$dom_id&urlid=$Fo_urlid&TMPL=template_blank');return false">$dom_title</a> <br><font size=1>$dom_name</font><br>~; } return "rotator_admin_select_cat_doms"; } elsif ($Fo_showlevel eq "1") { @CATLIST=split(/\n/, &FECHALL("SELECT id,title FROM cats WHERE parent_id='$Fo_parent_id'")); foreach $item (@CATLIST) { ($cat_id,$cat_title)=split(/\|/, $item); # LOOK AHEAD TO SEE IF DOMAINS ARE IN THAT CAT $domcount=&FECHALL("SELECT count(*) FROM domains WHERE cat_id=$cat_id"); if ($domcount == 0) { # GENERATE SELECT LINK $catlist.=qq~<font color="#888888">$cat_title <i>(0)</i></font><br>~; } else { # GENERATE SELECT LINK $catlist.=qq~<a href="#" onmouseover="ajax_loadContent('select_cat_doms','$SCRIPTURL?ADMIN=CHANGE_CAT&ACTION=EDIT_CAT&showlevel=doms&parent_id=$cat_id&userid=$Fo_userid&urlid=$Fo_urlid&TMPL=template_blank');return false">$cat_title</a><i> ($domcount)</i> <br>~; } } return "rotator_admin_select_cat_l1"; } else { @CATLIST=split(/\n/, &FECHALL("SELECT id,title FROM cats WHERE parent_id='0'")); foreach $item (@CATLIST) { ($cat_id,$cat_title)=split(/\|/, $item); # GENERATE SELECT LINK LIST $catlist.=qq~<a href="#" onmouseover="ajax_loadContent('select_cat_l1','$SCRIPTURL?ADMIN=CHANGE_CAT&ACTION=EDIT_CAT&showlevel=1&parent_id=$cat_id&urlid=$Fo_urlid&TMPL=template_blank');ajax_loadContent('select_cat_doms','./blank.htm');return false">$cat_title</a><br>~; } return "rotator_admin_change_cat"; } } } sub CREATE_CAT_LIST_ADMIN { $li_output=&CAT("EN/rotator_traffic_tree_head.htm"); $li_output=~s/\$([a-z0-9_]+)/$$1/gmi; $li_output.= qq~<ul class="mktree" id="tree1">~; @CATSL1=split(/\n/, &FECHALL("SELECT id,title FROM cats WHERE level=0")); foreach $li_item (@CATSL1) { ($li_cat_id,$li_cat_title)=split(/\|/, $li_item); $li_domcount=&FECHALL("SELECT count(*) FROM cats WHERE parent_id='$li_cat_id'"); $li_cat_title.=" ($li_domcount)"; $li_output.= qq~<li><b><font color="#000066" size="2">$li_cat_title</font></b>\n<ul>~; @CATSL2=split(/\n/, &FECHALL("SELECT id,title FROM cats WHERE level=1 AND parent_id=$li_cat_id")); foreach $li_item (@CATSL2) { ($li_cat_id,$li_cat_title)=split(/\|/, $li_item); $li_domcount=&FECHALL("SELECT count(*) FROM domains WHERE cat_id='$li_cat_id'"); $li_cat_title.=" ($li_domcount)"; $li_output.= qq~\t<li><b><font color="#006600" size="1">$li_cat_title</font></b>\n<ul>~; @DOMS=split(/\n/, &FECHALL("SELECT domain,rotator_title,id FROM domains WHERE cat_id=$li_cat_id")); foreach $li_item (@DOMS) { ($li_domain,$li_rotator_title,$li_dom_id)=split(/\|/, $li_item); $li_urlcount=&FECHALL("SELECT count(*) FROM rotator WHERE domains_id='$li_dom_id'"); $li_output.= qq~\t\t<li>($li_urlcount) <a href="#" onclick="ajax_loadContent('info','$SCRIPTURL?ADMIN=NAV&ACTION=LIST_URLS&dom_id=$li_dom_id&domain=$li_domain&TMPL=template_blank');return false">$li_domain</a> - $li_rotator_title<ul>\n~; # @URLS=split(/\n/, &FECHALL("SELECT url,hits FROM rotator WHERE domains_id=$li_dom_id AND verified = 1")); foreach $li_item (@URLS) { ($li_url,$li_hits)=split(/\|/, $li_item); $li_output.= qq~\t\t\t<li>($li_hits) <a href="http://$li_url" target=_blank>$li_url</a></li>\n~; } $li_output.= "</ul></li>"; } $li_output.= "</ul></li>"; } $li_output.= "</ul></li>"; } $li_output.= "</ul>"; return $li_output; } sub CREATE_CAT_LIST { $li_output=&CAT("EN/rotator_traffic_tree_head.htm"); $li_output=~s/\$([a-z0-9_]+)/$$1/gmi; $li_output.= qq~<ul class="mktree" id="tree1">~; @CATSL1=split(/\n/, &FECHALL("SELECT id,title FROM cats WHERE level=0")); foreach $li_item (@CATSL1) { ($li_cat_id,$li_cat_title)=split(/\|/, $li_item); $li_domcount=&FECHALL("SELECT count(*) FROM cats WHERE parent_id='$li_cat_id'"); $li_cat_title.=" ($li_domcount)"; $li_output.= qq~<li><b><font color="#000066" size="2">$li_cat_title</font></b>\n<ul>~; @CATSL2=split(/\n/, &FECHALL("SELECT id,title FROM cats WHERE level=1 AND parent_id=$li_cat_id")); foreach $li_item (@CATSL2) { ($li_cat_id,$li_cat_title)=split(/\|/, $li_item); $li_domcount=&FECHALL("SELECT count(*) FROM domains WHERE cat_id='$li_cat_id'"); $li_cat_title.=" ($li_domcount)"; $li_output.= qq~\t<li><b><font color="#006600" size="1">$li_cat_title</font></b>\n<ul>~; @DOMS=split(/\n/, &FECHALL("SELECT domain,rotator_title,id FROM domains WHERE cat_id=$li_cat_id")); foreach $li_item (@DOMS) { ($li_domain,$li_rotator_title,$li_dom_id)=split(/\|/, $li_item); $li_urlcount=&FECHALL("SELECT count(*) FROM rotator WHERE domains_id='$li_dom_id'"); $li_output.= qq~\t\t<li>($li_urlcount) <a href="http://$li_domain" target=_blank>$li_domain</a> - $li_rotator_title<ul>\n~; @URLS=split(/\n/, &FECHALL("SELECT url,hits FROM rotator WHERE domains_id=$li_dom_id AND verified = 1")); foreach $li_item (@URLS) { ($li_url,$li_hits)=split(/\|/, $li_item); $li_output.= qq~\t\t\t<li>($li_hits) <a href="http://$li_url" target=_blank>$li_url</a></li>\n~; } $li_output.= "</ul></li>"; } $li_output.= "</ul></li>"; } $li_output.= "</ul></li>"; } $li_output.= "</ul>"; return $li_output; } sub VERIFY_URLS_ADMIN { &parse_checkboxes; # PULL THE VERIFIED IDS OUT OF EACH CHECK BOX foreach $tmp_urlid (@verify) { # GET USERID AND URL FOR THIS URL ID ($tmp_userid,$tmp_url,$tmp_domid)=split(/\|/, &FECHALL("SELECT users_id,url,domains_id FROM rotator WHERE id=$tmp_urlid")); ($tmp_domain,$cat_id,$tmp_title)=split(/\|/, &FECHALL("SELECT domain,cat_id,rotator_title FROM domains WHERE id=$tmp_domid")); # MAKE SURE THAT THIS ROTATOR IS TURNED ON. &FECHALL("UPDATE domains SET rotator=1 WHERE id=$tmp_domid"); ($tcatL2title,$parent_id)=split(/\|/, &FECHALL("SELECT title,parent_id FROM cats WHERE id=$cat_id")); $tcatL1title=&FECHALL("SELECT title FROM cats WHERE id=$parent_id"); # GET USER DETAILS ($tmp_firstname,$tmp_lastname,$tmp_email,$tmp_sponsor_id)=split(/\|/, &FECHALL("SELECT firstname,lastname,email,sponsor_id FROM users WHERE id=$tmp_userid")); ($sponsor_name,$sponsor_email,$sponsor_alertpay_email,$sponsor_moneybookers_email,$sponsor_paypal_email)=split(/\|/, &FECHALL("SELECT concat(firstname,' ',lastname),email,alertpay_email,moneybookers_email,paypal_email FROM users WHERE id = '$tmp_sponsor_id' LIMIT 1")); # UPDATE URL TO BE ACTIVE &FECHALL("UPDATE rotator SET verified=1,active=1 WHERE id=$tmp_urlid"); # SEND A LETTER TO URL SUBITTER &sendmail($tmp_firstname,$tmp_email,"$tmp_firstname $tmp_lastname Your UBIEE RotatorPRO URL has been verified and is now active.","rotator_verify_url_success_email"); # SEND A LETTER TO ADMIN1 &sendmail($tmp_firstname,"rotatorpro\@ceo.a-url.com","$tmp_firstname $tmp_lastname Your UBIEE RotatorPRO URL has been verified and is now active.","rotator_verify_url_success_email"); # SEND A LETTER TO ADMIN2 &sendmail($tmp_firstname,"rotatorpro\@joe.a-url.com","$tmp_firstname $tmp_lastname Your UBIEE RotatorPRO URL has been verified and is now active.","rotator_verify_url_success_email"); } return &LIST_PENDING_URLS; } sub VERIFY_SPLASH { # FIRST, GET THE SPLASH INFO. ($pagename,$domains_id,$userid,$splash_rotator_domain)=split(/\|/, &FECHALL("SELECT splash.pagename,splash.domains_id,splash.users_id,domains.domain FROM splash,domains WHERE splash.id=$Fo_splash_id AND domains.id=splash.domains_id")); if ($pagename eq "") { print "error, splash id not found."; exit; } else { &GET_MEMBER_INFO($userid); print "FOUND PENDING ORDER FOR $firstname $lastname<br>"; # ACTIVATE ROTATOR FOR THIS DOMAIN print "ACTIVATING ROTATOR FOR $splash_rotator_domain<br>"; &FECHALL("UPDATE domains SET rotator = 1 WHERE id=$domains_id"); # UPDATE VERIFIED STATUS IN SPLASH TABLE &FECHALL("UPDATE splash SET verified = 1 WHERE id=$Fo_splash_id"); # RENAME THE FILE `mv EN/pending_splash_$pagename.htm EN/$pagename.htm`; print "REMOVING TEMP FILE, NEW FILE STORED IN EN/$pagename.htm<br><br>"; # GET A LIST OF ALL DOMAINS CURRENTLY IN THE SYSTEM @DOMS=split(/\n/, &FECHALL("SELECT domain FROM domains")); # FOR EACH DOMAIN CREATE A ROTATOR URL IN THE SPECIFIED SPLASH DOMAIN foreach $domain (@DOMS) { print "SPLASH PAGE SETUP AT http://$domain/go/$pagename<br>"; $pagelist.=qq~SPLASH PAGE SETUP AT <a href="http://$domain/go/$pagename">http://$domain/go/$pagename</a><br>~; &FECHALL("INSERT INTO rotator (domains_id,users_id,splash_id,active,verified,url) VALUES ('$domains_id','$userid','$Fo_splash_id','1','1','$domain/go/$pagename')"); } # SEND A LETTER TO USER &sendmail($firstname,$email,"$firstname $lastname Your RotatorPRO has been set up on $tot_domains domains!","supersplash_setup_complete_email"); # SEND A LETTER TO ADMIN1 &sendmail($firstname,"rotatorpro\@ceo.a-url.com","$firstname $lastname Your RotatorPRO has been set up on $tot_domains domains!","supersplash_setup_complete_email"); # SEND A LETTER TO ADMIN1 &sendmail($firstname,"rotatorpro\@joe.a-url.com","$firstname $lastname Your RotatorPRO has been set up on $tot_domains domains!","supersplash_setup_complete_email"); } } sub LIST_PENDING_URLS { $verify_table=&ROTATION_TABLE_UNVERIFIED_ADMIN; return "rotator_admin_verify_urls"; } sub CONFIRM_PAYMENT { # CHECK TO ENSURE THAT ID EXISTS AND IS INACTIVE &GET_MEMBER_INFO($Fo_userid); if ($subscription_active eq "0") { # IF SO, ACTIVATE, EMAIL, AND RETURN SUCCESS PAGE &FECHALL("UPDATE users SET subscription_active=1,payment_conf=1,paid_with='$Fo_paymethod',days_left=30 WHERE id=$userid"); return "rotator_main_payment_confirmed"; } else { return "rotator_main_payment_confirmed_fail"; } } sub AJAX_GET_DOMS_OPTIONBOX { @OPTIONS=split(/\n/, &FECHALL("SELECT id,domain,rotator_title FROM domains WHERE cat_id='$Fo_parent_id' AND pub=1")); foreach $item (@OPTIONS) { ($optionValue,$optionDisplay,$rotator_title)=split(/\|/, $item); $optionDisplay.=" - $rotator_title"; $output.=qq~{optionValue: $optionValue, optionDisplay: '$optionDisplay'}, ~; $tmpcount++; } # $output.=qq~{optionValue: 'new', optionDisplay: '=== START NEW ROTATOR HERE ==='}~; # STRIP TRAILING COMMA $output=~s/, $//g; print "[$output]"; exit; } sub AJAX_GET_CATS_OPTIONBOX { @OPTIONS=split(/\n/, &FECHALL("SELECT id,title FROM cats WHERE parent_id='$Fo_parent_id'")); foreach $item (@OPTIONS) { ($optionValue,$optionDisplay)=split(/\|/, $item); $domcount=&FECHALL("SELECT count(*) FROM domains WHERE cat_id='$optionValue' AND pub=1"); $optionDisplay.=" ($domcount)"; $output.=qq~{optionValue: $optionValue, optionDisplay: '$optionDisplay'}, ~; } # STRIP TRAILING COMMA $output=~s/, $//g; print "[$output]"; exit; } sub SIGNUP_ROTATOR { # SIGNUP FORM VALIDATION - SERVER SIDE if ($Fo_firstname=~/\w+/i) {} else { $MSG.="FIRST NAME NOT COMPLETE<BR>"; } if ($Fo_lastname=~/\w+/i) {} else { $MSG.="LAST NAME NOT COMPLETE<BR>"; } if ($Fo_email=~/\w+\@\w+/i) {} else { $MSG.="EMAIL INCORRECT<BR>"; } $check_email=&FECHALL("SELECT email FROM users WHERE email='$Fo_email'"); if ($check_email ne "") { $MSG.="EMAIL ALREADY IN DATABASE<BR>"; } $check_user=&FECHALL("SELECT username FROM users WHERE username='$Fo_username'"); if ($check_user ne "") { $MSG.="USERNAME ALREADY IN DATABASE<BR>"; } if ($MSG=~/[a-z]+/i) { $error_message=qq|<table width="80%" border="3" cellpadding="0" cellspacing="0" bordercolor="#FFFF00" bgcolor="#FF0000"> <tr> <td width="16%" bgcolor="#FFFFFF"><div align="center"><font color="#FFFF00" face="Courier New, Courier, mono"><img src="http://pifbc.com/IMG/STOP.gif" width="72" height="72"></font></div></td> <td width="84%"><div align="center"><font color="#FFFF00" face="Courier New, Courier, mono"><strong>$MSG</strong></font></div></td> </tr> </table>|; &RTLOG("SIGNUP FORM ERROR - $Fo_firstname $Fo_lastname - $MSG"); $vimg=&IMAGE_VALIDATE_CREATE; return "rotator_signup_step1"; } else { &FECHALL("INSERT INTO users (firstname,lastname,email,username,password,paypal_email,alertpay_email,moneybookers_email,signup_date,sponsor_id) VALUES ('$Fo_firstname','$Fo_lastname','$Fo_email','$Fo_username','$Fo_password','$Fo_paypal_email','$Fo_alertpay_email','$Fo_moneybookers_email','$signup_date','$sponsor_id')"); $userid=&FECHALL("SELECT max(id) FROM users"); } # FECH THE DOMAIN ID CURRENTLY SET TO BE THE URP ROTATOR $urp_rotator_domain_id=&FECHALL("SELECT id FROM domains WHERE urp_rotator=1 LIMIT 1"); # INSERT A RECORD INTO ROTATOR TO ADD THIS AFFLIATE LINK TO THE URP ROTATOR &FECHALL("INSERT INTO rotator (domains_id,users_id,verified,date_added,url,active) VALUES ('$urp_rotator_domain_id','$userid','1','$signup_date','$this_domain/tag/$Fo_username','1')"); # GET SPONSOR INFO ($sponsor_firstname,$sponsor_lastname,$sponsor_id,$sponsor_email,$sponsor_alertpay_email,$sponsor_moneybookers_email,$sponsor_paypal_email)=split(/\|/, &FECHALL("SELECT firstname,lastname,id,email,alertpay_email,moneybookers_email,paypal_email FROM users WHERE id = '$sponsor_id' LIMIT 1")); # SEND A LETTER TO RECIPIENT &sendmail($Fo_firstname,$Fo_email,"$Fo_firstname $Fo_lastname Your UBIEE RotatorPRO Account Info","rotator_signup_email"); # SEND A LETTER TO ADMIN1 &sendmail($Fo_firstname,"rotatorpro\@joe.a-url.com","$Fo_firstname $Fo_lastname Your UBIEE RotatorPRO Account Info","rotator_signup_email"); # SEND A LETTER TO ADMIN2 &sendmail($Fo_firstname,"rotatorpro\@ceo.a-url.com","$Fo_firstname $Fo_lastname Your UBIEE RotatorPRO Account Info","rotator_signup_email"); # SEND A LETTER TO SPONSOR &sendmail($sponsor_firstname,$sponsor_email,"Attention $sponsor_firstname, You have a NEW UBIEE RotatorPRO Member","rotator_sponsor_signup_email"); # SEND A LETTER TO ADMIN &sendmail($sponsor_firstname,"rotatorpro\@joe.a-url.com","Attention $sponsor_firstname, You have a NEW UBIEE RotatorPRO Member","rotator_sponsor_signup_email"); # SEND A LETTER TO ADMIN2 &sendmail($sponsor_firstname,"rotatorpro\@ceo.a-url.com","Attention $sponsor_firstname, You have a NEW UBIEE RotatorPRO Member","rotator_sponsor_signup_email"); return "rotator_signup_success"; } sub ACTIVATE_ROTATION { &FECHALL("UPDATE domains SET rotator=$Fo_rmode WHERE domain='$Fo_domain'"); $domains_table=&DOMAINS_TABLE; return "add_domain"; } sub ACTIVATE_FURL { &FECHALL("UPDATE rotator SET active=$Fo_rmode WHERE id='$Fo_fid'"); $domain_id=&FECHALL("SELECT domains_id FROM rotator WHERE id='$Fo_fid'"); $rotation_table=&ROTATION_TABLE($domain_id); return "edit_rotation"; } sub LIST_ROTATION { # FECH ID FOR THIS DOMAIN $domain_id=&FECHALL("SELECT id FROM domains WHERE domain='$Fo_domain'"); $rotation_table=&ROTATION_TABLE($domain_id); return "edit_rotation"; } sub DELETE_ROTATION { # REMOVE ANY EXISTING RECORDS &FECHALL("DELETE FROM rotator WHERE id='$Fo_fid'"); $message=qq~URL removed successfully.~; $domain_id=$Fo_domain_id; $rotation_table=&ROTATION_TABLE($Fo_domain_id); $Fo{'domain'}=&FECHALL("SELECT domain FROM domains WHERE id=$domain_id"); return "edit_rotation"; } sub LOAD_ROTATION { # LOAD RECORD ($Fo{'url'},$Fo{'email'})=split(/\|/, &FECHALL("SELECT url,email FROM rotator WHERE fid='$Fo_fid'")); $domains_table=&DOMAINS_TABLE; return "add_domain"; } sub ADD_ROTATION { # FECH ID FOR THIS DOMAIN $domain_id=&FECHALL("SELECT id FROM domains WHERE domain='$Fo_domain'"); # STRIP HTTP $Fo_url=~s/http:\/\///gi; # INSERT RECORD &FECHALL("INSERT INTO rotator (domains_id,url,email,verified) VALUES ('$domain_id','$Fo_url','$Fo_email','1')"); # GENERATE MESSAGE $message=qq~Added the URL: <a href="http://$Fo_url">http://$Fo_url</a> successfully ~; $rotation_table=&ROTATION_TABLE($domain_id); return "edit_rotation"; } sub ROTATION_TABLE { my $tmpid = $_[0]; my $tmpmode = $_[1]; my $temphtm; my $templine; my $rowcache; @TABLEDATA=split(/\n/, &FECHALL("SELECT url,hits,active,id FROM rotator WHERE domains_id=$tmpid")); if ($tmpmode eq "cp") { @TABLE=split(/\<\!----\>/, &CAT("EN/rotation_table.htm")); } else { @TABLE=split(/\<\!----\>/, &CAT("EN/rotation_table_admin.htm")); } $temphtm=$TABLE[0]; foreach $templine(@TABLEDATA) { ($url,$hits,$active,$fid)=split(/\|/, $templine); if ($tmpmode eq "cp") { if ($active == 1) { $astat=qq~<a href="?CP_ACTIVATE=FURL&rmode=0&fid=$fid&domain=$Fo_domain&userid=$Fo_userid"><font color=#00FF00><b>ON</b></font></a>~; } else { $astat=qq~<a href="?CP_ACTIVATE=FURL&rmode=1&fid=$fid&domain=$Fo_domain&userid=$Fo_userid"><font color=#FF0000><b>OFF</b></font></a>~; } } else { if ($active == 1) { $astat=qq~<a href="?ACTIVATE=FURL&rmode=0&fid=$fid&domain=$Fo_domain"><font color=#00FF00><b>ON</b></font></a>~; } else { $astat=qq~<a href="?ACTIVATE=FURL&rmode=1&fid=$fid&domain=$Fo_domain"><font color=#FF0000><b>OFF</b></font></a>~; } } $rowcache=$TABLE[1]; $rowcache=~s/\$([a-z0-9_]+)/$$1/gmi; $temphtm.=$rowcache; } $temphtm.=$TABLE[2]; return $temphtm; } sub ROTATION_TABLE_UNVERIFIED_ADMIN { my $temphtm; my $templine; my $rowcache; @TABLEDATA=split(/\n/, &FECHALL("SELECT url,hits,active,id,users_id,domains_id,date_added,paid_with FROM rotator WHERE verified=0")); @TABLE=split(/\<\!----\>/, &CAT("EN/rotation_table_unverified_admin.htm")); $temphtm=$TABLE[0]; foreach $templine(@TABLEDATA) { # SPLIT ROTATOR SQL RESULTS ($url,$hits,$active,$fid,$tuserid,$tdomain_id,$tdate,$tpaid_with)=split(/\|/, $templine); # FECH USER NAME ATTACHED TO THIS URL, AND SPONSOR ID ($tuser_name,$tsponsor_id,$tuser_email,$subscription_active)=split(/\|/, &FECHALL("SELECT concat(firstname,' ',lastname),sponsor_id,email,subscription_active FROM users WHERE id=$tuserid")); if ($subscription_active == 1) { $pstat="PAID"; } else { $pstat="FREE"; } # FECH SPONSOR INFO ($sponsor_name,$sponsor_email,$sponsor_alertpay_email,$sponsor_moneybookers_email,$sponsor_paypal_email,$last_login)=split(/\|/, &FECHALL("SELECT concat(firstname,' ',lastname),email,alertpay_email,moneybookers_email,paypal_email,last_login FROM users WHERE id = '$tsponsor_id' LIMIT 1")); # GET CATEGORY TITLES AND CAT ID FOR THIS DOMAIN ($tcat_id,$tdomain)=split(/\|/, &FECHALL("SELECT cat_id,domain FROM domains WHERE id=$tdomain_id")); ($tcatL2title,$parent_id)=split(/\|/, &FECHALL("SELECT title,parent_id FROM cats WHERE id=$tcat_id")); $tcatL1title=&FECHALL("SELECT title FROM cats WHERE id=$parent_id"); if ($active == 1) { $astat=qq~<a href="?CP_ACTIVATE=FURL&rmode=0&fid=$fid&domain=$Fo_domain&userid=$Fo_userid"><font color=#00FF00><b>ON</b></font></a>~; } else { $astat=qq~<a href="?CP_ACTIVATE=FURL&rmode=1&fid=$fid&domain=$Fo_domain&userid=$Fo_userid"><font color=#FF0000><b>OFF</b></font></a>~; } $rowcache=$TABLE[1]; $rowcache=~s/\$([a-z0-9_]+)/$$1/gmi; $temphtm.=$rowcache; } $temphtm.=$TABLE[2]; return $temphtm; } sub LIST_DOMAINS { if ($Fo_ACTION eq "DTABLE") { print &DOMAINS_TABLE; exit; } else { # $domains_table=&DOMAINS_TABLE; $unverified=&FECHALL("SELECT count(*) FROM rotator WHERE verified = 0"); if ($unverified > 0) { $notice=qq~<a href="?ADMIN=VERIFYURLS">YOU HAVE $unverified URLS PENDING VERIFICATION</a><br>~; } # MAKE LEVEL 0 CAT LIST OPTIONS @OPTIONS=split(/\n/, &FECHALL("SELECT id,title FROM cats WHERE level = 0")); foreach $line (@OPTIONS) { ($tmpid,$tmptitle)=split(/\|/, $line); $optlist.=qq~<option value="$tmpid">$tmptitle</option>\n~; } return "add_domain"; } } sub DOMAINS_TABLE { my $tmpid = $_[0]; my $temphtm; my $templine; my $rowcache; if ($Fo_order eq "") { $Fo_order = "domain"; } $Fo_where=~s/eq/=/g; @TABLEDATA=split(/\n/, &FECHALL("SELECT domain,homepage,rotator,owner_name,id,hits,rotator_title,cat_id,pub FROM domains $Fo_where ORDER BY $Fo_order")); @TABLE=split(/\<\!----\>/, &CAT("EN/domains_table.htm")); $temphtm=$TABLE[0]; foreach $templine(@TABLEDATA) { ($tdomain,$thomepage,$trotator,$towner_name,$tdom_id,$thits,$trotator_title,$tcat_id,$pub)=split(/\|/, $templine); # COUNT URLS AND HITS IN ROTATION FOR THIS DOMAIN IF ANY $urls=&FECHALL("SELECT count(*) FROM rotator WHERE domains_id = $tdom_id"); # FECH CAT TITLES IF EXISTS if ($tcat_id > 0) { ($tcatL2title,$parent_id)=split(/\|/, &FECHALL("SELECT title,parent_id FROM cats WHERE id=$tcat_id")); $tcatL1title=&FECHALL("SELECT title FROM cats WHERE id=$parent_id"); } else { $tcatL1title=""; $tcatL2title=""; } if ($pub eq "1") { $tpub=qq~<a href="#" onclick="ajax_loadContent('pub_$tdom_id','$SCRIPTURL?ADMIN=NAV&ACTION=CHANGE_SETTING&SETTING=PUB&dom_id=$tdom_id&VAL=0');return false">YES</a>~; } elsif ($pub eq "0") { $tpub=qq~<a href="#" onclick="ajax_loadContent('pub_$tdom_id','$SCRIPTURL?ADMIN=NAV&ACTION=CHANGE_SETTING&SETTING=PUB&dom_id=$tdom_id&VAL=1');return false">NO</a>~; } if ($trotator == 1) { $rstat=qq~<a href="#" onclick="ajax_loadContent('rot_$tdom_id','$SCRIPTURL?ADMIN=NAV&ACTION=CHANGE_SETTING&SETTING=ROT&dom_id=$tdom_id&VAL=0');return false"><font color="#009900">ON<font></a>~; } elsif ($trotator == 0) { $rstat=qq~<a href="#" onclick="ajax_loadContent('rot_$tdom_id','$SCRIPTURL?ADMIN=NAV&ACTION=CHANGE_SETTING&SETTING=ROT&dom_id=$tdom_id&VAL=1');return false"><font color="#FF0000">OFF<font></a>~; } $rowcache=$TABLE[1]; $rowcache=~s/\$([a-z0-9_]+)/$$1/gmi; $temphtm.=$rowcache; } $temphtm.=$TABLE[2]; return $temphtm; } sub DELETE_DOMAIN { # REMOVE ANY EXISTING RECORDS &FECHALL("DELETE FROM domains WHERE domain='$Fo_domain'"); $message=qq~$Fo_domain removed successfully.~; # MAKE LEVEL 0 CAT LIST OPTIONS @OPTIONS=split(/\n/, &FECHALL("SELECT id,title FROM cats WHERE level = 0")); foreach $line (@OPTIONS) { ($tmpid,$tmptitle)=split(/\|/, $line); $optlist.=qq~<option value="$tmpid">$tmptitle</option>\n~; } $domains_table=&DOMAINS_TABLE; return "add_domain"; } sub LOAD_DOMAIN { # LOAD RECORD ($Fo{'homepage'},$Fo{'welcome'},$rotator,$Fo{'crm_id'},$Fo{'pif_tag'},$Fo{'uem_tag'},$Fo{'uep_tag'},$Fo{'upp_tag'},$Fo{'owner_name'},$Fo{'text_2'},$cat_id,$Fo{'rotator_title'})=split(/\|/, &FECHALL("SELECT homepage,welcome,rotator,crm_id,pif_tag,uem_tag,uep_tag,upp_tag,owner_name,text_2,cat_id,rotator_title FROM domains WHERE domain='$Fo_domain'")); # MAKE LEVEL 0 CAT LIST OPTIONS @OPTIONS=split(/\n/, &FECHALL("SELECT id,title FROM cats WHERE level = 0")); foreach $line (@OPTIONS) { ($tmpid,$tmptitle)=split(/\|/, $line); $optlist.=qq~<option value="$tmpid">$tmptitle</option>\n~; } if ($cat_id > 0) { ($catL2title,$parent_id)=split(/\|/, &FECHALL("SELECT title,parent_id FROM cats WHERE id=$cat_id")); $catL1title=&FECHALL("SELECT title FROM cats WHERE id=$parent_id"); } #$domains_table=&DOMAINS_TABLE; if ($Fo_ADD eq "DOMAIN") { return "add_domain"; } else { return "add_domain_form"; } } sub ADD_DOMAIN { # STRIP HTTP $Fo_domain=~s/http:\/\///gi; # CHECK FOR EXISTING RECORDS $chkdomain=&FECHALL("SELECT count(*) FROM domains WHERE domain LIKE '$Fo_domain'"); $Fo_welcome=~s/[\n\r]//gi; $Fo_welcome=~s/[^\w]/\\$&/gi; if ($chkdomain == 0) { # INSERT RECORD &FECHALL("INSERT INTO domains (domain,homepage,welcome,rotator,crm_id,pif_tag,uem_tag,uep_tag,upp_tag,owner_name,text_2,rotator_title,cat_id) VALUES ('$Fo_domain','$Fo_homepage','$Fo_welcome','$Fo_rotator','$Fo_crm_id','$Fo_pif_tag','$Fo_uem_tag','$Fo_uep_tag','$Fo_upp_tag','$Fo_owner_name','$Fo_text_2','$Fo_rotator_title','$Fo_catL2')"); # GENERATE MESSAGE $message=qq~$Fo_domain ADDED successfully. <a href="http://$Fo_domain" target="_blank">VISIT $Fo_domain NOW!</a>~; } else { # DETECT A CHANGE IN CATIGORY if ($Fo_catL2 ne "") { $catL2=$Fo_catL2; } else { $catL2 = $Fo_cat_id; } # UPDATE RECORD IN domains TABLE &FECHALL("UPDATE domains SET homepage='$Fo_homepage',welcome='$Fo_welcome',crm_id='$Fo_crm_id',pif_tag='$Fo_pif_tag',uem_tag='$Fo_uem_tag',uep_tag='$Fo_uep_tag',upp_tag='$Fo_upp_tag',owner_name='$Fo_owner_name',text_2='$Fo_text2',rotator_title='$Fo_rotator_title',cat_id='$catL2' WHERE domain='$Fo_domain'"); # GENERATE MESSAGE $message=qq~$Fo_domain UPDATED successfully. <a href="http://$Fo_domain" target="_blank">VISIT $Fo_domain NOW!</a>~; } &ADD_DNS_RECORD($Fo_domain); return &LOAD_DOMAIN; # if ($catL2 > 0) # { # ($catL2title,$parent_id)=split(/\|/, &FECHALL("SELECT title,parent_id FROM cats WHERE id=$catL2")); # $catL1title=&FECHALL("SELECT title FROM cats WHERE id=$parent_id"); # } # $domains_table=&DOMAINS_TABLE; # return "add_domain"; } ################################# GENERAL PORTAL FUNCTIONS ############################# ################################################################################ sub setfields { $hdate=`date +%A,_%_b_%d_%Y`; $hdate=~s/_/ /g; $hdate=~s/\n//g; $signup_date=`date`; $signup_date=~s/_/ /g; $signup_date=~s/\n//g; $ScriptURL=$ENV{'SERVER_NAME'}.$ENV{'SCRIPT_NAME'}; $this_domain=$ENV{'SERVER_NAME'}; $this_domain=~s/www\.//gi; $vimg=&IMAGE_VALIDATE_CREATE; # CALC TOTAL PETITIONERS AND TOTAL PLUS 1 STATS.(for futuro partition $lpt=&FECHALL("SELECT count(*) FROM futuro_plan WHERE site_id LIKE '$this_domain'","PIF"); $pt=&FECHALL("SELECT count(*) FROM futuro_plan","PIF"); $ptn=$pt+1; $this_domain=$ENV{'SERVER_NAME'}; $this_domain=~s/www\.//gi; # UPDATE HITS FOR THIS DOMAIN &FECHALL("UPDATE domains SET hits=hits+1 WHERE domain = '$this_domain'"); # SET REF DOMAIN if ($ENV{'HTTP_REFERER'} ne "") { $ENV{'HTTP_REFERER'}=~/http:\/\/([^\/]+)/i; $refdomain=$1; } else { $refdomain = "none"; } # SPLIT UP A FEW THINGS FOR THE HITS TABLE ($ips1,$ips2,$ips3,$ips4)=split(/\./, $ENV{'REMOTE_ADDR'}); $dstr=`date --date="$indate" +%j-%k-%Y`; $dstr=~s/[\n ]//g; ($doy,$hod,$yr)=split(/-/, $dstr); $tmp_domains_id=&FECHALL("SELECT id FROM domains WHERE domain='$this_domain' LIMIT 1"); # INSERT TRAFFIC RECORD &FECHALL("INSERT INTO hits (ip,domain,ref_dom,ref_url,doy,hod,yr,ips1,ips2,ips3,ips4,domains_id) VALUES ('$ENV{'REMOTE_ADDR'}','$this_domain','$refdomain','$ENV{'HTTP_REFERER'}','$doy','$hod','$yr','$ips1','$ips2','$ips3','$ips4','$tmp_domains_id')"); # COUNT TOTAL DOMAINS $tot_domains=&FECHALL("SELECT count(*) FROM domains"); # COUNT TOTAL URLS $tot_urls=&FECHALL("SELECT count(*) FROM rotator"); $HOME=$ENV{'SERVER_NAME'}; $SCRIPNAME=$ENV{'SCRIPT_NAME'}; $SCRIPTURL="http://$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}"; use CGI::Carp qw(fatalsToBrowser); if ($lang eq "") { $lang="EN"; } ($sponsor_name,$sponsor_id)=split(/\|/, &FECHALL("SELECT concat(firstname,' ',lastname),id FROM users WHERE username LIKE '$Fo{'tag'}' LIMIT 1")); } sub RUN_ROTATE { $tmpmode=$_[0]; # IN MODE 1 WE JUST PRINT A METE REFRESH AND BAIL if ($tmpmode==1) { # GET NEXT URL TO ROTATE TO ($rotate_url,$rotate_id)=split(/\|/, &FECHALL("SELECT url,id FROM rotator WHERE domains_id=$domain_id AND active=1 ORDER BY RAND() LIMIT 1")); # SET HITS + 1 &FECHALL("UPDATE rotator SET hits=hits+1 WHERE id=$rotate_id"); # GET HIGEST RCOUNT AND MAKE THIS ID BE HIGEST + 1 , THROWING IT TO THE BOTTOM OF THE LIST $max_rcount=&FECHALL("SELECT max(rcount) FROM rotator WHERE domains_id=$domain_id"); $max_rcount++; &FECHALL("UPDATE rotator SET rcount=$max_rcount WHERE id=$rotate_id"); if ($Fo_mode eq "test") { print $rotate_url; } else { print qq~<META HTTP-EQUIV="refresh" content="0;URL=http://$rotate_url">~; exit; } } # IN MODE 2 WE GENERATE A FULLY ENABLED ROTATOR LANDING PAGE WITH SITE SLIDE SHOW, YIPPIE! else { # FIRST, GET THE LIST OF ROTATOR URLS FOR THIS DOMAIN @URLS=split(/\n/, &FECHALL("SELECT url,hits,active,id FROM rotator WHERE domains_id=$domain_id ORDER BY RAND()")); foreach $templine(@URLS) { ($url,$hits,$active,$fid)=split(/\|/, $templine); $url=~/^([^\/]+)/i; $rdom=$1; $gb_urls.=qq~{'caption': '$rdom','url': 'http://$url'},~; } $gb_urls=~s/\},$/}/g; $Page = &CAT("EN/home.htm"); $PAGE=&GREPVARS($Page); print $PAGE; exit; } } sub GET_SNIPPET { @a=split(/\n/, `ls -1 EN/snip_*.htm`); @list=splice(@a,rand(@a),1) while @a; $temp=`cat $list[0]`; #print $list[0]; $snippet=&GREPVARS($temp); return $snippet; } sub POST_LEAD_TO_CRM { if (&IMAGE_VALIDATE_CHECK($Fo{'vtext'},$Fo{'vhash'}) eq "FAIL") { $Fo{'message'}="IMAGE VALIDATION TEXT INCORRECT<BR>PLEASE 'TRY' AGAIN."; return $Fo_resultpage; } else { # PREP THE STRING OF VALUES TO BE POSTED $sendform=qq~create=lead&firstname=$Fo_firstname&lastname=$Fo_lastname&email=$Fo_email&company=$Fo_company&phone=$Fo_phone&description=$Fo_description&assigned_user_id=$Fo_userid~; # DO THE ACTUAL POST OPERATION AND SAVE THE OUTPUT `GET "http://officialubiee.com/Lead/send_data.php?$sendform"`; return $Fo_resultpage; } } ############################################# FUTURO FUNCTIONS ############################# ####################################################################################### sub VIEW_PETITION { if ($Fo_site_id ne "") { $viewlink=qq~<a href="?view=petition"><font color="#990000" size="2">VIEW ALL PETITIONERS</font></a>~; } else { $viewlink=qq~<a href="?view=petition&site_id=$this_domain"><font color="#990000" size="2">VIEW PETITIONERS FROM $this_domain</font></a>~; } $signup_table=&SIGNUP_TABLE("10000"); return "success"; } sub DO_SIGNUP { # print "hello"; exit; # SIGNUP FORM VALIDATION - SERVER SIDE if ($Fo_firstname=~/\w+/i) {} else { $MSG.="FIRST NAME NOT COMPLETE<BR>"; } if ($Fo_lastname=~/\w+/i) {} else { $MSG.="LAST NAME NOT COMPLETE<BR>"; } if ($Fo_email=~/\w+\@\w+/i) {} else { $MSG.="EMAIL INCORRECT<BR>"; } $check_email=&FECHALL("SELECT email FROM futuro_plan WHERE email='$Fo_email'","PIF"); if ($check_email ne "") { $MSG.="EMAIL ALREADY ON PETITION<BR>"; } if ($MSG=~/[a-z]+/i) { $error_message=qq|<table width="80%" border="3" cellpadding="0" cellspacing="0" bordercolor="#FFFF00" bgcolor="#FF0000"> <tr> <td width="16%" bgcolor="#FFFFFF"><div align="center"><font color="#FFFF00" face="Courier New, Courier, mono"><img src="http://pifbc.com/IMG/STOP.gif" width="72" height="72"></font></div></td> <td width="84%"><div align="center"><font color="#FFFF00" face="Courier New, Courier, mono"><strong>$MSG</strong></font></div></td> </tr> </table>|; &RTLOG("SIGNUP FORM ERROR - $Fo_firstname $Fo_lastname - $MSG"); $vimg=&IMAGE_VALIDATE_CREATE; return "futuroplan"; } else { # INSERT THE NEW SIGNUP INTO TABLE &FECHALL("INSERT INTO futuro_plan (firstname,lastname,email,age,country,tax_id,newsletter,ip,site_id) VALUES ('$Fo_firstname','$Fo_lastname','$Fo_email','$Fo_age','$Fo_country','$Fo_tax_id','$Fo_newsletter','$ENV{'REMOTE_ADDR'}','$Fo_site_id')","PIF"); # RETURN THE APPROPRIATE PAGE if ($Fo_tmpl eq "success_small") { $signup_table=&SIGNUP_TABLE("1000","signup_table_small"); $Page = &CAT("EN/success_small.htm"); $PAGE=&GREPVARS($Page); print $PAGE; } else { $signup_table=&SIGNUP_TABLE("1000"); $lpt=&FECHALL("SELECT count(*) FROM futuro_plan WHERE site_id LIKE '$this_domain'","PIF"); $Page = &CAT("EN/success.htm"); $PAGE=&GREPVARS($Page); print $PAGE; } # FECH A LIST OF ALL PETITIONERS @SENDLIST=split(/\n/, &FECHALL("SELECT concat(firstname,' ',lastname),email,id FROM futuro_plan WHERE remove = 0","PIF")); # SEND A LETTER TO EVERYONE NOTIFYING THEM OF THE SIGNUP foreach $line (@SENDLIST) { ($tmpname,$tmpemail,$id)=split(/\|/, $line); &sendmail($tmpname,$tmpemail,"$Fo_firstname $Fo_lastname HAS SIGNED the FUTURO-Plan Petition!","futuro_letter"); } } } sub FUTURO_OPT_OUT { &FECHALL("UPDATE futuro_plan SET remove=1 WHERE id=$Fo_id","PIF"); $name=&FECHALL("SELECT concat(firstname,' ',lastname) FROM futuro_plan WHERE id=$Fo_id","PIF"); $message=qq~Thank You $name, Your email address will no longer receive FUTURO-Plan eSignature notifications.~; return "removed"; } sub SIGNUP_TABLE { my $tmplimit = $_[0]; my $tmptmpl = $_[1]; my $temphtm; my $templine; my $rowcache; @TABLEDATA=split(/\n/, &FECHALL("SELECT concat(firstname,' ',lastname),country,signup_date,age FROM futuro_plan WHERE site_id LIKE '%$Fo_site_id' ORDER BY id LIMIT $tmplimit","PIF")); if ($tmptmpl ne "") { @TABLE=split(/\<\!----\>/, &CAT("$tmptmpl.htm")); } else { @TABLE=split(/\<\!----\>/, &CAT("signup_table.htm")); } $temphtm=$TABLE[0]; foreach $templine(@TABLEDATA) { ($tname,$tcountry,$tsignup_date,$tage)=split(/\|/, $templine); $rowcache=$TABLE[1]; $rowcache=~s/\$([a-z0-9_]+)/$$1/gmi; $temphtm.=$rowcache; } $temphtm.=$TABLE[2]; return $temphtm; } sub CREATE_DOM_OPLIST { @doms=split(/\n/, &FECHALL("SELECT domain FROM domains WHERE domain REGEXP '^[^\\.]+\\.[^\\.]+\$' ORDER BY domain")); foreach $tmpdomain (@doms) { $tmp_output.=qq~<option value="$tmpdomain">$tmpdomain</option>\n~; } return $tmp_output; } sub GREPVARS { $BODY = $_[0]; $JOB = $_[1]; ##### CONVERT ID=$ID to user=user on templates ########! $BODY=~s/\*\*(\w+)/$Fo{$1}/gi; # PROCESS THE TEMPLATE THROUGH F2SQL BEFORE RUNNING VARS IF USE_F2SQL1 IS FOUND ! if ($BODY=~/\<\!--USE_F2SQL1\--\>/) { $BODYX=F2SQL($BODY);$BODY=$BODYX; } if ($BODY=~/\$cat_tree/) { $cat_tree=&CREATE_CAT_LIST; } if ($BODY=~/\$special_ussp/) { $special_ussp=&GET_SPECIALS_BOX("USSP"); } if ($BODY=~/\$special_urp/) { $special_urp=&GET_SPECIALS_BOX("URP"); } if ($BODY=~/\$domain_option_list/) { $domain_option_list=&CREATE_DOM_OPLIST; } if ($BODY=~/\$cp_top_menu/) { if ($payment_conf==0) { $cp_top_menu=&CAT("EN/rotator_cp_top_menu_free.htm"); } else { $cp_top_menu=&CAT("EN/rotator_cp_top_menu_paid.htm"); } } # CHECK FOR THE TEMPLATE TAG, IF PRESENT PLACE CONTENTS OF $BODY over the place.body.here var IN TEMPLATE! if not present , make one up! if ($Fo{'GET'}=~/MENU/ || $Fo{'GET'}=~/JUMPBOX/) {} else { if ($Fo{'GET'} ne "") { if ($BODY=~/\<\!-- *TEMPLATE: *([\w\!\._]+) *--\>/i) {} else { $tmp2=$BODY; $tmp1=qq~ <!--TEMPLATE:template-->\n<!--TITLE:$Fo{'GET'}-->\n~; $BODY=$tmp1.$tmp2; } } } if ($BODY=~/\<\!-- *TEMPLATE: *([\w\!\._]+) *--\>/i) { if ($Fo{'TMPL'} eq "") {$Fo{'TMPL'}=$1;} $TMPLBODY=&CAT("$lang/$Fo{'TMPL'}.htm"); print "<!-- cat HTM/$lang/$Fo{'TMPL'}.htm -->"; $TMPLBODY=~s/\$place.body.here/$BODY/gi; # NOW SEARCH FOR A TITLE TAG TO GET THE PAGE TITLE (FROM THE PAGE BODY) AND PUT IT IN THE OUTER TEMPLATE ! $BODY=~/\<\!-- *TITLE: *([\w _]+) *--\>/im; $TITLE=$1;print "<!-- $TITLE -->"; $FLASHTITLE=$TITLE; $FLASHTITLE=~s/[_ ]+/\%20/gi; $TITLE=~s/[_ ]+/ /gi; $TMPLBODY=~s/\$TITLE/$TITLE/gi; $markers=~s/\$markers/$markers/gi; # OK, NOW JUST SLIP THE WHOLE THING BACK INTO THE BODY VAR ! $BODY=$TMPLBODY; $Fo{'TMPL'} = ""; } $BODY =~s/\$HOME/$ENV{'SERVER_NAME'}/gi; $BODY =~s/\$SCRIPNAME/$ENV{'SCRIPT_NAME'}/gi; $BODY =~s/\$SCRIPTHOME/$SCRIPTHOME/gi; $BODY =~s/\$SCRIPTURL/http:\/\/$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}/gi; $SSLSCRIPTURL=qq~https://$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}~; $SSLSCRIPTURL=~s/www\.//gi; $BODY =~s/\$SSLSCRIPTURL/$SSLSCRIPTURL/gi; $BODY =~s/\<form /$& action=$ENV{'SCRIPT_NAME'} /g; $BODY =~s~\.\./\.?\.?/?IMG~http://$ENV{'SERVER_NAME'}/IMG~g; $BODY =~s~\.\./gradients.css~http://$ENV{'SERVER_NAME'}/gradients.css~g; $germancounter=`cat germancounter.htm`; if ($BODY=~/\$cp_notice/) { $cp_notice=&CP_CREATE_NOTICE; } if ($BODY=~/\$cp_top_menu/) { if ($payment_conf==0) { $cp_top_menu=&CAT("EN/rotator_cp_top_menu_paid.htm"); } else { $cp_top_menu=&CAT("EN/rotator_cp_top_menu_paid.htm"); } $cp_top_menu =~s/\$([a-z0-9_]+)/$$1/gmi; } $BODY =~s/\$([a-z0-9_]+)/$$1/gmi; # REPLACE ANY REMAINING $WORDS WITH CORROSPONDING Fo{'WORD'} VALUE ! $BODY=~s/\*\*?(\w+)/$Fo{$1}/gi; $BODY=~s/\~\~(\w+)/$SESS{$1}/gi; # AHH YES, EXECUTE A SHELL COMMAND AND REPLACE THE FOLLOWING SHELLTAG WITH THE RESULT OF THE SHELL COMMAND ! VERY GOOD IDEA ! if ($BODY=~/\<\!--.*\`([^\`]+)\`.*--\>/) { $tmp=`$1`; $BODY=~s/\<\!--.*\`([^\`]+)\`.*--\>/$tmp/g; } # AND LETS NOT FORGET THE ABILITY TO HANG OUTDIDE PAGES INSIDE YOUR PAGES WITH THE GET TAG ! if ($BODY=~/\<\!-- *GET:(.+) *--\>/) { @BODYTEMP=split(/\n/, $BODY); foreach $line(@BODYTEMP) { if ($line=~/\<\!-- *GET:(.+) *--\>/) { ($tmpurl,$tmpsegments)=split(/\|/, $1); $tmp=&TableArray($tmpurl,$tmpsegments); $line=~s/\<\!-- *GET: ?(.+) *--\>/$tmp/g; } $BODYX.=$line."\n"; } $BODY=$BODYX; $BODYX=""; } #correcto espana charcters $BODY=~s/Ã/Á/gms; $BODY=~s/Ã/É/gms; $BODY=~s/Ã/Í/gms; $BODY=~s/Ã/Ó/gms; $BODY=~s/Ã/Ú/gms; $BODY=~s/Ã/Ý /gms; $BODY=~s/á/á/gms; $BODY=~s/é/é/gms; $BODY=~s/Ã/í/gms; $BODY=~s/ó/ó/gms; $BODY=~s/ú/ú/gms; $BODY=~s/ý/ý/gms; $BODY=~s/ñ/ñ/gms; $BODY=~s/Ã/Ñ/gms; $BODY=~s/Á/\Á/gms; $BODY=~s/É/\É/gms; $BODY=~s/Í/\Í/gms; $BODY=~s/Ó/\Ó/gms; $BODY=~s/Ã/\Ú/gms; $BODY=~s/Ñ/\Ñ/gms; $BODY=~s/Ã/\Ü/gms; $BODY=~s/á/\á/gms; $BODY=~s/é/\é/gms; $BODY=~s/í/\í/gms; $BODY=~s/ó/\ó/gms; $BODY=~s/ú/\ú/gms; $BODY=~s/ñ/\ñ/gms; $BODY=~s/ü/\ü/gms; $BODY=~s/¿/\¿/gms; $BODY=~s/¡/\¡/gms; $BODY=~s/«/\«/gms; $BODY=~s/»/\»/gms; $BODY=~s/â¹/\‹/gms; $BODY=~s/âº/\›/gms; $BODY=~s/â¬/\€/gms; # CHECK FOR USE F2SQL2 TAG, IF FOUND FILTER THE PAGE THROUGH THE CUSTOM SQL TAG FILTER BEFORE RETURNING BUT AFTER VARIABLE FILTER! if ($BODY=~/\<\!--.*USE.F2SQL2.*--\>/i) { $BODYX=&F2SQL($BODY);$BODY=$BODYX; } $BODY=~s/([0-9]+\.[0-9][0-9][0-9])[0-9]+/$1/g; # $GEO{'Country'}="United States"; if ($GEO{'Country'} eq "United States" && $Fo{'TMPL'} ne "email_template") { $BODY=~s/([0-9]+)\.([0-9][0-9]?[0-9]?)/$1\.$2/g; } else { $BODY=~s/([0-9]+)\.([0-9][0-9]?[0-9]?)/$1,$2/g; } $BODY=~s/"([0-9]+)\,([0-9][0-9]?[0-9]?)"/"$1\.$2"/g; return $BODY; } #