Jump to content

Custom Addon Won't Work With WHMCS


Trax

Recommended Posts

I know this is a shot in the dark.

 

I am using a custom addon that won't work with whmcs 6, it's pretty straightforward and basically checks hosted sites for a certain html code and returns with a list of site that does or doesn't have the code installed, the sites the do not have the code should be terminated be the module but this is not happening.

 

Here's the code and any help would be much appreciated.

 

<?php

if (!defined("WHMCS"))
   die("This file cannot be accessed directly");

/**
* get "need banner" hosting types list
* */
function _bannersforfree_get_banner_hosting_list2() {
   $db_result = full_query("SELECT b.*, h.name as hosting_name FROM `mod_banners_hosting_types` as b LEFT JOIN `tblproducts` h ON b.hid = h.id WHERE h.type='hostingaccount' ORDER BY `id` DESC");
   $result_array = array();
   while ($row = mysql_fetch_array($db_result, MYSQL_ASSOC)) {
       $result_array[] = $row;
   }
   return $result_array;
}

/**
* get hosting data by order id
* */
function _bannersforfree_get_hosting_data_by_order_id($order_id = 0) {
   $db_result = full_query("SELECT * FROM `tblhosting` WHERE orderid='$order_id' LIMIT 1");
   $result_array = array();
   while ($row = mysql_fetch_array($db_result, MYSQL_ASSOC)) {
       $result_array = $row;
       return $result_array;
   }
   return false;
}

/**
* get free hosting users list counter
* */
function _bannersforfree_get_hosting_user_counter2($free_package_ids) {
   $ids = join(',', $free_package_ids);
   $db_result = full_query("SELECT count(*) as counter FROM `tblhosting` WHERE packageid IN ($ids) AND domainstatus = 'Active' ORDER BY `id`");
   $result_row = array();
   while ($row = mysql_fetch_array($db_result, MYSQL_ASSOC)) {
       $result_row = $row;
       return $result_row['counter'];
       break;
   }
   return 0;
}

/**
* get free hosting users list
* */
function _bannersforfree_get_hosting_users2($free_package_ids, $start_from, $page_size) {
   $ids = join(',', $free_package_ids);
   $db_result = full_query("SELECT * FROM `tblhosting` WHERE packageid IN ($ids) AND domainstatus = 'Active' ORDER BY  `id` LIMIT  $start_from, $page_size");
   $result_array = array();
   while ($row = mysql_fetch_array($db_result, MYSQL_ASSOC)) {
       $result_array[] = $row;
   }
   return $result_array;
}

/**
* Update banner
* */
function _bannersforfree_update_hosting($id, $status, $suspendedto) {
   return full_query("UPDATE `tblhosting` SET `domainstatus` = '$status', `overidesuspenduntil` = '$suspendedto'  WHERE `id` = '$id' ");
}

/**
* Get banners
* */
function _bannersforfree_get_banners2() {
   $db_result = full_query("SELECT * FROM `mod_banners_banners` ORDER BY `id` DESC");
   $result_array = array();
   while ($row = mysql_fetch_array($db_result, MYSQL_ASSOC)) {
       $result_array[] = $row;
   }
   return $result_array;
}

/**
* set setting value by slug
* */
function _bannersforfree_set_setting2($slug, $value = '') {
   return full_query("UPDATE `mod_banners_config` SET `value`='" . $value . "' WHERE `slug` = '" . $slug . "' LIMIT 1");
}

/**
* Get setting value by slug
* */
function _bannersforfree_get_setting2($slug = '') {
   $db_result = full_query("SELECT * FROM `mod_banners_config` WHERE `slug` = '" . $slug . "' LIMIT 1");
   $result = false;
   while ($row = mysql_fetch_array($db_result, MYSQL_ASSOC)) {
       $result = $row;
       break;
   }
   return $result;
}

