assign( array( 'TR_MENU_GENERAL_INFORMATION' => tr('General information'), 'TR_MENU_CHANGE_PASSWORD' => tr('Change password'), 'TR_MENU_CHANGE_PERSONAL_DATA' => tr('Change personal data'), 'TR_MENU_HOSTING_PLANS' => tr('Manage hosting plans'), 'TR_MENU_ADD_HOSTING' => tr('Add hosting plan'), 'TR_MENU_MANAGE_USERS' => tr('Manage users'), 'TR_MENU_ADD_USER' => tr('Add user'), 'TR_MENU_E_MAIL_SETUP' => tr('Email setup'), 'TR_MENU_CIRCULAR' => tr('Email marketing'), 'TR_MENU_MANAGE_DOMAINS' => tr('Manage domains'), 'TR_MENU_DOMAIN_ALIAS' => tr('Domain alias'), 'TR_MENU_SUBDOMAINS' => tr('Subdomains'), 'TR_MENU_DOMAIN_STATISTICS' => tr('Domain statistics'), 'TR_MENU_QUESTIONS_AND_COMMENTS' => tr('Support system'), 'TR_MENU_NEW_TICKET' => tr('New ticket'), 'TR_MENU_LAYOUT_SETTINGS' => tr('Layout settings'), 'TR_MENU_LOGOUT' => tr('Logout'), 'TR_MENU_OVERVIEW' => tr('Overview'), 'TR_MENU_LANGUAGE' => tr('Language'), 'SUPPORT_SYSTEM_PATH' => $cfg['VHCS_SUPPORT_SYSTEM_PATH'], 'SUPPORT_SYSTEM_TARGET' => $cfg['VHCS_SUPPORT_SYSTEM_TARGET'], 'TR_MENU_ORDERS' => tr('Manage Orders'), 'TR_MENU_ORDER_SETTINGS' => tr('Order settings'), 'TR_MENU_ORDER_EMAIL' => tr('Order email setup'), ) ); $query = << RecordCount() == 0) { $tpl -> assign('CUSTOM_BUTTONS', ''); } else { global $i; $i = 100; while (!$rs -> EOF) { $menu_name = $rs -> fields['menu_name']; $menu_link = get_menu_vars($rs -> fields['menu_link']); $menu_target = $rs -> fields['menu_target']; if ($menu_target === ''){ $menu_target = ""; } else { $menu_target = "target=\"".$menu_target."\""; } $tpl -> assign( array( 'BUTTON_LINK' => $menu_link, 'BUTTON_NAME' => $menu_name, 'BUTTON_TARGET' => $menu_target, 'BUTTON_ID' => $i, ) ); $tpl -> parse('CUSTOM_BUTTONS', '.custom_buttons'); $rs -> MoveNext(); $i++; } // end while } // end else $support_system = $cfg['VHCS_SUPPORT_SYSTEM']; if ($support_system == 'no'){ $tpl -> assign('SUPPORT_SYSTEM', ''); } }// End of gen_reseller_menu() // Get data for page of reseller function get_reseller_default_props(&$sql, $reseller_id) { // Make sql query $query = <<RowCount()) { return NULL; } return array($rs -> fields['current_dmn_cnt'], $rs -> fields['max_dmn_cnt'], $rs -> fields['current_sub_cnt'], $rs -> fields['max_sub_cnt'], $rs -> fields['current_als_cnt'], $rs -> fields['max_als_cnt'], $rs -> fields['current_mail_cnt'], $rs -> fields['max_mail_cnt'], $rs -> fields['current_ftp_cnt'], $rs -> fields['max_ftp_cnt'], $rs -> fields['current_sql_db_cnt'], $rs -> fields['max_sql_db_cnt'], $rs -> fields['current_sql_user_cnt'], $rs -> fields['max_sql_user_cnt'], $rs -> fields['current_traff_amnt'], $rs -> fields['max_traff_amnt'], $rs -> fields['current_disk_amnt'], $rs -> fields['max_disk_amnt'] ); }// End of get_reseller_default_props() // Makeing user's probs function generate_reseller_user_props ( $reseller_id ) { global $sql; // Init with empty variables $rdmn_current = 0; $rdmn_max = 0; $rdmn_uf = '_off_'; $rsub_current = 0; $rsub_max = 0; $rsub_uf = '_off_'; $rals_current = 0; $rals_max = 0; $rals_uf = '_off_'; $rmail_current = 0; $rmail_max = 0; $rmail_uf = '_off_'; $rftp_current = 0; $rftp_max = 0; $rftp_uf = '_off_'; $rsql_db_current = 0; $rsql_db_max = 0; $rsql_db_uf = '_off_'; $rsql_user_current = 0; $rsql_user_max = 0; $rsql_user_uf = '_off_'; $rtraff_current = 0; $rtraff_max = 0; $rtraff_uf = '_off_'; $rdisk_current = 0; $rdisk_max = 0; $rdisk_uf = '_off_'; $ResArray = array($rdmn_current, $rdmn_max, $rdmn_uf, $rsub_current, $rsub_max, $rsub_uf, $rals_current, $rals_max, $rals_uf, $rmail_current, $rmail_max, $rmail_uf, $rftp_current, $rftp_max, $rftp_uf, $rsql_db_current, $rsql_db_max, $rsql_db_uf, $rsql_user_current, $rsql_user_max, $rsql_user_uf, $rtraff_current, $rtraff_max, $rtraff_uf, $rdisk_current, $rdisk_max, $rdisk_uf); $query = << RowCount() == 0) { return array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); } // Process all users of this group while ($data = $res -> FetchRow()) { $admin_id = $data['admin_id']; $query = << FetchRow(); $user_id = $ddata['domain_id']; list ( $sub_current, $sub_max, $als_current, $als_max, $mail_current, $mail_max, $ftp_current, $ftp_max, $sql_db_current, $sql_db_max, $sql_user_current, $sql_user_max, $traff_max, $disk_max ) = get_user_props($user_id); list ( $tmpval1, $tmpval2, $tmpval3, $tmpval4, $tmpval5, $tmpval16, $traff_current, $disk_current, $tmpval7, $tmpval8 ) = generate_user_traffic($user_id); $rdmn_current += 1; if ($sub_max != -1) { if ($sub_max == 0) $rsub_uf = '_on_'; $rsub_current += $sub_current; $rsub_max += $sub_max; } if ($als_max != -1) { if ($als_max == 0) $rals_uf = '_on_'; $rals_current += $als_current; $rals_max += $als_max; } if ($mail_max == 0) $rmail_uf = '_on_'; $rmail_current += $mail_current; $rmail_max += $mail_max; if ($ftp_max == 0) $rftp_uf = '_on_'; $rftp_current += $ftp_current; $rftp_max += $ftp_max; if ($sql_db_max != -1) { if ($sql_db_max == 0) $rsql_db_uf = '_on_'; $rsql_db_current += $sql_db_current; $rsql_db_max += $sql_db_max; } if ($sql_user_max != -1) { if ($sql_user_max == 0) $rsql_user_uf = '_on_'; $rsql_user_current += $sql_user_current; $rsql_user_max += $sql_user_max; } if ($traff_max == 0) $rtraff_uf = '_on_'; $rtraff_current += $traff_current; $rtraff_max += $traff_max; //print $rtraff_current."
"; //- debug shit if ($disk_max == 0) $rdisk_uf = '_on_'; $rdisk_current += $disk_current; $rdisk_max += $disk_max; //print $rdisk_current."
"; //- debug shit } $ResArray = array($rdmn_current, $rdmn_max, $rdmn_uf, $rsub_current, $rsub_max, $rsub_uf, $rals_current, $rals_max, $rals_uf, $rmail_current, $rmail_max, $rmail_uf, $rftp_current, $rftp_max, $rftp_uf, $rsql_db_current, $rsql_db_max, $rsql_db_uf, $rsql_user_current, $rsql_user_max, $rsql_user_uf, $rtraff_current, $rtraff_max, $rtraff_uf, $rdisk_current, $rdisk_max, $rdisk_uf); return $ResArray; }// End of generate_reseller_user_props() // Get traffic information for user function get_user_traffic ( $user_id ) { global $sql, $crnt_month, $crnt_year; $query = << RowCount() == 0 || $res -> RowCount() > 1) { //write_log("TRAFFIC WARNING: >$user_id< manages incorrect number of domains >".$res -> RowCount()."<"); return array('n/a', 0, 0, 0, 0, 0, 0, 0, 0, 0); } else { $data = $res -> FetchRow(); $domain_id = $data['domain_id']; $domain_disk_usage = $data['domain_disk_usage']; $domain_traff_limit = $data['domain_traffic_limit']; $domain_disk_limit = $data['domain_disk_limit']; $domain_name = $data['domain_name']; $query = << FetchRow(); return array( $domain_name, $domain_id, $data['web'], $data['ftp'], $data['smtp'], $data['pop'], $data['total'], $domain_disk_usage, $domain_traff_limit, $domain_disk_limit ); } }//End of get_user_traffic() // Get user's probs info from sql function get_user_props ( $user_id ) { global $sql; $query = << RowCount() == 0) { return array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); } $data = $res -> FetchRow(); $sub_current = records_count('subdomain_id', 'subdomain', 'domain_id', $user_id); $sub_max = $data['domain_subd_limit']; $als_current = records_count('alias_id', 'domain_aliasses', 'domain_id', $user_id); $als_max = $data['domain_alias_limit']; $mail_current = records_count('mail_id', 'mail_users', 'domain_id', $user_id); $mail_max = $data['domain_mailacc_limit']; $ftp_current = sub_records_rlike_count( 'domain_name', 'domain', 'domain_id', $user_id, 'userid', 'ftp_users', 'userid', '@', '' ); $ftp_current += sub_records_rlike_count( 'subdomain_name', 'subdomain', 'domain_id', $user_id, 'userid', 'ftp_users', 'userid', '@', '' ); $ftp_current += sub_records_rlike_count( 'alias_name', 'domain_aliasses', 'domain_id', $user_id, 'userid', 'ftp_users', 'userid', '@', '' ); $ftp_max = $data['domain_ftpacc_limit']; $sql_db_current = records_count('sqld_id', 'sql_database', 'domain_id', $user_id); $sql_db_max = $data['domain_sqld_limit']; $sql_user_current = sub_records_count( 'sqld_id', 'sql_database', 'domain_id', $user_id, 'sqlu_id', 'sql_user', 'sqld_id', '', '' ); $sql_user_max = $data['domain_sqlu_limit']; $traff_max = $data['domain_traffic_limit']; $disk_max = $data['domain_disk_limit']; // Make return data return array( $sub_current, $sub_max, $als_current, $als_max, $mail_current, $mail_max, $ftp_current, $ftp_max, $sql_db_current, $sql_db_max, $sql_user_current, $sql_user_max, $traff_max, $disk_max ); }// End of get_user_props(); /********************************************************************** * *Description: * * Function for checking vhcs 'username' field syntax. This function * will also be used in vhcs_email_check() function; * *Input: * * $data - vhcs 'username' field data; * * $num - username maximum length; * *Output: * * 0 - incorrect syntax; * * 1 - correct syntax; * **********************************************************************/ function vhcs_name_check ( $data, $num ) { $res = preg_match( "/^[A-Za-z][A-Za-z0-9\.\-\_]*[A-Za-z0-9]$/", $data, $match ); if ($res == 0) return 0; $res = preg_match("/(\.\.)|(\-\-)|(\_\_)/", $data, $match); if ($res == 1) return 0; $res = preg_match("/(\.\-)|(\-\.)/", $data, $match); if ($res == 1) return 0; $res = preg_match("/(\.\_)|(\_\.)/", $data, $match); if ($res == 1) return 0; $res = preg_match("/(\-\_)|(\_\-)/", $data, $match); if ($res == 1) return 0; $len = strlen($data); if ( $len > $num ) return 0; return 1; }// End of vhcs_name_check() /********************************************************************** * *Description: * * Function for checking vhcs limits. The correct values for this * limits are in ranges -1, 0, [1, $num]. * *Input: * *$data - vhcs 'limit' field data; * *Output: * * 0 - incorrect syntax (ranges); * * 1 - correct syntax (ranges); * **********************************************************************/ function vhcs_limit_check ( $data, $num ) { $res = preg_match("/^(-1|0|[1-9][0-9]*)$/", $data, $match); if ($res == 0) return 0; if ($data > $num) return 0; return 1; }// End of vhcs_limit_check() /********************************************************************** * * Description: * *Function for checking domain name tokens; Internel function, for> * usage in vhcs_* functions; * Input: * * $data - token data. Without '\n' at the end; * * Output: * * 0 - incorrect syntax; * * 1 - correct syntax; **********************************************************************/ function check_dn_rsl_token ( $data ) { $res = preg_match( "/^([[^a-z0-9^A-Z^������\-]*)([A-Za-z0-9])$/", $data, $match ); if ($res == 0) return 0; $res = preg_match("/\-\-/", $match[2], $minus_match); if ($res == 1) return 0; return 1; }// End of check_dn_rsl_token() /********************************************************************** * * Description: * *Function for checking VHCS domains syntax. Here domains are limited *to {dname}.{ext} parts. * *Input: * * $data - vhcs domain data; * * Output: * * 0 - incorrect syntax; * * 1 - correct syntax; **********************************************************************/ function vhcs_domain_check ( $data ) { $res = rsl_full_domain_check( $data ); if ($res == 0) return 0; $res = preg_match_all("/\./", $data, $match, PREG_PATTERN_ORDER); if ($res <= 0) return 0; return 1; }// End of vhcs_domain_check() /********************************************************************** *Description: * * Function for checking full domain names syntax. /In VHCS domains * are limited to domain and subdomain parts. * *Input: * * $data - domain name data; * *Output: * * 0 - incorrect syntax; * * 1 - correct syntax; * **********************************************************************/ function rsl_full_domain_check ( $data ) { $data = "$data."; $res = preg_match_all( "/([^\.]*\.)/", $data, $match, PREG_PATTERN_ORDER ); if ($res == 0) return 0; $last = $res - 1; for ($i = 0; $i < $last ; $i++) { $token = chop($match[0][$i], "."); $res = check_dn_rsl_token($token); if ($res == 0) return 0; } $res = preg_match( "/^[A-Za-z][A-Za-z0-9]*[A-Za-z]\.$/", $match[0][$last], $last_match ); if ($res == 0) return 0; return 1; }// End of full_domain_check() /* function escape_user_data ( $data ) { $res_one = preg_replace("/\\\\/", "", $data); $res = preg_replace("/'/", "\\\'", $res_one); return $res; }*/// End of escape_user_data() //Generate ip list function generate_ip_list(&$tpl, &$reseller_id) { global $sql; global $domain_ip; $query = << FetchRow(); $reseller_ips = $data['reseller_ips']; $query = << FetchRow()) { $ip_id = $data['ip_id']; if (preg_match("/$ip_id;/", $reseller_ips) == 1) { $selected = ''; if ($domain_ip === $ip_id) { $selected = 'selected'; } $tpl -> assign( array( 'IP_NUM' => $data['ip_number'], 'IP_NAME' => $data['ip_domain'], 'IP_VALUE' => $ip_id, 'IP_SELECTED' => "$selected" ) ); $tpl -> parse('IP_ENTRY', '.ip_entry'); } }// End loop }// End of generate_ip_list() // Check validity of input data function check_ruser_data (&$tpl, $NoPass) { global $dmn_name, $hpid , $dmn_user_name; global $user_email, $customer_id, $first_name; global $last_name, $firm, $zip; global $city, $country, $street_one; global $street_two, $mail, $phone; global $fax, $inpass, $domain_ip; $rau_error = '_off_'; $inpass_re = ''; // Get data for fields from previus page if(isset($_POST['userpassword'])) $inpass = $_POST['userpassword']; if(isset($_POST['userpassword_repeat'])) $inpass_re = $_POST['userpassword_repeat']; if(isset($_POST['domain_ip'])) $domain_ip = $_POST['domain_ip']; if(isset($_POST['useremail'])) $user_email = $_POST['useremail']; if(isset($_POST['useruid'])) $customer_id = $_POST['useruid']; if(isset($_POST['userfname'])) $first_name = $_POST['userfname']; if(isset($_POST['userlname'])) $last_name = $_POST['userlname']; if(isset($_POST['userfirm'])) $firm = $_POST['userfirm']; if(isset($_POST['userzip'])) $zip = $_POST['userzip']; if(isset($_POST['usercity'])) $city = $_POST['usercity']; if(isset($_POST['usercountry'])) $country = $_POST['usercountry']; if(isset($_POST['userstreet1'])) $street_one = $_POST['userstreet1']; if(isset($_POST['userstreet2'])) $street_two = $_POST['userstreet2']; if(isset($_POST['useremail'])) $mail = $_POST['useremail']; if(isset($_POST['userphone'])) $phone = $_POST['userphone']; if(isset($_POST['userfax'])) $fax = $_POST['userfax']; //if(isset($_SESSION['local_data']) ) // list($dmn_name, $hpid, $dmn_user_name) = explode(";", $_SESSION['local_data']); // Begin checking... if('_no_' == $NoPass) { if (('' === $inpass_re) || ('' === $inpass)){ $rau_error = tr('Please fill up both data fields for password!'); }else if ($inpass_re !== $inpass ){ $rau_error = tr('Passwords does not match!'); }else if (!vhcs_password_check($inpass, 20)) { $rau_error = tr('Incorrect password range or syntax!'); } } /* we don't wannt to validate Customer ID, First and Second name and also ZIP else if(!vhcs_limit_check($customer_id, 999)){ $rau_error = tr('Incorrect customer ID syntax!'); } else if(!vhcs_name_check($first_name, 40)){ $rau_error = tr('Incorrect first name range or syntax!'); }else if(!vhcs_name_check($last_name, 40)){ $rau_error = tr('Incorrect second name range or syntax!'); }else if(!vhcs_limit_check($zip, 999999)){ $rau_error = tr('Incorrect post code range or syntax!'); } */ if ($rau_error == '_off_') { $tpl -> assign('MESSAGE', ''); // send data throught session return true; } else { $tpl -> assign('MESSAGE', $rau_error); return false; } return true; }//End of check_ruser_data() /*TODO - remove function update_reseller_props ( $reseller_id, $props ) { global $sql; if ($props == '') { return; } list ( $dmn_current, $dmn_max, $sub_current, $sub_max, $als_current, $als_max, $mail_current, $mail_max, $ftp_current, $ftp_max, $sql_db_current, $sql_db_max, $sql_user_current, $sql_user_max, $traff_current, $traff_max, $disk_current, $disk_max ) = explode(";", $props); $query = << Execute($query); } */ // Translate domain status function translate_dmn_status ( $status ) { global $cfg; if ( $status == STATUS_OK) { return tr('ok'); } else if ( $status == STATUS_TOADD) { return tr('wait to be added'); } else if ( $status == STATUS_TOCHANGE) { return tr('wait to be modified'); } else if ( $status == STATUS_TODELETE) { return tr('wait to be deleted'); } else if ( $status == STATUS_DISABLED) { return tr('suspended'); } else if ($status == $cfg['ITEM_TOENABLE_STATUS']) { return tr('wait to be enabled'); } else if ($status == $cfg['ITEM_TODISABLED_STATUS']) { return tr('wait to be suspended'); } else { return tr('unknown status'); } }// End of translate_dmn_status() /* check for valid domain name */ function chk_dname( $dname ) { if ( vhcs_domain_check($dname) == 0 ) { return 1; } /* seems ok */ return 0; } /* check for valid url addres */ function chk_url( $url ) { if ( vhcs_url_check($url) == 0 ) { return 1; } /* seems ok ! */ return 0; } function vhcs_url_check ( $data ) { $data = "$data\n"; $res = preg_match( "/^(http|https|ftp)\:\/\/[^\n]+\n$/", $data, $match ); if ($res == 0) return 0; return 1; } function vhcs_mountpt_check ( $data, $num ) { $res = preg_match("/^\/htdocs$/", $data, $match); if ($res == 1) return 0; $res = preg_match("/^\/backups$/", $data, $match); if ($res == 1) return 0; $res = preg_match("/^\/cgi-bin$/", $data, $match); if ($res == 1) return 0; $res = preg_match("/^\/errors$/", $data, $match); if ($res == 1) return 0; $res = preg_match("/^\/logs$/", $data, $match); if ($res == 1) return 0; $res = explode("/", trim($data)); $cnt_res = count($res); if ($cnt_res > 2) return 0; $res = preg_match_all("(\/[^\/]*)", $data, $match, PREG_PATTERN_ORDER); if ($res == 0) { return 0; } $count = $res; for ($i = 0; $i < $count; $i++) { $token = substr($match[0][$i], 1); $res = vhcs_username_check($token, $num); if ($res == 0) { return 0; } } return 1; } /* check for valid mount point */ function chk_mountp( $mountp ) { if ( vhcs_mountpt_check($mountp,50) == 0) { return 1; } /* seems ok ! */ return 0; } // Check ids the domain already exist function vhcs_domain_exists ($domain_name) { global $sql; $query = << RowCount() == 0) { return false; } else { return true; } }// End of vhcs_domain_exists() function gen_manage_domain_query (&$search_query, &$count_query, $reseller_id, $start_index, $rows_per_page, $search_for, $search_common, $search_status) { // IMHO, this code is an unmaintainable mess and should be replaced - Cliff if ($search_for === 'n/a' && $search_common === 'n/a' && $search_status === 'n/a') { // // We have pure list query; // $count_query = << assign( array( 'SEARCH_FOR' => "", ) ); } else { $tpl -> assign( array( 'SEARCH_FOR' => $search_for, ) ); } $tpl -> assign( array( 'M_DOMAIN_NAME' => tr('Domain name'), 'M_CUSTOMER_ID' => tr('Customer ID'), 'M_LAST_NAME' => tr('Last name'), 'M_COMPANY' => tr('Company'), 'M_CITY' => tr('City'), 'M_COUNTRY' => tr('Country'), 'M_ALL' => tr('All'), 'M_OK' => tr('OK'), 'M_SUSPENDED' => tr('Suspended'), 'M_ERROR' => tr('Error'), // selected area 'M_DOMAIN_NAME_SELECTED' => $domain_selected, 'M_CUSTOMER_ID_SELECTED' => $customerid_selected, 'M_LAST_NAME_SELECTED' => $lastname_selected, 'M_COMPANY_SELECTED' => $company_selected, 'M_CITY_SELECTED' => $city_selected, 'M_COUNTRY_SELECTED' => $country_selected, 'M_ALL_SELECTED' => $all_selected, 'M_OK_SELECTED' => $ok_selected, 'M_SUSPENDED_SELECTED' => $suspended_selected, ) ); } function gen_def_language(&$tpl, &$sql, &$user_def_language) { $query = << EOF) { $lang_table = $rs -> fields[0]; if (preg_match("/lang_([A-Za-z0-9][A-Za-z0-9]+)/",$lang_table , $matches)) { $query = << RecordCount() == 0) { $language_name = tr('Unknown'); } else { $language_name = $res->fields['msgstr']; } if ($matches[0] === $user_def_language) { $selected = 'selected'; } else { $selected = ''; } $tpl -> assign( array( 'LANG_VALUE' => $matches[0], 'LANG_SELECTED' => $selected, 'LANG_NAME' => $language_name ) ); $tpl -> parse('DEF_LANGUAGE', '.def_language'); } $rs -> MoveNext(); } } function gen_domain_details(&$tpl, &$sql, &$domain_id) { $tpl -> assign('USER_DETAILS', ''); if (isset($_SESSION['details']) and $_SESSION['details'] == 'hide'){ $tpl -> assign( array( 'TR_VIEW_DETAILS' => tr('view aliases'), 'SHOW_DETAILS' => "show", ) ); return; } else if (isset($_SESSION['details']) and $_SESSION['details'] === "show") { $tpl -> assign( array( 'TR_VIEW_DETAILS' => tr('hide aliases'), 'SHOW_DETAILS' => "hide", ) ); $alias_query = << RecordCount() == 0) { $tpl -> assign('USER_DETAILS', ''); } else { while (!$alias_rs -> EOF) { $alias_name = $alias_rs -> fields['alias_name']; $tpl -> assign('ALIAS_DOMAIN', $alias_name); $tpl -> parse('USER_DETAILS', '.user_details'); $alias_rs -> MoveNext(); } } } else { $tpl -> assign( array( 'TR_VIEW_DETAILS' => tr('view aliases'), 'SHOW_DETAILS' => "show", ) ); return; } } function add_domain_extras(&$dmn_id, &$admin_id, &$sql) { $query = << FetchRow(); $props = $data['props']; } list($php_new, $cgi_new, $sub_new, $als_new, $mail_new, $ftp_new, $sql_db_new, $sql_user_new, $traff_new, $disk_new) = explode(";", $props); $query = << FetchRow(); $dmn_current = $data['current_dmn_cnt']; $dmn_max = $data['max_dmn_cnt']; $sub_current = $data['current_sub_cnt']; $sub_max = $data['max_sub_cnt']; $als_current = $data['current_als_cnt']; $als_max = $data['max_als_cnt']; $mail_current = $data['current_mail_cnt']; $mail_max = $data['max_mail_cnt']; $ftp_current = $data['current_ftp_cnt']; $ftp_max = $data['max_ftp_cnt']; $sql_db_current = $data['current_sql_db_cnt']; $sql_db_max = $data['max_sql_db_cnt']; $sql_user_current = $data['current_sql_user_cnt']; $sql_user_max = $data['max_sql_user_cnt']; $traff_current = $data['current_traff_amnt']; $traff_max = $data['max_traff_amnt']; $disk_current = $data['current_disk_amnt']; $disk_max = $data['max_disk_amnt']; if ($dmn_max != 0) { if ($dmn_current + 1 > $dmn_max) { $err_msg = tr('You have been reached your domain limit.
You can not add more domains ! '); return; } } if ($sub_max != 0) { if ($sub_new != -1) { if ($sub_new == 0) { $err_msg = tr('You have subdomain limit!
You can not add user with unlimited subdomain number!'); return; } else if ($sub_current + $sub_new > $sub_max) { $err_msg = tr('You are exceeding your subdomain limit!'); return; } } } /* if ($als_max != 0) { if ($als_new != -1) { if ($als_new == 0) { $err_msg = tr('You have alias limit!
You can Not Add User With Unlimited Alias Number!'); return; } else if ($als_current + $als_new > $als_max) { $err_msg = tr('You Are Exceeding Your Alias Limit!'); return; } } } */ if ($mail_max != 0) { if ($mail_new == 0) { $err_msg = tr('You have mail account limit!
You can not add user with unlimited mail accunt number!'); return; } else if ($mail_current + $mail_new > $mail_max) { $err_msg = tr('You are exceeding your mail account limit!'); return; } } if ($ftp_max != 0) { if ($ftp_new == 0) { $err_msg = tr('You have FTP account limit!
You can not Add User With Unlimited FTP Accunt Number!'); return; } else if ($ftp_current + $ftp_new > $ftp_max) { $err_msg = tr('You are exceeding your FTP account limit!'); return; } } if ($sql_db_max != 0) { if ($sql_db_new != -1) { if ($sql_db_new == 0) { $err_msg = tr('You have SQL database limit!
You can not add user with unlimited SQL database number!'); return; } else if ($sql_db_current + $sql_db_new > $sql_db_max) { $err_msg = tr('You are exceeding SQL database limit!'); return; } } } if ($sql_user_max != 0) { if ($sql_user_new != -1) { if ($sql_user_new == 0) { $err_msg = tr('You have SQL user limit!
You can not add user with unlimited SQL users!'); return; } else if ($sql_db_new == -1) { $err_msg = tr('You have disabled SQL databases for this user!
You can not have SQL users here!'); return; } else if ($sql_user_current + $sql_user_new > $sql_user_max) { $err_msg = tr('You are exceeding SQL database limit!'); return; } } } if ($traff_max != 0) { if ($traff_new == 0) { $err_msg = tr('You have traffic limit!
You can not add user with unlimited traffic number!'); return; } else if ($traff_current + $traff_new > $traff_max) { $err_msg = tr('You are exceeding your traffic limit!'); return; } } if ($disk_max != 0) { if ($disk_new == 0) { $err_msg = tr('You have disk limit!
You can not add user with unlimited disk number!'); return; } else if ($disk_current + $disk_new > $disk_max) { $err_msg = tr('You are exceeding your disk limit!'); return; } } } // Update reseller props function au_update_reseller_props($reseller_id, $props) { global $sql; list($php, $cgi, $sub, $als, $mail, $ftp, $sql_db, $sql_user, $traff, $disk) = explode(";", $props); $query = << FetchRow(); $dmn_current = $data['current_dmn_cnt']; $dmn_max = $data['max_dmn_cnt']; $sub_current = $data['current_sub_cnt']; $sub_max = $data['max_sub_cnt']; $als_current = $data['current_als_cnt']; $als_max = $data['max_als_cnt']; $mail_current = $data['current_mail_cnt']; $mail_max = $data['max_mail_cnt']; $ftp_current = $data['current_ftp_cnt']; $ftp_max = $data['max_ftp_cnt']; $sql_db_current = $data['current_sql_db_cnt']; $sql_db_max = $data['max_sql_db_cnt']; $sql_user_current = $data['current_sql_user_cnt']; $sql_user_max = $data['max_sql_user_cnt']; $traff_current = $data['current_traff_amnt']; $traff_max = $data['max_traff_amnt']; $disk_current = $data['current_disk_amnt']; $disk_max = $data['max_disk_amnt']; $dmn = $dmn_current + 1; if ($sub != -1) { $sub += $sub_current; } else { $sub = $sub_current; } if ($als != -1) { $als += $als_current; } else { $als = $als_current; } $mail += $mail_current; $ftp += $ftp_current; if ($sql_db != -1) { $sql_db += $sql_db_current; } else { $sql_db = $sql_db_current; } if ($sql_user != -1) { $sql_user += $sql_user_current; } else { $sql_user = $sql_user_current; } $traff += $traff_current; $disk += $disk_current; $query = << fields['email']; $admin_fname = $res -> fields['fname']; $admin_lname = $res -> fields['lname']; $query = << fields['subject']; $message = $res -> fields['message']; if ($res -> RecordCount() ==0 ){ $subject = "Auto message allert for domain order {DOMAIN} !"; $message = << new order $subject = "[VHCS OrderPanel] - You have new order"; $message = "Dear ".$admin_fname." ".$admin_lname.", \r\n\r\n"; $message .= "You have new orde from ".$to."\r\n"; $message .= "Please login into your VHCS control panel for more details"; $headers = "From: $to\r\n"; $headers .= "X-Mailer: VHCS Pro auto mailer"; $mail_result = mail($from, $subject, $message, $headers); } ?>