Jump to content

Search the Community

Showing results for tags 'whmcs 6'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


WHMCS.Community

  • The latest WHMCS Release
    • WHMCS 8.0 Release Discussion Board
  • WHMCS Beta Program
    • WHMCS Mobile App Technical Preview Feedback
  • The Latest from the WHMCS Team
    • News, Announcements & Blogs from WHMCS
  • WHMCS.Community
    • Community Announcements
    • Introduce Yourself
  • Using WHMCS
    • Pre-Sales Questions
    • Admin & Configuration Questions
    • Installation, Upgrade, and Import Support
    • Using WHMCS
    • Troubleshooting Issues
    • Vendor Discussions
  • WHMCS Showcase
    • Showcase Your Site
    • Share Your Best Practices & Tips
  • Developing & Extending WHMCS
    • Third Party Add-ons
    • Service Offers & Requests
    • Developer Corner
    • Building Modules
    • Share Ideas for WHMCS Modules
  • Community Competitions
    • Competitions
  • General Discussions
    • General Discussion
  • General Feedback & Assistance
    • Feedback
    • WHMCS.Community Tips & Tricks
  • Third Party Developers's Topics
  • Turkish International Discussions's Topics
  • Russian International Discussions's Topics
  • Spanish International Discussions's Topics
  • Portuguese International Discussions's Topics
  • French International Discussions's Topics
  • Italian International Discussions's Topics
  • German International Discussions's Topics
  • WHMCS Brasil's Topics
  • WHMCS Brasil's Tópicos
  • ModulesGarden Club's Topics
  • Hungarian International Discussions's Segítség
  • ThemeMetro Club's Topics
  • WHMCS Services Club's Topics
  • SwiftModders Club's Topics
  • WHMCS Global Services Club's Topics
  • Katamaze's Free Scripts
  • Katamaze's Modules
  • Zomex Club's Topics
  • 0100Dev Club's Topics

WHMCS Version

  • V8.0.x Hotfixes
  • V7.10.x Hotfixes
  • V7.9.x Hotfixes

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 8 results

  1. Hi everyone, I am looking for a few recommendations on trustworthy developers who can convert a few scripts from WHMCS v6.x to WHMCS v8.x? I asked Brian! however he seems to be busy and is not reading any of my private messages unfortunately. So maybe someone has experience with this and can put in a few recommendations? Thanks in advance. Regards
  2. We just finished updating all our free modules to work on WHMCS v6 and v7 also support PHP5.6.x and PHP7 you can see a list of all 12 modules below. We also offer each module source code you can find out the prices in each module page Register Notifications https://www.hardsoftcode.com/product/29/register-notifications Editors Switch https://www.hardsoftcode.com/product/28/whmcs-editors-switch URLs Redirector https://www.hardsoftcode.com/product/25/url-redirector Scroll Up Manager https://www.hardsoftcode.com/product/5/scroll-up-manager Cart Items and Pricing https://www.hardsoftcode.com/product/20/cart-items-and-pricing SEO Manager https://www.hardsoftcode.com/product/24/seo-manager Snow Falling Effect https://www.hardsoftcode.com/product/27/whmcs-snow-falling-effect Sticky Menu https://www.hardsoftcode.com/product/19/whmcs-sticky-menu Terms of Service https://www.hardsoftcode.com/product/23/terms-of-service Favicon Manager https://www.hardsoftcode.com/product/34/favicon-manager Privacy Policy https://www.hardsoftcode.com/product/22/privacy-policy Social Media Manager https://www.hardsoftcode.com/product/26/social-media-manager
  3. Dear WHMCS users, We are pleased to announce the release of a new and responsive WHMCS template. This template is fully compatible with the latest version of WHMCS and is based on the latest 'six' client area layout. It includes not only a home page design, but also multiple sub page layouts for your different hosting products, services and company information. Click here to view the template Enter the following promotion code at the checkout to claim your 20% discount: HOSTHUB20 This promotion will end at 23.59 PM GMT on Tuesday 14th June 2016. If you have any questions, please feel free to contact us. Kindest Regards, WHMCS Themes
  4. I hope I'm just confused here and there isn't a larger issue at hand. I have a product group with three products in. When I order the first product I am given the choice to upgrade to either of the two higher priced ones. But when I choose the product, it goes through to the page where I select my payment type and optionally add a promo code (I'm not using a code, just describing the page), I hit continue and then I'm told the order is being processed. The client area, however, doesn't show up the upgrade order, no unpaid invoices, etc. The (sandbox) payment gateway also doesn't show any transactions. In the WHMCS admin area I see a pending order. When I click it I see status as pending. In the order items table I see the correct price, but Payment Status says "No Invoice Due". When I click the green "Accept Order" button it sets it to active, but nothing happens - the product/service for the client doesn't change nor are any module commands run. Am I missing something obvious here? Why won't upgrades work? I'm using the latest version of WHMCS. Many thanks
  5. Hello, I come to you because I need your help. I have to change: {php} $query = mysql_query("select * from tblpricing where relid='" .$this->_tpl_vars['products'][$sd]['pid']. "'"); $row = mysql_fetch_array($query); {/php} For : {php} $query = mysql_query("select * from tblpricing where relid='" .$template->getVariable ( $products[$sd]['pid'] ). "'"); $row = mysql_fetch_array($query); {/php} And yet I have the following error: Parse error: syntax error, unexpected end of file in /home/whmcs/public_html/v6/vendor/smarty/smarty/libs/SmartyBC.class.php(464) : eval()'d code on line 3 Thank you for your help
  6. Dear WHMCS users, We are pleased to announce the release of a new and responsive WHMCS Template. This template is fully compatible with version 6.1 of WHMCS and is based on the new 'Six' client area layout. It includes not only a home page design, but also multiple sub page layouts for your different hosting products, services and company information. Click here to view the template Enter the following promotion code at the checkout to claim your 20% discount: GIGATICK20 This promotion will end at 23.59 PM GMT on Tuesday 13th October 2015. If you have any questions, please feel free to contact us. Kindest Regards, WHMCS Themes
  7. 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; } ?>
  8. Hi. Is it possible to create a multi-level navbar? I'm currently working on a design for v6, but I've never in my life worked with hooks before, so everything is brand new to me http://bootsnipp.com/snippets/featured/multi-level-navbar-menu This is what I want: 1. Hover over menu item 'Menu 1' 2. Hover over 'Dropdown' 3. When hovering, a new 'menu' appears, containing other items
×
×
  • 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