| | |
| | | $RCI->load_defaults(); |
| | | |
| | | // register these boolean fields |
| | | $RCI->config_props = array( |
| | | $RCI->bool_config_props = array( |
| | | 'ip_check' => 1, |
| | | 'enable_caching' => 1, |
| | | 'enable_spellcheck' => 1, |
| | |
| | | 'smtp_log' => 1, |
| | | 'prefer_html' => 1, |
| | | 'preview_pane' => 1, |
| | | 'htmleditor' => 1, |
| | | 'debug_level' => 1, |
| | | ); |
| | | |
| | |
| | | if (!empty($_POST['submit'])) { |
| | | |
| | | echo '<p class="notice">Copy or download the following configurations and save them in two files'; |
| | | echo ' (names above the text box) within the <tt>'.RCMAIL_CONFIG_DIR.'</tt> directory of your RoundCube installation.<br/>'; |
| | | echo ' (names above the text box) within the <tt>'.RCMAIL_CONFIG_DIR.'</tt> directory of your Roundcube installation.<br/>'; |
| | | echo ' Make sure that there are no characters outside the <tt><?php ?></tt> brackets when saving the files.</p>'; |
| | | |
| | | $textbox = new html_textarea(array('rows' => 16, 'cols' => 60, 'class' => "configfile")); |
| | |
| | | <div>The name of your service (used to compose page titles)</div> |
| | | </dd> |
| | | |
| | | <dt class="propname">support_url</dt> |
| | | <dd> |
| | | <?php |
| | | |
| | | $input_support = new html_inputfield(array('name' => '_support_url', 'size' => 50, 'id' => "cfgsupporturl")); |
| | | echo $input_support->show($RCI->getprop('support_url')); |
| | | |
| | | ?> |
| | | <div>Provide an URL where a user can get support for this Roundcube installation.<br/>PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!</div> |
| | | <p class="hint">Enter an absolute URL (inculding http://) to a support page/form or a mailto: link.</p> |
| | | </dd> |
| | | |
| | | <dt class="propname">skin_logo</dt> |
| | | <dd> |
| | | <?php |
| | | |
| | | $input_skin = new html_inputfield(array('name' => '_skin_logo', 'size' => 50, 'id' => "cfgskinlogo")); |
| | | echo $input_skin->show($RCI->getprop('skin_logo')); |
| | | |
| | | ?> |
| | | <div>Custom image to display instead of the Roundcube logo.</div> |
| | | <p class="hint">Enter a URL relative to the document root of this Roundcube installation.</p> |
| | | </dd> |
| | | |
| | | <dt class="propname">temp_dir</dt> |
| | | <dd> |
| | | <?php |
| | |
| | | <div>Use this folder to store temp files (must be writeable for webserver)</div> |
| | | </dd> |
| | | |
| | | <dt class="propname">des_key</dt> |
| | | <dd> |
| | | <?php |
| | | |
| | | $input_deskey = new html_inputfield(array('name' => '_des_key', 'size' => 30, 'id' => "cfgdeskey")); |
| | | echo $input_deskey->show($RCI->getprop('des_key')); |
| | | |
| | | ?> |
| | | <div>This key is used to encrypt the users imap password before storing in the session record</div> |
| | | <p class="hint">It's a random generated string to ensure that every installation has its own key. |
| | | If you enter it manually please provide a string of exactly 24 chars.</p> |
| | | </dd> |
| | | |
| | | <dt class="propname">ip_check</dt> |
| | | <dd> |
| | |
| | | ?> |
| | | <label for="cfgipcheck">Check client IP in session authorization</label><br /> |
| | | |
| | | <p class="hint">This increases security but can cause sudden logouts when someone uses a proxy with changeing IPs.</p> |
| | | </dd> |
| | | |
| | | <dt class="propname">des_key</dt> |
| | | <dd> |
| | | <?php |
| | | |
| | | $input_deskey = new html_inputfield(array('name' => '_des_key', 'size' => 30, 'id' => "cfgdeskey")); |
| | | echo $input_deskey->show($RCI->getprop('des_key')); |
| | | |
| | | ?> |
| | | <div>This key is used to encrypt the users imap password before storing in the session record</div> |
| | | <p class="hint">It's a random generated string to ensure that every installation has it's own key. |
| | | If you enter it manually please provide a string of exactly 24 chars.</p> |
| | | <p class="hint">This increases security but can cause sudden logouts when someone uses a proxy with changing IPs.</p> |
| | | </dd> |
| | | |
| | | <dt class="propname">enable_caching</dt> |
| | |
| | | <dt class="propname">enable_spellcheck</dt> |
| | | <dd> |
| | | <?php |
| | | $check_spell = new html_checkbox(array('name' => '_enable_spellcheck', 'id' => "cfgspellcheck")); |
| | | echo $check_spell->show(intval($RCI->getprop('enable_spellcheck')), array('value' => 1)); |
| | | ?> |
| | | <label for="cfgspellcheck">Make use of the spell checker</label><br /> |
| | | </dd> |
| | | |
| | | $check_caching = new html_checkbox(array('name' => '_enable_spellcheck', 'id' => "cfgspellcheck")); |
| | | echo $check_caching->show(intval($RCI->getprop('enable_spellcheck')), array('value' => 1)); |
| | | <dt class="propname">spellcheck_engine</dt> |
| | | <dd> |
| | | <?php |
| | | $select_spell = new html_select(array('name' => '_spellcheck_engine', 'id' => "cfgspellcheckengine")); |
| | | if (extension_loaded('pspell')) |
| | | $select_spell->add('pspell', 'pspell'); |
| | | $select_spell->add('Googie', 'googie'); |
| | | |
| | | echo $select_spell->show($RCI->is_post ? $_POST['_spellcheck_engine'] : 'pspell'); |
| | | |
| | | ?> |
| | | <label for="cfgspellcheck">Make use of the built-in spell checker</label><br /> |
| | | <label for="cfgspellcheckengine">Which spell checker to use</label><br /> |
| | | |
| | | <p class="hint">It is based on GoogieSpell what implies that the message content will be sent to Google in order to check the spelling.</p> |
| | | <p class="hint">GoogieSpell implies that the message content will be sent to Google in order to check the spelling.</p> |
| | | </dd> |
| | | |
| | | <dt class="propname">identities_level</dt> |
| | | <dd> |
| | | <?php |
| | | |
| | | $input_ilevel = new html_select(array('name' => '_identities_level', 'id' => "cfgidentitieslevel")); |
| | | $input_ilevel->add('many identities with possibility to edit all params', 0); |
| | | $input_ilevel->add('many identities with possibility to edit all params but not email address', 1); |
| | | $input_ilevel->add('one identity with possibility to edit all params', 2); |
| | | $input_ilevel->add('one identity with possibility to edit all params but not email address', 3); |
| | | echo $input_ilevel->show($RCI->getprop('identities_level'), 0); |
| | | |
| | | ?> |
| | | <div>Level of identities access</div> |
| | | <p class="hint">Defines what users can do with their identities.</p> |
| | | </dd> |
| | | |
| | | </dl> |
| | |
| | | echo $select_dbtype->show($RCI->is_post ? $_POST['_dbtype'] : $dsnw['phptype']); |
| | | echo '<label for="cfgdbtype">Database type</label><br />'; |
| | | echo $input_dbhost->show($RCI->is_post ? $_POST['_dbhost'] : $dsnw['hostspec']); |
| | | echo '<label for="cfgdbhost">Database server</label><br />'; |
| | | echo '<label for="cfgdbhost">Database server (omit for sqlite)</label><br />'; |
| | | echo $input_dbname->show($RCI->is_post ? $_POST['_dbname'] : $dsnw['database']); |
| | | echo '<label for="cfgdbname">Database name</label><br />'; |
| | | echo '<label for="cfgdbname">Database name (use absolute path and filename for sqlite)</label><br />'; |
| | | echo $input_dbuser->show($RCI->is_post ? $_POST['_dbuser'] : $dsnw['username']); |
| | | echo '<label for="cfgdbuser">Database user name (needs write permissions)</label><br />'; |
| | | echo '<label for="cfgdbuser">Database user name (needs write permissions)(omit for sqlite)</label><br />'; |
| | | echo $input_dbpass->show($RCI->is_post ? $_POST['_dbpass'] : $dsnw['password']); |
| | | echo '<label for="cfgdbpass">Database password</label><br />'; |
| | | echo '<label for="cfgdbpass">Database password (omit for sqlite)</label><br />'; |
| | | |
| | | ?> |
| | | </dd> |
| | |
| | | echo $check_autocreate->show(intval($RCI->getprop('auto_create_user')), array('value' => 1)); |
| | | |
| | | ?> |
| | | <label for="cfgautocreate">Automatically create a new RoundCube user when log-in the first time</label><br /> |
| | | <label for="cfgautocreate">Automatically create a new Roundcube user when log-in the first time</label><br /> |
| | | |
| | | <p class="hint">A user is authenticated by the IMAP server but it requires a local record to store settings |
| | | and contacts. With this option enabled a new user record will automatically be created once the IMAP login succeeds.</p> |
| | | |
| | | <p class="hint">If this option is disabled, the login only succeeds if there's a matching user-record in the local RoundCube database |
| | | <p class="hint">If this option is disabled, the login only succeeds if there's a matching user-record in the local Roundcube database |
| | | what means that you have to create those records manually or disable this option after the first login.</p> |
| | | </dd> |
| | | |
| | |
| | | echo $text_sentmbox->show($RCI->getprop('sent_mbox')); |
| | | |
| | | ?> |
| | | <div>Store sent messages is this folder</div> |
| | | <div>Store sent messages in this folder</div> |
| | | |
| | | <p class="hint">Leave blank if sent messages should not be stored</p> |
| | | <p class="hint">Leave blank if sent messages should not be stored. Note: folder must include namespace prefix if any.</p> |
| | | </dd> |
| | | |
| | | <dt class="propname">trash_mbox</dt> |
| | |
| | | ?> |
| | | <div>Move messages to this folder when deleting them</div> |
| | | |
| | | <p class="hint">Leave blank if they should be deleted directly</p> |
| | | <p class="hint">Leave blank if they should be deleted directly. Note: folder must include namespace prefix if any.</p> |
| | | </dd> |
| | | |
| | | <dt class="propname">drafts_mbox</dt> |
| | |
| | | echo $text_draftsmbox->show($RCI->getprop('drafts_mbox')); |
| | | |
| | | ?> |
| | | <div>Store draft messages is this folder</div> |
| | | <div>Store draft messages in this folder</div> |
| | | |
| | | <p class="hint">Leave blank if they should not be stored. Note: folder must include namespace prefix if any.</p> |
| | | </dd> |
| | | |
| | | <dt class="propname">junk_mbox</dt> |
| | | <dd> |
| | | <?php |
| | | |
| | | $text_junkmbox = new html_inputfield(array('name' => '_junk_mbox', 'size' => 20, 'id' => "cfgjunkmbox")); |
| | | echo $text_junkmbox->show($RCI->getprop('junk_mbox')); |
| | | |
| | | ?> |
| | | <div>Store spam messages in this folder</div> |
| | | |
| | | <p class="hint">Note: folder must include namespace prefix if any.</p> |
| | | </dd> |
| | | |
| | | </dd> |
| | | </dl> |
| | | </fieldset> |
| | | |
| | |
| | | echo $text_smtpport->show($RCI->getprop('smtp_port')); |
| | | |
| | | ?> |
| | | <div>SMTP port (default is 25; 465 for SSL)</div> |
| | | <div>SMTP port (default is 25; 465 for SSL; 587 for submission)</div> |
| | | </dd> |
| | | |
| | | <dt class="propname">smtp_user/smtp_pass</dt> |
| | |
| | | <legend>Display settings & user prefs</legend> |
| | | <dl class="configblock" id="cgfblockdisplay"> |
| | | |
| | | <dt class="propname">language</dt> |
| | | <dt class="propname">language <span class="userconf">*</span></dt> |
| | | <dd> |
| | | <?php |
| | | |
| | |
| | | <dd> |
| | | <?php |
| | | |
| | | $input_skin = new html_inputfield(array('name' => '_skin', 'size' => 30, 'id' => "cfgskin")); |
| | | $input_skin = new html_select(array('name' => '_skin', 'id' => "cfgskin")); |
| | | $input_skin->add($RCI->list_skins()); |
| | | echo $input_skin->show($RCI->getprop('skin')); |
| | | |
| | | ?> |
| | | <div>Name of interface skin (folder in /skins)</div> |
| | | </dd> |
| | | |
| | | <dt class="propname">pagesize <span class="userconf">*</span></dt> |
| | | <dt class="propname">mail_pagesize <span class="userconf">*</span></dt> |
| | | <dd> |
| | | <?php |
| | | |
| | | $input_pagesize = new html_inputfield(array('name' => '_pagesize', 'size' => 6, 'id' => "cfgpagesize")); |
| | | echo $input_pagesize->show($RCI->getprop('pagesize')); |
| | | $pagesize = $RCI->getprop('mail_pagesize'); |
| | | if (!$pagesize) { |
| | | $pagesize = $RCI->getprop('pagesize'); |
| | | } |
| | | $input_pagesize = new html_inputfield(array('name' => '_mail_pagesize', 'size' => 6, 'id' => "cfgmailpagesize")); |
| | | echo $input_pagesize->show($pagesize); |
| | | |
| | | ?> |
| | | <div>Show up to X items in list view.</div> |
| | | <div>Show up to X items in the mail messages list view.</div> |
| | | </dd> |
| | | |
| | | <dt class="propname">addressbook_pagesize <span class="userconf">*</span></dt> |
| | | <dd> |
| | | <?php |
| | | |
| | | $pagesize = $RCI->getprop('addressbook_pagesize'); |
| | | if (!$pagesize) { |
| | | $pagesize = $RCI->getprop('pagesize'); |
| | | } |
| | | $input_pagesize = new html_inputfield(array('name' => '_addressbook_pagesize', 'size' => 6, 'id' => "cfgabookpagesize")); |
| | | echo $input_pagesize->show($pagesize); |
| | | |
| | | ?> |
| | | <div>Show up to X items in the contacts list view.</div> |
| | | </dd> |
| | | |
| | | <dt class="propname">prefer_html <span class="userconf">*</span></dt> |
| | |
| | | |
| | | <dt class="propname">htmleditor <span class="userconf">*</span></dt> |
| | | <dd> |
| | | <label for="cfghtmlcompose">Compose HTML formatted messages</label> |
| | | <?php |
| | | |
| | | $check_htmlcomp = new html_checkbox(array('name' => '_htmleditor', 'id' => "cfghtmlcompose", 'value' => 1)); |
| | | echo $check_htmlcomp->show(intval($RCI->getprop('htmleditor'))); |
| | | $select_htmlcomp = new html_select(array('name' => '_htmleditor', 'id' => "cfghtmlcompose")); |
| | | $select_htmlcomp->add('never', 0); |
| | | $select_htmlcomp->add('always', 1); |
| | | $select_htmlcomp->add('on reply to HTML message only', 2); |
| | | echo $select_htmlcomp->show(intval($RCI->getprop('htmleditor'))); |
| | | |
| | | ?> |
| | | <label for="cfghtmlcompose">Compose HTML formatted messages</label><br /> |
| | | </dd> |
| | | |
| | | <dt class="propname">draft_autosave <span class="userconf">*</span></dt> |
| | |
| | | |
| | | $select_autosave = new html_select(array('name' => '_draft_autosave', 'id' => 'cfgautosave')); |
| | | $select_autosave->add('never', 0); |
| | | foreach (array(3, 5, 10) as $i => $min) |
| | | foreach (array(1, 3, 5, 10) as $i => $min) |
| | | $select_autosave->add("$min min", $min*60); |
| | | |
| | | echo $select_autosave->show(intval($RCI->getprop('draft_autosave'))); |
| | |
| | | <dd> |
| | | <?php |
| | | |
| | | $mdn_opts = array( |
| | | 0 => 'ask the user', |
| | | 1 => 'send automatically', |
| | | 3 => 'send receipt to user contacts, otherwise ask the user', |
| | | 4 => 'send receipt to user contacts, otherwise ignore', |
| | | 2 => 'ignore', |
| | | ); |
| | | |
| | | $select_mdnreq = new html_select(array('name' => '_mdn_requests', 'id' => "cfgmdnreq")); |
| | | $select_mdnreq->add(array('ask the user', 'send automatically', 'ignore'), array(0, 1, 2)); |
| | | $select_mdnreq->add(array_values($mdn_opts), array_keys($mdn_opts)); |
| | | echo $select_mdnreq->show(intval($RCI->getprop('mdn_requests'))); |
| | | |
| | | ?> |