/**
* Get user
* */
function _bannersforfree_get_user($uid) {
   $db_result = full_query("SELECT * FROM `tblclients` WHERE `id` = '$uid' LIMIT 1");
   $result = false;
   while ($row = mysql_fetch_array($db_result, MYSQL_ASSOC)) {
       $result = $row;
       break;
   }
   return $result;
}

/**
* Get email template
* */
function _bannersforfree_get_email_template_by_name($name) {
   $db_result = full_query("SELECT * FROM `tblemailtemplates` WHERE `name` = '$name' LIMIT 1");
   $result = false;
   while ($row = mysql_fetch_array($db_result, MYSQL_ASSOC)) {
       $result = $row;
       break;
   }
   return $result;
}

/**
* Sending curl post
* */
function _curl_post_sender($postfields) {
//    Get website URL

   $table = "tblconfiguration";
   $fields = "value";
   $where = array("setting" => "SystemURL");
   $result = select_query($table, $fields, $where);
   $urldata = mysql_fetch_assoc($result);
   $url = $urldata['value'] . 'includes/api.php';

//    Get username and pass to use in api
   $table = "tbladmins";
   $fields = "id,username,password";
   $where = '';
   $result = select_query($table, $fields, $where);
   $data = mysql_fetch_assoc($result);
   $postfields["username"] = $data['username'];
   $postfields["password"] = $data['password'];

   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $url);
   curl_setopt($ch, CURLOPT_POST, 1);
   curl_setopt($ch, CURLOPT_TIMEOUT, 100);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
   $data = curl_exec($ch);
   curl_close($ch);
   return $data;
}

/**
* Make domain suspended
* */
function _suspend_domain($domain_id) {
   $postfields["action"] = "modulesuspend";
   $postfields["accountid"] = $domain_id;

   _curl_post_sender($postfields);
}

/**
* Mail sending
* */
function _bannersforfree_mail($uid) {
   error_reporting(E_ALL);
   $query = full_query("SELECT value FROM `mod_banners_config` WHERE `slug` = 'cron_email_tpl' LIMIT 1");
   $templateid = mysql_fetch_assoc($query);
   $table = "tblemailtemplates";
   $fields = "name";
   $where = array("id" => $templateid['value']);
   $result = select_query($table, $fields, $where);
   $data = mysql_fetch_assoc($result);
   $postfields["messagename"] = $data['name'];
   $postfields["action"] = "sendemail";
   $postfields["id"] = $uid;
   _curl_post_sender($postfields);
}

/**
* Banners cron process
* */
function _bannersforfree_cron() {
   echo "<b>Start checking free hostings</b><br />";
   # getting cron settings
   $cron_limit_array = _bannersforfree_get_setting2('cron_limit');
   $cron_last_id_array = _bannersforfree_get_setting2('cron_last_id');
   $cron_limit = $cron_limit_array['value'];
   $cron_last_id = $cron_last_id_array['value'];

   if (!$cron_limit) {
       $cron_limit = 100;
   }
   if (!$cron_last_id) {
       $cron_last_id = 0;
   }

   echo "<i>Getting settings</i>";
   echo "<i>( limit = $cron_limit, start from row# $cron_last_id)</i><br />";

   # getting free hosting types
   $free_hosting_types = _bannersforfree_get_banner_hosting_list2();
   $free_ids = array();
   foreach ($free_hosting_types as $hosting_free) {
       $free_ids[] = $hosting_free['hid'];
   }
   $free_hostings_list = _bannersforfree_get_hosting_users2($free_ids, $cron_last_id, $cron_limit);
   $free_hosting_counter = _bannersforfree_get_hosting_user_counter2($free_ids);
   echo "<i>Getting hosting list...</i><br />";
   # save hosting pointer
   if (($cron_limit + $cron_last_id) < $free_hosting_counter) {
       _bannersforfree_set_setting2('cron_last_id', $cron_limit + $cron_last_id);
   } else {
       _bannersforfree_set_setting2('cron_last_id', 0);
   }

   # checking websites
   $banners = _bannersforfree_get_banners2();
   if (!empty($free_hostings_list)) {
       foreach ($free_hostings_list as $hosting) {
           $url = $hosting['domain'];
           echo "Checking <b>$url</b> html<br />";
           # getting hosting website html
           $ch = curl_init($url);
           curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
           curl_setopt($ch, CURLOPT_HEADER, 0);
           $website_html = curl_exec($ch);
           curl_close($ch);
           # compare website html with banners html
           $banner_founded = false;
           foreach ($banners as $banner) {
               $banner_html = htmlspecialchars_decode($banner['html']);
               if (strpos($website_html, $banner_html) !== false) {
                   $banner_founded = true;
                   break;
               }
           }
           # changing hosting status if banner not found
           if (!$banner_founded) {
               //_bannersforfree_update_hosting($hosting['id'], 'Suspended', date("Y-m-d", time() + 60*60*24*3 )); // suspended for 3 days
               _suspend_domain($hosting['id']);
               _bannersforfree_mail($hosting['userid']);
               echo "<i style='color:red'>AD not found</i><br />";
           } else {
               echo "<i style='color:green'>AD found</i><br />";
           }
       }
   }

   die('<b>done</b>');
}

