Guest User

functions.php

a guest
Jan 5th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 64.94 KB | None | 0 0
  1. <?php
  2. require('phpmailer/class.phpmailer.php');
  3. function sanitizeXXS($str)
  4. {
  5.     return strip_tags($str);
  6. }
  7. function escapingXXSOutput($str)
  8. {
  9.     return htmlspecialchars($str);
  10. }
  11. function sanitizeAndEscapingXXS($str)
  12. {
  13.     return strip_tags($str);
  14. }
  15. function getLocationInfoByIp($ip)
  16. {
  17.     $countryCode = '';
  18.     $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));  
  19.     if($ip_data && $ip_data->geoplugin_countryName != null)
  20.     {
  21.         $countryCode = $ip_data->geoplugin_countryCode;
  22.     }
  23.     return $countryCode;
  24. }
  25. function validEmailAddress($email)
  26. {
  27.     if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
  28.         return false;
  29.     return true;
  30. }
  31. function urlsafe_b64encode($string)
  32. {
  33.     $data = base64_encode($string);
  34.     $data = str_replace(array('+','/','='),array('-','_','.'),$data);
  35.     return $data;
  36. }
  37. function urlsafe_b64decode($string)
  38. {
  39.     $data = str_replace(array('-','_','.'),array('+','/','='),$string);
  40.     $mod4 = strlen($data) % 4;
  41.     if ($mod4) {
  42.     $data .= substr('====', $mod4);
  43. }
  44. return base64_decode($data);
  45. }
  46.  
  47. function rand_string($length)
  48. {
  49.     $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 
  50.  
  51.     $size = strlen( $chars );
  52.     for( $i = 0; $i < $length; $i++ )
  53.     {
  54.         $str .= $chars[ rand( 0, $size - 1 ) ];
  55.     }
  56.     return $str;
  57. }
  58. function rand_integers($length)
  59. {
  60.     $chars = "0123456789"; 
  61.  
  62.     $size = strlen( $chars );
  63.     for( $i = 0; $i < $length; $i++ )
  64.     {
  65.         $str .= $chars[ rand( 0, $size - 1 ) ];
  66.     }
  67.     return $str;
  68. }
  69. function generatePin($length)
  70. {
  71.     $chars = "0123456789"; 
  72.     $size = strlen($chars);
  73.     for( $i = 0; $i < $length; $i++ )
  74.     {
  75.         $str .= $chars[ rand( 0, $size - 1 ) ];
  76.     }
  77.     return $str;
  78. }
  79. function generatePassword($length=6,$level=2)
  80. {
  81.     list($usec, $sec) = explode(' ', microtime());
  82.     srand((float) $sec + ((float) $usec * 100000));
  83.    
  84.     $validchars[1] = "0123456789abcdfghjkmnpqrstvwxyz";
  85.     $validchars[2] = "0123456789abcdfghjkmnpqrstvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  86.     $validchars[3] = "0123456789_!@#$%&*()-=+/abcdfghjkmnpqrstvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_!@#$%&*()-=+/";
  87.    
  88.     $password  = "";
  89.     $counter   = 0;
  90.    
  91.     while ($counter < $length)
  92.     {
  93.         $actChar = substr($validchars[$level], rand(0, strlen($validchars[$level])-1), 1);
  94.    
  95.         // All character must be different
  96.         if (!strstr($password, $actChar))
  97.         {
  98.             $password .= $actChar;
  99.             $counter++;
  100.         }
  101.     }
  102.     return $password;
  103. }
  104. function FillCombo($id, $query, $objDBCD14)
  105. {
  106.     $rs = $objDBCD14->query($query);
  107.     while($row = $objDBCD14->fetchNextObject($rs))
  108.     {
  109.         if($row->Id==$id)
  110.             echo "<option value='$row->Id' selected>$row->Value</option>";
  111.         else
  112.             echo "<option value='$row->Id' >$row->Value</option>";
  113.     }
  114. }
  115. function FillSelectedList($lstQry, $idQry, $Column, $objDBCD14)
  116. {
  117.     $rs = $objDBCD14->query($lstQry);
  118.     while($row = $objDBCD14->fetchNextObject($rs))
  119.     {
  120.         $currIdQry = $idQry . " AND " . $Column . " = '$row->Id'";
  121.         $rw = $objDBCD14->queryUniqueObject($currIdQry);
  122.         if (isset($rw->Id) && $rw->Id != '')
  123.             echo "<option value='$row->Id' selected>$row->Value</option>";
  124.         else
  125.             echo "<option value='$row->Id' >$row->Value</option>";
  126.     }
  127. }
  128. function convertDate($datex)
  129. {
  130.     $vdate = 0;
  131.     $datex = explode("-",$datex);
  132.     if($datex[1] != '' && $datex[1] != '' && $datex[1] != '')
  133.         $vdate = checkdate($datex[1],$datex[2],$datex[0]);
  134.     if($vdate==1)
  135.     {
  136.         $vdate = mktime(00,00,00,$datex[1],$datex[2],$datex[0]);
  137.         $vdate = @date("F d, Y",$vdate);
  138.         return $vdate;
  139.     }
  140.     else
  141.         return "-";
  142.     return $datex;
  143. }
  144.  
  145. function convrtDate($dt)
  146. {
  147.     list($year,$month,$day) = explode("-",$dt);
  148.     return @date("M d, Y",mktime(0,0,0,$month,$day,$year));
  149. }
  150. function differenceInDates($dtTm1, $dtTm2)
  151. {
  152.     $time1 = strtotime($dtTm1);
  153.     $time2 = strtotime($dtTm2);
  154.     $diff = abs($time2 - $time1);
  155.     $years = floor($diff / (365*60*60*24));
  156.     $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
  157.     $days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24) / (60*60*24));
  158.     $hours = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24) / (60*60));
  159.     return $days;
  160. }
  161. function differenceInMins($dtTm1, $dtTm2)
  162. {
  163.     $time1 = strtotime($dtTm1);
  164.     $time2 = strtotime($dtTm2);
  165.     $diff = abs($time2 - $time1);
  166.     //$years = floor($diff / (365*60*60*24));
  167.     //$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
  168.     //$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24) / (60*60*24));
  169.     //$hours = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24) / (60*60));
  170.     $minutes  = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60)/ 60);
  171.     return $minutes;
  172. }
  173. function minutesDiffInDates($dtTm1, $dtTm2)
  174. {
  175. //  echo $dtTm1.'<br>';
  176. //  echo $dtTm2.'<br>';
  177.     $to_time = strtotime($dtTm1);
  178.     $from_time = strtotime($dtTm2);
  179.     return round(abs($to_time - $from_time) / 60, 2);
  180.    
  181. }
  182. function daysDiff($date1,$date2)// date format of date1 and date2 is yyyy-mm-dd
  183. {
  184.     //date1 is greater than date2
  185.      $datex=explode("-",$date1);
  186.      $fdate = mktime(00,00,00,$datex[1],$datex[2],$datex[0]);
  187.      $datex=explode("-",$date2);
  188.      $fdate2 = mktime(00,00,00,$datex[1],$datex[2],$datex[0]);
  189.    
  190.      $suDateDiff=($fdate2-$fdate)/86400;
  191.      return round($suDateDiff);
  192. }
  193. function redirect($goto)
  194. {
  195.     echo "<a href=\"$goto\"><font size=\"1\" face=\"arial\">Processing...</font></a>";
  196.     echo "<META HTTP-EQUIV='Refresh' Content='0; URL=".$goto."'>";
  197.     exit;
  198.  }
  199. function dateSelection(&$dtFrom,&$dtTo,&$dtFrom1,&$dtTo1)
  200. {
  201.     $dtFrom = $_REQUEST['txtDtFrom'];
  202.     $dtTo = $_REQUEST['txtDtTo'];
  203.     $dtFrom1 = $_REQUEST['txtDtFrom'];
  204.     $dtTo1 = $_REQUEST['txtDtTo'];
  205.     if($dtFrom != "")
  206.     {
  207.         list($month, $day, $year) = explode("-", $dtFrom, 3);
  208.         $dtFrom = $year."-".$month."-".$day;
  209.     }
  210.     if($dtTo != "")
  211.     {
  212.         list($month, $day, $year) = explode("-", $dtTo, 3);
  213.         $dtTo = $year."-".$month."-".$day;
  214.     }
  215. }
  216. // InStr function
  217. // checks for an occurance of a string
  218. // within another string
  219. function InStr($String,$Find,$CaseSensitive = false) {
  220. $i=0;
  221. while (strlen($String)>=$i) {
  222.  unset($substring);
  223.  if ($CaseSensitive) {
  224.   $Find=strtolower($Find);
  225.   $String=strtolower($String);
  226.  }
  227.  $substring=substr($String,$i,strlen($Find));
  228.  if ($substring==$Find) return true;
  229.  $i++;
  230. }
  231. return false;
  232. }
  233.  
  234. // A similar function, returns the number of occurances
  235. function InStrCount($String,$Find,$CaseSensitive = false) {
  236. $i=0;
  237. $x=0;
  238. while (strlen($String)>=$i) {
  239.  unset($substring);
  240.  if ($CaseSensitive) {
  241.   $Find=strtolower($Find);
  242.   $String=strtolower($String);
  243.  }
  244.  $substring=substr($String,$i,strlen($Find));
  245.  if ($substring==$Find) $x++;
  246.  $i++;
  247. }
  248. return $x;
  249. }
  250.  
  251. // Another similar function, this will return the position of
  252. // the string. returns -1 if the string does not exist
  253. function InStrPos($String,$Find,$CaseSensitive = false) {
  254. $i=0;
  255. while (strlen($String)>=$i) {
  256.  unset($substring);
  257.  if ($CaseSensitive) {
  258.   $Find=strtolower($Find);
  259.   $String=strtolower($String);
  260.  }
  261.  $substring=substr($String,$i,strlen($Find));
  262.  if ($substring==$Find) return $i;
  263.  $i++;
  264. }
  265. return -1;
  266. }
  267. function encryptThe_String($plain_text, $password = 'P@88W04D', $iv_len = 16)
  268. {
  269.    $plain_text .= "\x13";
  270.    $n = strlen($plain_text);
  271.    if ($n % 16) $plain_text .= str_repeat("\0", 16 - ($n % 16));
  272.    $i = 0;
  273.    $enc_text = get_rnd_iv($iv_len);
  274.    $iv = substr($password ^ $enc_text, 0, 512);
  275.    while ($i < $n) {
  276.        $block = substr($plain_text, $i, 16) ^ pack('H*', md5($iv));
  277.        $enc_text .= $block;
  278.        $iv = substr($block . $iv, 0, 512) ^ $password;
  279.        $i += 16;
  280.    }
  281.    return base64_encode($enc_text);
  282. }
  283. function theString_Decrypt($enc_text, $password = 'P@88W04D', $iv_len = 16)
  284. {
  285.    $enc_text = base64_decode($enc_text);
  286.    $n = strlen($enc_text);
  287.    $i = $iv_len;
  288.    $plain_text = '';
  289.    $iv = substr($password ^ substr($enc_text, 0, $iv_len), 0, 512);
  290.    while ($i < $n) {
  291.        $block = substr($enc_text, $i, 16);
  292.        $plain_text .= $block ^ pack('H*', md5($iv));
  293.        $iv = substr($block . $iv, 0, 512) ^ $password;
  294.        $i += 16;
  295.    }
  296.    return preg_replace('/\\x13\\x00*$/', '', $plain_text);
  297. }  
  298. function get_rnd_iv($iv_len)
  299. {
  300.    $iv = '';
  301.    while ($iv_len-- > 0) {
  302.        $iv .= chr(mt_rand() & 0xff);
  303.    }
  304.    return $iv;
  305. }
  306. function check_input($value, $connection='')
  307. {
  308.     $value = mysqli_real_escape_string($value, $connection);
  309.     return $value;
  310. }
  311. function getDepartmentEmail($deptId, $objDBCD14)
  312. {
  313.     $row = $objDBCD14->queryUniqueObject("SELECT DeptEmail FROM tbl_gf_tckt_dept WHERE DeptId = '$deptId'");
  314.     return $row->DeptEmail;
  315. }
  316. function getEmailDetails($objDBCD14)
  317. {
  318.     $fromName = '';
  319.     $fromEmail = '';
  320.     $company = '';
  321.     $url = '';
  322.     $row = $objDBCD14->queryUniqueObject('SELECT FromName, FromEmail, Company, SiteURL FROM tbl_gf_email_settings WHERE Id = 1');
  323.     if (isset($row->FromName) && $row->FromName != '')
  324.     {
  325.         $fromName = stripslashes($row->FromName);
  326.         $fromEmail = $row->FromEmail;
  327.         $company = stripslashes($row->Company);
  328.         $url = $row->SiteURL;
  329.     }
  330.     return array($fromName, $fromEmail, $company, $url);
  331. }
  332. function sendMail($to, $fromName, $fromEmail, $subject, $message, $cc = '', $bcc = '')
  333. {
  334.     $mail = new PHPMailer();
  335.     $mail->From = $fromEmail;
  336.     $mail->FromName = $fromName;
  337.     $mail->AddAddress($to, $fromName);
  338.     if($cc != '')
  339.         $mail->AddCC($cc, $fromName);
  340.     if($bcc != '')
  341.         $mail->AddBCC($bcc, $fromName);
  342.     $mail->IsHTML(true);
  343.     $mail->Subject = $subject;
  344.     $mail->Body = $message;
  345.     if(!$mail->Send())
  346.     {
  347.         sendMailViaPHP($to, $fromName, $fromEmail, $subject, $message, $cc = '', $bcc = '');
  348.     }
  349. }
  350. function sendMailViaPHP($to, $fromName, $fromEmail, $subject, $message, $cc = '', $bcc = '')
  351. {
  352.     // Always set content-type when sending HTML email
  353.     $headers = "MIME-Version: 1.0" . "\r\n";
  354.     $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
  355.    
  356.     // More headers
  357. //      $headers .= 'From: <admin>' . "\r\n";
  358.     if($cc != '')
  359.         $headers .= 'Cc: '.$cc.'' . "\r\n";
  360.     if($bcc != '')
  361.         $headers .= 'BCc: '.$bcc.'' . "\r\n";
  362.     mail($to, $subject, $message, $headers);
  363. }
  364. function setDtTmWRTYourCountry($objDBCD14)
  365. {
  366.     $serverTimeDiff = 0;
  367.     $row = $objDBCD14->queryUniqueObject('SELECT TimeDifference FROM tbl_gf_email_settings WHERE Id = 1');
  368.     if (isset($row->TimeDifference) && $row->TimeDifference != '')
  369.         $serverTimeDiff = $row->TimeDifference;
  370.  
  371.     $currentDate = strtotime(date('Y-m-d H:i:s'));
  372.     $futureDate = $currentDate + (60 * $serverTimeDiff);
  373.     $formatDate = date("Y-m-d H:i:s", $futureDate);
  374.     return $formatDate;
  375. }
  376. function getUserPacksIds($userId, $serviceType, $objDBCD14)
  377. {
  378.     $strIds = '0';
  379.     $rsUserPacks = $objDBCD14->query("SELECT PackageId FROM tbl_gf_user_packages WHERE UserId = '$userId' AND ServiceType = '$serviceType'");
  380.     while($row = $objDBCD14->fetchNextObject($rsUserPacks))
  381.     {
  382.         $strIds .= ', ' . $row->PackageId;
  383.     }
  384.     return $strIds;
  385. }
  386. function getSupplierPacks($supplierId, $serviceType, $objDBCD14)
  387. {
  388.     $strIds = '0';
  389.     $rsSupplierPacks = $objDBCD14->query("SELECT PackageId FROM tbl_gf_supplier_packages WHERE SupplierId = '$supplierId' AND ServiceType = '$serviceType'");
  390.     while($row = $objDBCD14->fetchNextObject($rsSupplierPacks))
  391.     {
  392.         $strIds .= ', ' . $row->PackageId;
  393.     }
  394.     return $strIds;
  395. }
  396. function getAlreadyAssignedSupplierPacks($supplierId, $serviceType, $objDBCD14)
  397. {
  398.     $strIds = '0';
  399.     $rsSupplierPacks = $objDBCD14->query("SELECT PackageId FROM tbl_gf_supplier_packages WHERE SupplierId <> '$supplierId' AND ServiceType = '$serviceType'");
  400.     while($row = $objDBCD14->fetchNextObject($rsSupplierPacks))
  401.     {
  402.         $strIds .= ', ' . $row->PackageId;
  403.     }
  404.     return $strIds;
  405. }
  406. function ifPackIdAssignedToSupplier($packageId, $serviceType, $objDBCD14)
  407. {
  408.     $packId =  0;
  409.     $price =  0;
  410.     $supplierId = 0;
  411.     $row = $objDBCD14->queryUniqueObject("SELECT SupplierId, PackageId, PurchasePrice FROM tbl_gf_supplier_packages WHERE PackageId='$packageId' AND ServiceType='$serviceType'");
  412.     if(isset($row->PackageId) && $row->PackageId != '')
  413.         $packId =  $row->PackageId;
  414.     if(isset($row->PurchasePrice) && $row->PurchasePrice != '')
  415.         $price =  $row->PurchasePrice;
  416.     if(isset($row->SupplierId) && $row->SupplierId != '')
  417.         $supplierId = $row->SupplierId;
  418.     return array($packId, $price, $supplierId);
  419. }
  420. function ifAutoAdminArchived($objDBCD14)
  421. {
  422.     $autoAdmnArchvd = 0;
  423.     $row = $objDBCD14->queryUniqueObject('SELECT AutoAdminArchived FROM tbl_gf_email_settings WHERE Id = 1');
  424.     if (isset($row->AutoAdminArchived) && $row->AutoAdminArchived != '')
  425.         $autoAdmnArchvd = $row->AutoAdminArchived;
  426.     return $autoAdmnArchvd == 0 ? false : true;
  427. }
  428. function getDefaultCurrency($objDBCD14)
  429. {
  430.     $defaultCurrencyId = 0;
  431.     $defaultCurrency = '';
  432.     $row = $objDBCD14->queryUniqueObject('SELECT CurrencyId, CurrencyAbb FROM tbl_gf_currency WHERE DefaultCurrency = 1');
  433.     if (isset($row->CurrencyId) && $row->CurrencyId != '')
  434.     {
  435.         $defaultCurrencyId = $row->CurrencyId;
  436.         $defaultCurrency = $row->CurrencyAbb;
  437.     }
  438.     return $defaultCurrencyId.','.$defaultCurrency;
  439. }
  440. function getCurrencyData($objDBCD14, $currencyId)
  441. {
  442.     $data = '';
  443.     $row = $objDBCD14->queryUniqueObject("SELECT CurrencyAbb, ConversionRate FROM tbl_gf_currency WHERE CurrencyId = '$currencyId'");
  444.     if (isset($row->CurrencyAbb) && $row->CurrencyAbb != '')
  445.     {
  446.         $data = $row->CurrencyAbb.'|'.$row->ConversionRate;
  447.     }
  448.     return $data;
  449. }
  450. function getPlansPricesForService($serviceId, $sc, $objDBCD14)
  451. {
  452.     $PACK_PRICES = array();
  453.     $rs = $objDBCD14->query("SELECT PlanId, CurrencyId, Price FROM tbl_gf_plans_packages_prices WHERE PackageId = '$serviceId' AND ServiceType = '$sc'");
  454.     while($row = $objDBCD14->fetchNextObject($rs))
  455.     {
  456.         $PACK_PRICES[$row->PlanId][$row->CurrencyId] = roundMe($row->Price);
  457.     }
  458.     return $PACK_PRICES;
  459. }
  460. function getCurrencyPricesForPlans($objDBCD14, $planId = 0, $sc = 0)
  461. {
  462.     $strWhere = " AND ServiceType = '$sc'";
  463.     $strCurrIds = '';
  464.     if($planId > 0)
  465.         $strWhere .= " AND PlanId = '$planId'";
  466.     $PACK_PRICES = array();
  467.     $rsCurrencyIds = $objDBCD14->query("SELECT CurrencyId FROM tbl_gf_currency WHERE DefaultCurrency <> 1 AND DisableCurrency = 0");
  468.     while($row = $objDBCD14->fetchNextObject($rsCurrencyIds))
  469.     {
  470.         if($strCurrIds == '')
  471.             $strCurrIds = $row->CurrencyId;
  472.         else
  473.             $strCurrIds .= ', '.$row->CurrencyId;
  474.     }
  475.     if($strCurrIds != '')
  476.     {
  477.         $rs = $objDBCD14->query("SELECT PackageId, CurrencyId, Price FROM tbl_gf_plans_packages_prices WHERE CurrencyId IN ($strCurrIds) $strWhere");
  478.         while($row = $objDBCD14->fetchNextObject($rs))
  479.         {
  480.             $PACK_PRICES[$row->PackageId][$row->CurrencyId] = roundMe($row->Price);
  481.         }
  482.         if(count($PACK_PRICES) == 0)// No price found in above criteria
  483.         {
  484.             if($cs == '2')
  485.                 $tbl = 'tbl_gf_log_packages_currencies';
  486.             else
  487.                 $tbl = 'tbl_gf_packages_currencies';
  488.             $rs = $objDBCD14->query("SELECT PackageId, Price, CurrencyId FROM $tbl WHERE CurrencyId IN ($strCurrIds)");
  489.             while($row = $objDBCD14->fetchNextObject($rs))
  490.             {
  491.                 $PACK_PRICES[$row->PackageId][$row->CurrencyId] = roundMe($row->Price);
  492.             }
  493.         }
  494.     }
  495.     return $PACK_PRICES;
  496. }
  497. function getServiceIds($objDBCD14, $sType = 0)
  498. {
  499.     $strIds = '0';
  500.     $rsIds = $objDBCD14->query("SELECT PackageId FROM tbl_gf_packages WHERE sl3lbf = '$sType' AND DisablePackage = 0");
  501.     while($row = $objDBCD14->fetchNextObject($rsIds))
  502.     {
  503.         $strIds .= ', '.$row->PackageId;
  504.     }
  505.     return $strIds;
  506. }
  507. function getPackPricesInOtherCurrency($objDBCD14, $currencyId = 0, $serviceType = 0)
  508. {
  509.         $PACK_PRICES = array();
  510.         switch($serviceType)
  511.         {
  512.             case '0': // IMEI services
  513.                 $tblName = 'tbl_gf_packages_currencies';
  514.                 break;
  515.             case '1': // File services
  516.                 $tblName = 'tbl_gf_packages_currencies';
  517.                 break;
  518.             case '2': // File services
  519.                 $tblName = 'tbl_gf_log_packages_currencies';
  520.                 break;
  521.         }
  522.         $rs = $objDBCD14->query("SELECT PackageId, Price FROM $tblName WHERE CurrencyId = '$currencyId'");
  523.         while($row = $objDBCD14->fetchNextObject($rs))
  524.         {
  525.             $PACK_PRICES[$row->PackageId] = number_format($row->Price, 2, '.', '');
  526.         }
  527.         return $PACK_PRICES;
  528. }
  529. function getCurrencyPrices($objDBCD14, $currencyId = 0, $type = 0)
  530. {
  531.     $PACK_PRICES = array();
  532.     if($type == '0' || $type == '1')
  533.         $tbl = 'tbl_gf_packages_currencies';
  534.     else
  535.         $tbl = 'tbl_gf_log_packages_currencies';
  536.     $rs = $objDBCD14->query("SELECT PackageId, Price FROM $tbl WHERE CurrencyId = '$currencyId'");
  537.     while($row = $objDBCD14->fetchNextObject($rs))
  538.     {
  539.         $PACK_PRICES[$row->PackageId] = number_format($row->Price, 2, '.', '');
  540.     }
  541.     return $PACK_PRICES;
  542. }
  543. function deleteAPI($apiId, $objDBCD14)
  544. {
  545.     $row = $objDBCD14->queryUniqueObject("SELECT APIId FROM tbl_gf_api WHERE SystemAPI = 0 AND APIId = '$apiId'");
  546.     if (isset($row->APIId) && $row->APIId != '')
  547.     {
  548.         $objDBCD14->execute("UPDATE tbl_gf_packages SET APIId = 0 WHERE APIId = '".$row->APIId."'");
  549.         $objDBCD14->execute("DELETE FROM tbl_gf_supplier_services WHERE APIId = '".$row->APIId."'");
  550.         $objDBCD14->execute("DELETE FROM tbl_gf_api WHERE APIId = '".$row->APIId."'");
  551.     }
  552. }
  553. function deleteUser($userId, $objDBCD14)
  554. {
  555.     $objDBCD14->execute("DELETE FROM tbl_gf_codes WHERE UserId = $userId");
  556.     $objDBCD14->execute("DELETE FROM tbl_gf_codes_slbf WHERE UserId = $userId");
  557.     $objDBCD14->execute("DELETE FROM tbl_gf_credit_history WHERE UserId = $userId");
  558.     $objDBCD14->execute("DELETE FROM tbl_gf_log_requests WHERE UserId = $userId");
  559.     $objDBCD14->execute("DELETE FROM tbl_gf_payments WHERE UserId = $userId");
  560.     $objDBCD14->execute("DELETE FROM tbl_gf_userlog WHERE UserId = $userId");
  561.     $objDBCD14->execute("DELETE FROM tbl_gf_users_log_packages_prices WHERE UserId = $userId");
  562.     $objDBCD14->execute("DELETE FROM tbl_gf_users_packages_prices WHERE UserId = $userId");
  563.     $objDBCD14->execute("DELETE FROM tbl_gf_user_login_log WHERE UserId = $userId");
  564.     $objDBCD14->execute("DELETE FROM tbl_gf_user_packages WHERE UserId = $userId");
  565.     $objDBCD14->execute("DELETE FROM tbl_gf_users WHERE UserId = $userId");
  566. }
  567. function deletePack($packId, $objDBCD14)
  568. {
  569.     $objDBCD14->execute("DELETE FROM tbl_gf_codes WHERE PackageId = $packId");
  570.     $objDBCD14->execute("DELETE FROM tbl_gf_codes_slbf WHERE PackageId = $packId");
  571.     $objDBCD14->execute("DELETE FROM tbl_gf_credit_history WHERE PackageId = $packId");
  572.     $objDBCD14->execute("DELETE FROM tbl_gf_packages_services WHERE PackageId = $packId");
  573.     $objDBCD14->execute("DELETE FROM tbl_gf_package_fields WHERE PackageId = $packId");
  574.     $objDBCD14->execute("DELETE FROM tbl_gf_plans_offers_packages_prices WHERE PackageId = $packId");
  575.     $objDBCD14->execute("DELETE FROM tbl_gf_plans_packages_prices WHERE PackageId = $packId AND ServiceType IN (0, 1)");
  576.     $objDBCD14->execute("DELETE FROM tbl_gf_users_packages_prices WHERE PackageId = $packId");
  577.     $objDBCD14->execute("DELETE FROM tbl_gf_user_packages WHERE PackageId = $packId");
  578.     $objDBCD14->execute("DELETE FROM tbl_gf_packages WHERE PackageId = $packId");
  579. }
  580. function deleteLogPack($packId, $objDBCD14)
  581. {
  582.     $objDBCD14->execute("DELETE FROM tbl_gf_log_requests WHERE LogPackageId = $packId");
  583.     $objDBCD14->execute("DELETE FROM tbl_gf_plans_packages_prices WHERE PackageId = $packId AND ServiceType = 2");
  584.     $objDBCD14->execute("DELETE FROM tbl_gf_users_log_packages_prices WHERE LogPackageId = $packId");
  585.     $objDBCD14->execute("DELETE FROM tbl_gf_log_packages WHERE LogPackageId = $packId");
  586. }
  587. function deleteService($serviceId, $objDBCD14)
  588. {
  589.     $row = $objDBCD14->queryUniqueObject('SELECT ServiceTableName FROM tbl_gf_services WHERE ServiceId = '.$serviceId);
  590.     if (isset($row->ServiceTableName) && $row->ServiceTableName != '')
  591.     {
  592.         $objDBCD14->execute("DROP TABLE IF EXISTS ".$row->ServiceTableName);
  593.     }
  594.     $objDBCD14->execute("DELETE FROM tbl_gf_packages_services WHERE ServiceId = $serviceId");
  595.     $objDBCD14->execute("DELETE FROM tbl_gf_services WHERE ServiceId = $serviceId");
  596. }
  597. function deletePricePlan($planId, $objDBCD14)
  598. {
  599.     $objDBCD14->execute("UPDATE tbl_gf_users SET PricePlanId = 0 WHERE PricePlanId = '$planId'");
  600.     $objDBCD14->execute("DELETE FROM tbl_gf_plans_packages_prices WHERE PlanId = '$planId'");
  601.     $objDBCD14->execute("DELETE FROM tbl_gf_price_plans WHERE PricePlanId = '$planId'");
  602. }
  603. function failedLoginAttempt($uName, $objDBCD14)
  604. {
  605.     $objDBCD14->execute("UPDATE tbl_gf_users SET LoginAttempts = LoginAttempts + 1 WHERE UserName = '$uName'");
  606. }
  607. function ipBlocked($objDBCD14)
  608. {
  609.     $rwIPInfo = $objDBCD14->queryUniqueObject("SELECT COUNT(Id) AS Data FROM tbl_gf_blocked_ips WHERE IP = '".$_SERVER['REMOTE_ADDR']."'");
  610.     if($rwIPInfo->Data > 0)
  611.         return true;
  612.     else
  613.         return false;
  614. }
  615. function getEmailContents($id, $objDBCD14)
  616. {
  617.     $subject = '';
  618.     $contents = '';
  619.     $sendCopy = 0;
  620.     $row = $objDBCD14->queryUniqueObject("SELECT Subject, Contents, SendCopyToAdmin FROM tbl_gf_email_templates WHERE TemplateId = '$id'");
  621.     if (isset($row->Subject) && $row->Subject != '')
  622.     {
  623.         $subject = stripslashes($row->Subject);
  624.         $contents = stripslashes($row->Contents);
  625.         $sendCopy = $row->SendCopyToAdmin;
  626.     }
  627.     return array($subject, $contents, $sendCopy);
  628. }
  629. function newIMEIOrderEmailContents($serviceId, $objDBCD14)
  630. {
  631.     $arr = getEmailDetails($objDBCD14);
  632.     $row = $objDBCD14->queryUniqueObject("SELECT NewTplSubject, NewTplBody, SendNewCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND NewTplType = '1'");
  633.     if (isset($row->NewTplSubject) && $row->NewTplSubject != '')
  634.     {
  635.         $subject = stripslashes($row->NewTplSubject);
  636.         $contents = stripslashes($row->NewTplBody);
  637.         $sendCopy = $row->SendNewCopyToAdmin;
  638.     }
  639.     else
  640.     {
  641.         list($subject, $contents, $sendCopy) = getEmailContents(4, $objDBCD14);
  642.     }
  643.     return  array($subject, $contents, $sendCopy);
  644. }
  645. function successIMEIOrderEmailContents($serviceId, $objDBCD14)
  646. {
  647.     $arr = getEmailDetails($objDBCD14);
  648.     $row = $objDBCD14->queryUniqueObject("SELECT NewTplSubject, NewTplBody, SendNewCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND NewTplType = '1'");
  649.     if (isset($row->NewTplSubject) && $row->NewTplSubject != '')
  650.     {
  651.         $subject = stripslashes($row->NewTplSubject);
  652.         $contents = stripslashes($row->NewTplBody);
  653.         $sendCopy = $row->SendNewCopyToAdmin;
  654.     }
  655.     else
  656.     {
  657.         list($subject, $contents, $sendCopy) = getEmailContents(7, $objDBCD14);
  658.     }
  659.     return array($subject, $contents, $sendCopy);
  660. }
  661. function compileNewIMEIOrderEmail($customerName, $serviceName, $myIMEI, $ip, $creditsDeducted, $finalCredits, $orderDt, $contents, $userName, $notes)
  662. {
  663.     $placeholders  = array("#CUSTOMER_NAME#", "#USER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#CREDITS_DEDUCTED#", "#FINAL_CREDITS#", "#ORDER_DATE#", "#IP#", "#NOTES#");
  664.     $replacedData = array($customerName, $userName, $serviceName, $myIMEI, $creditsDeducted, $finalCredits, $orderDt, $ip, $notes);
  665.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  666.     return $emailMsg.'<br /><br />';
  667. }
  668. function compileSuccessIMEIOrderEmail($name, $service, $imei, $code, $orderDt, $contents, $notes = '')
  669. {
  670.     $code = str_replace('\r', '', $code);
  671.     $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#DETAILS#", "#ORDER_DATE#", '#NOTES#');
  672.     $replacedData = array($name, $service, $imei, $code, $orderDt, $notes);
  673.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  674.     return $emailMsg.'<br /><br />';
  675. }
  676. function sendNewIMEIOrderEmail($email, $altEmail, $subject, $sendCopy, $contents, $objDBCD14)
  677. {
  678.     $arr = getEmailDetails($objDBCD14);
  679.     $placeholders  = array("#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#TRACK_ORDER_PAGE#");
  680.     $replacedData = array(stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', '<a href="http://'.$arr[3].'/trackorder.php" target="_blank">here</a>');
  681.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  682.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  683.     if($altEmail != '')
  684.         sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);
  685. }
  686. function sendSuccessIMEIOrderEmail($email, $altEmail, $subject, $sendCopy, $contents, $objDBCD14)
  687. {
  688.     $arr = getEmailDetails($objDBCD14);
  689.     $placeholders  = array("#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#");
  690.     $replacedData = array(stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>');
  691.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  692.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  693.     if($altEmail != '')
  694.         sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);
  695. }
  696. function newIMEIOrderEmail($email, $customerName, $serviceName, $myIMEI, $ip, $creditsDeducted, $finalCredits, $orderDt, $serviceId, $altEmail, $objDBCD14)
  697. {
  698.     $arr = getEmailDetails($objDBCD14);
  699.     $row = $objDBCD14->queryUniqueObject("SELECT NewTplSubject, NewTplBody, SendNewCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND NewTplType = '1'");
  700.     if (isset($row->NewTplSubject) && $row->NewTplSubject != '')
  701.     {
  702.         $subject = stripslashes($row->NewTplSubject);
  703.         $contents = stripslashes($row->NewTplBody);
  704.         $sendCopy = $row->SendNewCopyToAdmin;
  705.     }
  706.     else
  707.     {
  708.         list($subject, $contents, $sendCopy) = getEmailContents(4, $objDBCD14);
  709.     }
  710.            
  711.     $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#CREDITS_DEDUCTED#", "#FINAL_CREDITS#", "#ORDER_DATE#",
  712.             "#IP#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#TRACK_ORDER_PAGE#");
  713.     $replacedData = array($customerName, $serviceName, $myIMEI, $creditsDeducted, $finalCredits, $orderDt, $ip, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', '<a href="http://'.$arr[3].'/trackorder.php" target="_blank">here</a>');
  714.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  715.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  716.     if($altEmail != '')
  717.         sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);    
  718. }
  719. function successfulIMEIOrderEmail($email, $name, $service, $imei, $code, $orderDt, $serviceId, $altEmail, $objDBCD14, $notes = '')
  720. {
  721.     if(sendOrderEmail('SendSuccessIMEIOrderEmail', $objDBCD14))
  722.     {
  723.         $arr = getEmailDetails($objDBCD14);
  724.         $row = $objDBCD14->queryUniqueObject("SELECT SuccessTplSubject, SuccessTplBody, SendSuccessCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND SuccessTplType = '1'");
  725.         if (isset($row->SuccessTplSubject) && $row->SuccessTplSubject != '')
  726.         {
  727.             $subject = stripslashes($row->SuccessTplSubject);
  728.             $contents = stripslashes($row->SuccessTplBody);
  729.             $sendCopy = $row->SendSuccessCopyToAdmin;
  730.         }
  731.         else
  732.         {
  733.             list($subject, $contents, $sendCopy) = getEmailContents(7, $objDBCD14);
  734.         }
  735.                
  736.         $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#DETAILS#", "#ORDER_DATE#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", '#NOTES#');
  737.         $replacedData = array($name, $service, $imei, $code, $orderDt, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', $notes);
  738.         $emailMsg = str_replace($placeholders, $replacedData, $contents);
  739.         sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  740.         if($altEmail != '')
  741.             sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);
  742.     }
  743. }
  744. function resubmittedIMEIOrderEmail($email, $name, $service, $imei, $orderDt, $altEmail, $objDBCD14, $notes = '')
  745. {
  746.     $arr = getEmailDetails($objDBCD14);
  747.     list($subject, $contents, $sendCopy) = getEmailContents(24, $objDBCD14);
  748.  
  749.            
  750.     $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#ORDER_DATE#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", '#NOTES#');
  751.     $replacedData = array($name, $service, $imei, $orderDt, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', $notes);
  752.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  753.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  754.     if($altEmail != '')
  755.         sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);
  756. }
  757.  
  758. function rejectedIMEIOrderEmail($email, $name, $service, $imei, $code, $orderDt, $serviceId, $altEmail, $creditsReturned, $creditsLeft, $objDBCD14, $notes='')
  759. {
  760.     if(sendOrderEmail('SendFailureIMEIOrderEmail', $objDBCD14))
  761.     {
  762.         $arr = getEmailDetails($objDBCD14);
  763.         $row = $objDBCD14->queryUniqueObject("SELECT CancelTplSubject, CancelTplBody, SendRejectCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND CancelledTplType = '1'");
  764.         if (isset($row->CancelTplSubject) && $row->CancelTplSubject != '')
  765.         {
  766.             $subject = stripslashes($row->CancelTplSubject);
  767.             $contents = stripslashes($row->CancelTplBody);
  768.             $sendCopy = $row->SendRejectCopyToAdmin;
  769.         }
  770.         else
  771.         {
  772.             list($subject, $contents, $sendCopy) = getEmailContents(13, $objDBCD14);
  773.         }
  774.                
  775.         $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#DETAILS#", "#ORDER_DATE#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#CREDITS_RETURNED#", "#CREDITS_LEFT#", '#NOTES#');
  776.         $replacedData = array($name, $service, $imei, $code, $orderDt, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', $creditsReturned, $creditsLeft, $notes);
  777.         $emailMsg = str_replace($placeholders, $replacedData, $contents);
  778.         sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  779.         if($altEmail != '')
  780.             sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);    
  781.     }
  782. }
  783. function newIMEIRetailOrderEmail($email, $customerName, $serviceName, $myIMEI, $ip, $orderDt, $serviceId, $price, $objDBCD14)
  784. {
  785.     $arr = getEmailDetails($objDBCD14);
  786.     $row = $objDBCD14->queryUniqueObject("SELECT NewTplSubject, NewTplBody, SendNewCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND NewTplType = '1'");
  787.     if (isset($row->NewTplSubject) && $row->NewTplSubject != '')
  788.     {
  789.         $subject = stripslashes($row->NewTplSubject);
  790.         $contents = stripslashes($row->NewTplBody);
  791.         $sendCopy = $row->SendNewCopyToAdmin;
  792.     }
  793.     else
  794.     {
  795.         list($subject, $contents, $sendCopy) = getEmailContents(17, $objDBCD14);
  796.     }
  797.            
  798.     $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#ORDER_DATE#", "#IP#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#",
  799.     "#TRACK_ORDER_PAGE#", "#AMOUNT#");
  800.     $replacedData = array($customerName, $serviceName, $myIMEI, $orderDt, $ip, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>',
  801.     '<a href="http://'.$arr[3].'/trackorder.php" target="_blank">here</a>', $price);
  802.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  803.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  804. }
  805. function rejectedIMEIRetailOrderEmail($email, $name, $service, $imei, $code, $orderDt, $serviceId, $objDBCD14, $notes = '')
  806. {
  807.     $arr = getEmailDetails($objDBCD14);
  808.     $row = $objDBCD14->queryUniqueObject("SELECT CancelTplSubject, CancelTplBody, SendRejectCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND CancelledTplType = '1'");
  809.     if (isset($row->CancelTplSubject) && $row->CancelTplSubject != '')
  810.     {
  811.         $subject = stripslashes($row->CancelTplSubject);
  812.         $contents = stripslashes($row->CancelTplBody);
  813.         $sendCopy = $row->SendRejectCopyToAdmin;
  814.     }
  815.     else
  816.     {
  817.         list($subject, $contents, $sendCopy) = getEmailContents(19, $objDBCD14);
  818.     }
  819.            
  820.     $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#DETAILS#", "#ORDER_DATE#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", '#NOTES#');
  821.     $replacedData = array($name, $service, $imei, $code, $orderDt, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', $notes);
  822.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  823.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  824. }
  825.  
  826. function successfulIMEIRetailOrderEmail($email, $name, $service, $imei, $code, $orderDt, $serviceId, $objDBCD14, $notes = '')
  827. {
  828.     $arr = getEmailDetails($objDBCD14);
  829.     $row = $objDBCD14->queryUniqueObject("SELECT SuccessTplSubject, SuccessTplBody, SendSuccessCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND SuccessTplType = '1'");
  830.     if (isset($row->SuccessTplSubject) && $row->SuccessTplSubject != '')
  831.     {
  832.         $subject = stripslashes($row->SuccessTplSubject);
  833.         $contents = stripslashes($row->SuccessTplBody);
  834.         $sendCopy = $row->SendSuccessCopyToAdmin;
  835.     }
  836.     else
  837.     {
  838.         list($subject, $contents, $sendCopy) = getEmailContents(18, $objDBCD14);
  839.     }
  840.            
  841.     $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#DETAILS#", "#ORDER_DATE#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", '#NOTES#');
  842.     $replacedData = array($name, $service, $imei, $code, $orderDt, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', $notes);
  843.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  844.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  845. }
  846.  
  847. function newFileOrderEmail($email, $name, $service, $myIMEI, $ip, $creditsDeducted, $finalCredits, $orderDt, $serviceId, $altEmail, $hash, $objDBCD14)
  848. {
  849.     $arr = getEmailDetails($objDBCD14);
  850.     $row = $objDBCD14->queryUniqueObject("SELECT NewTplSubject, NewTplBody, SendNewCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND NewTplType = '1'");
  851.     if (isset($row->NewTplSubject) && $row->NewTplSubject != '')
  852.     {
  853.         $subject = stripslashes($row->NewTplSubject);
  854.         $contents = stripslashes($row->NewTplBody);
  855.         $sendCopy = $row->SendNewCopyToAdmin;
  856.     }
  857.     else
  858.     {
  859.         list($subject, $contents, $sendCopy) = getEmailContents(5, $objDBCD14);
  860.     }
  861.            
  862.     $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#CREDITS_DEDUCTED#", "#FINAL_CREDITS#", "#ORDER_DATE#",
  863.             "#IP#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#TRACK_ORDER_PAGE#", "#HASH#");
  864.     $replacedData = array($name, $service, $myIMEI, $creditsDeducted, $finalCredits, $orderDt, $ip, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', '<a href="http://'.$arr[3].'/trackorder.php" target="_blank">here</a>', $hash);
  865.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  866.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  867.     if($altEmail != '')
  868.         sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);
  869. }
  870. function successfulFileOrderEmail($email, $name, $service, $imei, $code, $orderDt, $serviceId, $altEmail, $objDBCD14, $notes = '')
  871. {
  872.     if(sendOrderEmail('SendSuccessFileOrderEmail', $objDBCD14))
  873.     {
  874.         $arr = getEmailDetails($objDBCD14);
  875.         $row = $objDBCD14->queryUniqueObject("SELECT SuccessTplSubject, SuccessTplBody, SendSuccessCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND SuccessTplType = '1'");
  876.         if (isset($row->SuccessTplSubject) && $row->SuccessTplSubject != '')
  877.         {
  878.             $subject = stripslashes($row->SuccessTplSubject);
  879.             $contents = stripslashes($row->SuccessTplBody);
  880.             $sendCopy = $row->SendSuccessCopyToAdmin;
  881.         }
  882.         else
  883.         {
  884.             list($subject, $contents, $sendCopy) = getEmailContents(8, $objDBCD14);
  885.         }
  886.                
  887.         $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#DETAILS#", "#ORDER_DATE#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", '#NOTES#');
  888.         $replacedData = array($name, $service, $imei, $code, $orderDt, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', $notes);
  889.         $emailMsg = str_replace($placeholders, $replacedData, $contents);
  890.         sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  891.         if($altEmail != '')
  892.             sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);
  893.     }
  894. }
  895. function rejectedFileOrderEmail($email, $name, $service, $imei, $code, $orderDt, $serviceId, $altEmail, $creditsReturned, $creditsLeft, $objDBCD14, $notes='')
  896. {
  897.     if(sendOrderEmail('SendFailureFileOrderEmail', $objDBCD14))
  898.     {
  899.         $arr = getEmailDetails($objDBCD14);
  900.         $row = $objDBCD14->queryUniqueObject("SELECT CancelTplSubject, CancelTplBody, SendRejectCopyToAdmin FROM tbl_gf_packages WHERE PackageId = '$serviceId' AND CancelledTplType = '1'");
  901.         if (isset($row->CancelTplSubject) && $row->CancelTplSubject != '')
  902.         {
  903.             $subject = stripslashes($row->CancelTplSubject);
  904.             $contents = stripslashes($row->CancelTplBody);
  905.             $sendCopy = $row->SendRejectCopyToAdmin;
  906.         }
  907.         else
  908.         {
  909.             list($subject, $contents, $sendCopy) = getEmailContents(14, $objDBCD14);
  910.         }
  911.                
  912.         $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#DETAILS#", "#ORDER_DATE#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#CREDITS_RETURNED#", "#CREDITS_LEFT#", '#NOTES#');
  913.         $replacedData = array($name, $service, $imei, $code, $orderDt, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', $creditsReturned, $creditsLeft, $notes);
  914.         $emailMsg = str_replace($placeholders, $replacedData, $contents);
  915.         sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  916.         if($altEmail != '')
  917.             sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);
  918.     }
  919. }
  920.  
  921. function newServerOrderEmail($email, $name, $service, $boxUN, $ip, $creditsDeducted, $finalCredits, $orderDt, $serviceId, $altEmail, $serial, $objDBCD14)
  922. {
  923.     $arr = getEmailDetails($objDBCD14);
  924.     $row = $objDBCD14->queryUniqueObject("SELECT NewTplSubject, NewTplBody, SendNewCopyToAdmin FROM tbl_gf_log_packages WHERE LogPackageId = '$serviceId' AND NewTplType = '1'");
  925.     if (isset($row->NewTplSubject) && $row->NewTplSubject != '')
  926.     {
  927.         $subject = stripslashes($row->NewTplSubject);
  928.         $contents = stripslashes($row->NewTplBody);
  929.         $sendCopy = $row->SendNewCopyToAdmin;
  930.     }
  931.     else
  932.     {
  933.         list($subject, $contents, $sendCopy) = getEmailContents(6, $objDBCD14);
  934.     }
  935.            
  936.     $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#BOX_USERNAME#", "#CREDITS_DEDUCTED#", "#FINAL_CREDITS#", "#ORDER_DATE#",
  937.             "#IP#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#TRACK_ORDER_PAGE#", "#SERIAL_NO#");
  938.     $replacedData = array($name, $service, $boxUN, $creditsDeducted, $finalCredits, $orderDt, $ip, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', '<a href="http://'.$arr[3].'/trackorder.php" target="_blank">here</a>', $serial);
  939.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  940.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  941.     if($altEmail != '')
  942.         sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);
  943. }
  944. function successfulServerOrderEmail($email, $name, $service, $code, $orderDt, $serviceId, $altEmail, $objDBCD14, $notes = '')
  945. {
  946.     if(sendOrderEmail('SendSuccessSrvrOrderEmail', $objDBCD14))
  947.     {
  948.         $arr = getEmailDetails($objDBCD14);
  949.         $row = $objDBCD14->queryUniqueObject("SELECT SuccessTplSubject, SuccessTplBody, SendSuccessCopyToAdmin FROM tbl_gf_log_packages WHERE LogPackageId = '$serviceId' AND SuccessTplType = '1'");
  950.         if (isset($row->SuccessTplSubject) && $row->SuccessTplSubject != '')
  951.         {
  952.             $subject = stripslashes($row->SuccessTplSubject);
  953.             $contents = stripslashes($row->SuccessTplBody);
  954.             $sendCopy = $row->SendSuccessCopyToAdmin;
  955.         }
  956.         else
  957.         {
  958.             list($subject, $contents, $sendCopy) = getEmailContents(9, $objDBCD14);
  959.         }
  960.         $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#DETAILS#", "#ORDER_DATE#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", '#NOTES#');
  961.         $replacedData = array($name, $service, $code, $orderDt, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', $notes);
  962.         $emailMsg = str_replace($placeholders, $replacedData, $contents);
  963.         sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  964.         if($altEmail != '')
  965.             sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);
  966.     }
  967. }
  968. function rejectedServerOrderEmail($email, $name, $service, $code, $orderDt, $serviceId, $altEmail, $creditsReturned, $creditsLeft, $objDBCD14, $notes = '')
  969. {
  970.     if(sendOrderEmail('SendFailureSrvrOrderEmail', $objDBCD14))
  971.     {
  972.         $arr = getEmailDetails($objDBCD14);
  973.         $row = $objDBCD14->queryUniqueObject("SELECT CancelTplSubject, CancelTplBody, SendRejectCopyToAdmin FROM tbl_gf_log_packages WHERE LogPackageId = '$serviceId' AND CancelledTplType = '1'");
  974.         if (isset($row->CancelTplSubject) && $row->CancelTplSubject != '')
  975.         {
  976.             $subject = stripslashes($row->CancelTplSubject);
  977.             $contents = stripslashes($row->CancelTplBody);
  978.             $sendCopy = $row->SendRejectCopyToAdmin;
  979.         }
  980.         else
  981.         {
  982.             list($subject, $contents, $sendCopy) = getEmailContents(15, $objDBCD14);
  983.         }
  984.         $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#DETAILS#", "#ORDER_DATE#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#CREDITS_RETURNED#", "#CREDITS_LEFT#", '#NOTES#');
  985.         $replacedData = array($name, $service, $code, $orderDt, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', $creditsReturned, $creditsLeft, $notes);
  986.         $emailMsg = str_replace($placeholders, $replacedData, $contents);
  987.         sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  988.         if($altEmail != '')
  989.             sendMail($altEmail, $arr[0], $arr[1], $subject, $emailMsg);
  990.     }
  991. }
  992. function frgtPwdEmail($email, $name, $password, $objDBCD14)
  993. {
  994.     $arr = getEmailDetails($objDBCD14);
  995.     list($subject, $contents, $sendCopy) = getEmailContents(3, $objDBCD14);
  996.            
  997.     $placeholders  = array("#CUSTOMER_NAME#", "#PASSWORD#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#");
  998.     $replacedData = array($name, $password, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>');
  999.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  1000.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  1001. }
  1002. function newTicketEmail($email, $name, $tcktNo, $tcktId, $subject, $deptId, $objDBCD14)
  1003. {
  1004.     $arr = getEmailDetails($objDBCD14);
  1005.     list($subject, $contents, $sendCopy) = getEmailContents(20, $objDBCD14);
  1006.     $placeholders  = array("#NAME#", "#TICKET_NO#", "#COMPANY_NAME#", "#TICKET_LINK#");
  1007.     $replacedData = array($name, $tcktNo, stripslashes($arr[2]), '<a href="http://'.$arr[3].'/viewticket.php?tkn1='.urlsafe_b64encode($tcktId).'">http://'.$arr[3].'/viewticket.php?tkn1='.urlsafe_b64encode($tcktId).'</a>');
  1008.     $subject = "[#$tcktNo] $subject";
  1009.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  1010.     $deptEmail = getDepartmentEmail($deptId, $objDBCD14);
  1011.     if($deptEmail == '')
  1012.         $deptEmail = $arr[1];
  1013.     sendMail($email, $arr[0], $deptEmail, $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  1014. }
  1015. function newTicketEmailByUser($email, $name, $tcktNo, $tcktId, $subject, $deptId, $objDBCD14)
  1016. {
  1017.     $arr = getEmailDetails($objDBCD14);
  1018.     list($subject, $contents, $sendCopy) = getEmailContents(20, $objDBCD14);
  1019.     $placeholders  = array("#NAME#", "#TICKET_NO#", "#COMPANY_NAME#", "#TICKET_LINK#");
  1020.     $replacedData = array($name, $tcktNo, stripslashes($arr[2]), '<a href="http://'.$arr[3].'/ticketdtls.php?id='.$tcktId.'">http://'.$arr[3].'/ticketdtls.php?id='.$tcktId.'</a>');
  1021.     $subject = "[#$tcktNo] $subject";
  1022.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  1023.     $deptEmail = getDepartmentEmail($deptId, $objDBCD14);
  1024.     if($deptEmail == '')
  1025.         $deptEmail = $arr[1];
  1026.     sendMail($email, $arr[0], $deptEmail, $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  1027. }
  1028. function answeredTicketEmail($email, $message, $tcktNo, $tcktId, $subject, $deptId, $objDBCD14)
  1029. {
  1030.     $arr = getEmailDetails($objDBCD14);
  1031.     $subject = "[#$tcktNo] $subject";
  1032.     $emailMsg = "$message<br /><br />======================================================================<br /><br />
  1033. Ticket No.: $tcktNo<br /><br />
  1034. Subject: $subject<br /><br />
  1035. Status: Answered<br /><br />".
  1036. '<a href="http://'.$arr[3].'/viewticket.php?tkn1='.urlsafe_b64encode($tcktId).'">http://'.$arr[3].'/viewticket.php?tkn1='.urlsafe_b64encode($tcktId).'</a>'."<br /><br />
  1037. ======================================================================<br /><br />
  1038. ";
  1039.     $deptEmail = getDepartmentEmail($deptId, $objDBCD14);
  1040.     if($deptEmail == '')
  1041.         $deptEmail = $arr[1];
  1042.     sendMail($email, $arr[0], $deptEmail, $subject, $emailMsg, '');
  1043. }
  1044. function customerRepliedTicketEmail($department, $subject, $message, $deptId, $objDBCD14)
  1045. {
  1046.     $arr = getEmailDetails($objDBCD14);
  1047.     $subject = "Customer Replied for Ticket [#$tcktNo] $subject";
  1048.     $deptEmail = getDepartmentEmail($deptId, $objDBCD14);
  1049.     if($deptEmail == '')
  1050.         $deptEmail = $arr[1];
  1051.     sendMail($deptEmail, $arr[0], $deptEmail, $subject, $message, '');
  1052. }
  1053. function apiKeyGnrtnEmail($email, $name, $apiKey, $objDBCD14)
  1054. {
  1055.     $arr = getEmailDetails($objDBCD14);
  1056.     list($subject, $contents, $sendCopy) = getEmailContents(16, $objDBCD14);
  1057.     $placeholders  = array("#CUSTOMER_NAME#", "#API_KEY#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#API_DOWNLOAD_LINK#");
  1058.     $replacedData = array($name, $apiKey, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', '<a href="http://'.$arr[3].'/api.rar">here</a>');
  1059.     $subject = str_replace($placeholders, $replacedData, $subject);
  1060.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  1061.    
  1062.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  1063. }
  1064. function updateCreditsEmail($email, $name, $credits, $currCredits, $dt, $type, $objDBCD14)
  1065. {
  1066.     $arr = getEmailDetails($objDBCD14);
  1067.     list($subject, $contents, $sendCopy) = getEmailContents(10, $objDBCD14);
  1068.            
  1069.     $placeholders  = array("#CUSTOMER_NAME#", "#CREDITS#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#CURRENCT_CREDITS#", "#CREDITS_UPDATED_DATE#", "#ADDED_REBATED#");
  1070.     $replacedData = array($name, $credits, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', $currCredits, $dt, $type);
  1071.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  1072.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  1073. }
  1074. function invoiceEmail($email, $name, $invoiceNo, $objDBCD14)
  1075. {
  1076.     $arr = getEmailDetails($objDBCD14);
  1077.     list($subject, $contents, $sendCopy) = getEmailContents(11, $objDBCD14);
  1078.            
  1079.     $placeholders  = array("#CUSTOMER_NAME#", "#INVOICE_NO#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#");
  1080.     $replacedData = array($name, $invoiceNo, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>');
  1081.     $subject = str_replace($placeholders, $replacedData, $subject);
  1082.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  1083.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  1084. }
  1085.  
  1086. function saveEmailLog($userId, $title, $text, $objDBCD14)
  1087. {
  1088.     /*
  1089.     $dtTm = setDtTmWRTYourCountry($objDBCD14);
  1090.     $objDBCD14->execute("INSERT INTO tbl_email_log (UserId, DtTm, Title, EmailText) VALUES
  1091.                 ('$userId', '$dtTm', '".addslashes($title)."', '".addslashes($text)."')");*/
  1092. }
  1093. function doPages($page_name, $back, $start, $txtlqry, $totalRows, $limit, $eu, $pLast, $thisp, $next, $formSubmit = 0, $frmName = '')
  1094. {
  1095.     echo '<br /><br /><div class="paging">';
  1096.     if($back < 0) {
  1097.         echo '<span class="prn">&lt; Previous</span>&nbsp;';
  1098.     } else {
  1099.         if($formSubmit == '0')
  1100.             echo '<a href="'.$page_name.'?start='.$back.$txtlqry.'" class="prn" rel="nofollow">&lt; Previous</a>&nbsp;';
  1101.         else if($formSubmit == '1')
  1102.         { ?>
  1103.             <a class="prn" rel="nofollow" href="JavaScript:void(0);" onclick="document.getElementById('start').value = <? echo $back; ?>;
  1104.             document.getElementById('<? echo $frmName; ?>').submit();">&lt; Previous</a>&nbsp;
  1105.         <?
  1106.         }
  1107.     }
  1108.     $l = 1;
  1109.     for($i = 0; $i < $totalRows; $i = $i+$limit)
  1110.     {
  1111.         if($i == $eu)
  1112.             echo '<span>'.$l.'</span>&nbsp;';
  1113.         else
  1114.         {
  1115.             if($formSubmit == '0')
  1116.                 echo '<a href="'.$page_name.'?start='.$i.$txtlqry.'">'.$l.'</a>&nbsp;';
  1117.             else if($formSubmit == '1')
  1118.             { ?>
  1119.                 <a href="JavaScript:void(0);" onclick="document.getElementById('start').value = <? echo $i; ?>;
  1120.                 document.getElementById('<? echo $frmName; ?>').submit();"><? echo $l; ?></a>&nbsp;
  1121.             <?
  1122.             }
  1123.         }
  1124.         if($l != 0)
  1125.         {
  1126.             if($l % 25 == 0)
  1127.                 echo '<br /><br />';
  1128.         }
  1129.         $l = $l+1;
  1130.         if($i < $totalRows)
  1131.             $pLast=$i;
  1132.     }
  1133.     if($thisp < $totalRows)
  1134.     {
  1135.         if($formSubmit == '0')
  1136.             echo '<a href="'.$page_name.'?start='.$next.$txtlqry.'" class="prn" rel="nofollow">Next &gt;</a>&nbsp;';
  1137.         else if($formSubmit == '1')
  1138.         { ?>
  1139.             <a class="prn" rel="nofollow" href="JavaScript:void(0);" onclick="document.getElementById('start').value = <? echo $next; ?>;
  1140.             document.getElementById('<? echo $frmName; ?>').submit();">Next &gt;</a>&nbsp;
  1141.         <?
  1142.         }
  1143.     }
  1144.     else
  1145.         echo '<span class="prn">Next &gt;</span>&nbsp;';
  1146.     echo '<p id="total_count">(Total '.$totalRows.' results)</p></div>';
  1147. }
  1148. function doPages_DropDown($page_name, $back, $start, $txtlqry, $totalRows, $limit, $eu, $pLast, $thisp, $next, $frmName = '')
  1149. {
  1150.     $l = 1;
  1151.     $strOptions = '';
  1152.     $currPage = 0;
  1153.     for($i = 0; $i < $totalRows; $i = $i+$limit)
  1154.     {
  1155.         $selected = '';
  1156.         if($i == $eu)
  1157.         {
  1158.             $selected = 'selected';
  1159.             $currPage = $l;
  1160.         }
  1161.         $strOptions .= '<option '.$selected.' value="'.$i.'">'.$l.'</option>';
  1162.         $l = $l+1;
  1163.     }
  1164.     ?>
  1165.     <br />
  1166.     <div class="form-group" align="right">
  1167.         <label class="control-label">Page Number</label>
  1168.         <select id="pagingId" name="pagingId" onchange="document.getElementById('start').value = document.getElementById('pagingId').value;
  1169.             document.getElementById('<? echo $frmName; ?>').submit();" class="form-control" style="width:75px;">
  1170.             <? echo $strOptions; ?>
  1171.         </select>
  1172.         <span class="help-block">(Total <? echo $totalRows; ?> results)</span>
  1173.     </div>
  1174. <?
  1175. }
  1176. function do_Pages($page_name, $back, $start, $txtlqry, $totalRows, $limit, $eu, $pLast, $thisp, $next, $formSubmit = 0, $frmName = '')
  1177. {
  1178.     echo '<ul style="float:right;list-style:none;">';
  1179.     if($back < 0) {
  1180.         echo '<li style="float:left;"><a href="JavaScript:void(0);"><<</a></li>';
  1181.     } else {
  1182.         if($formSubmit == '0')
  1183.             echo '<li style="float:left;"><a href="'.$page_name.'?start='.$back.$txtlqry.'" class="prn" rel="nofollow"><<</a></li>';
  1184.         else if($formSubmit == '1')
  1185.         { ?>
  1186.             <li style="float:left;"><a class="prn" rel="nofollow" href="JavaScript:void(0);" onclick="document.getElementById('start').value = <? echo $back; ?>;
  1187.             document.getElementById('<? echo $frmName; ?>').submit();"><<</a></li>
  1188.         <?
  1189.         }
  1190.     }
  1191.     $l = 1;
  1192.     for($i = 0; $i < $totalRows; $i = $i+$limit)
  1193.     {
  1194.         if($i == $eu)
  1195.             echo '<li style="float:left;"><a href="JavaScript:void(0);">'.$l.'</a></li>';
  1196.         else
  1197.         {
  1198.             if($formSubmit == '0')
  1199.                 echo '<li style="float:left;"><a href="'.$page_name.'?start='.$i.$txtlqry.'">'.$l.'</a></li>';
  1200.             else if($formSubmit == '1')
  1201.             { ?>
  1202.                 <li style="float:left;"><a href="JavaScript:void(0);" onclick="document.getElementById('start').value = <? echo $i; ?>;
  1203.                 document.getElementById('<? echo $frmName; ?>').submit();"><? echo $l; ?></a></li>
  1204.             <?
  1205.             }
  1206.         }
  1207.         if($l != 0)
  1208.         {
  1209.             if($l % 25 == 0)
  1210.                 echo '<br /><br />';
  1211.         }
  1212.         $l = $l+1;
  1213.         if($i < $totalRows)
  1214.             $pLast=$i;
  1215.     }
  1216.     if($thisp < $totalRows)
  1217.     {
  1218.         if($formSubmit == '0')
  1219.             echo '<li style="float:left;"><a href="'.$page_name.'?start='.$next.$txtlqry.'" class="prn" rel="nofollow">>></a></li>';
  1220.         else if($formSubmit == '1')
  1221.         { ?>
  1222.             <li style="float:left;"><a class="prn" rel="nofollow" href="JavaScript:void(0);" onclick="document.getElementById('start').value = <? echo $next; ?>;
  1223.             document.getElementById('<? echo $frmName; ?>').submit();">>></a></li>
  1224.         <?
  1225.         }
  1226.     }
  1227.     else
  1228.         echo '<li style="float:left;"><a href="JavaScript:void(0);">>></a></li>';
  1229.     if($totalRows > 0)
  1230.         echo '<br /><br /><div id="total_count"><b>(Total '.$totalRows.' results)<b></div>';
  1231.     echo '</ul>';
  1232. }
  1233. function roundMe($value)
  1234. {
  1235.     if($value != '')
  1236.         return number_format($value, 2, '.', '');
  1237.     else
  1238.         return '0.00';
  1239. }
  1240. function decodeHTML($str)
  1241. {
  1242.     return htmlspecialchars_decode($str);
  1243. }
  1244. function replaceBRTag($str)
  1245. {
  1246.     return str_replace('<br />', "", $str);
  1247. }
  1248. function fillTheCList($parentId, $level) //completely expand category tree
  1249. {
  1250.     $q = mysqli_query("SELECT CategoryId, Category, ParentCategoryId FROM tbl_gf_sc_category WHERE CategoryId<>0 and ParentCategoryId=$parentId ORDER BY Category") or die('Error!');
  1251.     $a = array(); //parents
  1252.     while ($row = mysqli_fetch_array($q))
  1253.     {
  1254.         $row[3] = $level;
  1255.         $a[] = $row;
  1256.         //process subcategories
  1257.         $b = fillTheCList($row[0], $level+1);
  1258.         //add $b[] to the end of $a[]
  1259.         for ($j=0; $j<count($b); $j++)
  1260.         {
  1261.             $a[] = $b[$j];
  1262.         }
  1263.     }
  1264.     return $a;
  1265. } //fillTheCList
  1266. function getTicketBGColor($oStatusId)
  1267. {
  1268.     $strBGColor = '';
  1269.     switch($oStatusId)
  1270.     {
  1271.         case '1';
  1272.             $strBGColor = 'style="background-color:#FFFFC0; color:#000000;"';
  1273.             break;
  1274.         case '2';
  1275.             $strBGColor = 'style="background-color:#CCCCCC; color:#000000;"';
  1276.             break;
  1277.         case '3';
  1278.             $strBGColor = 'style="background-color:#FFCF7F; color:#000000;"';
  1279.             break;
  1280.         case '4';
  1281.             $strBGColor = 'style="background-color:#F35959; color:#FFFFFF;"';
  1282.             break;
  1283.     }
  1284.     return $strBGColor;
  1285. }
  1286. function getOrderBGColor($oStatusId)
  1287. {
  1288.     $strBGColor = '';
  1289.     switch($oStatusId)
  1290.     {
  1291.         case '1';
  1292.             $strBGColor = 'style="background-color:#F0AD4E; color:#FFFFFF;"';
  1293.             break;
  1294.         case '2';
  1295.             $strBGColor = 'style="background-color:#1D943B; color:#FFFFFF;"';
  1296.             break;
  1297.         case '3';
  1298.             $strBGColor = 'style="background-color:#BB2413; color:#FFFFFF;"';
  1299.             break;
  1300.         case '4';
  1301.             $strBGColor = 'style="background-color:#F0AD4E; color:#FFFFFF;"';
  1302.             break;
  1303.     }
  1304.     return $strBGColor;
  1305. }
  1306. function getStatusBGColor($oStatusId)
  1307. {
  1308.     $strBGColor = '';
  1309.     switch($oStatusId)
  1310.     {
  1311.         case '1';
  1312.             $strBGColor = 'blue';
  1313.             break;
  1314.         case '2';
  1315.             $strBGColor = 'green';
  1316.             break;
  1317.         case '3';
  1318.             $strBGColor = 'red';
  1319.             break;
  1320.         case '4';
  1321.             $strBGColor = 'orange';
  1322.             break;
  1323.     }
  1324.     return $strBGColor;
  1325. }
  1326. function getPaymentBGColor($pStatusId)
  1327. {
  1328.     $strBGColor = '';
  1329.     switch($pStatusId)
  1330.     {
  1331.         case '1';
  1332.             $strBGColor = 'style="background-color:#BB2413; color:#FFFFFF; font-size:15px;"';
  1333.             break;
  1334.         case '2';
  1335.             $strBGColor = 'style="background-color:#1D943B; color:#FFFFFF; font-size:15px;"';
  1336.             break;
  1337.     }
  1338.     return $strBGColor;
  1339. }
  1340. function xmltest($xml)
  1341. {
  1342.     $arr = array();
  1343.    
  1344.     foreach($xml as $element)
  1345.     {
  1346.         $arr[$element->getName()]=array();
  1347.         foreach($element->attributes() as $key=>$value)
  1348.         {
  1349.             $arr[$element->getName()][$key]=(string)$value;
  1350.         }
  1351.         foreach($element as $key=>$value)
  1352.         {
  1353.             $arr[$element->getName()][$key]=array();       
  1354.             if(!$value->children() && (!empty($value)))
  1355.             {
  1356.             $arr[$element->getName()][$key]=(string)$value;
  1357.             }
  1358.         }
  1359.     }
  1360.     return $arr;
  1361. }
  1362. function convertPostToArray()
  1363. {
  1364.     static $post;
  1365.     if (!isset($post))
  1366.     {
  1367.         $pairs = explode("&", file_get_contents("php://input"));
  1368.         $post = array();
  1369.         foreach ($pairs as $pair)
  1370.         {
  1371.             $x = explode("=", $pair);
  1372.             $post[rawurldecode($x[0])] = rawurldecode($x[1]);
  1373.         }
  1374.     }
  1375.     return $post;
  1376. }
  1377. function imeiOrderRefunded($orderId, $objDBCD14)
  1378. {
  1379.     $row = $objDBCD14->queryUniqueObject("SELECT Refunded FROM tbl_gf_codes WHERE CodeId = '$orderId'");       
  1380.     return $row->Refunded;
  1381. }
  1382. function fileOrderRefunded($orderId, $objDBCD14)
  1383. {
  1384.     $row = $objDBCD14->queryUniqueObject("SELECT Refunded FROM tbl_gf_codes_slbf WHERE CodeId = '$orderId'");      
  1385.     return $row->Refunded;
  1386. }
  1387. function serverOrderRefunded($orderId, $objDBCD14)
  1388. {
  1389.     $row = $objDBCD14->queryUniqueObject("SELECT Refunded FROM tbl_gf_log_requests WHERE LogRequestId = '$orderId'");      
  1390.     return $row->Refunded;
  1391. }
  1392. function refundIMEICredits($userId, $orderId, $imei, $packTitle, $currDtTm, $packageId, $amountToRefund, $byAdmin, $objDBCD14, $crypt = '', $comments = '')
  1393. {
  1394.     if(!is_object($crypt))
  1395.     {
  1396.         require_once("include/php/crypt.php");
  1397.         $crypt = new crypt;
  1398.     }
  1399.     $crypt->crypt_key($userId);
  1400.     if($amountToRefund > 0)
  1401.     {
  1402.         $points = 0;
  1403.         $row = $objDBCD14->queryUniqueObject("SELECT Credits FROM tbl_gf_users WHERE UserId = '$userId'");
  1404.         if (isset($row->Credits) && $row->Credits != '')
  1405.             $points = $row->Credits;   
  1406.  
  1407.         $dec_points = $crypt->decrypt($points);
  1408.         $dec_points += $amountToRefund;
  1409.         $enc_points = $crypt->encrypt($dec_points);
  1410.         $objDBCD14->execute("UPDATE tbl_gf_users SET Credits = '$enc_points' WHERE UserId = '$userId'");
  1411.        
  1412.         $objDBCD14->execute("INSERT INTO tbl_gf_credit_history SET ByAdmin = '$byAdmin', UserId = '$userId', Credits = '$amountToRefund',
  1413.                 Description = 'Credits Refunded, IMEI Order Rejected for $packTitle', IMEINo = '$imei', HistoryDtTm = '$currDtTm',
  1414.                 CreditsLeft = '$enc_points', PackageId = '$packageId', Comments = '$comments'");
  1415.     }
  1416.     return $dec_points;
  1417. }
  1418. function rebateIMEICredits($userId, $orderId, $imei, $packTitle, $currDtTm, $packageId, $amount, $byAdmin, $objDBCD14)
  1419. {
  1420.     require_once("include/php/crypt.php");
  1421.     $crypt = new crypt;
  1422.     $crypt->crypt_key($userId);
  1423.     if($amount > 0)
  1424.     {
  1425.         $points = 0;
  1426.         $row = $objDBCD14->queryUniqueObject("SELECT Credits FROM tbl_gf_users WHERE UserId = '$userId'");
  1427.         if (isset($row->Credits) && $row->Credits != '')
  1428.             $points = $row->Credits;   
  1429.  
  1430.         $dec_points = $crypt->decrypt($points);
  1431.         $dec_points -= $amount;
  1432.         $enc_points = $crypt->encrypt($dec_points);
  1433.         $objDBCD14->execute("UPDATE tbl_gf_users SET Credits = '$enc_points' WHERE UserId = '$userId'");
  1434.        
  1435.         $objDBCD14->execute("INSERT INTO tbl_gf_credit_history SET ByAdmin = '$byAdmin', UserId = '$userId', Credits = '$amount',
  1436.                 Description = 'Credits Rebated - IMEI Order for $packTitle', IMEINo = '$imei', HistoryDtTm = '$currDtTm',
  1437.                 CreditsLeft = '$enc_points', PackageId = '$packageId'");
  1438.     }
  1439. }
  1440.  
  1441. function refundFileCredits($userId, $orderId, $imei, $packTitle, $currDtTm, $packageId, $amountToRefund, $byAdmin, $objDBCD14, $crypt = '', $comments = '')
  1442. {
  1443.     if(!is_object($crypt))
  1444.     {
  1445.         require_once("include/php/crypt.php");
  1446.         $crypt = new crypt;
  1447.     }
  1448.     $crypt->crypt_key($userId);
  1449.     if($amountToRefund > 0)
  1450.     {
  1451.         $points = 0;
  1452.         $row = $objDBCD14->queryUniqueObject("SELECT Credits FROM tbl_gf_users WHERE UserId = '$userId'");
  1453.         if (isset($row->Credits) && $row->Credits != '')
  1454.             $points = $row->Credits;   
  1455.  
  1456.         $dec_points = $crypt->decrypt($points);
  1457.         $dec_points += $amountToRefund;
  1458.         $enc_points = $crypt->encrypt($dec_points);
  1459.         $objDBCD14->execute("UPDATE tbl_gf_users SET Credits = '$enc_points' WHERE UserId = '$userId'");
  1460.        
  1461.         $objDBCD14->execute("INSERT INTO tbl_gf_credit_history SET ByAdmin = '$byAdmin', UserId = '$userId', Credits = '$amountToRefund',
  1462.                 Description = 'Credits Refunded, File Order Rejected for $packTitle', IMEINo = '$imei', HistoryDtTm = '$currDtTm',
  1463.                 CreditsLeft = '$enc_points', PackageId = '$packageId', Comments = '$comments'");
  1464.     }
  1465.     return $dec_points;
  1466. }
  1467. function rebateFileCredits($userId, $orderId, $imei, $packTitle, $currDtTm, $packageId, $amount, $byAdmin, $objDBCD14)
  1468. {
  1469.     require_once("include/php/crypt.php");
  1470.     $crypt = new crypt;
  1471.     $crypt->crypt_key($userId);
  1472.     if($amount > 0)
  1473.     {
  1474.         $points = 0;
  1475.         $row = $objDBCD14->queryUniqueObject("SELECT Credits FROM tbl_gf_users WHERE UserId = '$userId'");
  1476.         if (isset($row->Credits) && $row->Credits != '')
  1477.             $points = $row->Credits;   
  1478.  
  1479.         $dec_points = $crypt->decrypt($points);
  1480.         $dec_points -= $amount;
  1481.         $enc_points = $crypt->encrypt($dec_points);
  1482.         $objDBCD14->execute("UPDATE tbl_gf_users SET Credits = '$enc_points' WHERE UserId = '$userId'");
  1483.        
  1484.         $objDBCD14->execute("INSERT INTO tbl_gf_credit_history SET ByAdmin = '$byAdmin', UserId = '$userId', Credits = '$amount',
  1485.                 Description = 'Credits Rebated - File Order for $packTitle', IMEINo = '$imei', HistoryDtTm = '$currDtTm',
  1486.                 CreditsLeft = '$enc_points', PackageId = '$packageId'");
  1487.     }
  1488. }
  1489.  
  1490. function refundServerCredits($userId, $orderId, $packTitle, $currDtTm, $amountToRefund, $byAdmin, $objDBCD14, $crypt = '', $comments = '')
  1491. {
  1492.     if(!is_object($crypt))
  1493.     {
  1494.         require_once("include/php/crypt.php");
  1495.         $crypt = new crypt;
  1496.     }
  1497.     $crypt->crypt_key($userId);
  1498.     if($amountToRefund > 0)
  1499.     {
  1500.         $points = 0;
  1501.         $row = $objDBCD14->queryUniqueObject("SELECT Credits FROM tbl_gf_users WHERE UserId = '$userId'");
  1502.         if (isset($row->Credits) && $row->Credits != '')
  1503.             $points = $row->Credits;   
  1504.  
  1505.         $dec_points = $crypt->decrypt($points);
  1506.         $dec_points += $amountToRefund;
  1507.         $enc_points = $crypt->encrypt($dec_points);
  1508.         $objDBCD14->execute("UPDATE tbl_gf_users SET Credits = '$enc_points' WHERE UserId = '$userId'");
  1509.        
  1510.         $objDBCD14->execute("INSERT INTO tbl_gf_credit_history SET ByAdmin = '$byAdmin', UserId = '$userId', Credits = '$amountToRefund',
  1511.                 Description = 'Credits Refunded, Server Order Rejected for $packTitle', HistoryDtTm = '$currDtTm', CreditsLeft = '$enc_points',
  1512.                 LogRequestId = '$orderId', Comments = '$comments'");
  1513.     }
  1514.     return $dec_points;
  1515. }
  1516. function rebateServerCredits($userId, $orderId, $packTitle, $currDtTm, $amount, $byAdmin, $objDBCD14)
  1517. {
  1518.     require_once("include/php/crypt.php");
  1519.     $crypt = new crypt;
  1520.     $crypt->crypt_key($userId);
  1521.     if($amount > 0)
  1522.     {
  1523.         $points = 0;
  1524.         $row = $objDBCD14->queryUniqueObject("SELECT Credits FROM tbl_gf_users WHERE UserId = '$userId'");
  1525.         if (isset($row->Credits) && $row->Credits != '')
  1526.             $points = $row->Credits;   
  1527.  
  1528.         $dec_points = $crypt->decrypt($points);
  1529.         $dec_points -= $amount;
  1530.         $enc_points = $crypt->encrypt($dec_points);
  1531.         $objDBCD14->execute("UPDATE tbl_gf_users SET Credits = '$enc_points' WHERE UserId = '$userId'");
  1532.  
  1533.         $objDBCD14->execute("INSERT INTO tbl_gf_credit_history SET ByAdmin = '$byAdmin', UserId = '$userId', Credits = '$amountToRefund',
  1534.                 Description = 'Credits Rebated, Server Order for $packTitle', HistoryDtTm = '$currDtTm', CreditsLeft = '$enc_points',
  1535.                 LogRequestId = '$orderId'");
  1536.     }
  1537. }
  1538. function sendOrderEmail($colName, $objDBCD14)
  1539. {
  1540.     $row = $objDBCD14->queryUniqueObject("SELECT $colName FROM tbl_gf_email_settings WHERE Id = 1");
  1541.     return $row->$colName; 
  1542. }
  1543. function trimCode($code)
  1544. {
  1545.     $arr = explode('Download Your report', $code);
  1546.     if(isset($arr[0]))
  1547.         $code = $arr[0];
  1548.     return $code;
  1549. }
  1550. function checkAndSendSMS($userPhone, $adminPhone, $templateId, $name, $service, $imei, $code, $orderDt, $notes = '', $objDBCD14)
  1551. {
  1552.     $row = $objDBCD14->queryUniqueObject("SELECT SMSGatewayId, Username, Password FROM tbl_gf_sms_gateways WHERE DisableSMSGateway = 0");
  1553.     if (isset($row->SMSGatewayId) && $row->SMSGatewayId != '' && $row->Username != '')
  1554.     {
  1555.         $userPhone = str_replace(' ', '', $userPhone);
  1556.         $userPhone = str_replace('-', '', $userPhone);
  1557.    
  1558.         $adminPhone = str_replace(' ', '', $adminPhone);
  1559.         $adminPhone = str_replace('-', '', $adminPhone);
  1560.    
  1561.         $contents = getSMSContents($templateId, $objDBCD14);
  1562.         if($contents != '')
  1563.         {
  1564.             $placeholders  = array("#CUSTOMER_NAME#", "#SERVICE_NAME#", "#IMEI_NO#", "#DETAILS#", "#ORDER_DATE#", '#NOTES#');
  1565.             $replacedData = array($name, $service, $imei, $code, $orderDt, $notes);
  1566.             $smsMsg = str_replace($placeholders, $replacedData, $contents);
  1567.             sendSMS($row->SMSGatewayId, $row->Username, $row->Password, $smsMsg, $userPhone, $adminPhone);
  1568.         }
  1569.     }
  1570. }
  1571. function getSMSContents($id, $objDBCD14)
  1572. {
  1573.     $contents = '';
  1574.     $row = $objDBCD14->queryUniqueObject("SELECT Contents FROM tbl_gf_sms_templates WHERE TemplateId = '$id'");
  1575.     if (isset($row->Contents) && $row->Contents != '')
  1576.     {
  1577.         $contents = stripslashes($row->Contents);
  1578.     }
  1579.     return $contents;
  1580. }
  1581. function sendSMS($smsGatewayId, $userName, $password, $smsMsg, $userPhone, $adminPhone)
  1582. {
  1583.     switch($smsGatewayId)
  1584.     {
  1585.         case '1':
  1586.             include_once 'apis_sms/infobip.com/api.php';
  1587.             $obj = new infoBipSMS;
  1588.             $obj->send_sms_infobip($adminPhone, $userPhone, $smsMsg, $userName, $password);
  1589.             break;
  1590.     }
  1591.    
  1592. }
  1593. function convertCredits($credits, $currencyId, $objDBCD14)
  1594. {
  1595.     $rate = 1;
  1596.     $row = $objDBCD14->queryUniqueObject("SELECT ConversionRate FROM tbl_gf_currency WHERE CurrencyId = '$currencyId'");
  1597.     if (isset($row->ConversionRate) && $row->ConversionRate != '')
  1598.     {
  1599.         $rate = $row->ConversionRate;
  1600.     }
  1601.     return roundMe($credits * $rate);
  1602. }
  1603. function userStatusEmail($userId, $objDBCD14)
  1604. {
  1605.     $rwUN = $objDBCD14->queryUniqueObject("SELECT CONCAT(FirstName, '', LastName) AS UName, UserEmail, DisableUser FROM tbl_gf_users WHERE UserId = '$userId'");
  1606.     if (isset($rwUN->DisableUser) && $rwUN->DisableUser != '')
  1607.     {
  1608.         $name = $rwUN->UName;
  1609.         $dUser = $rwUN->DisableUser;
  1610.         $email = $rwUN->UserEmail;
  1611.     }
  1612.     $arr = getEmailDetails($objDBCD14);
  1613.     list($subject, $contents, $sendCopy) = getEmailContents($dUser == '1' ? '22' : '21', $objDBCD14);
  1614.     $placeholders  = array("#CUSTOMER_NAME#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#LOGIN_LINK#");
  1615.     $replacedData = array($name, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>',
  1616.                     '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>', '<a href="http://'.$arr[3].'/login.php">http://'.$arr[3].'/login.php</a>');
  1617.     $subject = str_replace($placeholders, $replacedData, $subject);
  1618.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  1619.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  1620. }
  1621. function registrationEmail($email, $name, $ip, $userId, $uName, $allowUserToLogin, $objDBCD14)
  1622. {
  1623.     $arr = getEmailDetails($objDBCD14);
  1624.     list($subject, $contents, $sendCopy) = getEmailContents($allowUserToLogin == '1' ? '1' : '23', $objDBCD14);
  1625.     $placeholders  = array("#CUSTOMER_NAME#", "#IP#", "#COMPANY_NAME#", "#COMPANY_EMAIL_ADDRESS#", "#ACTIVATION_LINK#");
  1626.     $replacedData = array($name, $ip, stripslashes($arr[2]), '<a href="mailto:'.$arr[1].'">'.$arr[1].'</a>',
  1627.     '<a href="http://'.$arr[3].'/activateclient.php?tkn1='.urlsafe_b64encode($userId).'&tkn2='.urlsafe_b64encode($uName).'">http://'.$arr[3].'/activateclient.php?tkn1='.urlsafe_b64encode($userId).'&tkn2='.urlsafe_b64encode($uName).'</a>');
  1628.     $subject = str_replace($placeholders, $replacedData, $subject);
  1629.     $emailMsg = str_replace($placeholders, $replacedData, $contents);
  1630.     sendMail($email, $arr[0], $arr[1], $subject, $emailMsg, $sendCopy == '1' ? $arr[1] : '');
  1631. }
  1632. function getRealUserIp()
  1633. {
  1634.     switch(true)
  1635.     {
  1636.         case (!empty($_SERVER['HTTP_X_REAL_IP'])) : return $_SERVER['HTTP_X_REAL_IP'];
  1637.         case (!empty($_SERVER['HTTP_CLIENT_IP'])) : return $_SERVER['HTTP_CLIENT_IP'];
  1638.         case (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) : return $_SERVER['HTTP_X_FORWARDED_FOR'];
  1639.         default : return $_SERVER['REMOTE_ADDR'];
  1640.     }
  1641. }
  1642. ?>
Add Comment
Please, Sign In to add comment