Browse Source

Added 'trailing text' for options that SM builds, which is placed after a text input or select list. One less reason for plugin authors to build their own HTML.

pdontthink 21 years ago
parent
commit
fc6096542d
3 changed files with 19 additions and 2 deletions
  1. 2 0
      ChangeLog
  2. 3 0
      doc/plugin.txt
  3. 14 2
      functions/options.php

+ 2 - 0
ChangeLog

@@ -70,6 +70,8 @@ Version 1.5.1 -- CVS
   - Security: fix SQL injection vulnerability in addressbook
   - Security: fix SQL injection vulnerability in addressbook
     (CVE ID: CAN-2004-0521).
     (CVE ID: CAN-2004-0521).
   - Removed html_top and html_bottom hooks.  No longer used/needed.
   - Removed html_top and html_bottom hooks.  No longer used/needed.
+  - Added "trailing text" for options built by SquirrelMail (text placed
+    after text and select list inputs on options pages)
 
 
 Version 1.5.0
 Version 1.5.0
 --------------------
 --------------------

+ 3 - 0
doc/plugin.txt

@@ -598,6 +598,9 @@ for you.  This is the preferred method of building options lists going forward.
                         setting in the user's preferences
                         setting in the user's preferences
          caption        The text that prefaces this setting on the preferences
          caption        The text that prefaces this setting on the preferences
                         page
                         page
+         trailing_text  Text that follows a text input or select list input on
+                        the preferences page (useful for indicating units,
+                        meanings of special values, etc.)
          type           The type of INPUT element, which should be one of:
          type           The type of INPUT element, which should be one of:
                            SMOPT_TYPE_STRING     String/text input
                            SMOPT_TYPE_STRING     String/text input
                            SMOPT_TYPE_STRLIST    Select list input
                            SMOPT_TYPE_STRLIST    Select list input

+ 14 - 2
functions/options.php

@@ -62,6 +62,7 @@ class SquirrelOption {
     var $type;
     var $type;
     var $refresh_level;
     var $refresh_level;
     var $size;
     var $size;
+    var $trailing_text;
     var $comment;
     var $comment;
     var $script;
     var $script;
     var $post_script;
     var $post_script;
@@ -83,6 +84,7 @@ class SquirrelOption {
         $this->refresh_level = $refresh_level;
         $this->refresh_level = $refresh_level;
         $this->possible_values = $possible_values;
         $this->possible_values = $possible_values;
         $this->size = SMOPT_SIZE_MEDIUM;
         $this->size = SMOPT_SIZE_MEDIUM;
+        $this->trailing_text = '';
         $this->comment = '';
         $this->comment = '';
         $this->script = '';
         $this->script = '';
         $this->post_script = '';
         $this->post_script = '';
@@ -124,6 +126,11 @@ class SquirrelOption {
         $this->size = $size;
         $this->size = $size;
     }
     }
 
 
+    /* Set the trailing_text for this option. */
+    function setTrailingText($trailing_text) {
+        $this->trailing_text = $trailing_text;
+    }
+
     /* Set the comment for this option. */
     /* Set the comment for this option. */
     function setComment($comment) {
     function setComment($comment) {
         $this->comment = $comment;
         $this->comment = $comment;
@@ -210,7 +217,7 @@ class SquirrelOption {
 
 
         $result = "<input type=\"text\" name=\"new_$this->name\" value=\"" .
         $result = "<input type=\"text\" name=\"new_$this->name\" value=\"" .
             htmlspecialchars($this->value) . 
             htmlspecialchars($this->value) . 
-            "\" size=\"$width\" $this->script />\n";
+            "\" size=\"$width\" $this->script />$this->trailing_text\n";
         return ($result);
         return ($result);
     }
     }
 
 
@@ -237,7 +244,7 @@ class SquirrelOption {
         }
         }
 
 
         /* Close the select tag and return our happy result. */
         /* Close the select tag and return our happy result. */
-        $result .= "</select>\n";
+        $result .= "</select>$this->trailing_text\n";
         return ($result);
         return ($result);
     }
     }
 
 
@@ -436,6 +443,11 @@ function create_option_groups($optgrps, $optvals) {
                 $next_option->setSize($optset['size']);
                 $next_option->setSize($optset['size']);
             }
             }
 
 
+            /* If provided, set the trailing_text for this option. */
+            if (isset($optset['trailing_text'])) {
+                $next_option->setTrailingText($optset['trailing_text']);
+            }
+
             /* If provided, set the comment for this option. */
             /* If provided, set the comment for this option. */
             if (isset($optset['comment'])) {
             if (isset($optset['comment'])) {
                 $next_option->setComment($optset['comment']);
                 $next_option->setComment($optset['comment']);