/**
* Hook running before checkout complete page shows
* */
function bannersforfree_hook1($vars) {
   $order_id = $vars['orderid'];
   $free_hosting_types = _bannersforfree_get_banner_hosting_list2();
   $free_ids = array();
   foreach ($free_hosting_types as $hosting_free) {
       $free_ids[] = $hosting_free['hid'];
   }

   $current_hosting = _bannersforfree_get_hosting_data_by_order_id($order_id);
   # if hosting type "may have banner"
   if (in_array($current_hosting['packageid'], $free_ids)) {
       # redirect to the banners list
       header("Location: index.php?m=bannersforfree&ordernumber=" . $vars['ordernumber']);
   }
}

if (isset($_GET['action'])) {
   # banners list on product details page
   if ($_GET['action'] == "productdetails") {
       $product_id = (int) $_GET['id'];
       $current_hosting = _bannersforfree_get_hosting_data_by_order_id($product_id);

       $free_hostings_array = _bannersforfree_get_banner_hosting_list2();
       $free_ids = array();
       foreach ($free_hostings_array as $hosting_free) {
           $free_ids[] = $hosting_free['hid'];
       }

       if (in_array($current_hosting['packageid'], $free_ids)) {
           $_LANG['freehosting'] = 1;
       } else {
           $_LANG['freehosting'] = 0;
       }

       $banners_list = _bannersforfree_get_banners2();
       $output = "<table class='datatable' width='100%' cellspacing='3' cellpadding='3' border='0'>";
       $output .= "<tr><th>View</th><th>Code</th></tr>";
       foreach ($banners_list as $banner) {
           $b_id = $banner['id'];
           $output .= "<tr>";
           $output .= "<td>";
           $output .= "<div style='width:300px;overflow:auto'>" . htmlspecialchars_decode($banner['html']) . "</div>";
           $output .= "</td>";
           $output .= "<td>";
           $output .= '<textarea cols="40" rows="12" name="banners[' . $b_id . ']">' . $banner['html'] . '</textarea>';
           $output .= "</td>";
           $output .= "</tr>";
       }
       $output .= "</table>";
       $_LANG['bannerslist'] = $output;
   }
   # banners cron
   if ($_GET['action'] == "bannerscron") {
       _bannersforfree_cron();
   }
}

add_hook("ShoppingCartCheckoutCompletePage", 1, "bannersforfree_hook1");
?>

 

- - - Updated - - -

 

There's also this file and thats all there is to the addon.

 

<?php

if (!defined("WHMCS"))
die("This file cannot be accessed directly");

/**
* Addon config hook
**/
function bannersforfree_config() {
   $configarray = array(
     "name" => "for Hosting",
     "description" => "",
     "version" => "1.1",
     "author" => "",
     "language" => "english",
   );
   return $configarray;
}

