Overview

Packages

  • CONTENIDO
  • Core
    • Authentication
    • Backend
    • Cache
    • CEC
    • Chain
    • ContentType
    • Database
    • Debug
    • Exception
    • Frontend
      • Search
      • URI
      • Util
    • GenericDB
      • Model
    • GUI
      • HTML
    • I18N
    • LayoutHandler
    • Log
    • Security
    • Session
    • Util
    • Validation
    • Versioning
    • XML
  • Module
    • ContentRssCreator
    • ContentSitemapHtml
    • ContentSitemapXml
    • ContentUserForum
    • NavigationTop
    • ScriptCookieDirective
  • mpAutoloaderClassMap
  • None
  • Plugin
    • ContentAllocation
    • CronjobOverview
    • FormAssistant
    • FrontendLogic
    • FrontendUsers
    • Linkchecker
    • ModRewrite
    • Newsletter
    • Repository
      • FrontendNavigation
      • KeywordDensity
    • SearchSolr
    • SmartyWrapper
    • UrlShortener
    • UserForum
    • Workflow
  • PluginManager
  • Setup
    • Form
    • GUI
    • Helper
      • Environment
      • Filesystem
      • MySQL
      • PHP
    • UpgradeJob
  • Smarty
    • Cacher
    • Compiler
    • Config
    • Debug
    • PluginsBlock
    • PluginsFilter
    • PluginsFunction
    • PluginsInternal
    • PluginsModifier
    • PluginsModifierCompiler
    • PluginsShared
    • Security
    • Template
    • TemplateResources
  • Swift
    • ByteStream
    • CharacterStream
    • Encoder
    • Events
    • KeyCache
    • Mailer
    • Mime
    • Plugins
    • Transport

Classes

  • Swift_FailoverTransport
  • Swift_LoadBalancedTransport
  • Swift_MailTransport
  • Swift_Plugins_Loggers_ArrayLogger
  • Swift_Plugins_Loggers_EchoLogger
  • Swift_SendmailTransport
  • Swift_SmtpTransport
  • Swift_Transport_AbstractSmtpTransport
  • Swift_Transport_Esmtp_Auth_CramMd5Authenticator
  • Swift_Transport_Esmtp_Auth_LoginAuthenticator
  • Swift_Transport_Esmtp_Auth_PlainAuthenticator
  • Swift_Transport_Esmtp_AuthHandler
  • Swift_Transport_EsmtpTransport
  • Swift_Transport_FailoverTransport
  • Swift_Transport_LoadBalancedTransport
  • Swift_Transport_MailTransport
  • Swift_Transport_SendmailTransport
  • Swift_Transport_SimpleMailInvoker
  • Swift_Transport_StreamBuffer

Interfaces

  • Swift_Plugins_Logger
  • Swift_Plugins_Pop_Pop3Exception
  • Swift_Transport
  • Swift_Transport_Esmtp_Authenticator
  • Swift_Transport_EsmtpHandler
  • Swift_Transport_IoBuffer
  • Swift_Transport_MailInvoker
  • Swift_Transport_SmtpAgent
  • Swift_TransportException
  • Overview
  • Package
  • Function
  • Todo
  • Download
  1: <?php
  2: /**
  3:  * This file contains the system data setup mask.
  4:  *
  5:  * @package    Setup
  6:  * @subpackage Form
  7:  * @version    SVN Revision $Rev:$
  8:  *
  9:  * @author     Unknown
 10:  * @copyright  four for business AG <www.4fb.de>
 11:  * @license    http://www.contenido.org/license/LIZENZ.txt
 12:  * @link       http://www.4fb.de
 13:  * @link       http://www.contenido.org
 14:  */
 15: 
 16: defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');
 17: 
 18: /**
 19:  * System data setup mask.
 20:  *
 21:  * @package Setup
 22:  * @subpackage Form
 23:  */
 24: class cSetupSystemData extends cSetupMask {
 25: 
 26:     function cSetupSystemData($step, $previous, $next) {
 27:         global $cfg;
 28: 
 29:         cSetupMask::cSetupMask('templates/setup/forms/systemdata.tpl', $step);
 30: 
 31:         cArray::initializeKey($_SESSION, 'dbprefix', '');
 32:         cArray::initializeKey($_SESSION, 'dbhost', '');
 33:         cArray::initializeKey($_SESSION, 'dbuser', '');
 34:         cArray::initializeKey($_SESSION, 'dbname', '');
 35:         cArray::initializeKey($_SESSION, 'dbpass', '');
 36:         cArray::initializeKey($_SESSION, 'dbcharset', '');
 37:         cArray::initializeKey($_SESSION, 'dbcollation', '');
 38: 
 39:         if (cFileHandler::exists($cfg['path']['contenido_config'] . 'config.php')) {
 40:             $cfgBackup = $cfg;
 41: 
 42:             @include($cfg['path']['contenido_config'] . 'config.php');
 43: 
 44:             $aVars = array(
 45:                 'dbhost' => $cfg['db']['connection']['host'],
 46:                 'dbuser' => $cfg['db']['connection']['user'],
 47:                 'dbname' => $cfg['db']['connection']['database'],
 48:                 'dbpass' => $cfg['db']['connection']['password'],
 49:                 'dbprefix' => $cfg['sql']['sqlprefix'],
 50:                 'dbcharset' => $cfg['db']['connection']['charset'],
 51:             );
 52: 
 53:             $cfg = $cfgBackup;
 54:             unset($cfgBackup);
 55: 
 56:             foreach ($aVars as $aVar => $sValue) {
 57:                 if ($_SESSION[$aVar] == '') {
 58:                     $_SESSION[$aVar] = $sValue;
 59:                 }
 60:             }
 61:         }
 62: 
 63:         $this->setHeader(i18n("Database Parameters", "setup"));
 64:         $this->_oStepTemplate->set('s', 'TITLE', i18n("Database Parameters", "setup"));
 65: 
 66:         switch ($_SESSION['setuptype']) {
 67:             case 'setup':
 68:                 $this->_oStepTemplate->set('s', 'DESCRIPTION', i18n("Please enter the required database information. If you are unsure about the data, ask your provider or administrator.", "setup") . " " . i18n("If the database does not exist and your database user has the sufficient permissions, setup will create the database automatically.", "setup"));
 69:                 break;
 70:             case 'upgrade':
 71:                 $this->_oStepTemplate->set('s', 'DESCRIPTION', i18n("Please enter the required database information. If the database data of your previous installation could have been read, the data will be inserted automatically. If you are unsure about the data, please ask your provider or administrator.", "setup"));
 72:                 break;
 73:         }
 74: 
 75:         if ($_SESSION['dbprefix'] == '') {
 76:             $_SESSION['dbprefix'] = 'con';
 77:         }
 78: 
 79:         if ($_SESSION['dbcharset'] == '' && $_SESSION['setuptype'] == 'setup') {
 80:             $_SESSION['dbcharset'] = CON_SETUP_DBCHARSET;
 81:         }
 82: 
 83:         unset($_SESSION['install_failedchunks']);
 84:         unset($_SESSION['install_failedupgradetable']);
 85:         unset($_SESSION['configsavefailed']);
 86:         unset($_SESSION['htmlpath']);
 87:         unset($_SESSION['frontendpath']);
 88: 
 89:         $dbhost = new cHTMLTextbox('dbhost', $_SESSION['dbhost'], 30, 255);
 90:         $dbname = new cHTMLTextbox('dbname', $_SESSION['dbname'], 30, 255);
 91:         $dbuser = new cHTMLTextbox('dbuser', $_SESSION['dbuser'], 30, 255);
 92: 
 93:         if ($_SESSION['dbpass'] != '') {
 94:             $mpass = str_repeat('*', strlen($_SESSION['dbpass']));
 95:         } else {
 96:             $mpass = '';
 97:         }
 98: 
 99:         $dbpass = new cHTMLPasswordbox('dbpass', $mpass, 30, 255);
100:         $dbpass->attachEventDefinition('onchange handler', 'onchange', "document.setupform.dbpass_changed.value = 'true';");
101:         $dbpass->attachEventDefinition('onchange handler', 'onkeypress', "document.setupform.dbpass_changed.value = 'true';");
102: 
103:         $dbpass_hidden = new cHTMLHiddenField('dbpass_changed', 'false');
104: 
105:         $dbprefix = new cHTMLTextbox('dbprefix', $_SESSION['dbprefix'], 10, 30);
106:         $dbcharset = new cHTMLSelectElement('dbcharset');
107:         $dbcollation = new cHTMLSelectElement('collationSelect', '1', 'collationSelect');
108:         $dbcollation->setAttribute("onchange", "comboBox('collationSelect', 'collationText')");
109: 
110:         // Compose charset select box, only if CONUTF8 flag is not set
111:         if (!defined('CON_UTF8') || (defined('CON_UTF8') && CON_UTF8 === false)) {
112:             $pos = 0;
113:             $option = new cHTMLOptionElement('-- ' . i18n("No character set", "setup") . ' --', '');
114:             $dbcharset->addOptionElement(++$pos, $option);
115:             $selectedCharset = (!empty($_SESSION['dbcharset'])) ? $_SESSION['dbcharset'] : '';
116:             $aCharsets = fetchMySQLCharsets();
117:             foreach ($aCharsets as $p => $charset) {
118:                 $selected = ($selectedCharset == $charset);
119:                 $option = new cHTMLOptionElement($charset, $charset, $selected);
120:                 $dbcharset->addOptionElement(++$pos, $option);
121:             }
122:             $dbcharsetTextbox = $dbcharset->render();
123:         } else {
124:             $hiddenFieldDbCharset = new cHTMLHiddenField('dbcharset', 'utf8');
125:             $dbcharsetTextbox = $hiddenFieldDbCharset . 'utf8';
126:         }
127: 
128:         // Compose collation select box, only if CONUTF8 flag is not set
129:         if (!defined('CON_UTF8') || (defined('CON_UTF8') && CON_UTF8 === false)) {
130:             $pos = 0;
131:             $noOp = new cHTMLOptionElement('-- ' . i18n("Other", "setup") . ' --', '');
132:             $dbcollation->addOptionElement(++$pos, $noOp);
133:             $selectedCollation = (!empty($_SESSION['dbcollation'])) ? $_SESSION['dbcollation'] : 'utf8_general_ci';
134:             $collations = fetchMySQLCollations();
135:             foreach ($collations as $p => $collation) {
136:                 $selected = ($selectedCollation == $collation);
137:                 $option = new cHTMLOptionElement($collation, $collation, $selected);
138:                 $dbcollation->addOptionElement(++$pos, $option);
139:             }
140:             $dbCollationTextbox = new cHTMLTextbox('dbcollation', $selectedCollation, '', '', 'collationText'). $dbcollation->render();
141:         } else {
142:             $hiddenFieldDbCollation = new cHTMLHiddenField('dbcollation', 'utf8_general_ci');
143:             $dbCollationTextbox = $hiddenFieldDbCollation . 'utf8_general_ci';
144:         }
145: 
146:         $this->_oStepTemplate->set('s', 'LABEL_DBHOST', i18n("Database Server (IP or name)", "setup"));
147: 
148:         if ($_SESSION['setuptype'] == 'setup') {
149:             $this->_oStepTemplate->set('s', 'LABEL_DBNAME', i18n("Database Name", "setup") . '<br>' . i18n("(use empty or non-existant database)", "setup"));
150:         } else {
151:             $this->_oStepTemplate->set('s', 'LABEL_DBNAME', i18n("Database Name", "setup"));
152:             $dbcharset->setDisabled(true);
153:         }
154: 
155:         $this->_oStepTemplate->set('s', 'LABEL_DBUSERNAME', i18n("Database Username", "setup"));
156:         $this->_oStepTemplate->set('s', 'LABEL_DBPASSWORD', i18n("Database Password", "setup"));
157:         $this->_oStepTemplate->set('s', 'LABEL_DBPREFIX', i18n("Table Prefix", "setup"));
158:         $this->_oStepTemplate->set('s', 'LABEL_DBADVANCED', i18n("Advanced Settings", "setup"));
159:         $this->_oStepTemplate->set('s', 'LABEL_DBCHARSET', i18n("Database character set", "setup"));
160:         $this->_oStepTemplate->set('s', 'LABEL_DBCOLLATION', i18n("Database collation", "setup"));
161: 
162:         $this->_oStepTemplate->set('s', 'INPUT_DBHOST', $dbhost->render());
163:         $this->_oStepTemplate->set('s', 'INPUT_DBNAME', $dbname->render());
164:         $this->_oStepTemplate->set('s', 'INPUT_DBUSERNAME', $dbuser->render());
165:         $this->_oStepTemplate->set('s', 'INPUT_DBPASSWORD', $dbpass->render() . $dbpass_hidden->render());
166:         $this->_oStepTemplate->set('s', 'INPUT_DBPREFIX', $dbprefix->render());
167:         $this->_oStepTemplate->set('s', 'INPUT_DBCHARSET', $dbcharsetTextbox);
168:         $this->_oStepTemplate->set('s', 'INPUT_DBCOLLATION', $dbCollationTextbox);
169: 
170:         $this->setNavigation($previous, $next);
171:     }
172: 
173:     function _createNavigation() {
174:         $link = new cHTMLLink('#');
175: 
176:         if ($_SESSION['setuptype'] == 'setup') {
177:             $checkScript = sprintf(
178:                 "var msg = ''; if (document.setupform.dbhost.value == '') { msg += '%s '; } if (document.setupform.dbname.value == '') { msg += '%s '; } if (document.setupform.dbuser.value == '') { msg += '%s '; } if (document.setupform.dbhost.value != '' && document.setupform.dbname.value != '' && document.setupform.dbuser.value != '') { document.setupform.submit(); } else { alert(msg); }", i18n("You need to enter a database host."), i18n("You need to enter a database name."), i18n("You need to enter a database user.")
179:             );
180:             $link->attachEventDefinition('pageAttach', 'onclick', "document.setupform.step.value = '" . $this->_bNextstep . "';");
181:             $link->attachEventDefinition('submitAttach', 'onclick', $checkScript);
182:         } else {
183:             $link->attachEventDefinition('pageAttach', 'onclick', "document.setupform.step.value = '" . $this->_bNextstep . "'; document.setupform.submit();");
184:         }
185:         $link->setClass("nav");
186:         $link->setContent("<span>&raquo;</span>");
187: 
188: 
189:         $this->_oStepTemplate->set('s', 'NEXT', $link->render());
190: 
191:         $backlink = new cHTMLLink('#');
192:         $backlink->attachEventDefinition('pageAttach', 'onclick', "document.setupform.step.value = '" . $this->_bBackstep . "';");
193:         $backlink->attachEventDefinition('submitAttach', 'onclick', 'document.setupform.submit();');
194:         $backlink->setClass("nav navBack");
195:         $backlink->setContent("<span>&raquo;</span>");
196:         $this->_oStepTemplate->set('s', 'BACK', $backlink->render());
197:     }
198: 
199: }
200: 
201: ?>
CMS CONTENIDO 4.9.7 API documentation generated by ApiGen