コード例 #1
0
/**
 * @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();
        }
    }
}
コード例 #2
0
ファイル: debug.php プロジェクト: gOOvER/EasySCP
/**
 * @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);
}
コード例 #3
0
/**
 * @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', '');
}
コード例 #4
0
/**
 * @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++;
        }
    }
}
コード例 #5
0
ファイル: personal_change.php プロジェクト: gOOvER/EasySCP
/**
 * @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 : ''));
}
コード例 #6
0
/**
 * @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);
        }
    }
}
コード例 #7
0
ファイル: protected_areas.php プロジェクト: gOOvER/EasySCP
/**
 * @param EasySCP_TemplateEngine $tpl
 * @param EasySCP_Database $sql
 * @param int $dmn_id
 */
function gen_htaccess_entries($tpl, $sql, &$dmn_id)
{
    $query = "\n\t\tSELECT\n\t\t\t*\n\t\tFROM\n\t\t\t`htaccess`\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 do not have protected areas'), 'info');
    } else {
        while (!$rs->EOF) {
            $auth_name = $rs->fields['auth_name'];
            $tpl->append(array('AREA_NAME' => tohtml($auth_name), 'JS_AREA_NAME' => addslashes($auth_name), 'AREA_PATH' => tohtml($rs->fields['path']), 'PID' => $rs->fields['id'], 'STATUS' => translate_dmn_status($rs->fields['status'])));
            $rs->moveNext();
        }
    }
}
コード例 #8
0
ファイル: ftp_choose_dir.php プロジェクト: gOOvER/EasySCP
/**
 * @param EasySCP_TemplateEngine $tpl
 */
function gen_directories($tpl)
{
    $sql = EasySCP_Registry::get('Db');
    // Initialize variables
    $path = isset($_GET['cur_dir']) ? $_GET['cur_dir'] : '';
    $domain = $_SESSION['user_logged'];
    // Create the virtual file system and open it so it can be used
    $vfs = new EasySCP_VirtualFileSystem($domain, $sql);
    // Get the directory listing
    $list = $vfs->ls($path);
    if (!$list) {
        set_page_message(tr('Cannot open directory!<br />Please contact your administrator!'), 'error');
        return;
    }
    // Show parent directory link
    $parent = explode(DIRECTORY_SEPARATOR, $path);
    array_pop($parent);
    $parent = implode(DIRECTORY_SEPARATOR, $parent);
    $tpl->append(array('ACTION' => '', 'ACTION_LINK' => 'no', 'ICON' => "parent", 'DIR_NAME' => tr('Parent Directory'), 'CHOOSE_IT' => '', 'LINK' => 'ftp_choose_dir.php?cur_dir=' . $parent));
    // Show directories only
    foreach ($list as $entry) {
        // Skip non-directory entries
        if ($entry['type'] != EasySCP_VirtualFileSystem::VFS_TYPE_DIR) {
            continue;
        }
        // Skip '.' and '..'
        if ($entry['file'] == '.' || $entry['file'] == '..') {
            continue;
        }
        // Check for .htaccess existence to display another icon
        $dr = $path . '/' . $entry['file'];
        $tfile = $dr . '/.htaccess';
        if ($vfs->exists($tfile)) {
            $image = "locked";
        } else {
            $image = "folder";
        }
        // Check if folder does not contain a folder that can not be protected
        // @todo: valid directories (e.g. /htdocs/disabled/) are excluded (false positive)
        $forbiddenDirnames = '/backups|disabled|errors|logs|phptmp/i';
        $forbidden = preg_match($forbiddenDirnames, $entry['file']);
        if ($forbidden === 1) {
            $tpl->append('ACTION_LINK', 'no');
        } else {
            $tpl->append('ACTION_LINK', 'yes');
        }
        // Create the directory link
        $tpl->append(array('PROTECT_IT' => "protected_areas_add.php?file=" . $dr, 'ICON' => $image, 'DIR_NAME' => tohtml($entry['file']), 'CHOOSE_IT' => $dr, 'LINK' => "ftp_choose_dir.php?cur_dir=" . $dr));
    }
}
コード例 #9
0
ファイル: error_edit.php プロジェクト: gOOvER/EasySCP
/**
 * @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' => ''));
}
コード例 #10
0
ファイル: hosting_plan.php プロジェクト: gOOvER/EasySCP
/**
 * Extract and show data for hosting plans
 * @param EasySCP_TemplateEngine $tpl
 * @param int $reseller_id
 */
function gen_hp_table($tpl, $reseller_id)
{
    global $external_event;
    $sql = EasySCP_Registry::get('Db');
    $cfg = EasySCP_Registry::get('Config');
    if (isset($cfg->HOSTING_PLANS_LEVEL) && $cfg->HOSTING_PLANS_LEVEL === 'admin') {
        $query = "\n\t\t\tSELECT\n\t\t\t\tt1.`id`, t1.`reseller_id`, t1.`name`, t1.`props`, t1.`status`,\n\t\t\t\tt2.`admin_id`, t2.`admin_type`\n\t\t\tFROM\n\t\t\t\t`hosting_plans` AS t1,\n\t\t\t\t`admin` AS t2\n\t\t\tWHERE\n\t\t\t\tt2.`admin_type` = ?\n\t\t\tAND\n\t\t\t\tt1.`reseller_id` = t2.`admin_id`\n\t\t\tAND\n\t\t\t\tt1.`status` = 1\n\t\t\tORDER BY\n\t\t\t\tt1.`name`\n\t\t";
        $rs = exec_query($sql, $query, 'admin');
        $tr_edit = tr('View details');
        $tpl->assign('HP_MENU_ADD', '');
    } else {
        $query = "\n\t\t\tSELECT\n\t\t\t\t`id`, `name`, `props`, `status`\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\tORDER BY\n\t\t\t\t`name`\n\t\t";
        $rs = exec_query($sql, $query, $reseller_id);
    }
    if ($rs->rowCount() == 0) {
        set_page_message(tr('Hosting plans not found!'), 'info');
        $tpl->assign('HP_TABLE', '');
    } else {
        // There is data for hosting plans :-)
        if ($external_event == '_off_') {
            $tpl->assign('HP_MESSAGE', '');
        }
        $tpl->assign(array('TR_HOSTING_PLANS' => tr('Hosting plans'), 'TR_NOM' => tr('No.'), 'TR_EDIT' => tr('Edit'), 'TR_DELETE' => tr('Delete'), 'PLAN_SHOW' => tr('Show hosting plan'), 'TR_PLAN_NAME' => tr('Name'), 'TR_ACTION' => tr('Actions')));
        $coid = isset($cfg->CUSTOM_ORDERPANEL_ID) ? $cfg->CUSTOM_ORDERPANEL_ID : '';
        $i = 1;
        while ($data = $rs->fetchRow()) {
            $status = $data['status'] ? tr('Enabled') : tr('Disabled');
            $tpl->append(array('PLAN_NOM' => $i++, 'PLAN_NAME' => tohtml($data['name']), 'PLAN_NAME2' => addslashes(clean_html($data['name'])), 'PURCHASING' => $status, 'CUSTOM_ORDERPANEL_ID' => $coid, 'HP_ID' => $data['id'], 'RESELLER_ID' => $_SESSION['user_id']));
        }
    }
}
コード例 #11
0
ファイル: TemplateEngine.php プロジェクト: gOOvER/EasySCP
 /**
  * Get an EasySCP_TemplateEngine instance
  *
  * Returns an {@link EasySCP_TemplateEngine} instance, only creating it if it
  * doesn't already exist.
  *
  * @return EasySCP_TemplateEngine An EasySCP_TemplateEngine instance
  */
 public static function getInstance()
 {
     if (is_null(self::$_instance)) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
コード例 #12
0
ファイル: system-message.php プロジェクト: gOOvER/EasySCP
/**
 * Generates a page message if something terribly goes wrong.
 *
 * @todo possible session injection, check $_SESSION['user_theme'] for valid
 *	value
 *
 * @param String $msg					Message Content
 * @param String $type					Message Type (notice, warning, error, success)
 * @param string $backButtonDestination Destiation where to go on back link
 *										click
 */
function system_message($msg, $type = 'error', $backButtonDestination = '')
{
    $cfg = EasySCP_Registry::get('Config');
    $theme_color = isset($_SESSION['user_theme']) ? $_SESSION['user_theme'] : $cfg->USER_INITIAL_THEME;
    if (empty($backButtonDestination)) {
        $backButtonDestination = "javascript:history.go(-1)";
    }
    $tpl = EasySCP_TemplateEngine::getInstance();
    // If we are on the login page, path will be like this
    $template = 'system-message.tpl';
    if (!is_file($tpl->get_template_dir() . '/' . $template)) {
        // But if we're inside the panel it will be like this
        $template = '../system-message.tpl';
    }
    if (!is_file($tpl->get_template_dir() . '/' . $template)) {
        // And if we don't find the template, we'll just displaying error
        // message
        throw new EasySCP_Exception($msg);
    }
    // Small workaround to be able to use the system_message() function during
    // EasySCP initialization process without i18n support
    if (function_exists('tr')) {
        $tpl->assign(array('TR_PAGE_TITLE' => tr('EasySCP Error'), 'TR_BACK' => tr('Back'), 'TR_ERROR_MESSAGE' => tr('Error Message'), 'MESSAGE' => $msg, 'MSG_TYPE' => $type, 'BACKBUTTONDESTINATION' => $backButtonDestination, 'TR_LOGIN' => tr('Login'), 'TR_USERNAME' => tr('Username'), 'TR_PASSWORD' => tr('Password'), 'TR_LOSTPW' => tr('Lost password'), 'TR_WEBMAIL_SSL_LINK' => 'webmail', 'TR_FTP_SSL_LINK' => 'ftp', 'TR_PMA_SSL_LINK' => 'pma'));
    } else {
        $tpl->assign(array('TR_PAGE_TITLE' => 'EasySCP Error', 'TR_BACK' => 'Back', 'TR_ERROR_MESSAGE' => 'Error Message', 'MESSAGE' => $msg, 'MSG_TYPE' => $type, 'BACKBUTTONDESTINATION' => $backButtonDestination, 'TR_LOGIN' => 'Login', 'TR_USERNAME' => 'Username', 'TR_PASSWORD' => 'Password', 'TR_LOSTPW' => 'Lost password', 'TR_WEBMAIL_SSL_LINK' => 'webmail', 'TR_FTP_SSL_LINK' => 'ftp', 'TR_PMA_SSL_LINK' => 'pma'));
    }
    $tpl->display($template);
    exit;
}
コード例 #13
0
ファイル: reseller_add.php プロジェクト: gOOvER/EasySCP
/**
 * @param EasySCP_TemplateEngine $tpl
 */
function add_reseller($tpl)
{
    global $reseller_ips;
    $cfg = EasySCP_Registry::get('Config');
    $sql = EasySCP_Registry::get('Db');
    if (isset($_POST['uaction']) && $_POST['uaction'] === 'add_reseller') {
        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']);
            $query = "\n\t\t\t\tINSERT INTO `admin` (\n\t\t\t\t\t`admin_name`,\n\t\t\t\t\t`admin_pass`,\n\t\t\t\t\t`admin_type`,\n\t\t\t\t\t`domain_created`,\n\t\t\t\t\t`created_by`,\n\t\t\t\t\t`fname`,\n\t\t\t\t\t`lname`,\n\t\t\t\t\t`firm`,\n\t\t\t\t\t`zip`,\n\t\t\t\t\t`city`,\n\t\t\t\t\t`state`,\n\t\t\t\t\t`country`,\n\t\t\t\t\t`email`,\n\t\t\t\t\t`phone`,\n\t\t\t\t\t`fax`,\n\t\t\t\t\t`street1`,\n\t\t\t\t\t`street2`,\n\t\t\t\t\t`gender`\n\t\t\t\t) VALUES (\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t'reseller',\n\t\t\t\t\tunix_timestamp(),\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?,\n\t\t\t\t\t?\n\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 reseller: {$username}");
            // $user_def_lang = $cfg->USER_INITIAL_LANG;
            $user_def_lang = '';
            // $user_theme_color = $cfg->USER_INITIAL_THEME;
            $user_theme_color = '';
            $query = "\n\t\t\t\tINSERT INTO `user_gui_props`\n\t\t\t\t\t(\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\t)\n\t\t\t\tVALUES\n\t\t\t\t\t(?, ?, ?)\n\t\t\t";
            exec_query($sql, $query, array($new_admin_id, $user_def_lang, $user_theme_color));
            /*
             * 'reseller_props' table entry;
             */
            $nreseller_max_domain_cnt = clean_input($_POST['nreseller_max_domain_cnt']);
            $nreseller_max_subdomain_cnt = clean_input($_POST['nreseller_max_subdomain_cnt']);
            $nreseller_max_alias_cnt = clean_input($_POST['nreseller_max_alias_cnt']);
            $nreseller_max_mail_cnt = clean_input($_POST['nreseller_max_mail_cnt']);
            $nreseller_max_ftp_cnt = clean_input($_POST['nreseller_max_ftp_cnt']);
            $nreseller_max_sql_db_cnt = clean_input($_POST['nreseller_max_sql_db_cnt']);
            $nreseller_max_sql_user_cnt = clean_input($_POST['nreseller_max_sql_user_cnt']);
            $nreseller_max_traffic = clean_input($_POST['nreseller_max_traffic']);
            $nreseller_max_disk = clean_input($_POST['nreseller_max_disk']);
            $customer_id = clean_input($_POST['customer_id']);
            $support_system = clean_input($_POST['support_system']);
            $query = "\n\t\t\t\tINSERT INTO `reseller_props` (\n\t\t\t\t\t`reseller_id`, `reseller_ips`,\n\t\t\t\t\t`max_dmn_cnt`, `current_dmn_cnt`,\n\t\t\t\t\t`max_sub_cnt`, `current_sub_cnt`,\n\t\t\t\t\t`max_als_cnt`, `current_als_cnt`,\n\t\t\t\t\t`max_mail_cnt`, `current_mail_cnt`,\n\t\t\t\t\t`max_ftp_cnt`, `current_ftp_cnt`,\n\t\t\t\t\t`max_sql_db_cnt`, `current_sql_db_cnt`,\n\t\t\t\t\t`max_sql_user_cnt`, `current_sql_user_cnt`,\n\t\t\t\t\t`max_traff_amnt`, `current_traff_amnt`,\n\t\t\t\t\t`max_disk_amnt`, `current_disk_amnt`,\n\t\t\t\t\t`support_system`, `customer_id`\n\t\t\t\t) VALUES (\n\t\t\t\t\t?, ?,\n\t\t\t\t\t?, '0',\n\t\t\t\t\t?, '0',\n\t\t\t\t\t?, '0',\n\t\t\t\t\t?, '0',\n\t\t\t\t\t?, '0',\n\t\t\t\t\t?, '0',\n\t\t\t\t\t?, '0',\n\t\t\t\t\t?, '0',\n\t\t\t\t\t?, '0',\n\t\t\t\t\t?, ?\n\t\t\t\t)\n\t\t\t\t";
            exec_query($sql, $query, array($new_admin_id, $reseller_ips, $nreseller_max_domain_cnt, $nreseller_max_subdomain_cnt, $nreseller_max_alias_cnt, $nreseller_max_mail_cnt, $nreseller_max_ftp_cnt, $nreseller_max_sql_db_cnt, $nreseller_max_sql_user_cnt, $nreseller_max_traffic, $nreseller_max_disk, $support_system, $customer_id));
            send_add_user_auto_msg($user_id, clean_input($_POST['username']), $_POST['pass'], clean_input($_POST['email']), clean_input($_POST['fname']), clean_input($_POST['lname']), tr('Reseller'), $gender);
            $_SESSION['reseller_added'] = 1;
            user_goto('manage_users.php');
        } else {
            $tpl->assign(array('EMAIL' => clean_input($_POST['email'], true), 'USERNAME' => clean_input($_POST['username'], true), 'FIRST_NAME' => clean_input($_POST['fname'], true), 'CUSTOMER_ID' => clean_input($_POST['customer_id'], 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 : '', 'MAX_DOMAIN_COUNT' => clean_input($_POST['nreseller_max_domain_cnt'], true), 'MAX_SUBDOMAIN_COUNT' => clean_input($_POST['nreseller_max_subdomain_cnt'], true), 'MAX_ALIASES_COUNT' => clean_input($_POST['nreseller_max_alias_cnt'], true), 'MAX_MAIL_USERS_COUNT' => clean_input($_POST['nreseller_max_mail_cnt'], true), 'MAX_FTP_USERS_COUNT' => clean_input($_POST['nreseller_max_ftp_cnt'], true), 'MAX_SQLDB_COUNT' => clean_input($_POST['nreseller_max_sql_db_cnt'], true), 'MAX_SQL_USERS_COUNT' => clean_input($_POST['nreseller_max_sql_user_cnt'], true), 'MAX_TRAFFIC_AMOUNT' => clean_input($_POST['nreseller_max_traffic'], true), 'MAX_DISK_AMOUNT' => clean_input($_POST['nreseller_max_disk'], true), 'SUPPORT_SYSTEM_YES' => $_POST['support_system'] == 'yes' ? $cfg->HTML_SELECTED : '', 'SUPPORT_SYSTEM_NO' => $_POST['support_system'] == 'no' ? $cfg->HTML_SELECTED : '', 'SUPPORT_SYSTEM' => clean_input($_POST['support_system'], true)));
        }
    } else {
        $tpl->assign(array('EMAIL' => '', 'USERNAME' => '', 'FIRST_NAME' => '', 'CUSTOMER_ID' => '', 'LAST_NAME' => '', 'FIRM' => '', 'ZIP' => '', 'CITY' => '', 'STATE' => '', 'COUNTRY' => '', 'STREET_1' => '', 'STREET_2' => '', 'PHONE' => '', 'FAX' => '', 'VL_MALE' => '', 'VL_FEMALE' => '', 'VL_UNKNOWN' => $cfg->HTML_SELECTED, 'MAX_DOMAIN_COUNT' => '', 'MAX_SUBDOMAIN_COUNT' => '', 'MAX_ALIASES_COUNT' => '', 'MAX_MAIL_USERS_COUNT' => '', 'MAX_FTP_USERS_COUNT' => '', 'MAX_SQLDB_COUNT' => '', 'MAX_SQL_USERS_COUNT' => '', 'MAX_TRAFFIC_AMOUNT' => '', 'MAX_DISK_AMOUNT' => '', 'SUPPORT_SYSTEM_YES' => $cfg->HTML_SELECTED, 'SUPPORT_SYSTEM_NO' => ''));
    }
}
コード例 #14
0
ファイル: admin_add.php プロジェクト: gOOvER/EasySCP
/**
 * @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
}
コード例 #15
0
ファイル: ftp_edit.php プロジェクト: gOOvER/EasySCP
/**
 * @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));
}
コード例 #16
0
/**
 * @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])));
}
コード例 #17
0
ファイル: i18n.php プロジェクト: gOOvER/EasySCP
/**
 * Creates a list of all current installed languages
 *
 * @param string $lang_selected Defines the selected language
 */
function gen_def_language($lang_selected)
{
    $cfg = EasySCP_Registry::get('Config');
    $tpl = EasySCP_TemplateEngine::getInstance();
    $languages = getLanguages();
    foreach ($languages as $lang => $language_name) {
        $tpl->append(array('LANG_VALUE' => $lang, 'LANG_SELECTED' => $lang === $lang_selected ? $cfg->HTML_SELECTED : '', 'LANG_NAME' => tohtml($language_name)));
    }
}
コード例 #18
0
ファイル: sql_manage.php プロジェクト: gOOvER/EasySCP
/**
 * @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();
        }
    }
}
コード例 #19
0
ファイル: ip_usage.php プロジェクト: gOOvER/EasySCP
/**
 * Generate List of Domains assigned to IPs
 *
 * @param EasySCP_TemplateEngine $tpl	The TPL object
 * @param EasySCP_Database $sql	The SQL object
 */
function listIPDomains($tpl, $sql)
{
    global $reseller_id;
    $query = "\n\t\tSELECT\n\t\t\t`reseller_ips`\n\t\tFROM\n\t\t\t`reseller_props`\n\t\tWHERE\n\t\t\t`reseller_id` = ?;\n\t";
    $res = exec_query($sql, $query, $reseller_id);
    $data = $res->fetchRow();
    $reseller_ips = explode(";", substr($data['reseller_ips'], 0, -1));
    $query = "\n\t\tSELECT\n\t\t\t`ip_id`, `ip_number`\n\t\tFROM\n\t\t\t`server_ips`\n\t\tWHERE\n\t\t\t`ip_id`\n\t\tIN\n\t\t\t(" . implode(',', $reseller_ips) . ");\n\t";
    $rs = exec_query($sql, $query);
    while (!$rs->EOF) {
        $no_domains = false;
        $no_alias_domains = false;
        $domains = array();
        $query = "\n\t\t\tSELECT\n\t\t\t\t`d`.`domain_name`, `a`.`admin_name`\n\t\t\tFROM\n\t\t\t\t`domain` d\n\t\t\tINNER JOIN\n\t\t\t\t`admin` a\n\t\t\tON\n\t\t\t\t(`a`.`admin_id` = `d`.`domain_created_id`)\n\t\t\tWHERE\n\t\t\t\t`d`.`domain_ip_id` = ?\n\t\t\tAND\n\t\t\t\t`d`.`domain_created_id` = ?\n\t\t\tORDER BY\n\t\t\t\t`d`.`domain_name`;\n\t\t";
        $rs2 = exec_query($sql, $query, array($rs->fields['ip_id'], $reseller_id));
        $domain_count = $rs2->recordCount();
        if ($rs2->recordCount() == 0) {
            $no_domains = true;
        }
        while (!$rs2->EOF) {
            $domains[] = $rs2->fields['domain_name'];
            $rs2->moveNext();
        }
        $query = "\n\t\t\tSELECT\n\t\t\t\t`da`.`alias_name`, `a`.`admin_name`\n\t\t\tFROM\n\t\t\t\t`domain_aliasses` da\n\t\t\tINNER JOIN\n\t\t\t\t`domain` d\n\t\t\tON\n\t\t\t\t(`d`.`domain_id` = `da`.`domain_id`)\n\t\t\tINNER JOIN\n\t\t\t\t`admin` a\n\t\t\tON\n\t\t\t\t(`a`.`admin_id` = `d`.`domain_created_id`)\n\t\t\tWHERE\n\t\t\t\t`da`.`alias_ip_id` = ?\n\t\t\tAND\n\t\t\t\t`d`.`domain_created_id` = ?\n\t\t\tORDER BY\n\t\t\t\t`da`.`alias_name`;\n\t\t";
        $rs3 = exec_query($sql, $query, array($rs->fields['ip_id'], $reseller_id));
        $alias_count = $rs3->recordCount();
        if ($rs3->recordCount() == 0) {
            $no_alias_domains = true;
        }
        while (!$rs3->EOF) {
            $domains[] = $rs3->fields['alias_name'];
            $rs3->moveNext();
        }
        if ($no_domains && $no_alias_domains) {
            $tpl->append('DOMAIN_NAME', array(tr("No records found")));
        } else {
            $tpl->append('DOMAIN_NAME', $domains);
        }
        $tpl->append(array('IP' => $rs->fields['ip_number'], 'RECORD_COUNT' => tr('Total Domains') . " : " . ($domain_count + $alias_count)));
        $rs->moveNext();
    }
    // end while
}
コード例 #20
0
ファイル: Exception.php プロジェクト: gOOvER/EasySCP
 /**
  * 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));
     }
 }
コード例 #21
0
ファイル: ip_usage.php プロジェクト: gOOvER/EasySCP
/**
 * Generate List of Domains assigned to IPs
 *
 * @param EasySCP_TemplateEngine $tpl
 */
function listIPDomains($tpl)
{
    $sql = EasySCP_Registry::get('Db');
    $query = "\n\t\tSELECT\n\t\t\tip_id, ip_number, ip_number_v6\n\t\tFROM\n\t\t\tserver_ips;\n\t";
    $rs = exec_query($sql, $query);
    while (!$rs->EOF) {
        $no_domains = false;
        $no_alias_domains = false;
        $domains = array();
        $reseller = array();
        $query = "\n\t\t\tSELECT\n\t\t\t\t`d`.`domain_name`, `a`.`admin_name`\n\t\t\tFROM\n\t\t\t\t`domain` d\n\t\t\tINNER JOIN\n\t\t\t\t`admin` a\n\t\t\tON\n\t\t\t\t(`a`.`admin_id` = `d`.`domain_created_id`)\n\t\t\tWHERE\n\t\t\t\t`d`.`domain_ip_id` = ?\n\t\t\tORDER BY\n\t\t\t\t`d`.`domain_name`;\n\t\t";
        $rs2 = exec_query($sql, $query, $rs->fields['ip_id']);
        $domain_count = $rs2->recordCount();
        if ($rs2->recordCount() == 0) {
            $no_domains = true;
        }
        while (!$rs2->EOF) {
            $domains[] = $rs2->fields['domain_name'];
            $reseller[] = $rs2->fields['admin_name'];
            $rs2->moveNext();
        }
        $query = "\n\t\t\tSELECT\n\t\t\t\t`da`.`alias_name`, `a`.`admin_name`\n\t\t\tFROM\n\t\t\t\t`domain_aliasses` da\n\t\t\tINNER JOIN\n\t\t\t\t`domain` d\n\t\t\tON\n\t\t\t\t(`d`.`domain_id` = `da`.`domain_id`)\n\t\t\tINNER JOIN\n\t\t\t\t`admin` a\n\t\t\tON\n\t\t\t\t(`a`.`admin_id` = `d`.`domain_created_id`)\n\t\t\tWHERE\n\t\t\t\t`da`.`alias_ip_id` = ?\n\t\t\tORDER BY\n\t\t\t\t`da`.`alias_name`;\n\t\t";
        $rs3 = exec_query($sql, $query, $rs->fields['ip_id']);
        $alias_count = $rs3->recordCount();
        if ($rs3->recordCount() == 0) {
            $no_alias_domains = true;
        }
        while (!$rs3->EOF) {
            $domains[] = $rs3->fields['alias_name'];
            $reseller[] = $rs3->fields['admin_name'];
            $rs3->moveNext();
        }
        if ($no_domains && $no_alias_domains) {
            $tpl->append(array('DOMAIN_NAME' => array(tr("No records found")), 'RESELLER_NAME' => array('')));
        } else {
            $tpl->append(array('DOMAIN_NAME' => $domains, 'RESELLER_NAME' => $reseller));
        }
        $tpl->append(array('IP' => $rs->fields['ip_number_v6'] != '' ? $rs->fields['ip_number'] . ' / ' . $rs->fields['ip_number_v6'] : $rs->fields['ip_number'], 'RECORD_COUNT' => tr('Total Domains') . " : " . ($domain_count + $alias_count)));
        $rs->moveNext();
    }
    // end while
}
コード例 #22
0
ファイル: ftp_accounts.php プロジェクト: gOOvER/EasySCP
/**
 * @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));
    }
}
コード例 #23
0
ファイル: circular.php プロジェクト: gOOvER/EasySCP
/**
 * @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)));
    }
}
コード例 #24
0
ファイル: sessions_manage.php プロジェクト: gOOvER/EasySCP
/**
 * @param EasySCP_TemplateEngine $tpl
 */