/**
* Plugin activation hook
**/
function bannersforfree_activate(){
 $query = 
     "CREATE TABLE IF NOT EXISTS `mod_banners_banners` (
       `id` INT NOT NULL AUTO_INCREMENT, 
       `html` TEXT NOT NULL,
       PRIMARY KEY ( `id` ))";
$result1 = full_query($query);

$query = 
     "CREATE TABLE IF NOT EXISTS `mod_banners_config` (
       `id` INT NOT NULL AUTO_INCREMENT, 
       `slug` VARCHAR (255) NOT NULL,
       `value` VARCHAR (255) NOT NULL,
      PRIMARY KEY ( `id` ))";
$result2 = full_query($query);

$query = 
     "CREATE TABLE IF NOT EXISTS `mod_banners_hosting_types` (
       `id` INT NOT NULL AUTO_INCREMENT, 
       `hid` INT NOT NULL,
       PRIMARY KEY ( `id` ))";
$result3 = full_query($query);

# set default value for cron limit
$query = "INSERT INTO `mod_banners_config` VALUES (NULL, 'cron_limit', '100')";
$result4 = full_query($query);

$query = "INSERT INTO `mod_banners_config` VALUES (NULL, 'cron_last_id', '0')";
$result5 = full_query($query);

$query = "INSERT INTO `mod_banners_config` VALUES (NULL, 'cron_email_tpl', '56')";
$result6 = full_query($query);

if(!$result1 || !$result2 || !$result3 || !$result4 || !$result5 || !$result6){
    return array('status'=>'error', 'description'=>'There was an error occurred on addon activation');
   }
   else{
    return array('status'=>'success', 'description'=>'"Forced Ads for Hosting" addon activated successfully');
   }
}

/**
* Addon deactivation hook
**/
function bannersforfree_deactivate() {
   $query = "DROP TABLE IF EXISTS `mod_banners_banners`";
$result1 = full_query($query);

$query = "DROP TABLE IF EXISTS `mod_banners_config`";
$result2 = full_query($query);

$query = "DROP TABLE IF EXISTS `mod_banners_hosting_types`";
$result3 = full_query($query);

   if(!$result1 || !$result2 || !$result3){
    return array('status'=>'error', 'description'=>'There was an error occurred on addon deactivation');
   }
   else{
    return array('status'=>'success', 'description'=>'"Forced Ads for Hosting"  addon deactivated successfully');
   }
}

function bannersforfree_clientarea($vars){
 if(isset($_GET['ordernumber'])){
$ordernumber = $_GET['ordernumber'];  
 }
 else{
  $ordernumber = 0;
 }

 $banners_list = _bannersforfree_get_banners();
 foreach($banners_list as $key => $banner){
  $banners_list[$key] = htmlspecialchars_decode( $banners_list[$key]['html'] );
 }

 $LANG = $vars['_lang'];

 return array(
       'pagetitle' => 'Banners list',
       'breadcrumb' => array('index.php?m=bannersforfree'=>'Banners list'),
       'templatefile' => 'clientbannerslist',
       'requirelogin' => true, # or false
       'vars' => array(
           'ordernumber' => $ordernumber,
           'banners' => $banners_list,
           'text' => $vars['_lang'],
       ),
   );

}

