Пример #1
0
 /**
  * Constructor
  *
  * @param string $message
  * @param int $code
  * @param Exception $previous OPTIONAL Previous exception
  * @return iMSCP_Exception_Production
  */
 public function __construct($message = '', $code = 0, $previous = null)
 {
     if (function_exists('tr') && iMSCP_Registry::isRegistered('Pdo')) {
         $message = tr('An unexpected error occurred. Please contact your administrator.');
     } else {
         $message = 'An unexpected error occurred. Please contact your administrator.';
     }
     parent::__construct($message, $code, $previous);
 }
Пример #2
0
 /**
  * Inject Mailgraph links into the navigation object
  *
  * @return void
  */
 protected function setupNavigation()
 {
     if (iMSCP_Registry::isRegistered('navigation')) {
         /** @var Zend_Navigation $navigation */
         $navigation = iMSCP_Registry::get('navigation');
         if ($page = $navigation->findOneBy('uri', '/admin/server_statistic.php')) {
             $page->addPage(array('label' => tr('Mailgraph'), 'uri' => '/admin/mailgraph.php', 'title_class' => 'stats'));
         }
     }
 }
Пример #3
0
 /**
  * Inject AdminerSQL links into the navigation object
  *
  * @param string $level UI level
  */
 protected function setupNavigation($level)
 {
     if (iMSCP_Registry::isRegistered('navigation')) {
         /** @var Zend_Navigation $navigation */
         $navigation = iMSCP_Registry::get('navigation');
         switch ($level) {
             case 'admin':
                 if ($page = $navigation->findOneBy('uri', '/admin/system_info.php')) {
                     $page->addPages(array(array('label' => tr('AdminerSQL'), 'uri' => '/adminer/adminer.php', 'target' => '_blank'), array('label' => tr('EditorSQL'), 'uri' => '/adminer/editor.php', 'target' => '_blank')));
                 }
                 break;
             case 'client':
                 if ($page = $navigation->findOneBy('uri', '/client/sql_manage.php')) {
                     $page->addPages(array(array('label' => tr('Adminer'), 'uri' => '/adminer/adminer.php', 'target' => '_blank'), array('label' => tr('Adminer editor'), 'uri' => '/adminer/editor.php', 'target' => '_blank')));
                 }
         }
     }
 }
Пример #4
0
 /**
  * Render exception template file
  *
  * @return void
  */
 protected function render()
 {
     $tpl = new iMSCP_pTemplate();
     $tpl->define_dynamic(array('layout' => 'shared/layouts/simple.tpl', 'page' => $this->templateFile, 'page_message' => 'layout', 'backlink_block' => 'page'));
     if (iMSCP_Registry::isRegistered('backButtonDestination')) {
         $backButtonDestination = iMSCP_Registry::get('backButtonDestination');
     } else {
         $backButtonDestination = 'javascript:history.go(-1)';
     }
     $tpl->assign(array('TR_PAGE_TITLE' => 'i-MSCP - internet Multi Server Control Panel - Fatal Error', 'HEADER_BLOCK' => '', 'BOX_MESSAGE_TITLE' => 'An unexpected error occurred', 'PAGE_MESSAGE' => '', 'BOX_MESSAGE' => $this->message, 'BACK_BUTTON_DESTINATION' => $backButtonDestination, 'TR_BACK' => 'Back'));
     $tpl->parse('LAYOUT_CONTENT', 'page');
     $this->templateEngine = $tpl;
 }
Пример #5
0
}
/***********************************************************************************************************************
 * Main
 */
// Include core library
require 'imscp-lib.php';
iMSCP_Events_Aggregator::getInstance()->dispatch(iMSCP_Events::onAdminScriptStart);
check_login('admin');
// Register iMSCP_NetworkCard instance in registry for shared access
iMSCP_Registry::set('networkCardObject', new iMSCP_NetworkCard());
if (!empty($_POST)) {
    $ipNumber = isset($_POST['ip_number']) ? trim($_POST['ip_number']) : '';
    $netCard = isset($_POST['ip_card']) ? clean_input($_POST['ip_card']) : '';
    if (client_checkIpData($ipNumber, $netCard)) {
        client_registerIp($ipNumber, $netCard);
    }
}
$tpl = new iMSCP_pTemplate();
$tpl->define_dynamic(array('layout' => 'shared/layouts/ui.tpl', 'page' => 'admin/ip_manage.tpl', 'page_message' => 'layout', 'ip_addresses_block' => 'page', 'ip_address_block' => 'ip_addresses_block', 'ip_address_form_block' => 'page', 'network_card_block' => 'ip_address_form_block'));
$tpl->assign(array('TR_PAGE_TITLE' => tr('Admin / Settings / IP Addresses Management'), 'TR_IP' => tr('IP Address'), 'TR_ACTION' => tr('Action'), 'TR_NETWORK_CARD' => tr('Network interface'), 'TR_ADD' => tr('Add'), 'TR_CANCEL' => tr('Cancel'), 'TR_CONFIGURED_IPS' => tr('IP addresses under control of i-MSCP'), 'TR_ADD_NEW_IP' => tr('Add new IP address'), 'TR_IP_DATA' => tr('IP address data'), 'TR_MESSAGE_DELETE' => json_encode(tr('Are you sure you want to delete this IP: %s?', '%s')), 'TR_MESSAGE_DENY_DELETE' => json_encode(tr('You cannot remove the %s IP address.', '%s')), 'ERR_FIELDS_STACK' => iMSCP_Registry::isRegistered('errFieldsStack') ? json_encode(iMSCP_Registry::get('errFieldsStack')) : '[]', 'TR_TIP' => tr('This interface allow to add or remove IP addresses. IP addresses listed below are already under the control of i-MSCP. IP addresses which are added through this interface will be automatically added into the i-MSCP database, and will be available for assignment to one or many of your resellers. If an IP address is not already configured on the system, it will be attached to the selected network interface.')));
iMSCP_Events_Aggregator::getInstance()->registerListener('onGetJsTranslations', function ($e) {
    /** @var $e \iMSCP_Events_Event */
    $e->getParam('translations')->core['dataTable'] = getDataTablesPluginTranslations(false);
});
generateNavigation($tpl);
client_generatePage($tpl);
generatePageMessage($tpl);
$tpl->parse('LAYOUT_CONTENT', 'page');
iMSCP_Events_Aggregator::getInstance()->dispatch(iMSCP_Events::onAdminScriptEnd, array('templateEngine' => $tpl));
$tpl->prnt();
unsetMessages();
Пример #6
0
        }
        send_request();
        exec_query('DELETE FROM `ownddns` WHERE `admin_id` = ?', $customerAdminId);
        exec_query('DELETE FROM `ownddns_accounts` WHERE `admin_id` = ?', $customerAdminId);
        set_page_message(tr('Customer deactivated for OwnDDNS support. This can take a few seconds.'), 'success');
    } else {
        set_page_message(tr("The customer you are trying to deactivate OwnDDNS doesn't exist."), 'error');
    }
    redirectTo('ownddns.php');
}
/***********************************************************************************************************************
 * Main
 */
iMSCP_Events_Manager::getInstance()->dispatch(iMSCP_Events::onResellerScriptStart);
check_login('reseller');
if (iMSCP_Registry::isRegistered('pluginManager')) {
    /** @var iMSCP_Plugin_Manager $pluginManager */
    $pluginManager = iMSCP_Registry::get('pluginManager');
} else {
    throw new iMSCP_Plugin_Exception('An unexpected error occured');
}
/** @var $cfg iMSCP_Config_Handler_File */
$cfg = iMSCP_Registry::get('config');
$tpl = new iMSCP_pTemplate();
$tpl->define_dynamic(array('layout' => 'shared/layouts/ui.tpl', 'page' => '../../plugins/OwnDDNS/frontend/reseller/ownddns.tpl', 'page_message' => 'layout', 'ownddns_list' => 'page', 'ownddns_edit' => 'page', 'ownddns_select_item' => 'page', 'ownddns_customer_list' => 'page', 'ownddns_customer_item' => 'page', 'ownddns_no_customer_item' => 'page', 'scroll_prev_gray' => 'ownddns_customer_list', 'scroll_prev' => 'ownddns_customer_list', 'scroll_next_gray', 'ownddns_customer_list', 'scroll_next' => 'ownddns_customer_list'));
if (isset($_REQUEST['action'])) {
    $action = clean_input($_REQUEST['action']);
    if ($action === 'activate') {
        $customerAdminId = isset($_POST['admin_id']) && $_POST['admin_id'] !== '-1' ? clean_input($_POST['admin_id']) : '';
        if ($customerAdminId != '') {
            ownddns_activateCustomer($tpl, $pluginManager, $customerAdminId, $_SESSION['user_id']);
Пример #7
0
 /**
  * disablePages event listener
  *
  * @param iMSCP_Events_Event $event
  * @return void
  */
 public function disablePages($event)
 {
     $requestPage = $_SERVER['SCRIPT_NAME'];
     foreach ($this->disabledPages as $page) {
         if (preg_match("~{$page}~i", $requestPage)) {
             showNotFoundErrorPage();
         }
     }
     if (iMSCP_Registry::isRegistered('navigation')) {
         /** @var Zend_Navigation $navigation */
         $navigation = iMSCP_Registry::get('navigation');
         foreach ($this->disabledPages as $page) {
             $pages = $navigation->findAllBy('uri', "~{$page}~i", true, true);
             foreach ($pages as $page) {
                 $navigation->removePage($page, true);
             }
         }
     }
 }
Пример #8
0
 /**
  * Inject OpenDKIM links into the navigation object
  *
  * @param string $level UI level
  */
 protected function setupNavigation($level)
 {
     if (iMSCP_Registry::isRegistered('navigation')) {
         /** @var Zend_Navigation $navigation */
         $navigation = iMSCP_Registry::get('navigation');
         if ($level == 'admin') {
             if ($page = $navigation->findOneBy('uri', '/admin/index.php')) {
                 $page->addPage(array('label' => tohtml(tr('OwnDDNS')), 'uri' => '/admin/ownddns.php', 'title_class' => 'adminlog'));
             }
         } elseif ($level == 'reseller') {
             if ($page = $navigation->findOneBy('uri', '/reseller/users.php')) {
                 $page->addPage(array('label' => tr('OwnDDNS'), 'uri' => '/reseller/ownddns.php', 'title_class' => 'users', 'privilege_callback' => array('name' => 'resellerHasCustomers')));
             }
         } elseif ($level == 'client') {
             if ($page = $navigation->findOneBy('uri', '/client/domains_manage.php')) {
                 $page->addPage(array('label' => tr('OwnDDNS'), 'uri' => '/client/ownddns.php', 'title_class' => 'domains'));
             }
         }
     }
 }
Пример #9
0
/**
 * Generate page
 *
 * @param $tpl iMSCP_pTemplate
 * @return void
 */
function generatePage($tpl)
{
    global $id, $name, $description, $sub, $als, $mail, $mailQuota, $ftp, $sqld, $sqlu, $traffic, $diskSpace, $php, $cgi, $backup, $dns, $aps, $extMail, $webFolderProtection, $status;
    $tpl->assign(array('ID' => tohtml($id, 'htmlAttr'), 'NAME' => tohtml($name, 'htmlAttr'), 'DESCRIPTION' => tohtml($description), 'MAX_SUB' => tohtml($sub, 'htmlAttr'), 'MAX_ALS' => tohtml($als, 'htmlAttr'), 'MAX_MAIL' => tohtml($mail, 'htmlAttr'), 'MAIL_QUOTA' => tohtml($mailQuota, 'htmlAttr'), 'MAX_FTP' => tohtml($ftp, 'htmlAttr'), 'MAX_SQLD' => tohtml($sqld, 'htmlAttr'), 'MAX_SQLU' => tohtml($sqlu, 'htmlAttr'), 'MONTHLY_TRAFFIC' => tohtml($traffic, 'htmlAttr'), 'MAX_DISKSPACE' => tohtml($diskSpace, 'htmlAttr'), 'PHP_YES' => $php == '_yes_' ? ' checked' : '', 'PHP_NO' => $php == '_yes_' ? '' : ' checked', 'CGI_YES' => $cgi == '_yes_' ? ' checked' : '', 'CGI_NO' => $cgi == '_yes_' ? '' : ' checked', 'DNS_YES' => $dns == '_yes_' ? ' checked' : '', 'DNS_NO' => $dns == '_yes_' ? '' : ' checked', 'TR_SOFTWARE_YES' => $aps == '_yes_' ? ' checked' : '', 'TR_SOFTWARE_NO' => $aps == '_yes_' ? '' : ' checked', 'SOFTWARE_YES' => $aps == '_yes_' ? ' checked' : '', 'SOFTWARE_NO' => $aps == '_yes_' ? '' : ' checked', 'EXTMAIL_YES' => $extMail == '_yes_' ? ' checked' : '', 'EXTMAIL_NO' => $extMail == '_yes_' ? '' : ' checked', 'BACKUPD' => in_array('_dmn_', $backup) ? ' checked' : '', 'BACKUPS' => in_array('_sql_', $backup) ? ' checked' : '', 'BACKUPM' => in_array('_mail_', $backup) ? ' checked' : '', 'PROTECT_WEB_FOLDERS_YES' => $webFolderProtection == '_yes_' ? ' checked' : '', 'PROTECT_WEB_FOLDERS_NO' => $webFolderProtection == '_yes_' ? '' : ' checked', 'STATUS_YES' => $status ? ' checked' : '', 'STATUS_NO' => !$status ? ' checked' : ''));
    iMSCP_Events_Aggregator::getInstance()->registerListener('onGetJsTranslations', function ($e) {
        /** @var iMSCP_Events_Event $e */
        $translations = $e->getParam('translations');
        $translations['core']['error_field_stack'] = iMSCP_Registry::isRegistered('errFieldsStack') ? iMSCP_Registry::get('errFieldsStack') : array();
    });
    if (!resellerHasFeature('subdomains')) {
        $tpl->assign('NB_SUBDOMAIN', '');
    }
    if (!resellerHasFeature('domain_aliases')) {
        $tpl->assign('NB_DOMAIN_ALIASES', '');
    }
    if (!resellerHasFeature('mail')) {
        $tpl->assign('NB_MAIL', '');
    }
    if (!resellerHasFeature('ftp')) {
        $tpl->assign('NB_FTP', '');
    }
    if (!resellerHasFeature('sql_db')) {
        $tpl->assign('NB_SQLD', '');
    }
    if (!resellerHasFeature('sql_user')) {
        $tpl->assign('NB_SQLU', '');
    }
    if (!resellerHasFeature('php')) {
        $tpl->assign('PHP_FEATURE', '');
    }
    if (!resellerHasFeature('php_editor')) {
        $tpl->assign('PHP_EDITOR_FEATURE', '');
    }
    if (!resellerHasFeature('cgi')) {
        $tpl->assign('CGI_FEATURE', '');
    }
    if (!resellerHasFeature('custom_dns_records')) {
        $tpl->assign('CUSTOM_DNS_RECORDS_FEATURE', '');
    }
    if (!resellerHasFeature('aps')) {
        $tpl->assign('APS_FEATURE', '');
    }
    if (!resellerHasFeature('external_mail')) {
        $tpl->assign('EXT_MAIL_FEATURE', '');
    }
    if (!resellerHasFeature('backup')) {
        $tpl->assign('BACKUP_FEATURE', '');
    }
    generatePhpBlock($tpl);
}
Пример #10
0
/**
 * Generates features form
 *
 * @param iMSCP_pTemplate $tpl Template engine instance
 * @param array &$data Reseller data
 * @return void
 */
function _admin_generateFeaturesForm($tpl, &$data)
{
    $cfg = iMSCP_Registry::get('config');
    $tpl->assign(array('TR_FEATURES' => tr('Features'), 'TR_SETTINGS' => tr('PHP Settings'), 'TR_PHP_EDITOR' => tr('PHP Editor'), 'TR_PHP_EDITOR_SETTINGS' => tr('PHP Settings'), 'TR_PERMISSIONS' => tr('PHP Permissions'), 'TR_DIRECTIVES_VALUES' => tr('PHP Configuration options'), 'TR_FIELDS_OK' => tr('All fields are valid.'), 'PHP_INI_SYSTEM_YES' => $data['php_ini_system'] == 'yes' ? ' checked' : '', 'PHP_INI_SYSTEM_NO' => $data['php_ini_system'] != 'yes' ? ' checked' : '', 'TR_PHP_INI_AL_ALLOW_URL_FOPEN' => tr('Can edit the PHP %s configuration option', '<b>allow_url_fopen</b>'), 'PHP_INI_AL_ALLOW_URL_FOPEN_YES' => $data['php_ini_al_allow_url_fopen'] == 'yes' ? ' checked' : '', 'PHP_INI_AL_ALLOW_URL_FOPEN_NO' => $data['php_ini_al_allow_url_fopen'] != 'yes' ? ' checked' : '', 'TR_PHP_INI_AL_DISPLAY_ERRORS' => tr('Can edit the PHP %s configuration option', '<b>display_errors</b>'), 'PHP_INI_AL_DISPLAY_ERRORS_YES' => $data['php_ini_al_display_errors'] == 'yes' ? ' checked' : '', 'PHP_INI_AL_DISPLAY_ERRORS_NO' => $data['php_ini_al_display_errors'] != 'yes' ? ' checked' : '', 'TR_MEMORY_LIMIT' => tr('PHP %s configuration option', '<b>memory_limit</b>'), 'MEMORY_LIMIT' => tohtml($data['memory_limit']), 'TR_UPLOAD_MAX_FILESIZE' => tr('PHP %s configuration option', '<b>upload_max_filesize</b>'), 'UPLOAD_MAX_FILESIZE' => tohtml($data['upload_max_filesize']), 'TR_POST_MAX_SIZE' => tr('PHP %s configuration option', '<b>post_max_size</b>'), 'POST_MAX_SIZE' => tohtml($data['post_max_size']), 'TR_MAX_EXECUTION_TIME' => tr('PHP %s configuration option', '<b>max_execution_time</b>'), 'MAX_EXECUTION_TIME' => tohtml($data['max_execution_time']), 'TR_MAX_INPUT_TIME' => tr('PHP %s configuration option', '<b>max_input_time</b>'), 'MAX_INPUT_TIME' => tohtml($data['max_input_time']), 'TR_SOFTWARES_INSTALLER' => tr('Software installer'), 'SOFTWARES_INSTALLER_YES' => $data['software_allowed'] == 'yes' ? ' checked' : '', 'SOFTWARES_INSTALLER_NO' => $data['software_allowed'] != 'yes' ? ' checked' : '', 'TR_SOFTWARES_REPOSITORY' => tr('Software repository'), 'SOFTWARES_REPOSITORY_YES' => $data['softwaredepot_allowed'] == 'yes' ? ' checked' : '', 'SOFTWARES_REPOSITORY_NO' => $data['softwaredepot_allowed'] != 'yes' ? ' checked' : '', 'TR_WEB_SOFTWARES_REPOSITORY' => tr('Web software repository'), 'WEB_SOFTWARES_REPOSITORY_YES' => $data['websoftwaredepot_allowed'] == 'yes' ? ' checked' : '', 'WEB_SOFTWARES_REPOSITORY_NO' => $data['websoftwaredepot_allowed'] != 'yes' ? ' checked' : '', 'TR_SUPPORT_SYSTEM' => tr('Support system'), 'SUPPORT_SYSTEM_YES' => $data['support_system'] == 'yes' ? ' checked' : '', 'SUPPORT_SYSTEM_NO' => $data['support_system'] != 'yes' ? ' checked' : '', 'TR_PHP_INI_PERMISSION_HELP' => tohtml(tr('If set to `yes`, the reseller can allows his customers to edit this PHP configuration option.'), 'htmlAttr'), 'TR_PHP_INI_AL_MAIL_FUNCTION_HELP' => tohtml(tr('If set to `yes`, the reseller can enable/disable the PHP mail function for his customers, else, the PHP mail function is disabled.'), 'htmlAttr'), 'TR_YES' => tr('Yes'), 'TR_NO' => tr('No'), 'TR_MIB' => tr('MiB'), 'TR_SEC' => tr('Sec.')));
    iMSCP_Events_Aggregator::getInstance()->registerListener('onGetJsTranslations', function ($e) {
        /** @var iMSCP_Events_Event $e */
        $translations = $e->getParam('translations');
        $translations['core']['close'] = tr('Close');
        $translations['core']['fields_ok'] = tr('All fields are valid.');
        $translations['core']['out_of_range_value_error'] = tr('Value for the PHP %%s directive must be in range %%d to %%d.');
        $translations['core']['lower_value_expected_error'] = tr('%%s must be lower than %%s.');
        $translations['core']['error_field_stack'] = iMSCP_Registry::isRegistered('errFieldsStack') ? iMSCP_Registry::get('errFieldsStack') : array();
    });
    if ($cfg['HTTPD_SERVER'] != 'apache_itk') {
        $tpl->assign(array('TR_PHP_INI_AL_DISABLE_FUNCTIONS' => tr('Can edit the PHP %s configuration option', '<b>disable_functions</b>'), 'PHP_INI_AL_DISABLE_FUNCTIONS_YES' => $data['php_ini_al_disable_functions'] == 'yes' ? ' checked' : '', 'PHP_INI_AL_DISABLE_FUNCTIONS_NO' => $data['php_ini_al_disable_functions'] != 'yes' ? ' checked' : '', 'TR_PHP_INI_AL_MAIL_FUNCTION' => tr('Can use the PHP %s function', '<b>mail</b>'), 'PHP_INI_AL_MAIL_FUNCTION_YES' => $data['php_ini_al_mail_function'] == 'yes' ? ' checked' : '', 'PHP_INI_AL_MAIL_FUNCTION_NO' => $data['php_ini_al_mail_function'] != 'yes' ? ' checked' : ''));
    } else {
        $tpl->assign('PHP_EDITOR_DISABLE_FUNCTIONS_BLOCK', '');
        $tpl->assign('PHP_EDITOR_MAIL_FUNCTION_BLOCK', '');
    }
}
Пример #11
0
/**
 * Generates features form
 *
 * Note: For now most block for the features are always show. That will change when
 * admin will be able to disable them for a specific reseller.
 *
 * @param iMSCP_pTemplate $tpl Template engine instance
 * @param array $data Domain data
 * @return void
 */
function _reseller_generateFeaturesForm($tpl, &$data)
{
    $cfg = iMSCP_Registry::get('config');
    $tpl->assign(array('TR_FEATURES' => tr('Features'), 'TR_PHP' => tr('PHP'), 'PHP_YES' => $data['domain_php'] == 'yes' ? ' checked' : '', 'PHP_NO' => $data['domain_php'] != 'yes' ? ' checked' : ''));
    $phpini = iMSCP_PHPini::getInstance();
    // PHP editor - begin
    if (!$phpini->resellerHasPermission('phpiniSystem')) {
        $tpl->assign('PHP_EDITOR_BLOCK', '');
    } else {
        $tpl->assign(array('TR_SETTINGS' => tr('PHP Settings'), 'TR_PHP_EDITOR' => tr('PHP Editor'), 'TR_PHP_EDITOR_SETTINGS' => tr('PHP Settings'), 'TR_PERMISSIONS' => tr('PHP Permissions'), 'TR_DIRECTIVES_VALUES' => tr('PHP directives values'), 'TR_FIELDS_OK' => tr('All fields are valid.'), 'TR_MIB' => tr('MiB'), 'TR_SEC' => tr('Sec.'), 'PHP_EDITOR_YES' => $phpini->clientHasPermission('phpiniSystem') ? ' checked' : '', 'PHP_EDITOR_NO' => $phpini->clientHasPermission('phpiniSystem') ? '' : ' checked'));
        $permissionsBlock = false;
        if (!$phpini->resellerHasPermission('phpiniAllowUrlFopen')) {
            $tpl->assign('PHP_EDITOR_ALLOW_URL_FOPEN_BLOCK', '');
        } else {
            $tpl->assign(array('TR_CAN_EDIT_ALLOW_URL_FOPEN' => tr('Can edit the PHP %s configuration option', '<b>allow_url_fopen</b>'), 'ALLOW_URL_FOPEN_YES' => $phpini->clientHasPermission('phpiniAllowUrlFopen') ? ' checked' : '', 'ALLOW_URL_FOPEN_NO' => $phpini->clientHasPermission('phpiniAllowUrlFopen') ? '' : ' checked'));
            $permissionsBlock = true;
        }
        if (!$phpini->resellerHasPermission('phpiniDisplayErrors')) {
            $tpl->assign('PHP_EDITOR_DISPLAY_ERRORS_BLOCK', '');
        } else {
            $tpl->assign(array('TR_CAN_EDIT_DISPLAY_ERRORS' => tr('Can edit the PHP %s configuration option', '<b>display_errors</b>'), 'DISPLAY_ERRORS_YES' => $phpini->clientHasPermission('phpiniDisplayErrors') ? ' checked' : '', 'DISPLAY_ERRORS_NO' => $phpini->clientHasPermission('phpiniDisplayErrors') ? '' : ' checked'));
            $permissionsBlock = true;
        }
        if ($cfg['HTTPD_SERVER'] == 'apache_itk') {
            $tpl->assign(array('PHP_EDITOR_DISABLE_FUNCTIONS_BLOCK' => '', 'PHP_EDITOR_MAIL_FUNCTION_BLOCK' => ''));
        } else {
            if ($phpini->resellerHasPermission('phpiniDisableFunctions')) {
                $tpl->assign(array('TR_CAN_EDIT_DISABLE_FUNCTIONS' => tr('Can edit the PHP %s configuration option', '<b>disable_functions</b>'), 'DISABLE_FUNCTIONS_YES' => $phpini->getClientPermission('phpiniDisableFunctions') == 'yes' ? ' checked' : '', 'DISABLE_FUNCTIONS_NO' => $phpini->getClientPermission('phpiniDisableFunctions') == 'no' ? ' checked' : '', 'TR_ONLY_EXEC' => tr('Only exec'), 'DISABLE_FUNCTIONS_EXEC' => $phpini->getClientPermission('phpiniDisableFunctions') == 'exec' ? ' checked' : ''));
            } else {
                $tpl->assign('PHP_EDITOR_DISABLE_FUNCTIONS_BLOCK', '');
            }
            if ($phpini->resellerHasPermission('phpiniMailFunction')) {
                $tpl->assign(array('TR_CAN_USE_MAIL_FUNCTION' => tr('Can use the PHP %s function', '<b>mail</b>'), 'MAIL_FUNCTION_YES' => $phpini->clientHasPermission('phpiniMailFunction') == 'yes' ? ' checked' : '', 'MAIL_FUNCTION_NO' => $phpini->clientHasPermission('phpiniMailFunction') == 'no' ? '' : ' checked'));
            } else {
                $tpl->assign('PHP_EDITOR_MAIL_FUNCTION_BLOCK', '');
            }
            $permissionsBlock = true;
        }
        if (!$permissionsBlock) {
            $tpl->assign('PHP_EDITOR_PERMISSIONS_BLOCK', '');
        }
        $tpl->assign(array('TR_POST_MAX_SIZE' => tr('PHP %s configuration option', '<b>post_max_size</b>'), 'POST_MAX_SIZE' => tohtml($phpini->getDomainIni('phpiniPostMaxSize'), 'htmlAttr'), 'TR_UPLOAD_MAX_FILEZISE' => tr('PHP %s configuration option', '<b>upload_max_filesize</b>'), 'UPLOAD_MAX_FILESIZE' => tohtml($phpini->getDomainIni('phpiniUploadMaxFileSize'), 'htmlAttr'), 'TR_MAX_EXECUTION_TIME' => tr('PHP %s configuration option', '<b>max_execution_time</b>'), 'MAX_EXECUTION_TIME' => tohtml($phpini->getDomainIni('phpiniMaxExecutionTime'), 'htmlAttr'), 'TR_MAX_INPUT_TIME' => tr('PHP %s configuration option', '<b>max_input_time</b>'), 'MAX_INPUT_TIME' => tohtml($phpini->getDomainIni('phpiniMaxInputTime'), 'htmlAttr'), 'TR_MEMORY_LIMIT' => tr('PHP %s configuration option', '<b>memory_limit</b>'), 'MEMORY_LIMIT' => tohtml($phpini->getDomainIni('phpiniMemoryLimit'), 'htmlAttr'), 'POST_MAX_SIZE_LIMIT' => tohtml($phpini->getResellerPermission('phpiniPostMaxSize'), 'htmlAttr'), 'UPLOAD_MAX_FILESIZE_LIMIT' => tohtml($phpini->getResellerPermission('phpiniUploadMaxFileSize'), 'htmlAttr'), 'MAX_EXECUTION_TIME_LIMIT' => tohtml($phpini->getResellerPermission('phpiniMaxExecutionTime'), 'htmlAttr'), 'MAX_INPUT_TIME_LIMIT' => tohtml($phpini->getResellerPermission('phpiniMaxInputTime'), 'htmlAttr'), 'MEMORY_LIMIT_LIMIT' => tohtml($phpini->getResellerPermission('phpiniMemoryLimit'), 'htmlAttr')));
    }
    iMSCP_Events_Aggregator::getInstance()->registerListener('onGetJsTranslations', function ($e) {
        /** @var iMSCP_Events_Event $e */
        $translations = $e->getParam('translations');
        $translations['core']['close'] = tr('Close');
        $translations['core']['fields_ok'] = tr('All fields are valid.');
        $translations['core']['out_of_range_value_error'] = tr('Value for the PHP %%s directive must be in range %%d to %%d.');
        $translations['core']['lower_value_expected_error'] = tr('%%s must be lower than %%s.');
        $translations['core']['error_field_stack'] = iMSCP_Registry::isRegistered('errFieldsStack') ? iMSCP_Registry::get('errFieldsStack') : array();
    });
    // PHP editor - end
    // CGI support
    $tpl->assign(array('TR_CGI' => tr('CGI'), 'CGI_YES' => $data['domain_cgi'] == 'yes' ? ' checked' : '', 'CGI_NO' => $data['domain_cgi'] != 'yes' ? ' checked' : ''));
    // Custom DNS records
    if (resellerHasFeature('custom_dns_records')) {
        $tpl->assign(array('TR_DNS' => tr('Custom DNS records'), 'DNS_YES' => $data['domain_dns'] == 'yes' ? ' checked' : '', 'DNS_NO' => $data['domain_dns'] != 'yes' ? ' checked' : ''));
    } else {
        $tpl->assign('CUSTOM_DNS_RECORDS_FEATURE', '');
    }
    // APS support
    if ($data['software_allowed'] == 'no') {
        $tpl->assign('APS_BLOCK', '');
    } else {
        $tpl->assign(array('TR_APS' => tr('Software installer'), 'APS_YES' => $data['domain_software_allowed'] == 'yes' ? ' checked' : '', 'APS_NO' => $data['domain_software_allowed'] != 'yes' ? ' checked' : ''));
    }
    // External mail support
    if ($data['max_mail_cnt'] == '-1') {
        $tpl->assign('EXT_MAIL_BLOCK', '');
    } else {
        $tpl->assign(array('TR_EXTMAIL' => tr('External mail server'), 'EXTMAIL_YES' => $data['domain_external_mail'] == 'yes' ? ' checked' : '', 'EXTMAIL_NO' => $data['domain_external_mail'] != 'yes' ? ' checked' : ''));
    }
    if ($cfg['BACKUP_DOMAINS'] == 'yes') {
        // Backup support
        $tpl->assign(array('TR_BACKUP' => tr('Backup'), 'TR_BACKUP_DOMAIN' => tr('Domain'), 'BACKUP_DOMAIN' => in_array('dmn', $data['allowbackup']) ? ' checked' : '', 'TR_BACKUP_SQL' => tr('SQL'), 'BACKUP_SQL' => in_array('sql', $data['allowbackup']) ? ' checked' : '', 'TR_BACKUP_MAIL' => tr('Mail'), 'BACKUP_MAIL' => in_array('mail', $data['allowbackup']) ? ' checked' : ''));
    } else {
        $tpl->assign('BACKUP_BLOCK', '');
    }
    $tpl->assign(array('TR_WEB_FOLDER_PROTECTION' => tr('Web folder protection'), 'TR_WEB_FOLDER_PROTECTION_HELP' => tr('If set to `yes`, Web folders will be protected against deletion.'), 'WEB_FOLDER_PROTECTION_YES' => $data['web_folder_protection'] == 'yes' ? ' checked' : '', 'WEB_FOLDER_PROTECTION_NO' => $data['web_folder_protection'] != 'yes' ? ' checked' : '', 'TR_YES' => tr('Yes'), 'TR_NO' => tr('No')));
}
Пример #12
0
 /**
  * Setup navigation
  */
 protected function setupNavigation()
 {
     if (iMSCP_Registry::isRegistered('navigation')) {
         /** @var Zend_Navigation $navigation */
         $navigation = iMSCP_Registry::get('navigation');
         if ($page = $navigation->findOneBy('uri', '/client/mail_accounts.php')) {
             $page->addPage(array('label' => tohtml(tr('Mailing Lists')), 'uri' => '/client/mailman.php', 'title_class' => 'email', 'order' => 3));
         }
     }
 }
Пример #13
0
    if ($_POST['uaction'] == 'menu_add') {
        if (admin_addMenu()) {
            redirectTo('custom_menus.php');
        }
    } elseif ($_POST['uaction'] == 'menu_update' && isset($_POST['edit_id'])) {
        if (admin_updateMenu($_POST['edit_id'])) {
            redirectTo('custom_menus.php');
        }
    } else {
        showBadRequestErrorPage();
    }
} elseif (isset($_GET['delete_id'])) {
    admin_deleteMenu($_GET['delete_id']);
}
/** @var $cfg iMSCP_Config_Handler_File */
$cfg = iMSCP_Registry::get('config');
$tpl = new iMSCP_pTemplate();
$tpl->define_dynamic(array('layout' => 'shared/layouts/ui.tpl', 'page' => 'admin/custom_menus.tpl', 'page_message' => 'layout', 'hosting_plans' => 'page', 'menus_list_block' => 'page', 'menu_block' => 'menus_list_block', 'menu_target_block' => 'page', 'menu_level_block' => 'page', 'add_menu' => 'page', 'edit_menu' => 'page'));
$tpl->assign(array('TR_PAGE_TITLE' => tr('Admin / Settings / {TR_DYNAMIC_TITLE}'), 'TR_CUSTOM_MENU_PROPERTIES' => tr('Custom menu properties'), 'TR_MENU_NAME' => tr('Name'), 'TR_MENU_LINK' => tr('Link'), 'TR_MENU_TARGET' => tr('Target'), 'TR_VIEW_FROM' => tr('Show in'), 'TR_MENU_NAME_AND_LINK' => tr('Custom menu name and link'), 'TR_MENU_ORDER' => tr('Order'), 'TR_OPTIONAL' => tr('Optional'), 'TR_ACTIONS' => tr('Actions'), 'TR_EDIT' => tr('Edit'), 'TR_DELETE' => tr('Delete'), 'TR_TH_LEVEL' => tr('Level'), 'TR_TH_ORDER' => tr('Order'), 'TR_CANCEL' => tr('Cancel'), 'TR_MESSAGE_DELETE' => json_encode(tr('Are you sure you want to delete the %s menu?', '%s')), 'ERR_FIELDS_STACK' => iMSCP_Registry::isRegistered('errorFieldsStack') ? json_encode(iMSCP_Registry::get('errorFieldsStack')) : '[]'));
iMSCP_Events_Aggregator::getInstance()->registerListener('onGetJsTranslations', function ($e) {
    /** @var $e \iMSCP_Events_Event */
    $e->getParam('translations')->core['dataTable'] = getDataTablesPluginTranslations(false);
});
generateNavigation($tpl);
admin_generateMenusList($tpl);
admin_generateForm($tpl);
generatePageMessage($tpl);
$tpl->parse('LAYOUT_CONTENT', 'page');
iMSCP_Events_Aggregator::getInstance()->dispatch(iMSCP_Events::onAdminScriptEnd, array('templateEngine' => $tpl));
$tpl->prnt();
unsetMessages();
Пример #14
0
 /**
  * Prepare the mail to be send
  *
  * @param Exception $exception An exception object
  * @return array Array containing mail parts
  */
 protected function prepareMail($exception)
 {
     $mail = array();
     if (iMSCP_Registry::isRegistered('config')) {
         /** @var iMSCP_Config_Handler_File $config */
         $config = iMSCP_Registry::get('config');
         if (isset($config['DEFAULT_ADMIN_ADDRESS'])) {
             $rcptTo = $config['DEFAULT_ADMIN_ADDRESS'];
             $sender = 'webmaster@' . $config['BASE_SERVER_VHOST'];
             if (filter_var($rcptTo, FILTER_VALIDATE_EMAIL) !== false) {
                 $mail['rcptTo'] = $rcptTo;
                 $message = preg_replace('#([\\t\\n]+|<br \\/>)#', ' ', $exception->getMessage());
                 /** @var $exception iMSCP_Exception_Database */
                 if ($exception instanceof iMSCP_Exception_Database) {
                     $message .= "\n\nQuery was:\n\n" . $exception->getQuery();
                 }
                 // Header
                 $mail['header'] = 'From: "' . self::NAME . "\" <{$sender}>\n";
                 $mail['header'] .= "MIME-Version: 1.0\n";
                 $mail['header'] .= "Content-Type: text/plain; charset=utf-8\n";
                 $mail['header'] .= "Content-Transfer-Encoding: 8bit\n";
                 $mail['header'] .= 'X-Mailer: ' . self::NAME;
                 // Subject
                 $mail['subject'] = self::NAME . ' - An exception has been thrown';
                 // Body
                 $mail['body'] = "Dear admin,\n\n";
                 $mail['body'] .= sprintf("An exception has been thrown in file %s at line %s:\n\n", $exception->getFile(), $exception->getLine());
                 $mail['body'] .= str_repeat('=', 65) . "\n\n";
                 $mail['body'] .= "{$message}\n\n";
                 $mail['body'] .= str_repeat('=', 65) . "\n\n";
                 $mail['body'] .= "Debug backtrace:\n";
                 $mail['body'] .= str_repeat('-', 15) . "\n\n";
                 if ($traces = $exception->getTrace()) {
                     foreach ($traces as $trace) {
                         if (isset($trace['file'])) {
                             $mail['body'] .= sprintf("File: %s at line %s\n", $trace['file'], $trace['line']);
                         }
                         if (isset($trace['class'])) {
                             $mail['body'] .= sprintf("Method: %s\n", $trace['class'] . '::' . $trace['function'] . '()');
                         } elseif (isset($trace['function'])) {
                             $mail['body'] .= sprintf("Function: %s\n", $trace['function'] . '()');
                         }
                     }
                 } else {
                     $mail['body'] .= sprintf("File: %s at line %s\n", $exception->getFile(), $exception->getLine());
                     $mail['body'] .= "Function: main()\n";
                 }
                 // Generate mail footprint using static part of mail body
                 $mail['footprint'] = md5($mail['body']);
                 // Additional information
                 $mail['body'] .= "\nAdditional information:\n";
                 $mail['body'] .= str_repeat('-', 22) . "\n\n";
                 foreach (array('HTTP_USER_AGENT', 'REQUEST_URI', 'HTTP_REFERER', 'REMOTE_ADDR', 'X-FORWARDED-FOR', 'SERVER_ADDR') as $key) {
                     if (isset($_SERVER[$key]) && $_SERVER[$key] !== '') {
                         $mail['body'] .= ucwords(strtolower(str_replace('_', ' ', $key))) . ": {$_SERVER["{$key}"]}\n";
                     }
                 }
                 $mail['body'] .= "\n" . str_repeat('_', 60) . "\n";
                 $mail['body'] .= self::NAME . "\n";
                 $mail['body'] .= "\n\nNote: You will not receive further emails for such exception in the next 24 hours.\n";
                 $mail['body'] = wordwrap($mail['body'], 70, "\n");
             }
         }
     }
     return $mail;
 }
Пример #15
0
/**
 * Generate page
 *
 * @param iMSCP_pTemplate $tpl Template engine
 * @return void
 */
function generatePage($tpl)
{
    global $hpName, $php, $cgi, $sub, $als, $mail, $mailQuota, $ftp, $sqld, $sqlu, $traffic, $diskspace, $backup, $dns, $aps, $extMail, $webFolderProtection;
    $cfg = iMSCP_Registry::get('config');
    $tpl->assign(array('VL_TEMPLATE_NAME' => tohtml($hpName, 'htmlAttr'), 'MAX_SUBDMN_CNT' => tohtml($sub, 'htmlAttr'), 'MAX_DMN_ALIAS_CNT' => tohtml($als, 'htmlAttr'), 'MAX_MAIL_CNT' => tohtml($mail, 'htmlAttr'), 'MAIL_QUOTA' => tohtml($mailQuota, 'htmlAttr'), 'MAX_FTP_CNT' => tohtml($ftp, 'htmlAttr'), 'MAX_SQL_CNT' => tohtml($sqld, 'htmlAttr'), 'VL_MAX_SQL_USERS' => tohtml($sqlu, 'htmlAttr'), 'VL_MAX_TRAFFIC' => tohtml($traffic, 'htmlAttr'), 'VL_MAX_DISK_USAGE' => tohtml($diskspace, 'htmlAttr'), 'VL_EXTMAILY' => $extMail == '_yes_' ? ' checked' : '', 'VL_EXTMAILN' => $extMail == '_yes_' ? '' : ' checked', 'VL_PHPY' => $php == '_yes_' ? ' checked' : '', 'VL_PHPN' => $php == '_yes_' ? '' : ' checked', 'VL_CGIY' => $cgi == '_yes_' ? ' checked' : '', 'VL_CGIN' => $cgi == '_yes_' ? '' : ' checked'));
    if (!resellerHasFeature('subdomains')) {
        $tpl->assign('SUBDOMAIN_FEATURE', '');
    }
    if (!resellerHasFeature('domain_aliases')) {
        $tpl->assign('ALIAS_FEATURE', '');
    }
    if (!resellerHasFeature('custom_dns_records')) {
        $tpl->assign('CUSTOM_DNS_RECORDS_FEATURE', '');
    } else {
        $tpl->assign(array('VL_DNSY' => $dns == '_yes_' ? ' checked' : '', 'VL_DNSN' => $dns == '_yes_' ? '' : ' checked'));
    }
    if (!resellerHasFeature('mail')) {
        $tpl->assign('MAIL_FEATURE', '');
        $tpl->assign('EXT_MAIL_FEATURE', '');
    }
    if (!resellerHasFeature('ftp')) {
        $tpl->assign('FTP_FEATURE', '');
    }
    if (!resellerHasFeature('sql')) {
        $tpl->assign('SQL_FEATURE', '');
    }
    if (!resellerHasFeature('aps')) {
        $tpl->assign('APS_FEATURE', '');
    } else {
        $tpl->assign(array('VL_SOFTWAREY' => $aps == '_yes_' ? ' checked' : '', 'VL_SOFTWAREN' => $aps == '_yes_' ? '' : ' checked'));
    }
    if (!resellerHasFeature('backup')) {
        $tpl->assign('BACKUP_FEATURE', '');
    } else {
        $tpl->assign(array('VL_BACKUPD' => in_array('_dmn_', $backup) ? ' checked' : '', 'VL_BACKUPS' => in_array('_sql_', $backup) ? ' checked' : '', 'VL_BACKUPM' => in_array('_mail_', $backup) ? ' checked' : ''));
    }
    $tpl->assign(array('VL_WEB_FOLDER_PROTECTION_YES' => $webFolderProtection == '_yes_' ? ' checked' : '', 'VL_WEB_FOLDER_PROTECTION_NO' => $webFolderProtection == '_yes_' ? '' : 'checked'));
    $phpini = iMSCP_PHPini::getInstance();
    if (!$phpini->resellerHasPermission('phpiniSystem')) {
        $tpl->assign('PHP_EDITOR_BLOCK', '');
        return;
    }
    $tpl->assign(array('PHP_EDITOR_YES' => $phpini->clientHasPermission('phpiniSystem') ? ' checked' : '', 'PHP_EDITOR_NO' => $phpini->clientHasPermission('phpiniSystem') ? '' : ' checked', 'TR_PHP_EDITOR' => tr('PHP Editor'), 'TR_PHP_EDITOR_SETTINGS' => tr('PHP Settings'), 'TR_SETTINGS' => tr('PHP Settings'), 'TR_DIRECTIVES_VALUES' => tr('PHP Configuration options'), 'TR_FIELDS_OK' => tr('All fields are valid.'), 'TR_MIB' => tr('MiB'), 'TR_SEC' => tr('Sec.')));
    iMSCP_Events_Aggregator::getInstance()->registerListener('onGetJsTranslations', function ($e) {
        /** @var iMSCP_Events_Event $e */
        $translations = $e->getParam('translations');
        $translations['core']['close'] = tr('Close');
        $translations['core']['fields_ok'] = tr('All fields are valid.');
        $translations['core']['out_of_range_value_error'] = tr('Value for the PHP %%s directive must be in range %%d to %%d.');
        $translations['core']['lower_value_expected_error'] = tr('%%s must be lower than %%s.');
        $translations['core']['error_field_stack'] = iMSCP_Registry::isRegistered('errFieldsStack') ? iMSCP_Registry::get('errFieldsStack') : array();
    });
    $permissionsBlock = false;
    if (!$phpini->resellerHasPermission('phpiniAllowUrlFopen')) {
        $tpl->assign('PHP_EDITOR_ALLOW_URL_FOPEN_BLOCK', '');
    } else {
        $tpl->assign(array('TR_CAN_EDIT_ALLOW_URL_FOPEN' => tr('Can edit the PHP %s configuration option', '<b>allow_url_fopen</b>'), 'ALLOW_URL_FOPEN_YES' => $phpini->clientHasPermission('phpiniAllowUrlFopen') ? ' checked' : '', 'ALLOW_URL_FOPEN_NO' => $phpini->clientHasPermission('phpiniAllowUrlFopen') ? '' : ' checked'));
        $permissionsBlock = true;
    }
    if (!$phpini->resellerHasPermission('phpiniDisplayErrors')) {
        $tpl->assign('PHP_EDITOR_DISPLAY_ERRORS_BLOCK', '');
    } else {
        $tpl->assign(array('TR_CAN_EDIT_DISPLAY_ERRORS' => tr('Can edit the PHP %s configuration option', '<b>display_errors</b>'), 'DISPLAY_ERRORS_YES' => $phpini->clientHasPermission('phpiniDisplayErrors') ? ' checked' : '', 'DISPLAY_ERRORS_NO' => $phpini->clientHasPermission('phpiniDisplayErrors') ? '' : ' checked'));
        $permissionsBlock = true;
    }
    if ($cfg['HTTPD_SERVER'] == 'apache_itk') {
        $tpl->assign(array('PHP_EDITOR_DISABLE_FUNCTIONS_BLOCK' => '', 'PHP_EDITOR_MAIL_FUNCTION_BLOCK' => ''));
    } else {
        if ($phpini->resellerHasPermission('phpiniDisableFunctions')) {
            $tpl->assign(array('TR_CAN_EDIT_DISABLE_FUNCTIONS' => tr('Can edit the PHP %s configuration option', '<b>disable_functions</b>'), 'DISABLE_FUNCTIONS_YES' => $phpini->getClientPermission('phpiniDisableFunctions') == 'yes' ? ' checked' : '', 'DISABLE_FUNCTIONS_NO' => $phpini->getClientPermission('phpiniDisableFunctions') == 'no' ? ' checked' : '', 'DISABLE_FUNCTIONS_EXEC' => $phpini->getClientPermission('phpiniDisableFunctions') == 'exec' ? ' checked' : '', 'TR_ONLY_EXEC' => tr('Only exec')));
        } else {
            $tpl->assign('PHP_EDITOR_DISABLE_FUNCTIONS_BLOCK', '');
        }
        if ($phpini->resellerHasPermission('phpiniMailFunction')) {
            $tpl->assign(array('TR_CAN_USE_MAIL_FUNCTION' => tr('Can use the PHP %s function', '<b>mail</b>'), 'MAIL_FUNCTION_YES' => $phpini->clientHasPermission('phpiniMailFunction') ? ' checked' : '', 'MAIL_FUNCTION_NO' => $phpini->clientHasPermission('phpiniMailFunction') ? '' : ' checked'));
        } else {
            $tpl->assign('PHP_EDITOR_MAIL_FUNCTION_BLOCK', '');
        }
        $permissionsBlock = true;
    }
    if (!$permissionsBlock) {
        $tpl->assign('PHP_EDITOR_PERMISSIONS_BLOCK', '');
    } else {
        $tpl->assign(array('TR_PERMISSIONS' => tr('Permissions'), 'TR_ONLY_EXEC' => tr("Only exec")));
    }
    $tpl->assign(array('TR_POST_MAX_SIZE' => tr('PHP %s configuration option', '<b>post_max_size</b>'), 'POST_MAX_SIZE' => tohtml($phpini->getDomainIni('phpiniPostMaxSize'), 'htmlAttr'), 'TR_UPLOAD_MAX_FILEZISE' => tr('PHP %s configuration option', '<b>upload_max_filesize</b>'), 'UPLOAD_MAX_FILESIZE' => tohtml($phpini->getDomainIni('phpiniUploadMaxFileSize'), 'htmlAttr'), 'TR_MAX_EXECUTION_TIME' => tr('PHP %s configuration option', '<b>max_execution_time</b>'), 'MAX_EXECUTION_TIME' => tohtml($phpini->getDomainIni('phpiniMaxExecutionTime'), 'htmlAttr'), 'TR_MAX_INPUT_TIME' => tr('PHP %s configuration option', '<b>max_input_time</b>'), 'MAX_INPUT_TIME' => tohtml($phpini->getDomainIni('phpiniMaxInputTime'), 'htmlAttr'), 'TR_MEMORY_LIMIT' => tr('PHP %s configuration option', '<b>memory_limit</b>'), 'MEMORY_LIMIT' => tohtml($phpini->getDomainIni('phpiniMemoryLimit'), 'htmlAttr'), 'POST_MAX_SIZE_LIMIT' => tohtml($phpini->getResellerPermission('phpiniPostMaxSize'), 'htmlAttr'), 'UPLOAD_MAX_FILESIZE_LIMIT' => tohtml($phpini->getResellerPermission('phpiniUploadMaxFileSize'), 'htmlAttr'), 'MAX_EXECUTION_TIME_LIMIT' => tohtml($phpini->getResellerPermission('phpiniMaxExecutionTime'), 'htmlAttr'), 'MAX_INPUT_TIME_LIMIT' => tohtml($phpini->getResellerPermission('phpiniMaxInputTime'), 'htmlAttr'), 'MEMORY_LIMIT_LIMIT' => tohtml($phpini->getResellerPermission('phpiniMemoryLimit'), 'htmlAttr')));
}