Add info option widget type
authorpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Fri, 19 Dec 2008 00:12:54 +0000 (00:12 +0000)
committerpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Fri, 19 Dec 2008 00:12:54 +0000 (00:12 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@13372 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/options.php
include/constants.php
src/options.php
templates/default/css/options.css
templates/default/options.tpl

index 8a623038da7e2106b8e3885a1a808f1eea8016e6..1795c226983037c93d83eb316c7beaea4473d32a 100644 (file)
@@ -213,7 +213,9 @@ class SquirrelOption {
         }
 
         /* Set the default save function. */
-        if (($type != SMOPT_TYPE_HIDDEN) && ($type != SMOPT_TYPE_COMMENT)) {
+        if ($type != SMOPT_TYPE_HIDDEN
+         && $type != SMOPT_TYPE_INFO
+         && $type != SMOPT_TYPE_COMMENT) {
             $this->save_function = SMOPT_SAVE_DEFAULT;
         } else {
             $this->save_function = SMOPT_SAVE_NOOP;
@@ -410,6 +412,9 @@ class SquirrelOption {
             case SMOPT_TYPE_SUBMIT:
                 $result = $this->createWidget_Submit();
                 break;
+            case SMOPT_TYPE_INFO:
+                $result = $this->createWidget_Info();
+                break;
             default:
                 error_box ( 
                     sprintf(_("Option Type '%s' Not Found"), $this->type)
@@ -428,6 +433,14 @@ class SquirrelOption {
         return $result;
     }
 
+    /**
+     * Creates info block
+     * @return string html formated output
+     */
+    function createWidget_Info() {
+        return sq_htmlspecialchars($this->value);
+    }
+
     /**
      * Create string field
      * @return string html formated option field
index 9dae98ac5b13e0aabf67e2933c218485f3798af5..dbf32478383d0964ca638f136237eb31492bd9e3 100644 (file)
@@ -235,6 +235,7 @@ define('SMOPT_TYPE_BOOLEAN_CHECKBOX', 12);
 define('SMOPT_TYPE_BOOLEAN_RADIO', 13);
 define('SMOPT_TYPE_STRLIST_RADIO', 14);
 define('SMOPT_TYPE_SUBMIT', 15);
+define('SMOPT_TYPE_INFO', 16);
 
 // Define constants for the layout scheme for edit lists
 define('SMOPT_EDIT_LIST_LAYOUT_LIST', 0);
index ed0fb673f83770e19aabc4a03494bd6938465bd4..f11694ddfb925dce127d24e1c97f271739fef874 100644 (file)
@@ -430,7 +430,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
        . create_optmode_element(SMOPT_MODE_SUBMIT);
 
     // This is the only variable that is needed by *just* the template.
-    $oTemplate->assign('options', $optpage_data['options']);
+    $oTemplate->assign('option_groups', $optpage_data['options']);
     
     global $ask_user_info, $org_name;
     if ( $optpage == SMOPT_PAGE_PERSONAL && $ask_user_info
index b39d36388eeb1af7fb85972ea915ee9e65922fbf..a1e16cf7b50c7bd56d8242fe7409f9d2b9f618df 100644 (file)
     height: 100%;
 }
 
+#optionDisplay  table.optionInfo  {
+    width: 80%;
+    text-align: left;
+    border: 0px;
+}
 
 #optionGroups   td.optionName   {
     background: #ababab;
index 30c56226dcdce7f3031f635e5025381d1db9e953..ab4fc511921728e979b279e1af2d2832e5c47b28 100644 (file)
@@ -5,10 +5,11 @@
  * Template for rendering the options page
  * 
  * The following variables are available to this template:
- *      $options - array of options as built by SquirrelMail.  Important fields
- *                 in this array include (but are not limited to):
- *          $el['name']     - The name of the option group
- *          $el['options']  - array of squirrelOption objects
+ *      $option_groups - array of option groups and their options as
+ *                       built by SquirrelMail.  Important fields
+ *                       in this array include (but are not limited to):
+ *                       ['name']     - The name of the option group
+ *                       ['options']  - array of squirrelOption objects
  *
  * @copyright &copy; 1999-2006 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
@@ -30,7 +31,7 @@ if ( !empty($topmessage) ) {
 
 <div id="optionDisplay">
 <?php
-foreach ($options as $option) {
+foreach ($option_groups as $option) {
     echo "<table cellspacing=\"0\">\n";
 
     if (!empty($option['name'])) {
@@ -43,7 +44,20 @@ foreach ($options as $option) {
 
     $hidden_widgets = '';
     foreach ($option['options'] as $opt) {
-        if ($opt->type != SMOPT_TYPE_HIDDEN) {
+        if ($opt->type == SMOPT_TYPE_INFO) {
+            echo "<tr>\n"
+               . " <td colspan=\"2\">\n"
+               . "  <table class=\"optionInfo\">\n"
+               . "   <tr>\n"
+               . "    <td>\n"
+               . $opt->createWidget() . "\n"
+               . "    </td>\n"
+               . "   </tr>\n"
+               . "  </table>\n"
+               . " </td>\n"
+               . "</tr>\n";
+
+        } else if ($opt->type != SMOPT_TYPE_HIDDEN) {
             echo   "<tr>\n" .
                    " <td class=\"optionName\"" . ($opt->caption_wrap ? '' : ' style="white-space:nowrap"') . ">\n  ";