/**
* Addon's admin-sde page
**/
function bannersforfree_output(){
 # saving data
 if(!empty($_POST)){
   # add new banner
   if(isset($_POST['newbanner'])){
     $new_banner_html = trim( $_POST['newbanner'] );
     _bannersforfree_add_banner($new_banner_html);
   }
   # update banner
   if(isset($_POST['banners'])){
    if(!empty($_POST['banners'])){
	    foreach($_POST['banners'] as $b_id => $b_html){
	      _bannersforfree_update_banner($b_id, $b_html);
	    }
    }
   }
   # remove banner
   if(isset($_POST['banners'])){
    if(!empty($_POST['banners'])){
	    foreach($_POST['deletebanners'] as $b_id => $flag){
	      _bannersforfree_remove_banner($b_id);
	    }
    }
   }
   # new "must have banner" hosting
   if(isset($_POST['newhosting'])){
    $hosting_id = (int)$_POST['newhosting'];
    _bannersforfree_add_banner_hosting($hosting_id);
   }
   # delete hosting from "must have banner" list
   if(isset($_POST['deletehosting'])){
    if(!empty($_POST['deletehosting'])){
	    foreach($_POST['deletehosting'] as $h_id => $flag){
	      _bannersforfree_remove_banner_hosting($h_id);
	    }
    }
   }
   # set cron limit
   if(isset($_POST['settings'])){
      if(!empty($_POST['settings'])){
       foreach($_POST['settings'] as $slug => $value){
	      _bannersforfree_set_setting($slug, $value); 
       }
      }
   }
 }

# new banner form
$output = '<form action="addonmodules.php?module=bannersforfree" method="post">';
$output .= '<textarea style="width:100%; height:80px" name="newbanner">Place the HTML code of the AD</textarea><br /><br />';
$output .= '<input type="submit" class="btn btn-success" value="Add New AD" name="msave_bannersforfree" />';
$output .= '</form>';

 # banners list
 $output .= '<br><h2 style="border-bottom: 1px dashed #CCCCCC;font-weight: bold;padding-bottom: 10px;">ADS list</h3>';
 # getting banners list
 $banners_list = _bannersforfree_get_banners();
 if(!empty($banners_list)){
     $output .= '<form action="addonmodules.php?module=bannersforfree" method="post">';
     $output .= "<table class='datatable' width='100%' cellspacing='3' cellpadding='3' border='0'>";
     $output .= "<tr><th>Delete</th><th>View</th><th>Code</th></tr>";
  foreach($banners_list as $banner){
      $b_id = $banner['id'];
	  $output .= "<tr>";
	    $output .= "<td>";
	      $output .= "<input type='checkbox' value='1' name='deletebanners[$b_id]' />";
	    $output .= "</td>";
	    $output .= "<td>";
	      $output .= "<div style='width:100%;'>".htmlspecialchars_decode($banner['html'])."</div>";
	    $output .= "</td>";
	    $output .= "<td>";
	      $output .= '<textarea style="width:100%; height:80px" name="banners['.$b_id.']">'.$banner['html'].'</textarea>';
	    $output .= "</td>";
	  $output .= "</tr>";
  }
  $output .= "</table>";
  $output .= "<br><input type='submit' class='btn primary' value='Update' name='msave_bannersforfree' />";
  $output .= "</form>";
 }
 else{
  $output .= "<p>Empty list</p>";
 }

  $output .= "<br /><hr /><br />";
 $output .= '<br><h2 style="border-bottom: 1px dashed #CCCCCC;font-weight: bold;padding-bottom: 10px;">Hosting Plans</h3>';

 # Hosting list
     # Current  "need banner" hosting list
       $output .= "<div style='float:left; width:50%; margin-right:50px'><h3>List of hosting plans that should has a forced ads.</h3>";
         $hosting_with_banner_list = _bannersforfree_get_banner_hosting_list();
         if(!empty($hosting_with_banner_list)){
           $output .= '<form action="addonmodules.php?module=bannersforfree" method="post">';
             $output .= "<table class='datatable' width='100%' cellspacing='3' cellpadding='3' border='0'>";
               $output .= "<tr><th width='20'>Delete</th><th>Hosting name</th></tr>";    
               foreach($hosting_with_banner_list as $hosting){
                 $h_id = $hosting['id'];
                 $output .= "<tr>";
                   $output .= "<td>";
                     $output .= "<input type='checkbox' value='1' name='deletehosting[$h_id]' />";
                   $output .= "</td>";
                   $output .= "<td>";
                     $output .= '<a href="configproducts.php?action=edit&id='.$hosting['id'].'">'.$hosting['hosting_name'].'</a>';
                   $output .= "</td>";
                 $output .= "</tr>";
               }

           $output .= "</table>";
		 $output .= '<br><input type="submit" class="btn primary" value="Update" name="msave_bannersforfree" />';
		 $output .= '</form>';
         }
         else{
           $output .= "<p>Empty list</p>";
         }
     $output .= "</div><div style='float:left; width:40%'>";
     # Add new hosting to "need banner" list
       $output .= "<h3>Add new hosting plan</h3>";
         $output .= '<form action="addonmodules.php?module=bannersforfree" method="post">';
           $hosting_list = _bannersforfree_get_hosting_types_list();

           foreach($hosting_list as $key => $hosting_type){
            foreach($hosting_with_banner_list as $h_with_banner){
	            if($hosting_type['id'] == $h_with_banner['hid']){
		            unset($hosting_list[$key]);
		            break;
	            }
            }
           }
           if(!empty($hosting_list)){
           $output .= '<select name="newhosting">';
           foreach($hosting_list as $htype){
	           $output .= "<option value='".$htype['id']."'>".$htype['name']."</>";
           }
           $output .= '</select>';
           $output .= '<br /><br />';
           $output .= '<input type="submit" class="btn btn btn-success" value="Add" name="msave_bannersforfree" />'; 
           }
           else{
            $output .= "<p>Hosting types list is empty</p>";
           }
         $output .= '</form></div>';

 $output .= "<div style='clear:both'><br /></div>";


 //_bannersforfree_get_email_template_list

 $output .= "<br /><hr /><br />";

 # Hosting users list
 $output .= '<h2 style="border-bottom: 1px dashed #CCCCCC;font-weight: bold;padding-bottom: 10px;">Suspended Websites</h2>';
 $free_ids = array();
 foreach($hosting_with_banner_list as $hosting_free){
   $free_ids[] = $hosting_free['hid'];
 }
 if(isset($_GET['host-page'])){
  $current_host_page = $_GET['host-page'];
 }
 else{
  $current_host_page = 1;
 }
 if(!empty($free_ids)){
   $host_list = _bannersforfree_get_hosting_users($free_ids, $current_host_page);
   if(!empty($host_list)){
    $output .= "<table class='datatable' width='100%' cellspacing='3' cellpadding='3' border='0'>";

    # paginator logic
    $total_hosts = _bannersforfree_get_hosting_user_counter( $free_ids );
    $total_hosts_pages = (int) ($total_hosts / 10 );
	//$left_link = "<a href='addonmodules.php?module=bannersforfree&host-page=".($current_host_page-1)."'>Prev</a>";
    if($current_host_page != 1){
      $left_link = "<a href='addonmodules.php?module=bannersforfree&host-page=".($current_host_page-1)."'>Prev</a>";
    }
    else{
	    $left_link = '';
    }
	//$right_link = "<a href='addonmodules.php?module=bannersforfree&host-page=".($current_host_page+1)."'>Next</a>";
    if($current_host_page <= $total_hosts_pages){
      $right_link = "<a href='addonmodules.php?module=bannersforfree&host-page=".($current_host_page+1)."'>Next</a>";
    }
    else{
	    $right_link = '';
    }

    $output .= "<tr><th>Domain</th><th>Status</th><th>Suspend until</th></tr>";
    foreach($host_list as $host){
      $output .= "<tr>";
        $output .= "<td align='center'><a href='clientsservices.php?userid=".$host['userid']."&id=".$host['id']."'>".$host['domain']."</a></td>";
        $output .= "<td align='center'>".$host['domainstatus']."</td>";
        if($host['domainstatus'] == "Suspended" && $host['overidesuspenduntil'] != "0000-00-00"){
          $susp_until_value = $host['overidesuspenduntil'];
        }
        else{
          $susp_until_value = '';
        }
        $output .= "<td align='center'>".$susp_until_value."</td>";
      $output .= "</tr>";
    }

	//if(!empty($left_link))
    $output .= "<tr><td align='center' colspan='3'>$left_link     $right_link</td></tr>";
    $output .= "</table>";
   }
   else{
     $output .= "<p>Empty list</p>";
   }
 }
 else{
   $output .= "<p>Empty list</p>";
 }


   # Settings Area
 $current_cron_limit_array = _bannersforfree_get_setting('cron_limit');
 $current_cron_limit = $current_cron_limit_array['value'];
 $mail_tpl_list = _bannersforfree_get_email_template_list();
 $current_cron_tpl_array = _bannersforfree_get_setting('cron_email_tpl');
 $current_cron_tpl = $current_cron_tpl_array['value'];
 # Form
  $output .= "<br /><hr /><br />";
 $output .= '<h2 style="border-bottom: 1px dashed #CCCCCC;font-weight: bold;padding-bottom: 10px;">Addon Settings</h2>';
$output .= '<form action="addonmodules.php?module=bannersforfree" method="post">';
 # Cron limit
 $output .= '<lable for="cron-limit">Set users limit per cron:</label><br /><br />';
 $output .= '<input id="cron-limit" type="text" name="settings[cron_limit]" value="'.$current_cron_limit.'" /><br /><br />';
 # Choosing email template
 $output .= '<lable for="cron-email-tpl">Choose email template to send to suspended customers:</label><br /><br />';
 if(!empty($mail_tpl_list)){
	$output .= "<select id='cron-email-tpl' name='settings[cron_email_tpl]'>"; 
	foreach($mail_tpl_list as $tpl){
	  $selected = ($current_cron_tpl == $tpl['id']) ? "selected" : "";
	  $output .= "<option $selected value='".$tpl['id']."'>".$tpl['name']."</option>";
	}
	$output .= "</select>";
 }
 else{
	 $output .= "<p>Empty list</p>";
 }
 # Submit form
 $output .= '<br /><br /><input type="submit" class="btn btn-success" value="Save" name="msave_bannersforfree" style="float:left; margin-right:10px"/>';
$output .= '</form>';

 # Cron link
 $output .= "
 <script>
   $(document).ready(function(){
     $('#cron-popup-link').click(function(){
       var cron_load_href = $(this).attr('href');
       $('#cron-popup').load( cron_load_href );
       $('#cron-popup').dialog();
       return false;
     });
   });
 </script>

 <div style='display:none' id='cron-popup' title='Cron'>
  <p>Cron running...</p>
 </div>
 ";
 $output .= "<a id='cron-popup-link' target='_blank' href='../clientarea.php?action=bannerscron'><input type='button' class='btn-info' value='Run CRON' /></a>";
 $output .= "<br />";

 echo $output;
}

