Przeglądaj źródła

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 lat temu
rodzic
commit
57e2ca2781
4 zmienionych plików z 92 dodań i 114 usunięć
  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;
 
     /** 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;
     } else {
-        $trash_folder = $new_trash_folder;
+        $trash_folder = $load_trash_folder;
     }
 
     /** 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;
     } else {
-        $sent_folder = $new_sent_folder;
+        $sent_folder = $load_sent_folder;
     }
 
     /** 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;
     } else {
-        $draft_folder = $new_draft_folder;
+        $draft_folder = $load_draft_folder;
     }
 
     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 '<a href="../src/webmail.php?right_frame=options.php" target=_top>' . _("Refresh Page") . '</a><br>';
     } 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 {
-            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 {
-            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 {
-            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)) {
             setPref($data_dir, $username, 'folder_prefix', $folderprefix);
         } else {

+ 2 - 4
src/options_display.php

@@ -203,8 +203,8 @@
     foreach ($options as $option) {
         if ($option->type != SMOPT_TYPE_HIDDEN) {
             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 "</TR>\n";
         } else {
@@ -212,8 +212,6 @@
         }
     }
 
-    /*** NOT YET CONVERTED TO OPTION OBJECTS ***/
-
    echo '<tr><td colspan=2><hr noshade></td></tr>';
    do_hook('options_display_inside');
    OptionSubmit( 'submit_display' );

+ 59 - 85
src/options_folder.php

@@ -49,90 +49,64 @@
          </tr>
 <?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 == '' )
    //   $unseen_notify = '2';
    OptionRadio( _("Unseen message notification"),
@@ -182,4 +156,4 @@
 
 </td></tr>
 </table>
-</body></html>
+</body></html>