Ejemplo n.º 1
0
 function _smtpModify()
 {
     global $objTemplate, $_ARRAYLANG;
     $error = false;
     $id = !empty($_REQUEST['id']) ? intval($_REQUEST['id']) : 0;
     if (isset($_POST['settings_smtp_save'])) {
         $arrSmtp = array('name' => !empty($_POST['settings_smtp_account']) ? contrexx_stripslashes(trim($_POST['settings_smtp_account'])) : '', 'hostname' => !empty($_POST['settings_smtp_hostname']) ? contrexx_stripslashes(trim($_POST['settings_smtp_hostname'])) : '', 'port' => !empty($_POST['settings_smtp_port']) ? intval($_POST['settings_smtp_port']) : 25, 'username' => !empty($_POST['settings_smtp_username']) ? contrexx_stripslashes(trim($_POST['settings_smtp_username'])) : '', 'password' => !empty($_POST['settings_smtp_password']) ? contrexx_stripslashes($_POST['settings_smtp_password']) : '');
         if (!$arrSmtp['port']) {
             $arrSmtp['port'] = 25;
         }
         if (empty($arrSmtp['name'])) {
             $error = true;
             $this->strErrMessage[] = $_ARRAYLANG['TXT_SETTINGS_EMPTY_ACCOUNT_NAME_TXT'];
         } elseif (!\SmtpSettings::_isUniqueSmtpAccountName($arrSmtp['name'], $id)) {
             $error = true;
             $this->strErrMessage[] = sprintf($_ARRAYLANG['TXT_SETTINGS_NOT_UNIQUE_SMTP_ACCOUNT_NAME'], htmlentities($arrSmtp['name']));
         }
         if (empty($arrSmtp['hostname'])) {
             $error = true;
             $this->strErrMessage[] = $_ARRAYLANG['TXT_SETTINGS_EMPTY_SMTP_HOST_TXT'];
         }
         if (!$error) {
             if ($id) {
                 if (\SmtpSettings::_updateSmtpAccount($id, $arrSmtp)) {
                     $this->strOkMessage .= sprintf($_ARRAYLANG['TXT_SETTINGS_SMTP_ACCOUNT_UPDATE_SUCCEED'], $arrSmtp['name']) . '<br />';
                     return $this->_smtpOverview();
                 } else {
                     $this->strErrMessage[] = sprintf($_ARRAYLANG['TXT_SETTINGS_SMTP_ACCOUNT_UPDATE_FAILED'], $arrSmtp['name']);
                 }
             } else {
                 if (\SmtpSettings::_addSmtpAccount($arrSmtp)) {
                     $this->strOkMessage .= sprintf($_ARRAYLANG['TXT_SETTINGS_SMTP_ACCOUNT_ADD_SUCCEED'], $arrSmtp['name']) . '<br />';
                     return $this->_smtpOverview();
                 } else {
                     $this->strErrMessage[] = $_ARRAYLANG['TXT_SETTINGS_SMTP_ACCOUNT_ADD_FAILED'];
                 }
             }
         }
     } else {
         $arrSmtp = \SmtpSettings::getSmtpAccount($id, false);
         if ($arrSmtp === false) {
             $id = 0;
             $arrSmtp = array('name' => '', 'hostname' => '', 'port' => 25, 'username' => '', 'password' => 0);
         }
     }
     $objTemplate->addBlockfile('ADMIN_CONTENT', 'settings_smtp_modify', 'settings_smtp_modify.html');
     $this->strPageTitle = $id ? $_ARRAYLANG['TXT_SETTINGS_MODIFY_SMTP_ACCOUNT'] : $_ARRAYLANG['TXT_SETTINGS_ADD_NEW_SMTP_ACCOUNT'];
     $objTemplate->setVariable(array('TXT_SETTINGS_ACCOUNT' => $_ARRAYLANG['TXT_SETTINGS_ACCOUNT'], 'TXT_SETTINGS_NAME_OF_ACCOUNT' => $_ARRAYLANG['TXT_SETTINGS_NAME_OF_ACCOUNT'], 'TXT_SETTINGS_SMTP_SERVER' => $_ARRAYLANG['TXT_SETTINGS_SMTP_SERVER'], 'TXT_SETTINGS_HOST' => $_ARRAYLANG['TXT_SETTINGS_HOST'], 'TXT_SETTINGS_PORT' => $_ARRAYLANG['TXT_SETTINGS_PORT'], 'TXT_SETTINGS_AUTHENTICATION' => $_ARRAYLANG['TXT_SETTINGS_AUTHENTICATION'], 'TXT_SETTINGS_USERNAME' => $_ARRAYLANG['TXT_SETTINGS_USERNAME'], 'TXT_SETTINGS_PASSWORD' => $_ARRAYLANG['TXT_SETTINGS_PASSWORD'], 'TXT_SETTINGS_SMTP_AUTHENTICATION_TXT' => $_ARRAYLANG['TXT_SETTINGS_SMTP_AUTHENTICATION_TXT'], 'TXT_SETTINGS_BACK' => $_ARRAYLANG['TXT_SETTINGS_BACK'], 'TXT_SETTINGS_SAVE' => $_ARRAYLANG['TXT_SETTINGS_SAVE']));
     $objTemplate->setVariable(array('SETTINGS_SMTP_TITLE' => $id ? $_ARRAYLANG['TXT_SETTINGS_MODIFY_SMTP_ACCOUNT'] : $_ARRAYLANG['TXT_SETTINGS_ADD_NEW_SMTP_ACCOUNT'], 'SETTINGS_SMTP_ID' => $id, 'SETTINGS_SMTP_ACCOUNT' => htmlentities($arrSmtp['name'], ENT_QUOTES, CONTREXX_CHARSET), 'SETTINGS_SMTP_HOST' => htmlentities($arrSmtp['hostname'], ENT_QUOTES, CONTREXX_CHARSET), 'SETTINGS_SMTP_PORT' => $arrSmtp['port'], 'SETTINGS_SMTP_USERNAME' => htmlentities($arrSmtp['username'], ENT_QUOTES, CONTREXX_CHARSET), 'SETTINGS_SMTP_PASSWORD' => str_pad('', $arrSmtp['password'], ' ')));
     $objTemplate->parse('settings_smtp_modify');
     return true;
 }