/**
* get free hosting users list counter
**/
function _bannersforfree_get_hosting_user_counter($free_package_ids){
 $page_size = 30;
 $ids = join(',', $free_package_ids);
 $query = "SELECT count(*) as counter FROM `tblhosting` WHERE packageid IN ($ids) ORDER BY  `id`";
 $db_result = full_query($query);

 $result_row = array();
while($row = mysql_fetch_array($db_result, MYSQL_ASSOC)){
	$result_row = $row;
	return $result_row['counter'];
	break;
}
return 0;
}

/**
* get free hosting users list
**/
function _bannersforfree_get_hosting_users($free_package_ids, $page_number = 1){
 $page_size = 10;
 $ids = join(',', $free_package_ids);
 $a = $page_number * $page_size - $page_size;
 $b = $page_number * $page_size;
 $query = "SELECT * FROM `tblhosting`
 WHERE packageid IN ($ids)  AND domainstatus!='Cancelled'
 GROUP BY `domain`
 ORDER BY `id` DESC  
 LIMIT  $a, $page_size";
 $db_result = full_query($query);
 $result_array = array();
while($row = mysql_fetch_array($db_result, MYSQL_ASSOC)){
	$result_array[] = $row;
}
return $result_array;
}

/**
* set setting valueby slug
**/
function _bannersforfree_set_setting($slug, $value = ''){
 $query = "UPDATE `mod_banners_config` SET `value`='".$value."' WHERE `slug` = '".$slug."' LIMIT 1";
 return full_query($query);
}

/**
* Get setting value by slug
**/
function _bannersforfree_get_setting($slug = ''){
$query = "SELECT * FROM `mod_banners_config` WHERE `slug` = '".$slug."' LIMIT 1";
$db_result = full_query($query);

$result = false;
while($row = mysql_fetch_array($db_result, MYSQL_ASSOC)){
	$result = $row;
	break;
}
return $result;
}

/**
* Remove banner
**/
function _bannersforfree_remove_banner_hosting($id = 0){
$query = "DELETE FROM `mod_banners_hosting_types` WHERE `id` = '".$id."' LIMIT 1";
return full_query($query);
}

/**
* Add banner hosting
**/
function _bannersforfree_add_banner_hosting($id = ''){
$query = "INSERT INTO `mod_banners_hosting_types` VALUES (NULL, '".$id."')";
return full_query($query);
}

/**
* search hosting in "need banner" list by hosting id
**/
function _bannersforfree_search_banner_hosting($id=0){
$query = "SELECT * FROM `mod_banners_hosting_types` ORDER BY `id` DESC LIMIT 1";
   $db_result = full_query($query);

   $result_array = array();
while($row = mysql_fetch_array($db_result, MYSQL_ASSOC)){
	$result_array[] = $row;
	break;
}
return $result_array;
}

