/** * @todo check if it's useful to have the table admin two times in the same query * @param EasySCP_TemplateEngine $tpl */ function gen_reseller_table($tpl) { $cfg = EasySCP_Registry::get('Config'); $sql = EasySCP_Registry::get('Db'); $query = "\n\t\tSELECT\n\t\t\tt1.`admin_id`, t1.`admin_name`, t2.`admin_name` AS created_by\n\t\tFROM\n\t\t\t`admin` AS t1,\n\t\t\t`admin` AS t2\n\t\tWHERE\n\t\t\tt1.`admin_type` = 'reseller'\n\t\tAND\n\t\t\tt1.`created_by` = t2.`admin_id`\n\t\tORDER BY\n\t\t\t`created_by`,\n\t\t\t`admin_id`\n\t"; $rs = exec_query($sql, $query); $i = 0; if ($rs->recordCount() == 0) { set_page_message(tr('Reseller list is empty!'), 'info'); } else { while (!$rs->EOF) { $admin_id = $rs->fields['admin_id']; $admin_id_var_name = "admin_id_" . $admin_id; $tpl->append(array('NUMBER' => $i + 1, 'RESELLER_NAME' => tohtml($rs->fields['admin_name']), 'OWNER' => tohtml($rs->fields['created_by']), 'CKB_NAME' => $admin_id_var_name)); $rs->moveNext(); $i++; } $tpl->assign('PAGE_MESSAGE', ''); } $query = "\n\t\tSELECT\n\t\t\t`admin_id`, `admin_name`\n\t\tFROM\n\t\t\t`admin`\n\t\tWHERE\n\t\t\t`admin_type` = 'admin'\n\t\tORDER BY\n\t\t\t`admin_name`\n\t"; $rs = exec_query($sql, $query); while (!$rs->EOF) { if (isset($_POST['uaction']) && $_POST['uaction'] === 'reseller_owner' && (isset($_POST['dest_admin']) && $_POST['dest_admin'] == $rs->fields['admin_id'])) { $selected = $cfg->HTML_SELECTED; } else { $selected = ''; } $tpl->append(array('OPTION' => tohtml($rs->fields['admin_name']), 'VALUE' => $rs->fields['admin_id'], 'SELECTED' => $selected)); $rs->moveNext(); } $tpl->assign('PAGE_MESSAGE', ''); }
/** * @param EasySCP_TemplateEngine $tpl * @param EasySCP_Database $sql * @param int $dmn_id */ function gen_user_assign($tpl, $sql, &$dmn_id) { if (isset($_GET['uname']) && $_GET['uname'] !== '' && is_numeric($_GET['uname'])) { $uuser_id = $_GET['uname']; $tpl->assign('UNAME', tohtml(get_htuser_name($sql, $uuser_id, $dmn_id))); $tpl->assign('UID', $uuser_id); } else { if (isset($_POST['nadmin_name']) && !empty($_POST['nadmin_name']) && is_numeric($_POST['nadmin_name'])) { $uuser_id = $_POST['nadmin_name']; $tpl->assign('UNAME', tohtml(get_htuser_name($sql, $uuser_id, $dmn_id))); $tpl->assign('UID', $uuser_id); } else { user_goto('protected_user_manage.php'); } } // get groups $query = "\n\t\tSELECT\n\t\t\t*\n\t\tFROM\n\t\t\t`htaccess_groups`\n\t\tWHERE\n\t\t\t`dmn_id` = ?\n\t"; $rs = exec_query($sql, $query, $dmn_id); if ($rs->recordCount() == 0) { set_page_message(tr('You have no groups!'), 'info'); user_goto('protected_user_manage.php'); } else { $added_in = 0; $not_added_in = 0; while (!$rs->EOF) { $group_id = $rs->fields['id']; $group_name = $rs->fields['ugroup']; $members = $rs->fields['members']; $members = explode(",", $members); $grp_in = 0; // let's generete all groups wher the user is assigned for ($i = 0, $cnt_members = count($members); $i < $cnt_members; $i++) { if ($uuser_id == $members[$i]) { $tpl->append(array('GRP_IN' => tohtml($group_name), 'GRP_IN_ID' => $group_id)); $grp_in = $group_id; $added_in++; } } if ($grp_in !== $group_id) { $tpl->append(array('GRP_NAME' => tohtml($group_name), 'GRP_ID' => $group_id)); $not_added_in++; } $rs->moveNext(); } // generate add/remove buttons if ($added_in != 0) { $tpl->assign('IN_GROUP', true); } if ($not_added_in != 0) { $tpl->assign('NOT_IN_GROUP', true); } } }
/** * @param EasySCP_TemplateEngine $tpl * @param EasySCP_Database $sql * @param int $user_id * @param string $eid */ function gen_error_page_data($tpl, $sql, $eid) { $domain = $_SESSION['user_logged']; // Check if we already have an error page $vfs = new EasySCP_VirtualFileSystem($domain, $sql); $error = $vfs->get('/errors/' . $eid . '.html'); if (false !== $error) { // We already have an error page, return it $tpl->assign(array('ERROR' => tohtml($error))); return; } // No error page $tpl->assign(array('ERROR' => '')); }
/** * @param EasySCP_TemplateEngine $tpl */ function dump_gui_debug($tpl) { $gui_debug_data = '<div id="dump_gui_debug">'; $gui_debug_data .= '<span style="color:#00f;text-decoration:underline;">Content of <strong>$_SESSION</strong>:<br /></span>'; $gui_debug_data .= '<pre>'; $gui_debug_data .= htmlentities(print_r($_SESSION, true)); $gui_debug_data .= '</pre>'; $gui_debug_data .= '<span style="color:#00f;text-decoration:underline;">Content of <strong>$_POST</strong>:<br /></span>'; $gui_debug_data .= '<pre>'; $gui_debug_data .= htmlentities(print_r($_POST, true)); $gui_debug_data .= '</pre>'; $gui_debug_data .= '<span style="color:#00f;text-decoration:underline;">Content of <strong>$_GET</strong>:<br /></span>'; $gui_debug_data .= '<pre>'; $gui_debug_data .= htmlentities(print_r($_GET, true)); $gui_debug_data .= '</pre>'; $gui_debug_data .= '<span style="color:#00f;text-decoration:underline;">Content of <strong>$_COOKIE</strong>:<br /></span>'; $gui_debug_data .= '<pre>'; $gui_debug_data .= htmlentities(print_r($_COOKIE, true)); $gui_debug_data .= '</pre>'; $gui_debug_data .= '<span style="color:#00f;text-decoration:underline;">Content of <strong>$_FILES</strong>:<br /></span>'; $gui_debug_data .= '<pre>'; $gui_debug_data .= htmlentities(print_r($_FILES, true)); $gui_debug_data .= '</pre>'; /* Activate debug code if needed $gui_debug_data .= '<span style="color:#00f;text-decoration:underline;">Content of <strong>$_SERVER</strong>:<br /></span>'; $gui_debug_data .= '<pre>'; $gui_debug_data .= htmlentities(print_r($_SERVER, true)); $gui_debug_data .= '</pre>'; */ $gui_debug_data .= '</div>'; $tpl->assign('GUI_DEBUG', $gui_debug_data); }
/** * @param EasySCP_TemplateEngine $tpl * @param EasySCP_Database $sql * @param int $dmn_id */ function gen_pgroups($tpl, $sql, &$dmn_id) { $cfg = EasySCP_Registry::get('Config'); $query = "\n\t\tSELECT\n\t\t\t*\n\t\tFROM\n\t\t\t`htaccess_groups`\n\t\tWHERE\n\t\t\t`dmn_id` = ?\n\t\tORDER BY\n\t\t\t`dmn_id` DESC\n\t"; $rs = exec_query($sql, $query, $dmn_id); if ($rs->recordCount() == 0) { $tpl->assign('GROUP_MESSAGE', tr('You have no groups!')); } else { while (!$rs->EOF) { $tpl->append(array('GNAME' => tohtml($rs->fields['ugroup']), 'GSTATUS' => translate_dmn_status($rs->fields['status']), 'GROUP_ID' => $rs->fields['id'], 'GROUP_DELETE' => tr('Delete'), 'GROUP_DELETE_SCRIPT' => $rs->fields['status'] === $cfg->ITEM_OK_STATUS && $rs->fields['ugroup'] != $cfg->AWSTATS_GROUP_AUTH ? "action_delete('protected_group_delete.php?gname=" . $rs->fields['id'] . "', '" . $rs->fields['ugroup'] . "')" : tr('N/A'))); if ($rs->fields['members'] != '') { $group_members = ''; $members = explode(',', $rs->fields['members']); $cnt_members = count($members); for ($i = 0; $i < $cnt_members; $i++) { $query = "\n\t\t\t\t\t\tSELECT\n\t\t\t\t\t\t\t`uname`\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t`htaccess_users`\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t`id` = ?\n\t\t\t\t\t"; $rs_members = exec_query($sql, $query, $members[$i]); if ($cnt_members == 1 || $cnt_members == $i + 1) { $group_members .= tohtml($rs_members->fields['uname']); } else { $group_members .= tohtml($rs_members->fields['uname']) . ', '; } } $tpl->append('MEMBER', $group_members); } else { $tpl->append('MEMBER', ''); } $rs->moveNext(); } } }
/** * @param EasySCP_TemplateEngine $tpl * @param int $reseller_id * @param string $reseller_name */ function generate_page($tpl, $reseller_id, $reseller_name) { global $rid; $cfg = EasySCP_Registry::get('Config'); $sql = EasySCP_Registry::get('Db'); $start_index = 0; $rows_per_page = $cfg->DOMAIN_ROWS_PER_PAGE; if (isset($_GET['psi'])) { $start_index = $_GET['psi']; } else { if (isset($_POST['psi'])) { $start_index = $_POST['psi']; } } $tpl->assign(array('POST_PREV_PSI' => $start_index)); // count query $count_query = "\n\t\tSELECT\n\t\t\tCOUNT(`admin_id`) AS cnt\n\t\tFROM\n\t\t\t`admin`\n\t\tWHERE\n\t\t\t`admin_type` = 'user'\n\t\tAND\n\t\t\t`created_by` = ?\n\t"; $query = <<<SQL_QUERY \t\tSELECT \t\t\t`admin_id` \t\tFROM \t\t\t`admin` \t\tWHERE \t\t\t`admin_type` = 'user' \t\tAND \t\t\t`created_by` = ? \t\tORDER BY \t\t\t`admin_name` DESC \t\tLIMIT \t\t\t{$start_index}, {$rows_per_page} SQL_QUERY; $rs = exec_query($sql, $count_query, $reseller_id); $records_count = $rs->fields['cnt']; $rs = exec_query($sql, $query, $reseller_id); $tpl->assign(array('RESELLER_NAME' => tohtml($reseller_name), 'RESELLER_ID' => $reseller_id)); if ($rs->rowCount() == 0) { $tpl->assign(array('DOMAIN_LIST' => '', 'SCROLL_PREV' => '', 'SCROLL_NEXT' => '')); } else { $prev_si = $start_index - $rows_per_page; if ($start_index == 0) { $tpl->assign('SCROLL_PREV', ''); } else { $tpl->assign(array('SCROLL_PREV_GRAY' => '', 'PREV_PSI' => $prev_si, 'RID' => $rid)); } $next_si = $start_index + $rows_per_page; if ($next_si + 1 > $records_count) { $tpl->assign('SCROLL_NEXT', ''); } else { $tpl->assign(array('SCROLL_NEXT_GRAY' => '', 'NEXT_PSI' => $next_si, 'RID' => $rid)); } $row = 1; while (!$rs->EOF) { $admin_id = $rs->fields['admin_id']; $query = "\n\t\t\t\tSELECT\n\t\t\t\t\t`domain_id`\n\t\t\t\tFROM\n\t\t\t\t\t`domain`\n\t\t\t\tWHERE\n\t\t\t\t\t`domain_admin_id` = ?\n\t\t\t;"; $dres = exec_query($sql, $query, $admin_id); generate_domain_entry($tpl, $dres->fields['domain_id'], $row++); $rs->moveNext(); } } }
/** * @param EasySCP_TemplateEngine $tpl * @param int $user_id */ function gen_admin_personal_data($tpl, $user_id) { $cfg = EasySCP_Registry::get('Config'); $sql = EasySCP_Registry::get('Db'); $query = "\n\t\tSELECT\n\t\t\t`fname`,\n\t\t\t`lname`,\n\t\t\t`gender`,\n\t\t\t`firm`,\n\t\t\t`zip`,\n\t\t\t`city`,\n\t\t\t`state`,\n\t\t\t`country`,\n\t\t\t`street1`,\n\t\t\t`street2`,\n\t\t\t`email`,\n\t\t\t`phone`,\n\t\t\t`fax`\n\t\tFROM\n\t\t\t`admin`\n\t\tWHERE\n\t\t\t`admin_id` = ?\n\t"; $rs = exec_query($sql, $query, $user_id); $tpl->assign(array('FIRST_NAME' => empty($rs->fields['fname']) ? '' : tohtml($rs->fields['fname']), 'LAST_NAME' => empty($rs->fields['lname']) ? '' : tohtml($rs->fields['lname']), 'FIRM' => empty($rs->fields['firm']) ? '' : tohtml($rs->fields['firm']), 'ZIP' => empty($rs->fields['zip']) ? '' : tohtml($rs->fields['zip']), 'CITY' => empty($rs->fields['city']) ? '' : tohtml($rs->fields['city']), 'STATE' => empty($rs->fields['state']) ? '' : tohtml($rs->fields['state']), 'COUNTRY' => empty($rs->fields['country']) ? '' : tohtml($rs->fields['country']), 'STREET_1' => empty($rs->fields['street1']) ? '' : tohtml($rs->fields['street1']), 'STREET_2' => empty($rs->fields['street2']) ? '' : tohtml($rs->fields['street2']), 'EMAIL' => empty($rs->fields['email']) ? '' : tohtml($rs->fields['email']), 'PHONE' => empty($rs->fields['phone']) ? '' : tohtml($rs->fields['phone']), 'FAX' => empty($rs->fields['fax']) ? '' : tohtml($rs->fields['fax']), 'VL_MALE' => $rs->fields['gender'] == 'M' ? $cfg->HTML_SELECTED : '', 'VL_FEMALE' => $rs->fields['gender'] == 'F' ? $cfg->HTML_SELECTED : '', 'VL_UNKNOWN' => $rs->fields['gender'] == 'U' || empty($rs->fields['gender']) ? $cfg->HTML_SELECTED : '')); }
/** * @param EasySCP_TemplateEngine $tpl */ function add_user($tpl) { $cfg = EasySCP_Registry::get('Config'); $sql = EasySCP_Registry::get('Db'); if (isset($_POST['uaction']) && $_POST['uaction'] === 'add_user') { if (check_user_data()) { $upass = crypt_user_pass($_POST['pass']); $user_id = $_SESSION['user_id']; $username = clean_input($_POST['username']); $fname = clean_input($_POST['fname']); $lname = clean_input($_POST['lname']); $gender = clean_input($_POST['gender']); $firm = clean_input($_POST['firm']); $zip = clean_input($_POST['zip']); $city = clean_input($_POST['city']); $state = clean_input($_POST['state']); $country = clean_input($_POST['country']); $email = clean_input($_POST['email']); $phone = clean_input($_POST['phone']); $fax = clean_input($_POST['fax']); $street1 = clean_input($_POST['street1']); $street2 = clean_input($_POST['street2']); if (get_gender_by_code($gender, true) === null) { $gender = ''; } $query = "\n\t\t\t\tINSERT INTO `admin`\n\t\t\t\t\t(\n\t\t\t\t\t\t`admin_name`,\n\t\t\t\t\t\t`admin_pass`,\n\t\t\t\t\t\t`admin_type`,\n\t\t\t\t\t\t`domain_created`,\n\t\t\t\t\t\t`created_by`,\n\t\t\t\t\t\t`fname`,\n\t\t\t\t\t\t`lname`,\n\t\t\t\t\t\t`firm`,\n\t\t\t\t\t\t`zip`,\n\t\t\t\t\t\t`city`,\n\t\t\t\t\t\t`state`,\n\t\t\t\t\t\t`country`,\n\t\t\t\t\t\t`email`,\n\t\t\t\t\t\t`phone`,\n\t\t\t\t\t\t`fax`,\n\t\t\t\t\t\t`street1`,\n\t\t\t\t\t\t`street2`,\n\t\t\t\t\t\t`gender`\n\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t'admin',\n\t\t\t\t\t\tunix_timestamp(),\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?,\n\t\t\t\t\t\t?\n\t\t\t\t\t)\n\t\t\t"; exec_query($sql, $query, array($username, $upass, $user_id, $fname, $lname, $firm, $zip, $city, $state, $country, $email, $phone, $fax, $street1, $street2, $gender)); $new_admin_id = $sql->insertId(); $user_logged = $_SESSION['user_logged']; write_log("{$user_logged}: add admin: {$username}"); $user_def_lang = $_SESSION['user_def_lang']; $user_theme_color = $_SESSION['user_theme']; $query = "\n\t\t\t\tINSERT INTO `user_gui_props` (\n\t\t\t\t\t`user_id`,\n\t\t\t\t\t`lang`,\n\t\t\t\t\t`layout`\n\t\t\t\t) VALUES (?,?,?)\n\t\t\t"; exec_query($sql, $query, array($new_admin_id, $user_def_lang, $user_theme_color)); send_add_user_auto_msg($user_id, clean_input($_POST['username']), clean_input($_POST['pass']), clean_input($_POST['email']), clean_input($_POST['fname']), clean_input($_POST['lname']), tr('Administrator'), $gender); $_SESSION['user_added'] = 1; user_goto('manage_users.php'); } else { // check user data $tpl->assign(array('EMAIL' => clean_input($_POST['email'], true), 'USERNAME' => clean_input($_POST['username'], true), 'FIRST_NAME' => clean_input($_POST['fname'], true), 'LAST_NAME' => clean_input($_POST['lname'], true), 'FIRM' => clean_input($_POST['firm'], true), 'ZIP' => clean_input($_POST['zip'], true), 'CITY' => clean_input($_POST['city'], true), 'STATE' => clean_input($_POST['state'], true), 'COUNTRY' => clean_input($_POST['country'], true), 'STREET_1' => clean_input($_POST['street1'], true), 'STREET_2' => clean_input($_POST['street2'], true), 'PHONE' => clean_input($_POST['phone'], true), 'FAX' => clean_input($_POST['fax'], true), 'VL_MALE' => $_POST['gender'] == 'M' ? $cfg->HTML_SELECTED : '', 'VL_FEMALE' => $_POST['gender'] == 'F' ? $cfg->HTML_SELECTED : '', 'VL_UNKNOWN' => $_POST['gender'] == 'U' || empty($_POST['gender']) ? $cfg->HTML_SELECTED : '')); } } else { $tpl->assign(array('EMAIL' => '', 'USERNAME' => '', 'FIRST_NAME' => '', 'LAST_NAME' => '', 'FIRM' => '', 'ZIP' => '', 'CITY' => '', 'STATE' => '', 'COUNTRY' => '', 'STREET_1' => '', 'STREET_2' => '', 'PHONE' => '', 'FAX' => '', 'VL_MALE' => '', 'VL_FEMALE' => '', 'VL_UNKNOWN' => $cfg->HTML_SELECTED)); } // end else }
/** * @param EasySCP_TemplateEngine $tpl */ function generate_page($tpl) { global $month, $year; $cfg = EasySCP_Registry::get('Config'); $sql = EasySCP_Registry::get('Db'); $start_index = 0; $rows_per_page = $cfg->DOMAIN_ROWS_PER_PAGE; if (isset($_GET['psi']) && is_numeric($_GET['psi'])) { $start_index = $_GET['psi']; } else { if (isset($_POST['psi']) && is_numeric($_GET['psi'])) { $start_index = $_POST['psi']; } } $tpl->assign(array('POST_PREV_PSI' => $start_index)); // count query $count_query = "\n\t\tSELECT\n\t\t\tCOUNT(`admin_id`) AS cnt\n\t\tFROM\n\t\t\t`admin`\n\t\tWHERE\n\t\t\t`admin_type` = 'reseller'\n\t"; $query = "\n\t\tSELECT\n\t\t\t`admin_id`, `admin_name`\n\t\tFROM\n\t\t\t`admin`\n\t\tWHERE\n\t\t\t`admin_type` = 'reseller'\n\t\tORDER BY\n\t\t\t`admin_name` DESC\n\t\tLIMIT\n\t\t\t{$start_index}, {$rows_per_page};\n\t"; $rs = exec_query($sql, $count_query); $records_count = $rs->fields['cnt']; $rs = exec_query($sql, $query); if ($rs->rowCount() == 0) { set_page_message(tr('There are no resellers in your system!'), 'info'); return; } else { $prev_si = $start_index - $rows_per_page; if ($start_index == 0) { $tpl->assign('SCROLL_PREV', ''); } else { $tpl->assign(array('SCROLL_PREV_GRAY' => '', 'PREV_PSI' => $prev_si)); } $next_si = $start_index + $rows_per_page; if ($next_si + 1 > $records_count) { $tpl->assign('SCROLL_NEXT', ''); } else { $tpl->assign(array('SCROLL_NEXT_GRAY' => '', 'NEXT_PSI' => $next_si)); } gen_select_lists($tpl, @$month, @$year); $row = 1; while (!$rs->EOF) { generate_reseller_entry($tpl, $rs->fields['admin_id'], $rs->fields['admin_name'], $row++); $rs->moveNext(); } } }
/** * Prepares the template * * @return void */ protected static function prepareTemplate() { self::$EasySCP_TemplateEngine = EasySCP_TemplateEngine::getInstance(); // check if i18n support is available if (function_exists('tr')) { self::$EasySCP_TemplateEngine->assign(array('TR_PAGE_TITLE' => tr('EasySCP Error'), 'THEME_CHARSET' => tr('encoding'), 'MSG_TYPE' => 'error', 'MESSAGE' => self::$exceptionMessage)); } else { self::$EasySCP_TemplateEngine->assign(array('TR_PAGE_TITLE' => 'EasySCP Error', 'THEME_CHARSET' => 'UTF-8', 'MSG_TYPE' => 'error', 'MESSAGE' => self::$exceptionMessage)); } }
/** * @param EasySCP_TemplateEngine $tpl * @param EasySCP_Database $sql * @param int $dmn_id * @param string $dmn_name */ function gen_page_ftp_list($tpl, $sql, $dmn_id, $dmn_name) { $query = "\n\t\tSELECT\n\t\t\t`gid`,\n\t\t\t`members`\n\t\tFROM\n\t\t\t`ftp_group`\n\t\tWHERE\n\t\t\t`groupname` = ?\n\t;"; $rs = exec_query($sql, $query, $dmn_name); if ($rs->recordCount() == 0) { $tpl->assign(array('FTP_MSG' => tr('FTP list is empty!'), 'FTP_MSG_TYPE' => 'info', 'FTP_ITEM' => '', 'FTPS_TOTAL' => '', 'TABLE_LIST' => '')); } else { $ftp_accs = explode(',', $rs->fields['members']); sort($ftp_accs); reset($ftp_accs); for ($i = 0, $cnt_ftp_accs = count($ftp_accs); $i < $cnt_ftp_accs; $i++) { $tpl->assign('ITEM_CLASS', $i % 2 == 0 ? 'content' : 'content2'); $ftp_accs_encode[$i] = decode_idna($ftp_accs[$i]); $query = "\n\t\t\t\tSELECT\n\t\t\t\t\t`net2ftppasswd`\n\t\t\t\tFROM\n\t\t\t\t\t`ftp_users`\n\t\t\t\tWHERE\n\t\t\t\t\t`userid` = ?\n\t\t\t;"; $rs = exec_query($sql, $query, $ftp_accs[$i]); $tpl->append(array('FTP_ACCOUNT' => tohtml($ftp_accs_encode[$i]), 'UID' => urlencode($ftp_accs[$i]), 'FTP_LOGIN_AVAILABLE' => !is_null($rs->fields['net2ftppasswd']))); } $tpl->assign('TOTAL_FTP_ACCOUNTS', count($ftp_accs)); } }
/** * @param EasySCP_TemplateEngine $tpl * @param EasySCP_Database $sql */ function gen_page_data($tpl, $sql) { if (isset($_POST['uaction']) && $_POST['uaction'] === 'send_circular') { $tpl->assign(array('MESSAGE_SUBJECT' => clean_input($_POST['msg_subject'], true), 'MESSAGE_TEXT' => clean_input($_POST['msg_text'], true), 'SENDER_EMAIL' => clean_input($_POST['sender_email'], true), 'SENDER_NAME' => clean_input($_POST['sender_name'], true))); } else { $user_id = $_SESSION['user_id']; $query = "\n\t\t\tSELECT\n\t\t\t\t`fname`, `lname`, `email`\n\t\t\tFROM\n\t\t\t\t`admin`\n\t\t\tWHERE\n\t\t\t\t`admin_id` = ?\n\t\t\tGROUP BY\n\t\t\t\t`email`\n\t\t"; $rs = exec_query($sql, $query, $user_id); if (isset($rs->fields['fname']) && isset($rs->fields['lname'])) { $sender_name = $rs->fields['fname'] . ' ' . $rs->fields['lname']; } elseif (isset($rs->fields['fname']) && !isset($rs->fields['lname'])) { $sender_name = $rs->fields['fname']; } elseif (!isset($rs->fields['fname']) && isset($rs->fields['lname'])) { $sender_name = $rs->fields['lname']; } else { $sender_name = ''; } $tpl->assign(array('MESSAGE_SUBJECT' => '', 'MESSAGE_TEXT' => '', 'SENDER_EMAIL' => tohtml($rs->fields['email']), 'SENDER_NAME' => tohtml($sender_name))); } }
/** * @param EasySCP_TemplateEngine $tpl * @param EasySCP_Database $sql * @param string $ftp_acc */ function gen_page_dynamic_data($tpl, $sql, $ftp_acc) { $cfg = EasySCP_Registry::get('Config'); $query = "\n\t\tSELECT\n\t\t\t`homedir`\n\t\tFROM\n\t\t\t`ftp_users`\n\t\tWHERE\n\t\t\t`userid` = ?\n\t"; $rs = exec_query($sql, $query, $ftp_acc); $homedir = $rs->fields['homedir']; $domain_ftp = $_SESSION['user_logged']; $nftp_dir = $cfg->FTP_HOMEDIR . "/" . $domain_ftp; if ($nftp_dir == $homedir) { $odir = ''; $oins = ''; } else { $odir = $cfg->HTML_CHECKED; $oins = substr($homedir, strlen($nftp_dir)); } $tpl->assign(array('FTP_ACCOUNT' => $ftp_acc, 'ID' => $ftp_acc, 'USE_OTHER_DIR_CHECKED' => $odir, 'OTHER_DIR' => $oins)); }
/** * @param EasySCP_TemplateEngine $tpl * @param EasySCP_Database $sql * @param int $user_id */ function gen_db_list($tpl, $sql, $user_id) { $dmn_id = get_user_domain_id($user_id); $query = "\n\t\tSELECT\n\t\t\t`sqld_id`, `sqld_name`\n\t\tFROM\n\t\t\t`sql_database`\n\t\tWHERE\n\t\t\t`domain_id` = ?\n\t\tORDER BY\n\t\t\t`sqld_name`\n\t"; $rs = exec_query($sql, $query, $dmn_id); if ($rs->recordCount() == 0) { set_page_message(tr('Database list is empty!'), 'info'); $tpl->assign('DB_LIST', ''); } else { while (!$rs->EOF) { $db_id = $rs->fields['sqld_id']; $db_name = $rs->fields['sqld_name']; $num = gen_db_user_list($tpl, $sql, $db_id); $tpl->append(array('DB_ID' => $db_id, 'DB_NAME' => tohtml($db_name), 'DB_NAME_JS' => tojs($db_name), 'DB_MSG' => $num ? '' : tr('Database user list is empty!'))); $rs->moveNext(); } } }
/** * @param EasySCP_TemplateEngine $tpl */ function gen_page_post_data($tpl) { $cfg = EasySCP_Registry::get('Config'); if ($cfg->MYSQL_PREFIX === 'yes') { $tpl->assign('MYSQL_PREFIX_NO', true); if ($cfg->MYSQL_PREFIX_TYPE === 'behind') { $tpl->assign('MYSQL_PREFIX_BEHIND', true); } else { $tpl->assign('MYSQL_PREFIX_INFRONT', true); } } else { $tpl->assign('MYSQL_PREFIX_YES', true); $tpl->assign('MYSQL_PREFIX_ALL', true); } if (isset($_POST['uaction']) && $_POST['uaction'] === 'add_db') { $tpl->assign(array('DB_NAME' => clean_input($_POST['db_name'], true), 'USE_DMN_ID' => isset($_POST['use_dmn_id']) && $_POST['use_dmn_id'] === 'on' ? $cfg->HTML_CHECKED : '', 'START_ID_POS_CHECKED' => isset($_POST['id_pos']) && $_POST['id_pos'] !== 'end' ? $cfg->HTML_CHECKED : '', 'END_ID_POS_CHECKED' => isset($_POST['id_pos']) && $_POST['id_pos'] === 'end' ? $cfg->HTML_CHECKED : '')); } else { $tpl->assign(array('DB_NAME' => '', 'USE_DMN_ID' => '', 'START_ID_POS_CHECKED' => $cfg->HTML_CHECKED, 'END_ID_POS_CHECKED' => '')); } }
/** * @param EasySCP_TemplateEngine $tpl */ function generate_page($tpl) { $cfg = EasySCP_Registry::get('Config'); $sql = EasySCP_Registry::get('Db'); $start_index = 0; $rows_per_page = 12; if (isset($_GET['psi']) && is_numeric($_GET['psi'])) { $start_index = intval($_GET['psi']); } $count_query = "\n\t\tSELECT\n\t\t\tCOUNT(`log_id`) AS cnt\n\t\tFROM\n\t\t\t`log`;\n\t"; $query = "\n\t\tSELECT\n\t\t\tDATE_FORMAT(`log_time`, '%Y-%m-%d %H:%i') AS dat, `log_message`\n\t\tFROM\n\t\t\t`log`\n\t\tORDER BY\n\t\t\t`log_time` DESC\n\t\tLIMIT\n\t\t\t{$start_index}, {$rows_per_page};\n\t"; $rs = exec_query($sql, $count_query); $records_count = $rs->fields['cnt']; $rs = exec_query($sql, $query); if ($rs->rowCount() == 0) { // set_page_message(tr('Log is empty!'), 'info'); $tpl->assign(array('PAG_MESSAGE' => tr('Log is empty!'))); } else { $prev_si = $start_index - $rows_per_page; if ($start_index == 0) { $tpl->assign('SCROLL_PREV', ''); } else { $tpl->assign(array('SCROLL_PREV_GRAY' => '', 'PREV_PSI' => $prev_si)); } $next_si = $start_index + $rows_per_page; if ($next_si + 1 > $records_count) { $tpl->assign('SCROLL_NEXT', ''); } else { $tpl->assign(array('SCROLL_NEXT_GRAY' => '', 'NEXT_PSI' => $next_si)); } $tpl->assign(array('PAGE_MESSAGE' => '')); while (!$rs->EOF) { $log_message = $rs->fields['log_message']; $replaces = array('/[^a-zA-Z](delete[sd]?)[^a-zA-Z]/i' => ' <strong style="color:#f00">\\1</strong> ', '/[^a-zA-Z](remove[sd]?)[^a-zA-Z]/i' => ' <strong style="color:#f00">\\1</strong> ', '/[^a-zA-Z](add(s|ed)?)[^a-zA-Z]/i' => ' <strong style="color:#3c6">\\1</strong> ', '/[^a-zA-Z](change[sd]?)[^a-zA-Z]/i' => ' <strong style="color:#30f">\\1</strong> ', '/[^a-zA-Z](update[sd]?)[^a-zA-Z]/i' => ' <strong style="color:#30f">\\1</strong> ', '/[^a-zA-Z](edit(s|ed)?)[^a-zA-Z]/i' => ' <strong style="color:#3c6">\\1</strong> ', '/[^a-zA-Z](unknown)[^a-zA-Z]/i' => ' <strong style="color:#c0f">\\1</strong> ', '/[^a-zA-Z](logged)[^a-zA-Z]/i' => ' <strong style="color:#360">\\1</strong> ', '/[^a-zA-Z]((session )?manipulation)[^a-zA-Z]/i' => ' <strong style="color:#f00">\\1</strong> ', '/[^a-zA-Z]*(Warning[\\!]?)[^a-zA-Z]/i' => ' <strong style="color:#f00">\\1</strong> ', '/(bad password login data)/i' => ' <strong style="color:#f00">\\1</strong> '); foreach ($replaces as $pattern => $replacement) { $log_message = preg_replace($pattern, $replacement, $log_message); } $date_formt = $cfg->DATE_FORMAT . ' H:i'; $tpl->append(array('ADM_MESSAGE' => $log_message, 'DATE' => date($date_formt, strtotime($rs->fields['dat'])))); $rs->moveNext(); } // end while } }
/** * @param EasySCP_TemplateEngine $tpl * @param int $user_id * @param int $domain_id */ function gen_detaildom_page($tpl, $user_id, $domain_id) { $sql = EasySCP_Registry::get('Db'); $cfg = EasySCP_Registry::get('Config'); // Get domain data $query = "\n\t\tSELECT\n\t\t\t*,\n\t\t\tIFNULL(`domain_disk_usage`, 0) AS domain_disk_usage\n\t\tFROM\n\t\t\t`domain`\n\t\tWHERE\n\t\t\t`domain_id` = ?\n\t"; $res = exec_query($sql, $query, $domain_id); $data = $res->fetchRow(); if ($res->recordCount() <= 0) { user_goto('users.php?psi=last'); } // Get admin data $created_by = $_SESSION['user_id']; $query = "SELECT `admin_name` FROM `admin` WHERE `admin_id` = ? AND `created_by` = ?"; $res1 = exec_query($sql, $query, array($data['domain_admin_id'], $created_by)); // NXW: Unused variable so... // $data1 = $res1->fetchRow(); $res1->fetchRow(); if ($res1->recordCount() <= 0) { user_goto('users.php?psi=last'); } // Get IP info $query = "SELECT * FROM `server_ips` WHERE `ip_id` = ?"; $ipres = exec_query($sql, $query, $data['domain_ip_id']); $ipres->fetchRow(); // Get staus name $dstatus = translate_dmn_status($data['status']); // Traffic diagram $fdofmnth = mktime(0, 0, 0, date("m"), 1, date("Y")); $ldofmnth = mktime(1, 0, 0, date("m") + 1, 0, date("Y")); $query = "SELECT\n\t\t\tIFNULL(SUM(`dtraff_web_in`), 0) AS dtraff_web_in,\n\t\t\tIFNULL(SUM(`dtraff_web_out`), 0) AS dtraff_web_out,\n\t\t\tIFNULL(SUM(`dtraff_ftp_in`), 0) AS dtraff_ftp_in,\n\t\t\tIFNULL(SUM(`dtraff_ftp_out`), 0) AS dtraff_ftp_out,\n\t\t\tIFNULL(SUM(`dtraff_mail`), 0) AS dtraff_mail,\n\t\t\tIFNULL(SUM(`dtraff_pop`),0) AS dtraff_pop\n\t\tFROM\n\t\t\t`domain_traffic`\n\t\tWHERE\n\t\t\t`domain_id` = ?\n\t\tAND\n\t\t\t`dtraff_time` > ?\n\t\tAND\n\t\t\t`dtraff_time` < ?\n\t"; $res7 = exec_query($sql, $query, array($data['domain_id'], $fdofmnth, $ldofmnth)); $dtraff = $res7->fetchRow(); $sumtraff = $dtraff['dtraff_web_in'] + $dtraff['dtraff_web_out'] + $dtraff['dtraff_ftp_in'] + $dtraff['dtraff_ftp_out'] + $dtraff['dtraff_mail'] + $dtraff['dtraff_pop']; // NXW: Unused variables so ... /* $dtraffmb = sprintf("%.1f", ($sumtraff / 1024) / 1024); $month = date("m"); $year = date("Y"); */ $query = "SELECT * FROM `server_ips` WHERE `ip_id` = ?"; $res8 = exec_query($sql, $query, $data['domain_ip_id']); $ipdat = $res8->fetchRow(); $domain_traffic_limit = $data['domain_traffic_limit']; $domain_all_traffic = $sumtraff; $traffic_percent = $domain_all_traffic != 0 ? sprintf("%.2f", 100 * $domain_all_traffic / ($domain_traffic_limit * 1024 * 1024)) : 0; // Get disk status $domdu = $data['domain_disk_usage']; $domdl = $data['domain_disk_limit']; $domduh = sizeit($domdu); $disk_percent = sprintf("%.2f", 100 * $domdu / ($domdl * 1024 * 1024)); // Get current mail count $query = "SELECT COUNT(`mail_id`) AS mcnt " . "FROM `mail_users` " . "WHERE `domain_id` = ? " . "AND `mail_type` NOT RLIKE '_catchall'"; $res6 = exec_query($sql, $query, $data['domain_id']); $dat3 = $res6->fetchRow(); $mail_limit = translate_limit_value($data['domain_mailacc_limit']); // FTP stat $query = "SELECT `gid` FROM `ftp_group` WHERE `groupname` = ?"; $res4 = exec_query($sql, $query, $data['domain_name']); $ftp_gnum = $res4->rowCount(); if ($ftp_gnum == 0) { $used_ftp_acc = 0; } else { $dat1 = $res4->fetchRow(); $query = "SELECT COUNT(*) AS ftp_cnt FROM `ftp_users` WHERE `gid` = ?"; $res5 = exec_query($sql, $query, $dat1['gid']); $dat2 = $res5->fetchRow(); $used_ftp_acc = $dat2['ftp_cnt']; } $ftp_limit = translate_limit_value($data['domain_ftpacc_limit']); // Get sql database count $query = "SELECT COUNT(*) AS dnum FROM `sql_database` WHERE `domain_id` = ?"; $res = exec_query($sql, $query, $data['domain_id']); $dat5 = $res->fetchRow(); $sql_db = translate_limit_value($data['domain_sqld_limit']); // Get sql users count $query = "SELECT COUNT(u.`sqlu_id`) AS ucnt FROM sql_user u, sql_database d WHERE u.`sqld_id` = d.`sqld_id` AND d.`domain_id` = ?"; $res = exec_query($sql, $query, $data['domain_id']); $dat6 = $res->fetchRow(); $sql_users = translate_limit_value($data['domain_sqlu_limit']); // Get subdomain $query = "SELECT COUNT(`subdomain_id`) AS sub_num FROM `subdomain` WHERE `domain_id` = ?"; $res1 = exec_query($sql, $query, $domain_id); $sub_num_data = $res1->fetchRow(); $query = "SELECT COUNT(`subdomain_alias_id`) AS sub_num FROM `subdomain_alias` WHERE `alias_id` IN (SELECT `alias_id` FROM `domain_aliasses` WHERE `domain_id` = ?)"; $res1 = exec_query($sql, $query, $domain_id); $alssub_num_data = $res1->fetchRow(); $sub_dom = translate_limit_value($data['domain_subd_limit']); // Get domain aliases $query = "SELECT COUNT(*) AS alias_num FROM `domain_aliasses` WHERE `domain_id` = ?"; $res1 = exec_query($sql, $query, $domain_id); $alias_num_data = $res1->fetchRow(); // Check if Backup support is available for this user switch ($data['allowbackup']) { case "full": $tpl->assign(array('VL_BACKUP_SUPPORT' => tr('Full'))); break; case "sql": $tpl->assign(array('VL_BACKUP_SUPPORT' => tr('SQL'))); break; case "dmn": $tpl->assign(array('VL_BACKUP_SUPPORT' => tr('Domain'))); break; default: $tpl->assign(array('VL_BACKUP_SUPPORT' => tr('No'))); } $dom_alias = translate_limit_value($data['domain_alias_limit']); // Fill in the fields $tpl->assign(array('DOMAIN_ID' => $data['domain_id'], 'VL_DOMAIN_NAME' => tohtml(decode_idna($data['domain_name'])), 'VL_DOMAIN_IP' => tohtml($ipdat['ip_number'] . ' (' . $ipdat['ip_alias'] . ')'), 'VL_STATUS' => $dstatus, 'VL_PHP_SUPP' => $data['domain_php'] == 'yes' ? tr('Enabled') : tr('Disabled'), 'VL_CGI_SUPP' => $data['domain_cgi'] == 'yes' ? tr('Enabled') : tr('Disabled'), 'VL_DNS_SUPP' => $data['domain_dns'] == 'yes' ? tr('Enabled') : tr('Disabled'), 'VL_MYSQL_SUPP' => $data['domain_sqld_limit'] >= 0 ? tr('Enabled') : tr('Disabled'), 'VL_TRAFFIC_PERCENT' => $traffic_percent, 'VL_TRAFFIC_USED' => sizeit($domain_all_traffic), 'VL_TRAFFIC_LIMIT' => sizeit($domain_traffic_limit, 'MB'), 'VL_DISK_PERCENT' => $disk_percent, 'VL_DISK_USED' => $domduh, 'VL_DISK_LIMIT' => sizeit($data['domain_disk_limit'], 'MB'), 'VL_MAIL_ACCOUNTS_USED' => $dat3['mcnt'], 'VL_MAIL_ACCOUNTS_LIIT' => $mail_limit, 'VL_FTP_ACCOUNTS_USED' => $used_ftp_acc, 'VL_FTP_ACCOUNTS_LIIT' => $ftp_limit, 'VL_SQL_DB_ACCOUNTS_USED' => $dat5['dnum'], 'VL_SQL_DB_ACCOUNTS_LIIT' => $sql_db, 'VL_SQL_USER_ACCOUNTS_USED' => $dat6['ucnt'], 'VL_SQL_USER_ACCOUNTS_LIIT' => $sql_users, 'VL_SUBDOM_ACCOUNTS_USED' => $sub_num_data['sub_num'] + $alssub_num_data['sub_num'], 'VL_SUBDOM_ACCOUNTS_LIIT' => $sub_dom, 'VL_DOMALIAS_ACCOUNTS_USED' => $alias_num_data['alias_num'], 'VL_DOMALIAS_ACCOUNTS_LIIT' => $dom_alias)); }
/** * generate page add user 3 * @param EasySCP_TemplateEngine $tpl */ function gen_user_add3_page($tpl) { global $dmn_name, $hpid, $dmn_user_name, $user_email, $customer_id, $first_name, $last_name, $gender, $firm, $zip, $city, $state, $country, $street_one, $street_two, $phone, $fax; $cfg = EasySCP_Registry::get('Config'); $dmn_user_name = decode_idna($dmn_user_name); // Fill in the fields $tpl->assign(array('VL_USERNAME' => tohtml($dmn_user_name), 'VL_USR_PASS' => passgen(), 'VL_MAIL' => tohtml($user_email), 'VL_USR_ID' => $customer_id, 'VL_USR_NAME' => tohtml($first_name), 'VL_LAST_USRNAME' => tohtml($last_name), 'VL_USR_FIRM' => tohtml($firm), 'VL_USR_POSTCODE' => tohtml($zip), 'VL_USRCITY' => tohtml($city), 'VL_USRSTATE' => tohtml($state), 'VL_MALE' => $gender == 'M' ? $cfg->HTML_SELECTED : '', 'VL_FEMALE' => $gender == 'F' ? $cfg->HTML_SELECTED : '', 'VL_UNKNOWN' => $gender == 'U' ? $cfg->HTML_SELECTED : '', 'VL_COUNTRY' => tohtml($country), 'VL_STREET1' => tohtml($street_one), 'VL_STREET2' => tohtml($street_two), 'VL_PHONE' => tohtml($phone), 'VL_FAX' => tohtml($fax))); generate_ip_list($tpl, $_SESSION['user_id']); $_SESSION['local_data'] = "{$dmn_name};{$hpid}"; }
/** * @param EasySCP_TemplateEngine $tpl */ function gen_page_js($tpl) { if (isset($_SESSION['subdomain_count']) && isset($_SESSION['alias_count'])) { // no subdomains and no alias $tpl->assign('JS_TO_SUBDOMAIN', ''); $tpl->assign('JS_TO_ALIAS_DOMAIN', ''); $tpl->assign('JS_TO_ALL_DOMAIN', ''); } else { if (isset($_SESSION['subdomain_count']) && !isset($_SESSION['alias_count'])) { // no subdomains - alaias available $tpl->assign('JS_NOT_DOMAIN', ''); $tpl->assign('JS_TO_SUBDOMAIN', ''); $tpl->assign('JS_TO_ALL_DOMAIN', ''); } else { if (!isset($_SESSION['subdomain_count']) && isset($_SESSION['alias_count'])) { // no alias - subdomain available $tpl->assign('JS_NOT_DOMAIN', ''); $tpl->assign('JS_TO_ALIAS_DOMAIN', ''); $tpl->assign('JS_TO_ALL_DOMAIN', ''); } else { // there are subdomains and aliases $tpl->assign('JS_NOT_DOMAIN', ''); $tpl->assign('JS_TO_SUBDOMAIN', ''); $tpl->assign('JS_TO_ALIAS_DOMAIN', ''); } } } unset($GLOBALS['subdomain_count']); unset($GLOBALS['alias_count']); unset($_SESSION['subdomain_count']); unset($_SESSION['alias_count']); }
/** * @param EasySCP_TemplateEngine $tpl * @param int $admin_id */ function gen_messages_table($tpl, $admin_id) { $sql = EasySCP_Registry::get('Db'); $query = "\n\t\tSELECT\n\t\t\t`ticket_id`\n\t\tFROM\n\t\t\t`tickets`\n\t\tWHERE\n\t\t\t(`ticket_from` = ? OR `ticket_to` = ?)\n\t\tAND\n\t\t\t`ticket_status` IN ('1', '4')\n\t\tAND\n\t\t\t`ticket_reply` = '0'\n\t;"; $res = exec_query($sql, $query, array($admin_id, $admin_id)); $questions = $res->rowCount(); if ($questions == 0) { $tpl->assign(array('TR_NO_NEW_MESSAGES' => tr('You have no new support questions!'), 'MSG_ENTRY' => '')); } else { $tpl->assign(array('TR_NEW_MSGS' => tr('You have <strong>%d</strong> new support questions', $questions), 'NO_MESSAGES' => '', 'TR_VIEW' => tr('View'))); } }
/** * Generate load data from sql for requested hosting plan * @param EasySCP_TemplateEngine $tpl * @param EasySCP_Database $sql * @param int $hpid * @param int $admin_id */ function gen_load_ehp_page($tpl, $sql, $hpid, $admin_id) { $cfg = EasySCP_Registry::get('Config'); $_SESSION['hpid'] = $hpid; if (isset($cfg->HOSTING_PLANS_LEVEL) && $cfg->HOSTING_PLANS_LEVEL === 'admin') { $query = "\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\t`hosting_plans`\n\t\t\tWHERE\n\t\t\t\t`id` = ?\n\t\t\t;\n\t\t"; $res = exec_query($sql, $query, $hpid); $readonly = $cfg->HTML_READONLY; $disabled = $cfg->HTML_DISABLED; $edit_hp = tr('View hosting plan'); $tpl->assign('FORM', ''); } else { $query = "\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\t`hosting_plans`\n\t\t\tWHERE\n\t\t\t\t`reseller_id` = ?\n\t\t\tAND\n\t\t\t\t`id` = ?\n\t\t\t;\n\t\t"; $res = exec_query($sql, $query, array($admin_id, $hpid)); $readonly = ''; $disabled = ''; $edit_hp = tr('Edit hosting plan'); } if ($res->rowCount() !== 1) { // Error user_goto('hosting_plan.php'); } $data = $res->fetchRow(); $props = unserialize($data['props']); $description = $data['description']; $price = $data['price']; $setup_fee = $data['setup_fee']; $value = $data['value']; $payment = $data['payment']; $status = $data['status']; $tos = $data['tos']; $hp_php = $props['allow_php']; $hp_phpe = $props['allow_phpe']; $hp_cgi = $props['allow_cgi']; $hp_sub = $props['subdomain_cnt']; $hp_als = $props['alias_cnt']; $hp_mail = $props['mail_cnt']; $hp_ftp = $props['ftp_cnt']; $hp_sql_db = $props['db_cnt']; $hp_sql_user = $props['sqluser_cnt']; $hp_traff = $props['traffic']; $hp_disk = $props['disk']; $hp_backup = $props['allow_backup']; $hp_countbackup = $props['disk_countbackup']; $hp_dns = $props['allow_dns']; $hp_ssl = $props['allow_ssl']; $hp_name = $data['name']; if ($description == '') { $description = ''; } if ($tos == '') { $tos = ''; } if ($payment == '') { $payment = ''; } if ($value == '') { $value = ''; } list($rsub_max, $rals_max, $rmail_max, $rftp_max, $rsql_db_max, $rsql_user_max) = check_reseller_permissions($_SESSION['user_id'], 'all_permissions'); if ($rsub_max == "-1") { $tpl->assign('ALIAS_EDIT', ''); } if ($rals_max == "-1") { $tpl->assign('SUBDOMAIN_EDIT', ''); } if ($rmail_max == "-1") { $tpl->assign('MAIL_EDIT', ''); } if ($rftp_max == "-1") { $tpl->assign('FTP_EDIT', ''); } if ($rsql_db_max == "-1") { $tpl->assign('SQL_DB_EDIT', ''); } if ($rsql_user_max == "-1") { $tpl->assign('SQL_USER_EDIT', ''); } $tpl->assign(array('HP_NAME_VALUE' => tohtml($hp_name), 'TR_EDIT_HOSTING_PLAN' => $edit_hp, 'TR_MAX_SUB_LIMITS' => $hp_sub, 'TR_MAX_ALS_VALUES' => $hp_als, 'HP_MAIL_VALUE' => $hp_mail, 'HP_FTP_VALUE' => $hp_ftp, 'HP_SQL_DB_VALUE' => $hp_sql_db, 'HP_SQL_USER_VALUE' => $hp_sql_user, 'HP_TRAFF_VALUE' => $hp_traff, 'HP_DISK_VALUE' => $hp_disk, 'HP_DESCRIPTION_VALUE' => tohtml($description), 'HP_PRICE' => tohtml($price), 'HP_SETUPFEE' => tohtml($setup_fee), 'HP_VALUE' => tohtml($value), 'READONLY' => $readonly, 'DISBLED' => $disabled, 'HP_PAYMENT' => tohtml($payment), 'HP_TOS_VALUE' => tohtml($tos), 'TR_PHP_YES' => $hp_php == '_yes_' ? $cfg->HTML_CHECKED : '', 'TR_PHP_NO' => $hp_php == '_no_' ? $cfg->HTML_CHECKED : '', 'TR_PHPEY' => $hp_phpe === '_yes_' ? $cfg->HTML_CHECKED : '', 'TR_PHPEN' => $hp_phpe === '_no_' ? $cfg->HTML_CHECKED : '', 'TR_CGI_YES' => $hp_cgi == '_yes_' ? $cfg->HTML_CHECKED : '', 'TR_CGI_NO' => $hp_cgi == '_no_' ? $cfg->HTML_CHECKED : '', 'TR_SSL_YES' => $hp_ssl == '_yes_' ? $cfg->HTML_CHECKED : '', 'TR_SSL_NO' => $hp_ssl == '_no_' ? $cfg->HTML_CHECKED : '', 'TR_DNS_YES' => $hp_dns == '_yes_' ? $cfg->HTML_CHECKED : '', 'TR_DNS_NO' => $hp_dns == '_no_' ? $cfg->HTML_CHECKED : '', 'VL_BACKUPD' => $hp_backup == '_dmn_' ? $cfg->HTML_CHECKED : '', 'VL_BACKUPS' => $hp_backup == '_sql_' ? $cfg->HTML_CHECKED : '', 'VL_BACKUPF' => $hp_backup == '_full_' ? $cfg->HTML_CHECKED : '', 'VL_BACKUPN' => $hp_backup == '_no_' ? $cfg->HTML_CHECKED : '', 'TR_BACKUPCOUNT_YES' => $hp_countbackup == '_yes_' ? $cfg->HTML_CHECKED : '', 'TR_BACKUPCOUNT_NO' => $hp_countbackup == '_no_' ? $cfg->HTML_CHECKED : '', 'TR_STATUS_YES' => $status ? $cfg->HTML_CHECKED : '', 'TR_STATUS_NO' => !$status ? $cfg->HTML_CHECKED : '')); }
/** * @todo use template loop instead of this hardcoded HTML * @param EasySCP_TemplateEngine $tpl * @param int $edit_id * @param bool $add_mode */ function gen_editdns_page($tpl, $edit_id, $add_mode) { $cfg = EasySCP_Registry::get('Config'); $sql = EasySCP_Registry::get('Db'); $DNS_allowed_types = array('A', 'AAAA', 'CNAME', 'MX', 'SRV', 'NS'); $dmn_props = get_domain_default_props($_SESSION['user_id']); if ($dmn_props['domain_dns'] != 'yes') { not_allowed(); } if ($GLOBALS['add_mode']) { $data = null; $query = "\n\t\t\tSELECT\n\t\t\t\t'0' AS `alias_id`,\n\t\t\t\t`domain`.`domain_name` AS `domain_name`\n\t\t\tFROM\n\t\t\t\t`domain`\n\t\t\tWHERE\n\t\t\t\t`domain_id` = :domain_id\n\t\t\tUNION\n\t\t\tSELECT\n\t\t\t\t`domain_aliasses`.`alias_id`,\n\t\t\t\t`domain_aliasses`.`alias_name`\n\t\t\tFROM\n\t\t\t\t`domain_aliasses`\n\t\t\tWHERE\n\t\t\t\t`domain_aliasses`.`domain_id` = :domain_id\n\t\t\tAND `status` <> :state\n\t\t"; $res = exec_query($sql, $query, array('domain_id' => $dmn_props['domain_id'], 'state' => $cfg->ITEM_ORDERED_STATUS)); $sel = ''; while ($row = $res->fetchRow()) { $sel .= '<option value="' . $row['alias_id'] . '">' . decode_idna($row['domain_name']) . '</option>'; } $tpl->assign(array('SELECT_ALIAS' => $sel, 'ADD_RECORD' => true)); } else { $sql_param = array('record_id' => $edit_id); $sql_query = "\n\t\t\tSELECT\n\t\t\t\td.name AS domain_dns,\n\t\t\t\tr.*\n\t\t\tFROM\n\t\t\t\tpowerdns.domains d,\n\t\t\t\tpowerdns.records r\n\t\t\tWHERE\n\t\t\t\tr.id = :record_id\n\t\t\tAND\n\t\t\t\td.id = r.domain_id\n\t\t"; DB::prepare($sql_query); $statement = DB::execute($sql_param, false); if ($statement->rowCount() <= 0) { return not_allowed(); } $data = $statement->fetch(); } list($name, $address, $addressv6, $srv_name, $srv_proto, $srv_ttl, $srv_prio, $srv_weight, $srv_host, $srv_port, $cname, $plain, $ns) = decode_zone_data($data); // Protection against edition (eg. for external mail MX record) if (isset($data['protected']) && $data['protected'] == '1') { set_page_message(tr('You are not allowed to edit this DNS record!'), 'error'); not_allowed(); } $dns_type = create_options($DNS_allowed_types, tryPost('type', $data['type'])); $tpl->assign(array('SELECT_DNS_TYPE' => $dns_type, 'DNS_NAME' => tohtml($name), 'DNS_ADDRESS' => tohtml(tryPost('dns_A_address', $address)), 'DNS_ADDRESS_V6' => tohtml(tryPost('dns_AAAA_address', $addressv6)), 'SELECT_DNS_SRV_PROTOCOL' => create_options(array('tcp', 'udp'), tryPost('srv_proto', $srv_proto)), 'DNS_SRV_NAME' => tohtml(tryPost('dns_srv_name', $srv_name)), 'DNS_SRV_TTL' => tohtml(tryPost('dns_srv_ttl', $srv_ttl)), 'DNS_SRV_PRIO' => tohtml(tryPost('dns_srv_prio', $srv_prio)), 'DNS_SRV_WEIGHT' => tohtml(tryPost('dns_srv_weight', $srv_weight)), 'DNS_SRV_HOST' => tohtml(tryPost('dns_srv_host', $srv_host)), 'DNS_SRV_PORT' => tohtml(tryPost('dns_srv_port', $srv_port)), 'DNS_CNAME' => tohtml(tryPost('dns_cname', $cname)), 'DNS_PLAIN' => tohtml(tryPost('dns_plain_data', $plain)), 'DNS_NS_HOSTNAME' => tohtml(tryPost('dns_ns', $ns)), 'ID' => $edit_id, 'ACTION_MODE' => $add_mode ? 'dns_add.php' : 'dns_edit.php?edit_id=' . $edit_id)); }
/** * @param EasySCP_TemplateEngine $tpl * @param EasySCP_Database $sql * @param int $id */ function gen_dynamic_page_data($tpl, $sql, $id) { global $domain_id; $cfg = EasySCP_Registry::get('Config'); $dmn_props = get_domain_default_props($_SESSION['user_id']); $domain_id = $dmn_props['domain_id']; list($mail_acc_cnt) = get_domain_running_mail_acc_cnt($sql, $dmn_props['domain_id']); if ($dmn_props['domain_mailacc_limit'] != 0 && $mail_acc_cnt >= $dmn_props['domain_mailacc_limit']) { set_page_message(tr('Mail accounts limit reached!'), 'warning'); user_goto('mail_catchall.php'); } $ok_status = $cfg->ITEM_OK_STATUS; $match = array(); if (preg_match("/(\\d+);(normal|alias|subdom|alssub)/", $id, $match) == 1) { $item_id = $match[1]; $item_type = $match[2]; if ($item_type === 'normal') { $query = "\n\t\t\t\tSELECT\n\t\t\t\t\tt1.`mail_id`, t1.`mail_type`, t2.`domain_name`, t1.`mail_acc`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users` AS t1,\n\t\t\t\t\t`domain` AS t2\n\t\t\t\tWHERE\n\t\t\t\t\tt1.`domain_id` = ?\n\t\t\t\tAND\n\t\t\t\t\tt2.`domain_id` = ?\n\t\t\t\tAND\n\t\t\t\t\tt1.`sub_id` = '0'\n\t\t\t\tAND\n\t\t\t\t\tt1.`status` = ?\n\t\t\t\tORDER BY\n\t\t\t\t\tt1.`mail_type` DESC, t1.`mail_acc`\n\t\t\t"; $rs = exec_query($sql, $query, array($item_id, $item_id, $ok_status)); if ($rs->recordCount() == 0) { $tpl->assign(array('FORWARD_MAIL' => $cfg->HTML_CHECKED, 'MAIL_LIST' => '', 'DEFAULT' => 'forward')); } else { $tpl->assign(array('NORMAL_MAIL' => $cfg->HTML_CHECKED, 'NORMAL_MAIL_CHECK' => 'checked', 'FORWARD_MAIL' => '', 'DEFAULT' => 'normal')); while (!$rs->EOF) { $show_mail_acc = decode_idna($rs->fields['mail_acc']); $show_domain_name = decode_idna($rs->fields['domain_name']); $mail_acc = $rs->fields['mail_acc']; $domain_name = $rs->fields['domain_name']; $tpl->append(array('MAIL_ID' => $rs->fields['mail_id'], 'MAIL_ACCOUNT' => tohtml($show_mail_acc . "@" . $show_domain_name), 'MAIL_ACCOUNT_PUNNY' => tohtml($mail_acc . "@" . $domain_name))); $rs->moveNext(); } } } else { if ($item_type === 'alias') { $query = "\n\t\t\t\tSELECT\n\t\t\t\t\tt1.`mail_id`, t1.`mail_type`, t2.`alias_name`, t1.`mail_acc`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users` AS t1,\n\t\t\t\t\t`domain_aliasses` AS t2\n\t\t\t\tWHERE\n\t\t\t\t\tt1.`sub_id` = t2.`alias_id`\n\t\t\t\tAND\n\t\t\t\t\tt1.`status` = ?\n\t\t\t\tAND\n\t\t\t\t\tt1.`mail_type` LIKE 'alias_%'\n\t\t\t\tAND\n\t\t\t\t\tt2.`alias_id` = ?\n\t\t\t\tORDER BY\n\t\t\t\t\tt1.`mail_type` DESC, t1.`mail_acc`\n\t\t\t"; $rs = exec_query($sql, $query, array($ok_status, $item_id)); if ($rs->recordCount() == 0) { $tpl->assign(array('FORWARD_MAIL' => $cfg->HTML_CHECKED, 'MAIL_LIST' => '', 'DEFAULT' => 'forward')); } else { $tpl->assign(array('NORMAL_MAIL' => $cfg->HTML_CHECKED, 'NORMAL_MAIL_CHECK' => 'checked', 'FORWARD_MAIL' => '', 'DEFAULT' => 'normal')); while (!$rs->EOF) { $show_mail_acc = decode_idna($rs->fields['mail_acc']); $show_alias_name = decode_idna($rs->fields['alias_name']); $mail_acc = $rs->fields['mail_acc']; $alias_name = $rs->fields['alias_name']; $tpl->append(array('MAIL_ID' => $rs->fields['mail_id'], 'MAIL_ACCOUNT' => tohtml($show_mail_acc . "@" . $show_alias_name), 'MAIL_ACCOUNT_PUNNY' => tohtml($mail_acc . "@" . $alias_name))); $rs->moveNext(); } } } else { if ($item_type === 'subdom') { $query = "\n\t\t\t\tSELECT\n\t\t\t\t\tt1.`mail_id`, t1.`mail_type`, CONCAT(t2.`subdomain_name`, '.', t3.`domain_name`) AS subdomain_name, t1.`mail_acc`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users` AS t1,\n\t\t\t\t\t`subdomain` AS t2,\n\t\t\t\t\t`domain` AS t3\n\t\t\t\tWHERE\n\t\t\t\t\tt1.`sub_id` = t2.`subdomain_id`\n\t\t\t\tAND\n\t\t\t\t\tt2.`domain_id` = t3.`domain_id`\n\t\t\t\tAND\n\t\t\t\t\tt1.`status` = ?\n\t\t\t\tAND\n\t\t\t\t\tt1.`mail_type` LIKE 'subdom_%'\n\t\t\t\tAND\n\t\t\t\t\tt2.`subdomain_id` = ?\n\t\t\t\tORDER BY\n\t\t\t\t\tt1.`mail_type` DESC, t1.`mail_acc`\n\t\t\t"; $rs = exec_query($sql, $query, array($ok_status, $item_id)); if ($rs->recordCount() == 0) { $tpl->assign(array('FORWARD_MAIL' => $cfg->HTML_CHECKED, 'MAIL_LIST' => '', 'DEFAULT' => 'forward')); } else { $tpl->assign(array('NORMAL_MAIL' => $cfg->HTML_CHECKED, 'NORMAL_MAIL_CHECK' => 'checked', 'FORWARD_MAIL' => '', 'DEFAULT' => 'normal')); while (!$rs->EOF) { $show_mail_acc = decode_idna($rs->fields['mail_acc']); $show_alias_name = decode_idna($rs->fields['subdomain_name']); $mail_acc = $rs->fields['mail_acc']; $alias_name = $rs->fields['subdomain_name']; $tpl->append(array('MAIL_ID' => $rs->fields['mail_id'], 'MAIL_ACCOUNT' => tohtml($show_mail_acc . "@" . $show_alias_name), 'MAIL_ACCOUNT_PUNNY' => tohtml($mail_acc . "@" . $alias_name))); $rs->moveNext(); } } } else { if ($item_type === 'alssub') { $query = "\n\t\t\t\tSELECT\n\t\t\t\t\tt1.`mail_id`, t1.`mail_type`, CONCAT(t2.`subdomain_alias_name`, '.', t3.`alias_name`) AS subdomain_name, t1.`mail_acc`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users` AS t1,\n\t\t\t\t\t`subdomain_alias` AS t2,\n\t\t\t\t\t`domain_aliasses` AS t3\n\t\t\t\tWHERE\n\t\t\t\t\tt1.`sub_id` = t2.`subdomain_alias_id`\n\t\t\t\tAND\n\t\t\t\t\tt2.`alias_id` = t3.`alias_id`\n\t\t\t\tAND\n\t\t\t\t\tt1.`status` = ?\n\t\t\t\tAND\n\t\t\t\t\tt1.`mail_type` LIKE 'alssub_%'\n\t\t\t\tAND\n\t\t\t\t\tt2.`subdomain_alias_id` = ?\n\t\t\t\tORDER BY\n\t\t\t\t\tt1.`mail_type` DESC, t1.`mail_acc`\n\t\t\t"; $rs = exec_query($sql, $query, array($ok_status, $item_id)); if ($rs->recordCount() == 0) { $tpl->assign(array('FORWARD_MAIL' => $cfg->HTML_CHECKED, 'MAIL_LIST' => '', 'DEFAULT' => 'forward')); } else { $tpl->assign(array('NORMAL_MAIL' => $cfg->HTML_CHECKED, 'NORMAL_MAIL_CHECK' => 'checked', 'FORWARD_MAIL' => '', 'DEFAULT' => 'normal')); while (!$rs->EOF) { $show_mail_acc = decode_idna($rs->fields['mail_acc']); $show_alias_name = decode_idna($rs->fields['subdomain_name']); $mail_acc = $rs->fields['mail_acc']; $alias_name = $rs->fields['subdomain_name']; $tpl->append(array('MAIL_ID' => $rs->fields['mail_id'], 'MAIL_ACCOUNT' => tohtml($show_mail_acc . "@" . $show_alias_name), 'MAIL_ACCOUNT_PUNNY' => tohtml($mail_acc . "@" . $alias_name))); $rs->moveNext(); } } } } } } } else { user_goto('mail_catchall.php'); } }
/** * @param EasySCP_TemplateEngine $tpl */ function gen_user_table($tpl) { $cfg = EasySCP_Registry::get('Config'); $sql = EasySCP_Registry::get('Db'); $query = "\n\t\tSELECT\n\t\t\t`admin_id`, `admin_name`\n\t\tFROM\n\t\t\t`admin`\n\t\tWHERE\n\t\t\t`admin_type` = 'reseller'\n\t\tORDER BY\n\t\t\t`admin_name`\n\t"; $rs = exec_query($sql, $query); if ($rs->recordCount() == 0) { set_page_message(tr('Reseller or user list is empty!'), 'info'); user_goto('manage_users.php'); } $reseller_id = $rs->fields['admin_id']; $all_resellers = array(); while (!$rs->EOF) { if (isset($_POST['uaction']) && $_POST['uaction'] === 'change_src' && (isset($_POST['src_reseller']) && $_POST['src_reseller'] == $rs->fields['admin_id'])) { $selected = $cfg->HTML_SELECTED; $reseller_id = $_POST['src_reseller']; } else { if (isset($_POST['uaction']) && $_POST['uaction'] === 'move_user' && (isset($_POST['dst_reseller']) && $_POST['dst_reseller'] == $rs->fields['admin_id'])) { $selected = $cfg->HTML_SELECTED; $reseller_id = $_POST['dst_reseller']; } else { $selected = ''; } } $all_resellers[] = $rs->fields['admin_id']; $tpl->append(array('SRC_RSL_OPTION' => tohtml($rs->fields['admin_name']), 'SRC_RSL_VALUE' => $rs->fields['admin_id'], 'SRC_RSL_SELECTED' => $selected)); $tpl->append(array('DST_RSL_OPTION' => tohtml($rs->fields['admin_name']), 'DST_RSL_VALUE' => $rs->fields['admin_id'], 'DST_RSL_SELECTED' => '')); $rs->moveNext(); } if (isset($_POST['src_reseller']) && $_POST['src_reseller'] == 0) { $selected = $cfg->HTML_SELECTED; $reseller_id = 0; } else { $selected = ''; } $tpl->append(array('SRC_RSL_OPTION' => tr("N/A"), 'SRC_RSL_VALUE' => 0, 'SRC_RSL_SELECTED' => $selected)); if ($reseller_id === 0) { $query = "\n\t\t\tSELECT\n\t\t\t\t`admin_id`, `admin_name`\n\t\t\tFROM\n\t\t\t\t`admin`\n\t\t\tWHERE\n\t\t\t\t`admin_type` = 'user'\n\t\t\tAND\n\t\t\t\t`created_by` NOT IN (?)\n\t\t\tORDER BY\n\t\t\t\t`admin_name`\n\t\t"; $not_in = implode(',', $all_resellers); $rs = exec_query($sql, $query, $not_in); } else { $query = "\n\t\t\tSELECT\n\t\t\t\t`admin_id`, `admin_name`\n\t\t\tFROM\n\t\t\t\t`admin`\n\t\t\tWHERE\n\t\t\t\t`admin_type` = 'user'\n\t\t\tAND\n\t\t\t\t`created_by` = ?\n\t\t\tORDER BY\n\t\t\t\t`admin_name`\n\t\t"; $rs = exec_query($sql, $query, $reseller_id); } if ($rs->recordCount() == 0) { set_page_message(tr('User list is empty!'), 'info'); $tpl->assign('RESELLER_LIST', ''); } else { $i = 0; while (!$rs->EOF) { $admin_id = $rs->fields['admin_id']; $admin_id_var_name = 'admin_id_' . $admin_id; $show_admin_name = decode_idna($rs->fields['admin_name']); $tpl->append(array('NUMBER' => $i + 1, 'USER_NAME' => tohtml($show_admin_name), 'CKB_NAME' => $admin_id_var_name)); $rs->moveNext(); $i++; } } }
/** * @param EasySCP_TemplateEngine $tpl * @return void */ function gen_server_trafic($tpl) { $sql_query = "\n\t\tSELECT\n\t\t\tstraff_max, straff_warn\n\t\tFROM\n\t\t\tstraff_settings;\n\t"; $row = DB::query($sql_query, true); $straff_max = $row['straff_max'] * 1024 * 1024; $straff_warn = $row['straff_warn'] * 1024 * 1024; $sql_param = array(':fdofmnth' => mktime(0, 0, 0, date("m"), 1, date("Y")), ':ldofmnth' => mktime(1, 0, 0, date("m") + 1, 0, date("Y"))); $query = "\n\t\tSELECT\n\t\t\tIFNULL((SUM(bytes_in) + SUM(bytes_out)), 0) AS traffic\n\t\tFROM\n\t\t\tserver_traffic\n\t\tWHERE\n\t\t\ttraff_time > :fdofmnth\n\t\tAND\n\t\t\ttraff_time < :ldofmnth;\n\t"; DB::prepare($sql_query); $row = DB::execute($sql_param, true); $traff = isset($row['traffic']) ? $row['traffic'] : 0; $mtraff = sprintf("%.2f", $traff); if ($straff_max == 0) { $pr = 0; } else { $pr = $traff / $straff_max * 100; } if (($straff_max != 0 || $straff_max != '') && $mtraff > $straff_max) { $tpl->assign(array('TR_TRAFFIC_WARNING' => tr('You are exceeding your traffic limit!'))); } else { if (($straff_warn != 0 || $straff_warn != '') && $mtraff > $straff_warn) { $tpl->assign(array('TR_TRAFFIC_WARNING' => tr('You traffic limit will be reached soon!'))); } else { $tpl->assign('TRAFF_WARN', ''); } } $bar_value = calc_bar_value($traff, $straff_max, 400); $percent = 0; if ($straff_max == 0) { $traff_msg = tr('%1$d%% [%2$s of unlimited]', $pr, sizeit($mtraff)); } else { $traff_msg = tr('%1$d%% [%2$s of %3$s]', $pr, sizeit($mtraff), sizeit($straff_max)); $percent = $traff / $straff_max * 100 < 99.7 ? $traff / $straff_max * 100 : 99.7; } $tpl->assign(array('TRAFFIC_WARNING' => $traff_msg, 'BAR_VALUE' => $bar_value, 'TRAFFIC_PERCENT' => $percent)); }
/** * Show user data * @param EasySCP_TemplateEngine $tpl */ function gen_edituser_page($tpl) { global $dmn_user_name, $user_email, $customer_id, $first_name, $last_name, $firm, $zip, $gender, $city, $state, $country, $street_one, $street_two, $phone, $fax; $cfg = EasySCP_Registry::get('Config'); if ($customer_id == NULL) { $customer_id = ''; } // Fill in the fields $tpl->assign(array('VL_USERNAME' => tohtml(decode_idna($dmn_user_name)), 'VL_MAIL' => empty($user_email) ? '' : tohtml($user_email), 'VL_USR_ID' => empty($customer_id) ? '' : tohtml($customer_id), 'VL_USR_NAME' => empty($first_name) ? '' : tohtml($first_name), 'VL_LAST_USRNAME' => empty($last_name) ? '' : tohtml($last_name), 'VL_USR_FIRM' => empty($firm) ? '' : tohtml($firm), 'VL_USR_POSTCODE' => empty($zip) ? '' : tohtml($zip), 'VL_USRCITY' => empty($city) ? '' : tohtml($city), 'VL_USRSTATE' => empty($state) ? '' : tohtml($state), 'VL_COUNTRY' => empty($country) ? '' : tohtml($country), 'VL_STREET1' => empty($street_one) ? '' : tohtml($street_one), 'VL_STREET2' => empty($street_two) ? '' : tohtml($street_two), 'VL_MALE' => $gender == 'M' ? $cfg->HTML_SELECTED : '', 'VL_FEMALE' => $gender == 'F' ? $cfg->HTML_SELECTED : '', 'VL_UNKNOWN' => $gender == 'U' ? $cfg->HTML_SELECTED : '', 'VL_PHONE' => empty($phone) ? '' : tohtml($phone), 'VL_FAX' => empty($fax) ? '' : tohtml($fax))); generate_ip_list($tpl, $_SESSION['user_id']); }
/** * @param EasySCP_TemplateEngine $tpl */ function generate_page($tpl) { $sql = EasySCP_Registry::get('Db'); global $month, $year, $day; $all[0] = 0; $all[1] = 0; $all[2] = 0; $all[3] = 0; $all[4] = 0; $all[5] = 0; $all[6] = 0; $all[7] = 0; $all_other_in = 0; $all_other_out = 0; $ftm = mktime(0, 0, 0, $month, $day, $year); $ltm = mktime(0, 0, 0, $month, $day + 1, $year); $query = "\n\t\tSELECT\n\t\t\tCOUNT(`bytes_in`) AS cnt\n\t\tFROM\n\t\t\t`server_traffic`\n\t\tWHERE\n\t\t\t`traff_time` > ? AND `traff_time` <= ?\n\t"; $rs = exec_query($sql, $query, array($ftm, $ltm)); $dnum = $rs->fields['cnt']; $query = "\n\t\tSELECT\n\t\t\t`traff_time` AS ttime,\n\t\t\t`bytes_in` AS sbin,\n\t\t\t`bytes_out` AS sbout,\n\t\t\t`bytes_mail_in` AS smbin,\n\t\t\t`bytes_mail_out` AS smbout,\n\t\t\t`bytes_pop_in` AS spbin,\n\t\t\t`bytes_pop_out` AS spbout,\n\t\t\t`bytes_web_in` AS swbin,\n\t\t\t`bytes_web_out` AS swbout\n\t\tFROM\n\t\t\t`server_traffic`\n\t\tWHERE\n\t\t\t`traff_time` > ? AND `traff_time` <= ?\n\t"; $rs1 = exec_query($sql, $query, array($ftm, $ltm)); if ($dnum != 0) { for ($i = 0; $i < $dnum; $i++) { // make it in kb mb or bytes :) $ttime = date('H:i', $rs1->fields['ttime']); // make other traffic $other_in = $rs1->fields['sbin'] - ($rs1->fields['swbin'] + $rs1->fields['smbin'] + $rs1->fields['spbin']); $other_out = $rs1->fields['sbout'] - ($rs1->fields['swbout'] + $rs1->fields['smbout'] + $rs1->fields['spbout']); $tpl->append(array('HOUR' => $ttime, 'WEB_IN' => sizeit($rs1->fields['swbin']), 'WEB_OUT' => sizeit($rs1->fields['swbout']), 'SMTP_IN' => sizeit($rs1->fields['smbin']), 'SMTP_OUT' => sizeit($rs1->fields['smbout']), 'POP_IN' => sizeit($rs1->fields['spbin']), 'POP_OUT' => sizeit($rs1->fields['spbout']), 'OTHER_IN' => sizeit($other_in), 'OTHER_OUT' => sizeit($other_out), 'ALL_IN' => sizeit($rs1->fields['sbin']), 'ALL_OUT' => sizeit($rs1->fields['sbout']), 'ALL' => sizeit($rs1->fields['sbin'] + $rs1->fields['sbout']))); $all[0] = $all[0] + $rs1->fields['swbin']; $all[1] = $all[1] + $rs1->fields['swbout']; $all[2] = $all[2] + $rs1->fields['smbin']; $all[3] = $all[3] + $rs1->fields['smbout']; $all[4] = $all[4] + $rs1->fields['spbin']; $all[5] = $all[5] + $rs1->fields['spbout']; $all[6] = $all[6] + $rs1->fields['sbin']; $all[7] = $all[7] + $rs1->fields['sbout']; $rs1->moveNext(); } // end for $all_other_in = $all[6] - ($all[0] + $all[2] + $all[4]); $all_other_out = $all[7] - ($all[1] + $all[3] + $all[5]); } $tpl->assign(array('WEB_IN_ALL' => sizeit($all[0]), 'WEB_OUT_ALL' => sizeit($all[1]), 'SMTP_IN_ALL' => sizeit($all[2]), 'SMTP_OUT_ALL' => sizeit($all[3]), 'POP_IN_ALL' => sizeit($all[4]), 'POP_OUT_ALL' => sizeit($all[5]), 'OTHER_IN_ALL' => sizeit($all_other_in), 'OTHER_OUT_ALL' => sizeit($all_other_out), 'ALL_IN_ALL' => sizeit($all[6]), 'ALL_OUT_ALL' => sizeit($all[7]), 'ALL_ALL' => sizeit($all[6] + $all[7]))); }
/** * Check input data * @param EasySCP_TemplateEngine $tpl * @param int $alias_id */ function check_fwd_data($tpl, $alias_id) { $sql = EasySCP_Registry::get('Db'); $cfg = EasySCP_Registry::get('Config'); $forward_url = strtolower(clean_input($_POST['forward'])); // unset errors $ed_error = '_off_'; // NXW: Unused variable so... // $admin_login = ''; if (isset($_POST['status']) && $_POST['status'] == 1) { $forward_prefix = clean_input($_POST['forward_prefix']); if (substr_count($forward_url, '.') <= 2) { $ret = validates_dname($forward_url); } else { $ret = validates_dname($forward_url, true); } if (!$ret) { $ed_error = tr("Wrong domain part in forward URL!"); } else { $forward_url = encode_idna($forward_prefix . $forward_url); } $check_en = $cfg->HTML_CHECKED; $check_dis = ''; $tpl->assign(array('FORWARD' => tohtml($forward_url), 'HTTP_YES' => $forward_prefix === 'http://' ? $cfg->HTML_SELECTED : '', 'HTTPS_YES' => $forward_prefix === 'https://' ? $cfg->HTML_SELECTED : '', 'FTP_YES' => $forward_prefix === 'ftp://' ? $cfg->HTML_SELECTED : '', 'CHECK_EN' => $check_en, 'CHECK_DIS' => $check_dis, 'DISABLE_FORWARD' => '', 'READONLY_FORWARD' => '')); } else { $check_en = $cfg->HTML_CHECKED; $check_dis = ''; $forward_url = 'no'; $tpl->assign(array('READONLY_FORWARD' => $cfg->HTML_READONLY, 'DISABLE_FORWARD' => $cfg->HTML_DISABLED, 'CHECK_EN' => $check_en, 'CHECK_DIS' => $check_dis)); } if ($ed_error === '_off_') { $query = "\n\t\t\tUPDATE\n\t\t\t\t`domain_aliasses`\n\t\t\tSET\n\t\t\t\t`url_forward` = ?,\n\t\t\t\t`status` = ?\n\t\t\tWHERE\n\t\t\t\t`alias_id` = ?\n\t\t"; exec_query($sql, $query, array($forward_url, $cfg->ITEM_CHANGE_STATUS, $alias_id)); $query = "\n\t\t\tUPDATE\n\t\t\t\t`subdomain_alias`\n\t\t\tSET\n\t\t\t\t`status` = ?\n\t\t\tWHERE\n\t\t\t\t`alias_id` = ?\n\t\t"; exec_query($sql, $query, array($cfg->ITEM_CHANGE_STATUS, $alias_id)); send_request('110 DOMAIN alias ' . $alias_id); // NXW: oh my god... Should be review... /* $admin_login = $_SESSION['user_logged']; write_log("$admin_login: changes domain alias forward: " . $rs->fields['t1.alias_name']); */ unset($_SESSION['edit_ID']); $tpl->assign('MESSAGE', ""); return true; } else { $tpl->assign('MESSAGE', $ed_error); return false; } }
/** * @param EasySCP_TemplateEngine $tpl * @param string $search_for * @param string $search_common * @param string $search_status */ function gen_admin_domain_search_options($tpl, $search_for, $search_common, $search_status) { $cfg = EasySCP_Registry::get('Config'); if ($search_for == 'n/a' && $search_common == 'n/a' && $search_status == 'n/a') { // we have no search and let's generate search fields empty $domain_selected = $cfg->HTML_SELECTED; $customerid_selected = ''; $lastname_selected = ''; $company_selected = ''; $city_selected = ''; $state_selected = ''; $country_selected = ''; $all_selected = $cfg->HTML_SELECTED; $ok_selected = ''; $suspended_selected = ''; } if ($search_common == 'domain_name') { $domain_selected = $cfg->HTML_SELECTED; $customerid_selected = ''; $lastname_selected = ''; $company_selected = ''; $city_selected = ''; $state_selected = ''; $country_selected = ''; } elseif ($search_common == 'customer_id') { $domain_selected = ''; $customerid_selected = $cfg->HTML_SELECTED; $lastname_selected = ''; $company_selected = ''; $city_selected = ''; $state_selected = ''; $country_selected = ''; } elseif ($search_common == 'lname') { $domain_selected = ''; $customerid_selected = ''; $lastname_selected = $cfg->HTML_SELECTED; $company_selected = ''; $city_selected = ''; $state_selected = ''; $country_selected = ''; } elseif ($search_common === 'firm') { $domain_selected = ''; $customerid_selected = ''; $lastname_selected = ''; $company_selected = $cfg->HTML_SELECTED; $city_selected = ''; $state_selected = ''; $country_selected = ''; } elseif ($search_common == 'city') { $domain_selected = ''; $customerid_selected = ''; $lastname_selected = ''; $company_selected = ''; $city_selected = $cfg->HTML_SELECTED; $state_selected = ''; $country_selected = ''; } elseif ($search_common == 'state') { $domain_selected = ''; $customerid_selected = ''; $lastname_selected = ''; $company_selected = ''; $city_selected = ''; $state_selected = $cfg->HTML_SELECTED; $country_selected = ''; } elseif ($search_common == 'country') { $domain_selected = ''; $customerid_selected = ''; $lastname_selected = ''; $company_selected = ''; $city_selected = ''; $state_selected = ''; $country_selected = $cfg->HTML_SELECTED; } if ($search_status == 'all') { $all_selected = $cfg->HTML_SELECTED; $ok_selected = ''; $suspended_selected = ''; } elseif ($search_status == 'ok') { $all_selected = ''; $ok_selected = $cfg->HTML_SELECTED; $suspended_selected = ''; } elseif ($search_status == 'disabled') { $all_selected = ''; $ok_selected = ''; $suspended_selected = $cfg->HTML_SELECTED; } if ($search_for == 'n/a' || $search_for === '') { $tpl->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_STATE' => tr('State/Province'), 'M_COUNTRY' => tr('Country'), 'M_ALL' => tr('All'), 'M_OK' => tr('OK'), 'M_SUSPENDED' => tr('Suspended'), 'M_ERROR' => tr('Error'), '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_STATE_SELECTED' => $state_selected, 'M_COUNTRY_SELECTED' => $country_selected, 'M_ALL_SELECTED' => $all_selected, 'M_OK_SELECTED' => $ok_selected, 'M_SUSPENDED_SELECTED' => $suspended_selected)); }
/** * Show page with initial data fields * @param EasySCP_TemplateEngine $tpl */ function get_init_au2_page($tpl) { global $hp_name, $hp_php, $hp_phpe, $hp_cgi, $hp_ssl; global $hp_sub, $hp_als, $hp_mail; global $hp_ftp, $hp_sql_db, $hp_sql_user; global $hp_traff, $hp_disk, $hp_countbackup, $hp_backup, $hp_dns; $cfg = EasySCP_Registry::get('Config'); $tpl->assign(array('VL_TEMPLATE_NAME' => tohtml($hp_name), 'MAX_DMN_CNT' => '', 'MAX_SUBDMN_CNT' => $hp_sub, 'MAX_DMN_ALIAS_CNT' => $hp_als, 'MAX_MAIL_CNT' => $hp_mail, 'MAX_FTP_CNT' => $hp_ftp, 'MAX_SQL_CNT' => $hp_sql_db, 'VL_MAX_SQL_USERS' => $hp_sql_user, 'VL_MAX_TRAFFIC' => $hp_traff, 'VL_MAX_DISK_USAGE' => $hp_disk, 'VL_PHPY' => $hp_php === '_yes_' ? $cfg->HTML_CHECKED : '', 'VL_PHPN' => $hp_php === '_no_' ? $cfg->HTML_CHECKED : '', 'VL_PHPEY' => $hp_phpe === '_yes_' ? $cfg->HTML_CHECKED : '', 'VL_PHPEN' => $hp_phpe === '_no_' ? $cfg->HTML_CHECKED : '', 'VL_CGIY' => $hp_cgi === '_yes_' ? $cfg->HTML_CHECKED : '', 'VL_CGIN' => $hp_cgi === '_no_' ? $cfg->HTML_CHECKED : '', 'VL_SSLY' => $hp_ssl === '_yes_' ? $cfg->HTML_CHECKED : '', 'VL_SSLN' => $hp_ssl === '_no_' ? $cfg->HTML_CHECKED : '', 'VL_BACKUPD' => $hp_backup === '_dmn_' ? $cfg->HTML_CHECKED : '', 'VL_BACKUPS' => $hp_backup === '_sql_' ? $cfg->HTML_CHECKED : '', 'VL_BACKUPF' => $hp_backup === '_full_' ? $cfg->HTML_CHECKED : '', 'VL_BACKUPN' => $hp_backup === '_no_' ? $cfg->HTML_CHECKED : '', 'TR_BACKUPCOUNT_YES' => $hp_countbackup == '_yes_' ? $cfg->HTML_CHECKED : '', 'TR_BACKUPCOUNT_NO' => $hp_countbackup == '_no_' ? $cfg->HTML_CHECKED : '', 'VL_DNSY' => $hp_dns === '_yes_' ? $cfg->HTML_CHECKED : '', 'VL_DNSN' => $hp_dns === '_no_' ? $cfg->HTML_CHECKED : '')); }