Переглянути джерело

Last options commit for the evening. This one is dedicated to my wife and her colorful blanket. Time to go to bed! Woohoo!

thomppj 24 роки тому
батько
коміт
57e2ca2781
4 змінених файлів з 92 додано та 114 видалено
  1. 9 9
      src/load_prefs.php
  2. 22 16
      src/options.php
  3. 2 4
      src/options_display.php
  4. 59 85
      src/options_folder.php

+ 9 - 9
src/load_prefs.php

@@ -92,27 +92,27 @@
     global $trash_folder, $sent_folder, $draft_folder;
     global $trash_folder, $sent_folder, $draft_folder;
 
 
     /** Load special folder - trash **/
     /** Load special folder - trash **/
-    $new_trash_folder = getPref($data_dir, $username, 'trash_folder');
-    if (($new_trash_folder == '') && ($move_to_trash)) {
+    $load_trash_folder = getPref($data_dir, $username, 'trash_folder');
+    if (($load_trash_folder == '') && ($move_to_trash)) {
         $trash_folder = $folder_prefix . $trash_folder;
         $trash_folder = $folder_prefix . $trash_folder;
     } else {
     } else {
-        $trash_folder = $new_trash_folder;
+        $trash_folder = $load_trash_folder;
     }
     }
 
 
     /** Load special folder - sent **/
     /** Load special folder - sent **/
-    $new_sent_folder = getPref($data_dir, $username, 'sent_folder');
-    if (($new_sent_folder == '') && ($move_to_sent)) {
+    $load_sent_folder = getPref($data_dir, $username, 'sent_folder');
+    if (($load_sent_folder == '') && ($move_to_sent)) {
         $sent_folder = $folder_prefix . $sent_folder;
         $sent_folder = $folder_prefix . $sent_folder;
     } else {
     } else {
-        $sent_folder = $new_sent_folder;
+        $sent_folder = $load_sent_folder;
     }
     }
 
 
     /** Load special folder - draft **/
     /** Load special folder - draft **/
-    $new_draft_folder = getPref($data_dir, $username, 'draft_folder');
-    if (($new_draft_folder == '') && ($save_as_draft)) {
+    $load_draft_folder = getPref($data_dir, $username, 'draft_folder');
+    if (($load_draft_folder == '') && ($save_as_draft)) {
         $draft_folder = $folder_prefix . $draft_folder;
         $draft_folder = $folder_prefix . $draft_folder;
     } else {
     } else {
-        $draft_folder = $new_draft_folder;
+        $draft_folder = $load_draft_folder;
     }
     }
 
 
     global $show_num, $wrap_at, $left_size;
     global $show_num, $wrap_at, $left_size;

+ 22 - 16
src/options.php

