ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-12 04:09:45
Editing: functions.php
Cancel
Save Changes
<?php function getAuth($db, $variables){ $mysql['api_key'] = $db->real_escape_string($variables['apikey']); $key_sql = "SELECT * FROM `202_api_keys` WHERE `api_key`='".$mysql['api_key']."'"; $key_result = _mysqli_query($db, $key_sql); $key_row = $key_result->fetch_assoc(); if($key_result->num_rows > 0) { $mysql['user_id'] = $db->real_escape_string($key_row['user_id']); $user_sql = "SELECT `user_timezone` FROM `202_users` WHERE `user_id`='".$mysql['user_id']."'"; $user_result = _mysqli_query($db, $user_sql); $user_row = $user_result->fetch_assoc(); showCategories($db, $variables, $mysql['user_id']); //return array('msg' => 'Authorized', 'error' => false, 'status' => 202); } else { return array('msg' => 'Unauthorized', 'error' => true, 'status' => 401); } } function showCategories($db, $vars, $user){ foreach ($vars as $key=>$var) $vars[$key]=$db->real_escape_string($var); //$vars = $db->real_escape_string($vars); // print_r($vars); if($vars['action']=="list") $data= listCategories($db,$user); // print_r($data); } function listCategories($db,$user){ $mysql['user_id'] = $db->real_escape_string($user); $aff_network_sql = "SELECT * FROM `202_aff_networks` WHERE `user_id`='".$mysql['user_id']."' AND `aff_network_deleted`='0' ORDER BY `aff_network_name` ASC"; $aff_network_result = $db->query($aff_network_sql) or die(); // echo $aff_network_sql; while ($aff_network_row = $aff_network_result->fetch_array(MYSQL_ASSOC)) { $html['aff_network_name'] = htmlentities($aff_network_row['aff_network_name'], ENT_QUOTES, 'UTF-8'); $html['aff_network_id'] = htmlentities($aff_network_row['aff_network_id'], ENT_QUOTES, 'UTF-8'); $cat['categories'][]=array('category_id' => $html['aff_network_id'], 'category_name' => $html['aff_network_name']); } $json = str_replace('\\/', '/', json_encode($cat)); print_r(pretty_json($json)); } function runReports($db, $vars, $user, $timezone){ date_default_timezone_set($timezone); $report_types = array('keywords', 'text_ads', 'referers', 'ips', 'countries', 'cities', 'carriers', 'landing_pages'); //report types if (in_array($vars['type'], $report_types)) { if(isset($vars['c1'])) { $c1 = $vars['c1']; } if (isset($vars['c2'])) { $c2 = $vars['c2']; } if (isset($vars['c3'])) { $c3 = $vars['c3']; } if (isset($vars['c4'])) { $c4 = $vars['c4']; } if (isset($vars['cid']) && $vars['cid'] > 0) { if (getCampaignID($db, $vars['cid'], $user)) { $cid = $vars['cid']; } } if ($vars['date_from'] != null || $vars['date_to'] != null) { if(!validateDate($vars['date_from']) || !validateDate($vars['date_to'])){ $data = array('msg' => 'Wrong date format', 'error' => true, 'status' => 404); $json = json_encode($data, true); print_r(pretty_json($json)); die(); } $timestamps = getTimestamp($vars['date_from'], $vars['date_to']); $date_from = $timestamps['from']; $date_to = $timestamps['to']; } else { $date_from = mktime(0,0,0,date('m',time()),date('d',time()),date('Y',time())); $date_to = mktime(23,59,59,date('m',time()),date('d',time()),date('Y',time())); } switch($vars['type']) //each report type { case 'keywords': return reportQuery($db, "keywords", "keyword_id", "keyword", $user, $date_from, $date_to, $cid, $c1, $c2, $c3, $c4); break; case 'text_ads': return reportQuery($db, "text_ads", "text_ad_id", "text_ad_name", $user, $date_from, $date_to, $cid, $c1, $c2, $c3, $c4); break; case 'referers': return reportQuery($db, "referers", "site_domain_id", "referer", $user, $date_from, $date_to, $cid, $c1, $c2, $c3, $c4); break; case 'ips': return reportQuery($db, "ips", "ip_id", "ip_address", $user, $date_from, $date_to, $cid, $c1, $c2, $c3, $c4); break; case 'countries': return reportQuery($db, "locations_country", "country_id", "country_name", $user, $date_from, $date_to, $cid, $c1, $c2, $c3, $c4); break; case 'cities': return reportQuery($db, "locations_city", "city_id", "city_name", $user, $date_from, $date_to, $cid, $c1, $c2, $c3, $c4); break; case 'cities': return reportQuery($db, "locations_city", "city_id", "city_name", $user, $date_from, $date_to, $cid, $c1, $c2, $c3, $c4); break; case 'carriers': return reportQuery($db, "locations_isp", "isp_id", "isp_name", $user, $date_from, $date_to, $cid, $c1, $c2, $c3, $c4); break; case 'landing_pages': return reportQuery($db, "landing_pages", "landing_page_id", "landing_page", $user, $date_from, $date_to, $cid, $c1, $c2, $c3, $c4); break; } } else { return array('msg' => 'Not allowed report type', 'error' => true, 'status' => 404); } } function reportQuery($db, $type, $id, $name, $user, $date_from, $date_to, $cid = null, $c1 = null, $c2 = null, $c3 = null, $c4 = null){ $date = array( 'date_from' => date('m/d/Y', $date_from), 'date_to' => date('m/d/Y', $date_to), 'time_zone' => date_default_timezone_get() ); $data = array(); $mysql['user_id'] = $db->real_escape_string($user); $select_id = $db->real_escape_string($id); $mysql['date_from'] = $db->real_escape_string($date_from); $mysql['date_to'] = $db->real_escape_string($date_to); $mysql['aff_campaign_id'] = $db->real_escape_string($cid); $mysql['c1'] = $db->real_escape_string($c1); $mysql['c2'] = $db->real_escape_string($c2); $mysql['c3'] = $db->real_escape_string($c3); $mysql['c4'] = $db->real_escape_string($c4); $report_sql = "SELECT * FROM 202_clicks AS 2c LEFT OUTER JOIN 202_clicks_advance AS 2ca ON (2ca.click_id = 2c.click_id)"; //If referers report type if($type == "referers"){ $report_sql .= " LEFT OUTER JOIN 202_clicks_site AS 2cs ON (2cs.click_id = 2c.click_id) LEFT OUTER JOIN 202_site_urls AS 2su ON (2cs.click_referer_site_url_id = 2su.site_url_id) LEFT OUTER JOIN 202_site_domains AS 2l ON (2l.site_domain_id = 2su.site_domain_id)"; //If landing pages report type } elseif($type == "landing_pages") { $report_sql .= " LEFT OUTER JOIN 202_clicks_site AS 2cs ON (2cs.click_id = 2c.click_id) LEFT OUTER JOIN 202_landing_pages AS 2lp ON (2lp.landing_page_id = 2c.landing_page_id)"; } else { //If any other report type $report_sql .= " LEFT OUTER JOIN 202_".$type." AS 2l ON (2l.".$select_id." = 2ca.".$select_id.")"; } //If any of C1-C4 variables are set if ($mysql['c1'] || $mysql['c2'] || $mysql['c3'] || $mysql['c4']) { $report_sql .= "LEFT OUTER JOIN 202_clicks_tracking AS 2cv ON (2cv.click_id = 2c.click_id)"; if($mysql['c1']) { $report_sql .= "LEFT OUTER JOIN 202_tracking_c1 AS 2c1 ON (2c1.c1_id = 2cv.c1_id)"; } if ($mysql['c2']) { $report_sql .= "LEFT OUTER JOIN 202_tracking_c2 AS 2c2 ON (2c2.c2_id = 2cv.c2_id)"; } if ($mysql['c3']) { $report_sql .= "LEFT OUTER JOIN 202_tracking_c3 AS 2c3 ON (2c3.c3_id = 2cv.c3_id)"; } if ($mysql['c4']) { $report_sql .= "LEFT OUTER JOIN 202_tracking_c4 AS 2c4 ON (2c4.c4_id = 2cv.c4_id)"; } } $report_sql .= " WHERE 2c.user_id='".$mysql['user_id']."' AND click_time > ".$mysql['date_from']." AND click_time < ".$mysql['date_to'].""; //If C variables are set if($mysql['c1']) { $report_sql .= " AND 2c1.c1='".$mysql['c1']."'"; } if($mysql['c2']) { $report_sql .= " AND 2c2.c2='".$mysql['c2']."'"; } if($mysql['c3']) { $report_sql .= " AND 2c3.c3='".$mysql['c3']."'"; } if($mysql['c4']) { $report_sql .= " AND 2c4.c4='".$mysql['c4']."'"; } //If CID variable set if ($mysql['aff_campaign_id']) { $report_sql .= " AND 2c.aff_campaign_id='".$mysql['aff_campaign_id']."'"; } //If ISP/Carriers report type if($type == "locations_isp"){ $report_sql .= " AND 2ca.$select_id >= 1"; } //If landing pages report type if($type == "landing_pages"){ $report_sql .= " GROUP BY 2c.landing_page_id"; } else { $report_sql .= " GROUP BY 2l.$select_id"; } $report_result = $db->query($report_sql); $rows = $report_result->num_rows; if ($rows > 0) { while ($report_row = $report_result->fetch_assoc()) { $click_sql = "SELECT COUNT(*) AS clicks, AVG(2c.click_cpc) AS avg_cpc, SUM(2cr.click_out) AS click_throughs, SUM(2c.click_lead) AS leads, SUM(2c.click_payout*2c.click_lead) AS income FROM 202_clicks AS 2c LEFT OUTER JOIN 202_clicks_advance AS 2ca ON (2ca.click_id = 2c.click_id)"; //If referers report type if($type == "referers"){ $click_sql .= " LEFT OUTER JOIN 202_clicks_site AS 2cs ON (2cs.click_id = 2c.click_id) LEFT OUTER JOIN 202_site_urls AS 2su ON (2cs.click_referer_site_url_id=2su.site_url_id) LEFT OUTER JOIN 202_site_domains AS 2l ON (2l.site_domain_id = 2su.site_domain_id)"; } else { $report_sql .= " LEFT OUTER JOIN 202_".$type." AS 2l ON (2l.".$select_id." = 2ca.".$select_id.")"; } //If any of C1-C4 variables are set if ($mysql['c1'] || $mysql['c2'] || $mysql['c3'] || $mysql['c4']) { $click_sql .= "LEFT OUTER JOIN 202_clicks_tracking AS 2cv ON (2cv.click_id = 2c.click_id)"; if($mysql['c1']) { $click_sql .= "LEFT OUTER JOIN 202_tracking_c1 AS 2c1 ON (2c1.c1_id = 2cv.c1_id)"; } if ($mysql['c2']) { $click_sql .= "LEFT OUTER JOIN 202_tracking_c2 AS 2c2 ON (2c2.c2_id = 2cv.c2_id)"; } if ($mysql['c3']) { $click_sql .= "LEFT OUTER JOIN 202_tracking_c3 AS 2c3 ON (2c3.c3_id = 2cv.c3_id)"; } if ($mysql['c4']) { $click_sql .= "LEFT OUTER JOIN 202_tracking_c4 AS 2c4 ON (2c4.c4_id = 2cv.c4_id)"; } } //If any other $click_sql .= " LEFT OUTER JOIN 202_clicks_record AS 2cr ON (2cr.click_id = 2c.click_id) WHERE 2c.user_id='".$mysql['user_id']."' AND click_time > '".$mysql['date_from']."' AND click_time < '".$mysql['date_to']."'"; //If C variables are set if($mysql['c1']) { $click_sql .= " AND 2c1.c1='".$mysql['c1']."'"; } if($mysql['c2']) { $click_sql .= " AND 2c2.c2='".$mysql['c2']."'"; } if($mysql['c3']) { $click_sql .= " AND 2c3.c3='".$mysql['c3']."'"; } if($mysql['c4']) { $click_sql .= " AND 2c4.c4='".$mysql['c4']."'"; } //If CID variable is set if ($mysql['aff_campaign_id']) { $click_sql .= " AND 2c.aff_campaign_id='".$mysql['aff_campaign_id']."'"; } //If referers report type if($type == "referers"){ $click_sql .="AND 2l.".$select_id."='".$report_row[$select_id]."'"; //If landing pages report type } elseif($type == "landing_pages") { $click_sql .= "AND 2c.".$select_id."='".$report_row[$select_id]."' GROUP BY 2c.".$select_id; } else { $click_sql .= "AND 2ca.".$select_id."='".$report_row[$select_id]."'"; } $click_result = $db->query($click_sql); $click_row = $click_result->fetch_assoc(); $country_code = ''; //get the stats $clicks = 0; $clicks = $click_row['clicks']; $total_clicks = $total_clicks + $clicks; $click_throughs = 0; $click_throughs = $click_row['click_throughs']; $total_click_throughs = $total_click_throughs + $click_throughs; //ctr rate $ctr_ratio = 0; $ctr_ratio = @round($click_throughs/$clicks*100,2); $total_ctr_ratio = @round($total_click_throughs/$total_clicks*100,2); //avg cpc and cost $avg_cpc = 0; $avg_cpc = $click_row['avg_cpc']; $cost = 0; $cost = $clicks * $avg_cpc; $total_cost = $total_cost + $cost; $total_avg_cpc = @round($total_cost/$total_clicks, 5); //leads $leads = 0; $leads = $click_row['leads']; $total_leads = $total_leads + $leads; //signup ratio $su_ratio - 0; $su_ratio = @round($leads/$clicks*100,2); $total_su_ratio = @round($total_leads/$total_clicks*100,2); //current payout $payout = 0; $payout = $report_row['click_payout']; $total_payout = $total_payout + $payout; //income $income = 0; $income = $click_row['income']; $total_income = $total_income + $income; //grab the EPC $epc = 0; $epc = @round($income/$clicks,2); $total_epc = @@round($total_income/$total_clicks,2); //net income $net = 0; $net = $income - $cost; $total_net = $total_income - $total_cost; //roi $roi = 0; $roi = @round($net/$cost*100); $total_roi = @round($total_net/$total_cost); if ($name == "keyword") { if(!$report_row['keyword']) $report_row[$name] = "[no keyword]"; } if ($name == "text_ad_name") { if(!$report_row['text_ad_name']) $report_row[$name] = "[no text ad]"; } if ($name == "referer") { if(!$report_row['site_domain_host']) { $report_row[$name] = "[no referer]"; } else { $report_row[$name] = $report_row['site_domain_host']; } } if ($type == "locations_country") $type = "countries"; if ($type == "locations_city") $type = "cities"; if ($type == "locations_isp") $type = "carriers"; if ($type == "landing_pages"){ if(!$report_row['landing_page_nickname']) { $report_row[$name] = "[direct link]"; } else { $report_row[$name] = $report_row['landing_page_nickname']; } } $data[] = array( $name => $report_row[$name], "clicks" => $clicks, "click_throughs" => $click_throughs, "lp_ctr" => $ctr_ratio."%", "leads" => $leads, "su_ratio" => $su_ratio."%", "payout" => dollar_format($payout), "epc" => dollar_format($epc), "avg_cpc" => "$".$avg_cpc, "income" => dollar_format($income), "cost" => dollar_format($cost), "net" => dollar_format($net), "roi" => $roi."%" ); } $totals = array( "clicks" => $total_clicks, "click_throughs" => $total_click_throughs, "lp_ctr" => $total_ctr_ratio."%", "leads" => $total_leads, "su_ratio" => $total_su_ratio."%", "payout" => dollar_format($total_payout/$rows), "epc" => dollar_format($total_epc), "avg_cpc" => dollar_format($total_avg_cpc), "income" => dollar_format($total_income), "cost" => dollar_format($total_cost), "net" => dollar_format($total_net), "roi" => $total_roi."%" ); } else { $totals = array(); } return array("date_range" => $date, $type => $data, "totals" => $totals); } function getCampaignID($db, $campaign, $user){ $mysql['user_id'] = $db->real_escape_string($user); $mysql['campaign_id'] = $db->real_escape_string($campaign); $key_sql = "SELECT * FROM `202_aff_campaigns` WHERE `user_id`='".$mysql['user_id']."' AND `aff_campaign_id`='".$mysql['campaign_id']."'"; $key_result = _mysqli_query($db, $key_sql); $key_row = $key_result->fetch_assoc(); if($key_result->num_rows > 0) { return true; } else { $json = json_encode(array('msg' => 'Campaign not found', 'error' => true, 'status' => 404), true); print_r(pretty_json($json)); die(); } } function validateDate($date, $format = 'm/d/Y') { $d = DateTime::createFromFormat($format, $date); return $d && $d->format($format) == $date; } function getTimestamp($datefrom, $dateto) { $date = array(); $from = explode('/', $datefrom); $from_month = trim($from[0]); $from_day = trim($from[1]); $from_year = trim($from[2]); $date_from = mktime(0,0,0,$from_month,$from_day,$from_year); $to = explode('/', $dateto); $to_month = trim($to[0]); $to_day = trim($to[1]); $to_year = trim($to[2]); $date_to = mktime(23,59,59,$to_month,$to_day,$to_year); $date['from'] = $date_from; $date['to'] = $date_to; return $date; } function pretty_json($json) { $result = ''; $pos = 0; $strLen = strlen($json); $indentStr = ' '; $newLine = "\n"; $prevChar = ''; $outOfQuotes = true; for ($i=0; $i<=$strLen; $i++) { // Grab the next character in the string. $char = substr($json, $i, 1); // Are we inside a quoted string? if ($char == '"' && $prevChar != '\\') { $outOfQuotes = !$outOfQuotes; // If this character is the end of an element, // output a new line and indent the next line. } else if(($char == '}' || $char == ']') && $outOfQuotes) { $result .= $newLine; $pos --; for ($j=0; $j<$pos; $j++) { $result .= $indentStr; } } // Add the character to the result string. $result .= $char; // If the last character was the beginning of an element, // output a new line and indent the next line. if (($char == ',' || $char == '{' || $char == '[') && $outOfQuotes) { $result .= $newLine; if ($char == '{' || $char == '[') { $pos ++; } for ($j = 0; $j < $pos; $j++) { $result .= $indentStr; } } $prevChar = $char; } return $result; } function dollar_format($amount, $cpv = false) { if ($cpv == true) { $decimals = 5; } else { $decimals = 2; } if ($amount >= 0) { $new_amount = "\$".sprintf("%.".$decimals."f",$amount); } else { $new_amount = "\$".sprintf("%.".$decimals."f",substr($amount,1,strlen($amount))); $new_amount = '('.$new_amount.')'; } return $new_amount; } ?>
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete