Exemple #1
0
 }
 $countcustomers = Database::pexecute_first($stmt, $params);
 $countcustomers = (int) $countcustomers['countcustomers'];
 if ($action == '') {
     $log->logAction(ADM_ACTION, LOG_NOTICE, "viewed admin_domains");
     $fields = array('d.domain' => $lng['domains']['domainname'], 'c.name' => $lng['customer']['name'], 'c.firstname' => $lng['customer']['firstname'], 'c.company' => $lng['customer']['company'], 'c.loginname' => $lng['login']['username'], 'd.aliasdomain' => $lng['domains']['aliasdomain']);
     $paging = new paging($userinfo, TABLE_PANEL_DOMAINS, $fields);
     $domains = '';
     $result_stmt = Database::prepare("\n\t\t\tSELECT `d`.*, `c`.`loginname`, `c`.`name`, `c`.`firstname`, `c`.`company`, `c`.`standardsubdomain`, `ad`.`id` AS `aliasdomainid`, `ad`.`domain` AS `aliasdomain`\n\t\t\tFROM `" . TABLE_PANEL_DOMAINS . "` `d`\n\t\t\tLEFT JOIN `" . TABLE_PANEL_CUSTOMERS . "` `c` USING(`customerid`)\n\t\t\tLEFT JOIN `" . TABLE_PANEL_DOMAINS . "` `ad` ON `d`.`aliasdomain`=`ad`.`id`\n\t\t\tWHERE `d`.`parentdomainid`='0' " . ($userinfo['customers_see_all'] ? '' : " AND `d`.`adminid` = :adminid ") . " " . $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
     $params = array();
     if ($userinfo['customers_see_all'] == '0') {
         $params['adminid'] = $userinfo['adminid'];
     }
     Database::pexecute($result_stmt, $params);
     $numrows_domains = Database::num_rows();
     $paging->setEntries($numrows_domains);
     $sortcode = $paging->getHtmlSortCode($lng);
     $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
     $searchcode = $paging->getHtmlSearchCode($lng);
     $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
     $domain_array = array();
     while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
         $row['domain'] = $idna_convert->decode($row['domain']);
         $row['aliasdomain'] = $idna_convert->decode($row['aliasdomain']);
         $resultips_stmt = Database::prepare("\n\t\t\t\tSELECT `ips`.* FROM `" . TABLE_DOMAINTOIP . "` AS `dti`, `" . TABLE_PANEL_IPSANDPORTS . "` AS `ips`\n\t\t\t\tWHERE `dti`.`id_ipandports` = `ips`.`id` AND `dti`.`id_domain` = :domainid");
         Database::pexecute($resultips_stmt, array('domainid' => $row['id']));
         $row['ipandport'] = '';
         while ($rowip = $resultips_stmt->fetch(PDO::FETCH_ASSOC)) {
             if (filter_var($rowip['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
                 $row['ipandport'] .= '[' . $rowip['ip'] . ']:' . $rowip['port'] . "\n";
             } else {
Exemple #2
0
    $id = intval($_POST['id']);
} elseif (isset($_GET['id'])) {
    $id = intval($_GET['id']);
}
if ($page == 'overview') {
    $log->logAction(USR_ACTION, LOG_NOTICE, "viewed customer_ftp");
    eval("echo \"" . getTemplate('ftp/ftp') . "\";");
} elseif ($page == 'accounts') {
    if ($action == '') {
        $log->logAction(USR_ACTION, LOG_NOTICE, "viewed customer_ftp::accounts");
        $fields = array('username' => $lng['login']['username'], 'homedir' => $lng['panel']['path'], 'description' => $lng['panel']['ftpdesc']);
        $paging = new paging($userinfo, TABLE_FTP_USERS, $fields);
        $result_stmt = Database::prepare("SELECT `id`, `username`, `description`, `homedir` FROM `" . TABLE_FTP_USERS . "`\n\t\t\tWHERE `customerid`= :customerid " . $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
        Database::pexecute($result_stmt, array("customerid" => $userinfo['customerid']));
        $ftps_count = Database::num_rows();
        $paging->setEntries($ftps_count);
        $sortcode = $paging->getHtmlSortCode($lng);
        $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
        $searchcode = $paging->getHtmlSearchCode($lng);
        $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
        $i = 0;
        $count = 0;
        $accounts = '';
        while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
            if ($paging->checkDisplay($i)) {
                if (strpos($row['homedir'], $userinfo['documentroot']) === 0) {
                    $row['documentroot'] = str_replace($userinfo['documentroot'], "/", $row['homedir']);
                } else {
                    $row['documentroot'] = $row['homedir'];
                }
                $row['documentroot'] = makeCorrectDir($row['documentroot']);
Exemple #3
0
require './lib/init.php';
if (isset($_POST['id'])) {
    $id = intval($_POST['id']);
} elseif (isset($_GET['id'])) {
    $id = intval($_GET['id']);
}
if ($page == 'overview') {
    $log->logAction(USR_ACTION, LOG_NOTICE, 'viewed customer_ftp');
    eval('echo "' . getTemplate('ftp/ftp') . '";');
} elseif ($page == 'accounts') {
    if ($action == '') {
        $log->logAction(USR_ACTION, LOG_NOTICE, 'viewed customer_ftp::accounts');
        $fields = array('username' => $lng['login']['username'], 'homedir' => $lng['panel']['path']);
        $paging = new paging($userinfo, $db, TABLE_FTP_USERS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']);
        $result = $db->query('SELECT `id`, `username`, `homedir` FROM `' . TABLE_FTP_USERS . "` WHERE `customerid`='" . $userinfo['customerid'] . "' " . $paging->getSqlWhere(true) . ' ' . $paging->getSqlOrderBy() . ' ' . $paging->getSqlLimit());
        $paging->setEntries($db->num_rows($result));
        $sortcode = $paging->getHtmlSortCode($lng);
        $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
        $searchcode = $paging->getHtmlSearchCode($lng);
        $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
        $i = 0;
        $count = 0;
        $accounts = '';
        while ($row = $db->fetch_array($result)) {
            if ($paging->checkDisplay($i)) {
                if (strpos($row['homedir'], $userinfo['documentroot']) === 0) {
                    $row['documentroot'] = substr($row['homedir'], strlen($userinfo['documentroot']));
                } else {
                    $row['documentroot'] = $row['homedir'];
                }
                $row['documentroot'] = makeCorrectDir($row['documentroot']);
}
if ($page == 'overview') {
    $log->logAction(USR_ACTION, LOG_NOTICE, "viewed customer_email");
    eval("echo \"" . getTemplate("email/email") . "\";");
} elseif ($page == 'emails') {
    if ($action == '') {
        $log->logAction(USR_ACTION, LOG_NOTICE, "viewed customer_email::emails");
        $fields = array('d.domain' => $lng['domains']['domainname'], 'm.email_full' => $lng['emails']['emailaddress'], 'm.destination' => $lng['emails']['forwarders']);
        $paging = new paging($userinfo, TABLE_MAIL_VIRTUAL, $fields);
        $result_stmt = Database::prepare('SELECT `m`.`id`, `m`.`domainid`, `m`.`email`, `m`.`email_full`, `m`.`iscatchall`, `u`.`quota`, `m`.`destination`, `m`.`popaccountid`, `d`.`domain`, `u`.`mboxsize` FROM `' . TABLE_MAIL_VIRTUAL . '` `m`
			LEFT JOIN `' . TABLE_PANEL_DOMAINS . '` `d` ON (`m`.`domainid` = `d`.`id`)
			LEFT JOIN `' . TABLE_MAIL_USERS . '` `u` ON (`m`.`popaccountid` = `u`.`id`)
			WHERE `m`.`customerid`= :customerid ' . $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
        Database::pexecute($result_stmt, array("customerid" => $userinfo['customerid']));
        $emailscount = Database::num_rows();
        $paging->setEntries($emailscount);
        $sortcode = $paging->getHtmlSortCode($lng);
        $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
        $searchcode = $paging->getHtmlSearchCode($lng);
        $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
        $emails = array();
        while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
            if (!isset($emails[$row['domain']]) || !is_array($emails[$row['domain']])) {
                $emails[$row['domain']] = array();
            }
            $emails[$row['domain']][$row['email_full']] = $row;
        }
        if ($paging->sortfield == 'd.domain' && $paging->sortorder == 'desc') {
            krsort($emails);
        } else {
            ksort($emails);
if (isset($_POST['id'])) {
    $id = intval($_POST['id']);
} elseif (isset($_GET['id'])) {
    $id = intval($_GET['id']);
}
if ($page == 'overview') {
    $log->logAction(USR_ACTION, LOG_NOTICE, "viewed customer_domains");
    eval("echo \"" . getTemplate("domains/domains") . "\";");
} elseif ($page == 'domains') {
    if ($action == '') {
        $log->logAction(USR_ACTION, LOG_NOTICE, "viewed customer_domains::domains");
        $fields = array('d.domain' => $lng['domains']['domainname']);
        $paging = new paging($userinfo, TABLE_PANEL_DOMAINS, $fields);
        $domains_stmt = Database::prepare("SELECT `d`.`id`, `d`.`customerid`, `d`.`domain`, `d`.`documentroot`, `d`.`isbinddomain`, `d`.`isemaildomain`, `d`.`caneditdomain`, `d`.`iswildcarddomain`, `d`.`parentdomainid`, `d`.`letsencrypt`, `d`.`termination_date`, `ad`.`id` AS `aliasdomainid`, `ad`.`domain` AS `aliasdomain`, `da`.`id` AS `domainaliasid`, `da`.`domain` AS `domainalias` FROM `" . TABLE_PANEL_DOMAINS . "` `d`\n\t\t\tLEFT JOIN `" . TABLE_PANEL_DOMAINS . "` `ad` ON `d`.`aliasdomain`=`ad`.`id`\n\t\t\tLEFT JOIN `" . TABLE_PANEL_DOMAINS . "` `da` ON `da`.`aliasdomain`=`d`.`id`\n\t\t\tWHERE `d`.`customerid`= :customerid\n\t\t\tAND `d`.`email_only`='0'\n\t\t\tAND `d`.`id` <> :standardsubdomain " . $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
        Database::pexecute($domains_stmt, array("customerid" => $userinfo['customerid'], "standardsubdomain" => $userinfo['standardsubdomain']));
        $paging->setEntries(Database::num_rows());
        $sortcode = $paging->getHtmlSortCode($lng);
        $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
        $searchcode = $paging->getHtmlSearchCode($lng);
        $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
        $domains = '';
        $parentdomains_count = 0;
        $domains_count = 0;
        $domain_array = array();
        while ($row = $domains_stmt->fetch(PDO::FETCH_ASSOC)) {
            $row['domain'] = $idna_convert->decode($row['domain']);
            $row['aliasdomain'] = $idna_convert->decode($row['aliasdomain']);
            $row['domainalias'] = $idna_convert->decode($row['domainalias']);
            if ($row['parentdomainid'] == '0' && $row['caneditdomain'] == '1') {
                $parentdomains_count++;
            }
Exemple #6
0
 * @author     Florian Lippert <*****@*****.**> (2003-2009)
 * @author     Froxlor team <*****@*****.**> (2010-)
 * @license    GPLv2 http://files.froxlor.org/misc/COPYING.txt
 * @package    Panel
 *
 */
define('AREA', 'admin');
require './lib/init.php';
if ($page == 'log' && $userinfo['change_serversettings'] == '1') {
    if ($action == '') {
        $fields = array('date' => $lng['logger']['date'], 'type' => $lng['logger']['type'], 'user' => $lng['logger']['user'], 'text' => $lng['logger']['action']);
        $paging = new paging($userinfo, TABLE_PANEL_LOG, $fields, null, null, 0, 'desc');
        $result_stmt = Database::query('
			SELECT * FROM `' . TABLE_PANEL_LOG . '` ' . $paging->getSqlWhere(false) . ' ' . $paging->getSqlOrderBy() . ' ' . $paging->getSqlLimit());
        $logs_count = Database::num_rows();
        $paging->setEntries($logs_count);
        $sortcode = $paging->getHtmlSortCode($lng);
        $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
        $searchcode = $paging->getHtmlSearchCode($lng);
        $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
        $clog = array();
        while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
            if (!isset($clog[$row['action']]) || !is_array($clog[$row['action']])) {
                $clog[$row['action']] = array();
            }
            $clog[$row['action']][$row['logid']] = $row;
        }
        if ($paging->sortfield == 'date' && $paging->sortorder == 'desc') {
            krsort($clog);
        } else {
            ksort($clog);
Exemple #7
0
    $id = intval($_POST['id']);
} elseif (isset($_GET['id'])) {
    $id = intval($_GET['id']);
}
if ($page == 'customers' && $userinfo['customers'] != '0') {
    if ($action == '') {
        // clear request data
        unset($_SESSION['requestData']);
        $log->logAction(ADM_ACTION, LOG_NOTICE, "viewed admin_customers");
        $fields = array('c.loginname' => $lng['login']['username'], 'a.loginname' => $lng['admin']['admin'], 'c.name' => $lng['customer']['name'], 'c.email' => $lng['customer']['email'], 'c.firstname' => $lng['customer']['firstname'], 'c.company' => $lng['customer']['company'], 'c.diskspace' => $lng['customer']['diskspace'], 'c.diskspace_used' => $lng['customer']['diskspace'] . ' (' . $lng['panel']['used'] . ')', 'c.traffic' => $lng['customer']['traffic'], 'c.traffic_used' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')');
        $paging = new paging($userinfo, TABLE_PANEL_CUSTOMERS, $fields);
        $customers = '';
        $result_stmt = Database::prepare("\n\t\t\tSELECT `c`.*, `a`.`loginname` AS `adminname`\n\t\t\tFROM `" . TABLE_PANEL_CUSTOMERS . "` `c`, `" . TABLE_PANEL_ADMINS . "` `a`\n\t\t\tWHERE " . ($userinfo['customers_see_all'] ? '' : " `c`.`adminid` = :adminid AND ") . "\n\t\t\t`c`.`adminid` = `a`.`adminid` " . $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
        Database::pexecute($result_stmt, array('adminid' => $userinfo['adminid']));
        $num_rows = Database::num_rows();
        $paging->setEntries($num_rows);
        $sortcode = $paging->getHtmlSortCode($lng, true);
        $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
        $searchcode = $paging->getHtmlSearchCode($lng);
        $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
        $i = 0;
        $count = 0;
        while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
            if ($paging->checkDisplay($i)) {
                $domains_stmt = Database::prepare("\n\t\t\t\t\tSELECT COUNT(`id`) AS `domains`\n\t\t\t\t\tFROM `" . TABLE_PANEL_DOMAINS . "`\n\t\t\t\t\tWHERE `customerid` = :cid\n\t\t\t\t\tAND `parentdomainid` = '0'\n\t\t\t\t\tAND `id`<> :stdd");
                Database::pexecute($domains_stmt, array('cid' => $row['customerid'], 'stdd' => $row['standardsubdomain']));
                $domains = $domains_stmt->fetch(PDO::FETCH_ASSOC);
                $row['domains'] = intval($domains['domains']);
                $dec_places = Settings::Get('panel.decimal_places');
                $row['traffic_used'] = round($row['traffic_used'] / (1024 * 1024), $dec_places);
                $row['traffic'] = round($row['traffic'] / (1024 * 1024), $dec_places);
}
// sorting by domain-name
$certs_stmt_query .= $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit();
$certs_stmt = Database::prepare($certs_stmt_query);
Database::pexecute($certs_stmt, $qry_params);
$all_certs = $certs_stmt->fetchAll(PDO::FETCH_ASSOC);
$certificates = "";
if (count($all_certs) == 0) {
    $message = $lng['domains']['no_ssl_certificates'];
    $sortcode = "";
    $arrowcode = array('d.domain' => '');
    $searchcode = "";
    $pagingcode = "";
    eval("\$certificates.=\"" . getTemplate("ssl_certificates/certs_error", true) . "\";");
} else {
    $paging->setEntries(count($all_certs));
    $sortcode = $paging->getHtmlSortCode($lng);
    $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
    $searchcode = $paging->getHtmlSearchCode($lng);
    $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
    foreach ($all_certs as $idx => $cert) {
        if ($paging->checkDisplay($idx)) {
            if (empty($cert['domain']) || empty($cert['ssl_cert_file'])) {
                // no domain found to the entry or empty entry - safely delete it from the DB
                Database::pexecute($del_stmt, array('id' => $cert['id']));
                continue;
            }
            $cert_data = openssl_x509_parse($cert['ssl_cert_file']);
            $cert['domain'] = $idna_convert->decode($cert['domain']);
            $adminCustomerLink = "";
            if (AREA == 'admin') {
Exemple #9
0
define('AREA', 'admin');
require './lib/init.php';
if (isset($_POST['id'])) {
    $id = intval($_POST['id']);
} elseif (isset($_GET['id'])) {
    $id = intval($_GET['id']);
}
if ($page == 'admins' && $userinfo['change_serversettings'] == '1') {
    if ($action == '') {
        $log->logAction(ADM_ACTION, LOG_NOTICE, "viewed admin_admins");
        $fields = array('loginname' => $lng['login']['username'], 'name' => $lng['customer']['name'], 'diskspace' => $lng['customer']['diskspace'], 'diskspace_used' => $lng['customer']['diskspace'] . ' (' . $lng['panel']['used'] . ')', 'traffic' => $lng['customer']['traffic'], 'traffic_used' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')', 'deactivated' => $lng['admin']['deactivated']);
        $paging = new paging($userinfo, TABLE_PANEL_ADMINS, $fields);
        $admins = '';
        $result_stmt = Database::query("SELECT * FROM `" . TABLE_PANEL_ADMINS . "` " . $paging->getSqlWhere(false) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
        $numrows_admins = Database::num_rows();
        $paging->setEntries($numrows_admins);
        $sortcode = $paging->getHtmlSortCode($lng, true);
        $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
        $searchcode = $paging->getHtmlSearchCode($lng);
        $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
        $i = 0;
        $count = 0;
        $dec_places = Settings::Get('panel.decimal_places');
        while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
            if ($paging->checkDisplay($i)) {
                $row['traffic_used'] = round($row['traffic_used'] / (1024 * 1024), $dec_places);
                $row['traffic'] = round($row['traffic'] / (1024 * 1024), $dec_places);
                $row['diskspace_used'] = round($row['diskspace_used'] / 1024, $dec_places);
                $row['diskspace'] = round($row['diskspace'] / 1024, $dec_places);
                // percent-values for progressbar
                // For Disk usage
Exemple #10
0
}
if ($page == 'overview') {
    $log->logAction(USR_ACTION, LOG_NOTICE, "viewed customer_mysql");
    Database::needSqlData();
    $sql = Database::getSqlData();
    $lng['mysql']['description'] = str_replace('<SQL_HOST>', $sql['host'], $lng['mysql']['description']);
    eval("echo \"" . getTemplate('mysql/mysql') . "\";");
} elseif ($page == 'mysqls') {
    if ($action == '') {
        $log->logAction(USR_ACTION, LOG_NOTICE, "viewed customer_mysql::mysqls");
        $fields = array('databasename' => $lng['mysql']['databasename'], 'description' => $lng['mysql']['databasedescription']);
        $paging = new paging($userinfo, TABLE_PANEL_DATABASES, $fields);
        $result_stmt = Database::prepare("SELECT * FROM `" . TABLE_PANEL_DATABASES . "`\n\t\t\tWHERE `customerid`= :customerid " . $paging->getSqlWhere(true) . " " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit());
        Database::pexecute($result_stmt, array("customerid" => $userinfo['customerid']));
        $mysqls_count = Database::num_rows();
        $paging->setEntries($mysqls_count);
        $sortcode = $paging->getHtmlSortCode($lng);
        $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
        $searchcode = $paging->getHtmlSearchCode($lng);
        $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
        $i = 0;
        $count = 0;
        $mysqls = '';
        $dbservers_stmt = Database::query("SELECT COUNT(DISTINCT `dbserver`) as numservers FROM `" . TABLE_PANEL_DATABASES . "`");
        $dbserver = $dbservers_stmt->fetch(PDO::FETCH_ASSOC);
        $count_mysqlservers = $dbserver['numservers'];
        // Begin root-session
        Database::needRoot(true);
        while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
            if ($paging->checkDisplay($i)) {
                $row = htmlentities_array($row);