@@ -112,28 +112,34 @@
         echo '<br><b>'._("Successfully saved display preferences!").'</b><br>';
         echo '<br><b>'._("Successfully saved display preferences!").'</b><br>';
         echo '<a href="../src/webmail.php?right_frame=options.php" target=_top>' . _("Refresh Page") . '</a><br>';
         echo '<a href="../src/webmail.php?right_frame=options.php" target=_top>' . _("Refresh Page") . '</a><br>';
     } else if (isset($submit_folder)) { 
     } else if (isset($submit_folder)) { 
-        /* Save folder preferences. */
-        if ($trash != 'none') {
-            setPref($data_dir, $username, 'move_to_trash', true);
-           setPref($data_dir, $username, 'trash_folder', $trash);
+        /* Save trash folder preferences. */
+        if ($new_trash_folder != SMPREF_NONE) {
+            setPref($data_dir, $username, 'move_to_trash', SMPREF_ON);
+            setPref($data_dir, $username, 'trash_folder', $new_trash_folder);
         } else {
         } else {
-            setPref($data_dir, $username, 'move_to_trash', '0');
-            setPref($data_dir, $username, 'trash_folder', 'none');
+            setPref($data_dir, $username, 'move_to_trash', SMPREF_OFF);
+            setPref($data_dir, $username, 'trash_folder', SMPREF_NONE);
         }
         }
-        if ($sent != 'none') {
-            setPref($data_dir, $username, 'move_to_sent', true);
-            setPref($data_dir, $username, 'sent_folder', $sent);
+
+        /* Save sent folder preferences. */
+        if ($new_sent_folder != SMPREF_NONE) {
+            setPref($data_dir, $username, 'move_to_sent', SMPREF_ON);
+            setPref($data_dir, $username, 'sent_folder', $new_sent_folder);
         } else {
         } else {
-            setPref($data_dir, $username, 'move_to_sent', '0');
-            setPref($data_dir, $username, 'sent_folder', 'none');
+            setPref($data_dir, $username, 'move_to_sent', SMPREF_OFF);
+            setPref($data_dir, $username, 'sent_folder', SMPREF_NONE);
         }
         }
-        if ($draft != 'none') {
-            setPref($data_dir, $username, 'save_as_draft', true);
-            setPref($data_dir, $username, 'draft_folder', $draft);
+
+        /* Save draft folder preferences. */
+        if ($new_draft_folder != SMPREF_NONE) {
+            setPref($data_dir, $username, 'save_as_draft', SMPREF_ON);
+            setPref($data_dir, $username, 'draft_folder', $new_draft_folder);
         } else {
         } else {
-            setPref($data_dir, $username, 'save_as_draft', '0');
-            setPref($data_dir, $username, 'draft_folder', 'none');
+            setPref($data_dir, $username, 'save_as_draft', SMPREF_OFF);
+            setPref($data_dir, $username, 'draft_folder', SMPREF_NONE);
         }
         }
+
+        /* Save folder prefix preferences. */
         if (isset($folderprefix)) {
         if (isset($folderprefix)) {
             setPref($data_dir, $username, 'folder_prefix', $folderprefix);
             setPref($data_dir, $username, 'folder_prefix', $folderprefix);
         } else {
         } else {

+ 2 - 4
src/options_display.php

@@ -203,8 +203,8 @@
     foreach ($options as $option) {
     foreach ($options as $option) {
         if ($option->type != SMOPT_TYPE_HIDDEN) {
         if ($option->type != SMOPT_TYPE_HIDDEN) {
             echo "<TR>\n";
             echo "<TR>\n";
-            echo '  <TD ALIGN="RIGHT" VALIGN="MIDDLE" NOWRAP><font color=red><b>'
-               . $option->caption . "</b></font>:</TD>\n";
+            echo '  <TD ALIGN="RIGHT" VALIGN="MIDDLE" NOWRAP>'
+               . $option->caption . ":</TD>\n";
             echo '  <TD>' . $option->createHTMLWidget() . "</TD>\n";
             echo '  <TD>' . $option->createHTMLWidget() . "</TD>\n";
             echo "</TR>\n";
             echo "</TR>\n";
         } else {
         } else {
@@ -212,8 +212,6 @@
         }
         }
     }
     }
 
 
-    /*** NOT YET CONVERTED TO OPTION OBJECTS ***/
-
    echo '<tr><td colspan=2><hr noshade></td></tr>';
    echo '<tr><td colspan=2><hr noshade></td></tr>';
    do_hook('options_display_inside');
    do_hook('options_display_inside');
    OptionSubmit( 'submit_display' );
    OptionSubmit( 'submit_display' );

+ 59 - 85
src/options_folder.php

@@ -49,90 +49,64 @@
          </tr>
          </tr>
 <?php }          
 <?php }          
 
 
-   /* TRASH FOLDER */
-   echo '<tr><td nowrap align="right">';
-   echo _("Trash Folder:");
-   echo '</td><td>';
-      echo "<TT><SELECT NAME=trash>\n";
-      if ($move_to_trash == true) {
-         echo '<option value="none">' . _("Do not use Trash");
-      } else {
-         echo '<option value="none" selected>' . _("Do not use Trash");
-      }
- 
-      for ($i = 0; $i < count($boxes); $i++) {
-         $use_folder = true;
-         if (strtolower($boxes[$i]['unformatted']) == 'inbox') {
-            $use_folder = false;
-         }
-         if ($use_folder == true) {
-            $box = $boxes[$i]['unformatted-dm'];
-            $box2 = str_replace(' ', '&nbsp;', $boxes[$i]['formatted']);
-            if (($boxes[$i]['unformatted'] == $trash_folder) && ($move_to_trash == true))
-               echo "         <OPTION SELECTED VALUE=\"$box\">$box2\n";
-            else
-               echo "         <OPTION VALUE=\"$box\">$box2\n";
-         }
-      }
-      echo "</SELECT></TT>\n";
-   echo '</td></tr>';  
-
-
-   /* SENT FOLDER */
-   echo '<tr><td nowrap align="right">';
-   echo _("Sent Folder:");
-   echo '</td><td>';
-      echo '<TT><SELECT NAME="sent">' . "\n";
-      if ($move_to_sent == true)
-         echo '<option value="none">' . _("Do not use Sent");
-      else
-         echo "<option value=\"none\" selected>" . _("Do not use Sent");
- 
-      for ($i = 0; $i < count($boxes); $i++) {
-         $use_folder = true;
-         if (strtolower($boxes[$i]['unformatted']) == 'inbox') {
-            $use_folder = false;
-         }
-         if ($use_folder == true) {
-            $box = $boxes[$i]['unformatted-dm'];
-            $box2 = str_replace(' ', '&nbsp;', $boxes[$i]['formatted']);
-            if (($boxes[$i]['unformatted'] == $sent_folder) && ($move_to_sent == true))
-               echo "         <OPTION SELECTED VALUE=\"$box\">$box2\n";
-            else
-               echo "         <OPTION VALUE=\"$box\">$box2\n";
-         }
-      }
-      echo "</SELECT></TT>\n";
-   echo '</td></tr>';  
-
-   /* Drafts Folder. */
-   echo '<tr><td nowrap align="right">';
-   echo _("Drafts Folder:");
-   echo '</td><td>';
-   echo '<TT><SELECT NAME="draft">';
-   if ($save_as_draft == true)
-      echo '<option value="none">' . _("Do not use Drafts");
-   else
-      echo '<option value="none" selected>' . _("Do not use Drafts");
-
-   for ($i = 0; $i < count($boxes); $i++) {
-      $use_folder = true;
-      if (strtolower($boxes[$i]['unformatted']) == 'inbox') {
-         $use_folder = false;
-      }
-      if ($use_folder == true) {
-         $box = $boxes[$i]['unformatted-dm'];
-         $box2 = str_replace(' ', '&nbsp;', $boxes[$i]['formatted']);
-         $select_draft_value = rtrim($boxes[$i]['unformatted']);
-         if (($select_draft_value == $draft_folder) && ($save_as_draft == true)) {
-            echo "         <OPTION SELECTED VALUE=\"$box\">$box2\n";
-         } else {
-            echo "         <OPTION VALUE=\"$box\">$box2\n";
-         }
-      }
-   }
-   echo "</SELECT></TT>\n";
-   echo '</td></tr>';
+    /* Build a simple array into which we will build options. */
+    $optvals = array();
+
+    $special_folder_values = array();
+    foreach ($boxes as $folder) {
+        if (strtolower($folder['unformatted']) != 'inbox') {
+            $real_value = $folder['unformatted-dm'];
+            $disp_value = str_replace(' ', '&nbsp;', $folder['formatted']);
+            $special_folder_values[$real_value] = $disp_value;
+        }
+    }
+
+    $trash_none = array(SMPREF_NONE => _("Do not use Trash"));
+    $trash_folder_values = array_merge($trash_none, $special_folder_values);
+    $optvals[] = array(
+        'name'    => 'trash_folder',
+        'caption' => _("Trash Folder"),
+        'type'    => SMOPT_TYPE_STRLIST,
+        'refresh' => SMOPT_REFRESH_FOLDERLIST,
+        'posvals' => $trash_folder_values
+    );
+    
+    $sent_none = array(SMPREF_NONE => _("Do not use Sent"));
+    $sent_folder_values = array_merge($sent_none, $special_folder_values);
+    $optvals[] = array(
+        'name'    => 'sent_folder',
+        'caption' => _("Sent Folder"),
+        'type'    => SMOPT_TYPE_STRLIST,
+        'refresh' => SMOPT_REFRESH_FOLDERLIST,
+        'posvals' => $sent_folder_values
+    );
+    
+    $drafts_none = array(SMPREF_NONE => _("Do not use Drafts"));
+    $draft_folder_values = array_merge($draft_none, $special_folder_values);
+    $optvals[] = array(
+        'name'    => 'draft_folder',
+        'caption' => _("Draft Folder"),
+        'type'    => SMOPT_TYPE_STRLIST,
+        'refresh' => SMOPT_REFRESH_FOLDERLIST,
+        'posvals' => $draft_folder_values
+    );
+
+    /* Build all these values into an array of SquirrelOptions objects. */
+    $options = createOptionArray($optvals);
+
+    /* Print the row for each option. */
+    foreach ($options as $option) {
+        if ($option->type != SMOPT_TYPE_HIDDEN) {
+            echo "<TR>\n";
+            echo '  <TD ALIGN="RIGHT" VALIGN="MIDDLE" NOWRAP>'
+               . $option->caption . ":</TD>\n";
+            echo '  <TD>' . $option->createHTMLWidget() . "</TD>\n";
+            echo "</TR>\n";
+        } else {
+            echo $option->createHTMLWidget();
+        }
+    }
+
    // if( $unseen_notify == '' )
    // if( $unseen_notify == '' )
    //   $unseen_notify = '2';
    //   $unseen_notify = '2';
    OptionRadio( _("Unseen message notification"),
    OptionRadio( _("Unseen message notification"),
@@ -182,4 +156,4 @@
 
 
 </td></tr>
 </td></tr>
 </table>
 </table>
-</body></html>
+</body></html>