/**
* get "need banner" hosting types list
**/
function _bannersforfree_get_banner_hosting_list(){
$query = "SELECT b.*, h.name as hosting_name FROM `mod_banners_hosting_types` as b LEFT JOIN `tblproducts` h ON b.hid = h.id WHERE h.type='hostingaccount' ORDER BY `id` DESC";
   $db_result = full_query($query);
   $result_array = array();
while($row = mysql_fetch_array($db_result, MYSQL_ASSOC)){
	$result_array[] = $row;
}
return $result_array;
}

/**
* get hosting types list
**/
function _bannersforfree_get_hosting_types_list(){
$query = "SELECT * FROM `tblproducts` WHERE type='hostingaccount' ORDER BY `id` DESC";
   $db_result = full_query($query);

   $result_array = array();
while($row = mysql_fetch_array($db_result, MYSQL_ASSOC)){
	$result_array[] = $row;
}
return $result_array;
}

/**
* Update banner
**/
function _bannersforfree_update_banner($id, $html = ''){
$query = "UPDATE `mod_banners_banners` SET `html` = '".$html."' WHERE `id` = '".$id."' ";
return full_query($query);
}

/**
* Remove banner
**/
function _bannersforfree_remove_banner($id = 0){
$query = "DELETE FROM `mod_banners_banners` WHERE `id` = '".$id."' LIMIT 1";
return full_query($query);
}

/**
* Add banner
**/
function _bannersforfree_add_banner($html_code = ''){
$query = "INSERT INTO `mod_banners_banners` VALUES (NULL, '".$html_code."')";
return full_query($query);
}

/**
* Get email template (only general type)
**/
function _bannersforfree_get_email_template_list(){
$query = "SELECT * FROM `tblemailtemplates` WHERE `type` = 'general'";
$db_result = full_query($query);

$result = array();
while($row = mysql_fetch_array($db_result, MYSQL_ASSOC)){
	$result[] = $row;
}
return $result;
}

/**
* Get banners
**/
function _bannersforfree_get_banners(){
$query = "SELECT * FROM `mod_banners_banners` ORDER BY `id` DESC";
   $db_result = full_query($query);

   $result_array = array();
while($row = mysql_fetch_array($db_result, MYSQL_ASSOC)){
	$result_array[] = $row;
}
return $result_array;
}

?>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated