From ce92ba767a9557daf7f18be94882dd7e6f4591fb Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 30 Sep 2010 09:24:33 -0400
Subject: [PATCH] - Plugin API: improved 'abort' flag handling, added 'result' item in some hooks: group_*, contact_*, identity_* (#1486914)

---
 installer/config.php |   74 ++++++++++++++++++++++++++++--------
 1 files changed, 57 insertions(+), 17 deletions(-)

diff --git a/installer/config.php b/installer/config.php
index b0f5688..073b7b5 100644
--- a/installer/config.php
+++ b/installer/config.php
@@ -6,7 +6,7 @@
 $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,
@@ -24,7 +24,7 @@
 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>&lt;?php ?&gt;</tt> brackets when saving the files.</p>';
   
   $textbox = new html_textarea(array('rows' => 16, 'cols' => 60, 'class' => "configfile"));
@@ -112,14 +112,42 @@
 <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>
@@ -239,13 +267,13 @@
 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>
@@ -315,12 +343,12 @@
 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>
 
@@ -332,7 +360,7 @@
 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>
 </dd>
@@ -358,9 +386,21 @@
 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</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>
+</dd>
 </dl>
 </fieldset>
 
@@ -389,7 +429,7 @@
 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>
@@ -445,7 +485,7 @@
 <legend>Display settings &amp; user prefs</legend>
 <dl class="configblock" id="cgfblockdisplay">
 
-<dt class="propname">language</dt>
+<dt class="propname">language <span class="userconf">*</span></dt>
 <dd>
 <?php
 
@@ -519,7 +559,7 @@
 
 $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')));

--
Gitblit v1.9.1