Allow options to use HTML in trailing text
[squirrelmail.git] / templates / default / options.tpl
index e9cf2d5a92a9631ceaa5d26cb203c658c63a5dbc..2aef407a8ee20b12be2c6beee8f9d1cd869f5ec0 100644 (file)
@@ -5,12 +5,13 @@
  * 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 © 1999-2006 The SquirrelMail Project Team
+ * @copyright 1999-2017 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
@@ -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'])) {
@@ -41,18 +42,31 @@ foreach ($options as $option) {
              " </tr>\n";
     }
 
+    $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\">\n  ";
+                   " <td class=\"optionName\"" . ($opt->caption_wrap ? '' : ' style="white-space:nowrap"') . ">\n  ";
 
-            if ($opt->type == SMOPT_TYPE_BOOLEAN_CHECKBOX
-             || $opt->type == SMOPT_TYPE_BOOLEAN) {
-                echo '<label for="new_' . $opt->name . '">'
-                   . $opt->caption . '</label>';
-            } else {
-                echo $opt->caption;
+            echo '<label for="new_' . $opt->name . '">' . $opt->caption;
+            if ($opt->type == SMOPT_TYPE_TEXTAREA && !empty($opt->trailing_text)) {
+// TODO: Is trailing_text already sanitized here? (sm_encode_html_special_chars())  Either way, we want to have an option to sanitize or not depending on $opt->trailing_text_is_html ---- note that this question may already be taken care of in functions/options.php and irrelevant here, but I'm not sure about that yet.... after looking a little, it does appear this is a problem, though where to solve it is not clear
+                echo '<br /><small>' . $opt->trailing_text . '</small>';
             }
+            echo '</label>';
 
             echo   "\n </td>\n" .
                    " <td class=\"optionValue\">\n" .
@@ -60,12 +74,12 @@ foreach ($options as $option) {
                    " </td>\n" .
                    "</tr>\n";
         } else {
-            echo $opt->createWidget();
+            $hidden_widgets .= $opt->createWidget();
         }
     }
 
     echo " <tr>\n  <td colspan=\"2\" align=\"right\">\n"
-       . "   <input type=\"submit\" value=\"" . _("Submit") 
+       . $hidden_widgets . "   <input type=\"submit\" value=\"" . _("Submit") 
        . "\" name=\"" . $submit_name . "\" />&nbsp;&nbsp;&nbsp;&nbsp;\n  </td>\n </tr>\n";
 
     echo "</table>\n";