function gen_user_sessions($tpl)
{
    $sql = EasySCP_Registry::get('Db');
    $query = "\n\t\tSELECT\n\t\t\t*\n\t\tFROM\n\t\t\t`login`\n\t";
    $rs = exec_query($sql, $query);
    while (!$rs->EOF) {
        if ($rs->fields['user_name'] === NULL) {
            $tpl->append(array('ADMIN_USERNAME' => tr('Unknown'), 'LOGIN_TIME' => date("G:i:s", $rs->fields['lastaccess'])));
        } else {
            $tpl->append(array('ADMIN_USERNAME' => $rs->fields['user_name'], 'LOGIN_TIME' => date("G:i:s", $rs->fields['lastaccess'])));
        }
        $sess_id = session_id();
        if ($sess_id === $rs->fields['session_id']) {
            $tpl->append('KILL_LINK', 'sessions_manage.php');
        } else {
            $tpl->append('KILL_LINK', 'sessions_manage.php?kill=' . $rs->fields['session_id']);
        }
        $rs->moveNext();
    }
}
コード例 #25
0
ファイル: hosting_plan_add.php プロジェクト: gOOvER/EasySCP
/**
 * Show last entered data for new hp
 * @param EasySCP_TemplateEngine $tpl
 */
function gen_data_ahp_page($tpl)
{
    global $hp_name, $description, $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;
    global $price, $setup_fee, $value, $payment, $status;
    global $hp_backup, $hp_dns;
    global $tos;
    $cfg = EasySCP_Registry::get('Config');
    $tpl->assign(array('HP_NAME_VALUE' => tohtml($hp_name), 'TR_MAX_SUB_LIMITS' => tohtml($hp_sub), 'TR_MAX_ALS_VALUES' => tohtml($hp_als), 'HP_MAIL_VALUE' => tohtml($hp_mail), 'HP_FTP_VALUE' => tohtml($hp_ftp), 'HP_SQL_DB_VALUE' => tohtml($hp_sql_db), 'HP_SQL_USER_VALUE' => tohtml($hp_sql_user), 'HP_TRAFF_VALUE' => tohtml($hp_traff), 'HP_DISK_VALUE' => tohtml($hp_disk), 'HP_DESCRIPTION_VALUE' => tohtml($description), 'HP_PRICE' => tohtml($price), 'HP_SETUPFEE' => tohtml($setup_fee), 'HP_VALUE' => tohtml($value), 'HP_PAYMENT' => tohtml($payment), 'HP_TOS_VALUE' => tohtml($tos)));
    $tpl->assign(array('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 : '', '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_DNS_YES' => $hp_dns == '_yes_' ? $cfg->HTML_CHECKED : '', 'TR_DNS_NO' => $hp_dns == '_no_' ? $cfg->HTML_CHECKED : '', 'TR_STATUS_YES' => $status ? $cfg->HTML_CHECKED : '', 'TR_STATUS_NO' => !$status ? $cfg->HTML_CHECKED : ''));
}
コード例 #26
0
ファイル: admin_log.php プロジェクト: gOOvER/EasySCP
/**
 * @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
    }
}
コード例 #27
0
ファイル: sql_database_add.php プロジェクト: gOOvER/EasySCP
/**
 * @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' => ''));
    }
}
コード例 #28
0
ファイル: server_statistic.php プロジェクト: gOOvER/EasySCP
/**
 * @param int $month
 * @param int $year
 */
function generate_page($month, $year)
{
    $tpl = EasySCP_TemplateEngine::getInstance();
    $sql = EasySCP_Registry::get('Db');
    if ($month == date('m') && $year == date('Y')) {
        $curday = date('j');
    } else {
        $tmp = mktime(1, 0, 0, $month + 1, 0, $year);
        $curday = date('j', $tmp);
    }
    $all[0] = 0;
    $all[1] = 0;
    $all[2] = 0;
    $all[3] = 0;
    $all[4] = 0;
    $all[5] = 0;
    $all[6] = 0;
    $all[7] = 0;
    for ($i = 1; $i <= $curday; $i++) {
        $ftm = mktime(0, 0, 0, $month, $i, $year);
        $ltm = mktime(0, 0, 0, $month, $i + 1, $year);
        $query = "\n\t\t\tSELECT\n\t\t\t\tCOUNT(`bytes_in`) AS cnt\n\t\t\tFROM\n\t\t\t\t`server_traffic`\n\t\t\tWHERE\n\t\t\t\t`traff_time` > ? AND `traff_time` <= ?\n\t\t";
        $rs = exec_query($sql, $query, array($ftm, $ltm));
        // if ($rs->fields['cnt'] > 0) {
        if ($rs->recordCount() > 0) {
            list($web_in, $web_out, $smtp_in, $smtp_out, $pop_in, $pop_out, $other_in, $other_out, $all_in, $all_out) = get_server_trafic($ftm, $ltm);
            $tpl->append(array('DAY' => $i, 'YEAR' => $year, 'MONTH' => $month, 'WEB_IN' => sizeit($web_in), 'WEB_OUT' => sizeit($web_out), 'SMTP_IN' => sizeit($smtp_in), 'SMTP_OUT' => sizeit($smtp_out), 'POP_IN' => sizeit($pop_in), 'POP_OUT' => sizeit($pop_out), 'OTHER_IN' => sizeit($other_in), 'OTHER_OUT' => sizeit($other_out), 'ALL_IN' => sizeit($all_in), 'ALL_OUT' => sizeit($all_out), 'ALL' => sizeit($all_in + $all_out)));
            $all[0] = $all[0] + $web_in;
            $all[1] = $all[1] + $web_out;
            $all[2] = $all[2] + $smtp_in;
            $all[3] = $all[3] + $smtp_out;
            $all[4] = $all[4] + $pop_in;
            $all[5] = $all[5] + $pop_out;
            $all[6] = $all[6] + $all_in;
            $all[7] = $all[7] + $all_out;
        }
        // if count
    }
    // 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])));
}
コード例 #29
0
ファイル: domain_statistics.php プロジェクト: gOOvER/EasySCP
/**
 * @param EasySCP_TemplateEngine $tpl
 * @param int $month
 * @param int $year
 * @param int $domain_id
 */
function generate_page($tpl, $month, $year, $domain_id)
{
    $cfg = EasySCP_Registry::get('Config');
    $sql = EasySCP_Registry::get('Db');
    if ($month == date('m') && $year == date('Y')) {
        $curday = date('j');
    } else {
        $tmp = mktime(1, 0, 0, $month + 1, 0, $year);
        $curday = date('j', $tmp);
    }
    $sum_web = 0;
    $sum_ftp = 0;
    $sum_mail = 0;
    $sum_pop = 0;
    for ($i = 1; $i <= $curday; $i++) {
        $ftm = mktime(0, 0, 0, $month, $i, $year);
        $ltm = mktime(23, 59, 59, $month, $i, $year);
        $query = "\n\t\t\tSELECT\n\t\t\t\t`dtraff_web_in`, `dtraff_web_out`, `dtraff_ftp_in`, `dtraff_ftp_out`, `dtraff_mail`, `dtraff_pop`, `dtraff_time`\n\t\t\tFROM\n\t\t\t\t`domain_traffic`\n\t\t\tWHERE\n\t\t\t\t`domain_id` = ?\n\t\t\tAND\n\t\t\t\t`dtraff_time` >= ?\n\t\t\tAND\n\t\t\t\t`dtraff_time` <= ?\n\t\t";
        exec_query($sql, $query, array($domain_id, $ftm, $ltm));
        list($web_trf, $ftp_trf, $pop_trf, $smtp_trf) = get_domain_trafic($ftm, $ltm, $domain_id);
        if ($web_trf == 0 && $ftp_trf == 0 && $smtp_trf == 0 && $pop_trf == 0) {
            $tpl->append(array('DATE' => date($cfg->DATE_FORMAT, strtotime($year . "-" . $month . "-" . $i)), 'WEB_TRAFFIC' => 0, 'FTP_TRAFFIC' => 0, 'SMTP_TRAFFIC' => 0, 'POP3_TRAFFIC' => 0, 'ALL_TRAFFIC' => 0));
        } else {
            $sum_web += $web_trf;
            $sum_ftp += $ftp_trf;
            $sum_mail += $smtp_trf;
            $sum_pop += $pop_trf;
            $tpl->append(array('DATE' => date($cfg->DATE_FORMAT, strtotime($year . "-" . $month . "-" . $i)), 'WEB_TRAFFIC' => sizeit($web_trf), 'FTP_TRAFFIC' => sizeit($ftp_trf), 'SMTP_TRAFFIC' => sizeit($smtp_trf), 'POP3_TRAFFIC' => sizeit($pop_trf), 'ALL_TRAFFIC' => sizeit($web_trf + $ftp_trf + $smtp_trf + $pop_trf)));
        }
    }
    $sql_param = array(':domain_id' => $domain_id);
    $sql_query = "\n\t\tSELECT\n\t\t\ta.admin_id, a.admin_name\n\t\tFROM\n\t\t\tadmin a,\n\t\t\tdomain b\n\t\tWHERE\n\t\t\tb.domain_created_id = a.admin_id\n\t\tAND\n\t\t\tb.domain_id = :domain_id\n\t";
    // Einzelne Schreibweise
    DB::prepare($sql_query);
    $row = DB::execute($sql_param, true);
    $tpl->assign(array('RESELLER_NAME' => $row['admin_name'], 'RESELLER_ID' => $row['admin_id'], 'MONTH' => $month, 'YEAR' => $year, 'DOMAIN_ID' => $domain_id, 'ALL_WEB_TRAFFIC' => sizeit($sum_web), 'ALL_FTP_TRAFFIC' => sizeit($sum_ftp), 'ALL_SMTP_TRAFFIC' => sizeit($sum_mail), 'ALL_POP3_TRAFFIC' => sizeit($sum_pop), 'ALL_ALL_TRAFFIC' => sizeit($sum_web + $sum_ftp + $sum_mail + $sum_pop)));
}
コード例 #30
0
ファイル: cronjob_manage.php プロジェクト: gOOvER/EasySCP
<?php

/**
 * EasySCP a Virtual Hosting Control Panel
 * Copyright (C) 2010-2016 by Easy Server Control Panel - http://www.easyscp.net
 *
 * This work is licensed under the Creative Commons Attribution-NoDerivs 3.0 Unported License.
 * To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/3.0/.
 *
 * @link 		http://www.easyscp.net
 * @author 		EasySCP Team
 */
require '../../include/easyscp-lib.php';
check_login(__FILE__);
$cfg = EasySCP_Registry::get('Config');
$tpl = EasySCP_TemplateEngine::getInstance();
$template = 'admin/cronjob_manage.tpl';
// static page messages
$tpl->assign(array('TR_CLIENT_CRONJOBS_TITLE' => tr('EasySCP - Admin/Cronjob Manager')));
if (isset($_GET['delete_cron_id']) && is_numeric($_GET['delete_cron_id'])) {
    EasyCron::deleteCronJob($_GET['delete_cron_id']);
    user_goto('cronjob_overview.php');
}
if (isset($_GET['status_cron_id']) && is_numeric($_GET['status_cron_id'])) {
    EasyCron::toggleCronStatus($_GET['status_cron_id']);
    user_goto('cronjob_overview.php');
}
/*
 *
 * static page messages.
 *