- }
- echo "</SELECT></TT><br><br>\n"
- . '<input type=SUBMIT VALUE="'
- . _("Unsubscribe")
- . "\">\n"
- . "</FORM></td>\n";
-} else {
- echo _("No folders were found to unsubscribe from!") . '</td>';
-}
-$boxes_sub = $boxes;
-
-/** SUBSCRIBE TO FOLDERS **/
-echo html_tag( 'td', '', 'center', $color[0], 'width="50%"' );
-if(!$no_list_for_subscribe) {
- $boxes_all = sqimap_mailbox_list_all ($imapConnection);
-
- $box = '';
- $box2 = '';
- for ($i = 0, $q = 0; $i < count($boxes_all); $i++) {
- $use_folder = true;
- for ($p = 0; $p < count ($boxes); $p++) {
- if ($boxes_all[$i]['unformatted'] == $boxes[$p]['unformatted']) {
- $use_folder = false;
- continue;
- } else if ($boxes_all[$i]['unformatted-dm'] == $folder_prefix) {
- $use_folder = false;
+
+ /** SUBSCRIBE TO FOLDERS **/
+ echo html_tag( 'td', '', 'center', $color[0], 'width="50%"' );
+ if(!$no_list_for_subscribe) {
+ $boxes_all = sqimap_mailbox_list_all ($imapConnection);
+
+ $subboxes = array();
+ // here we filter out all boxes we're already subscribed to,
+ // so we keep only the unsubscribed ones.
+ foreach ($boxes_all as $box_a) {
+
+ $use_folder = true;
+ foreach ( $boxes as $box ) {
+ if ($box_a['unformatted'] == $box['unformatted'] ||
+ $box_a['unformatted-dm'] == $folder_prefix ) {
+ $use_folder = false;
+ }
+ }
+
+ if ($use_folder == true) {
+ $box_enc = htmlspecialchars($box_a['unformatted-dm']);
+ $box_disp = htmlspecialchars(imap_utf7_decode_local($box_a['unformatted-disp']));
+ $subboxes[$box_enc] = $box_disp;
+ }
+ }
+
+ if ( count($subboxes) > 0 ) {
+ echo addForm('folders.php')
+ . addHidden('smaction', 'subscribe')
+ . '<tt><select name="folder_names[]" multiple="multiple" size="8">';
+
+ foreach($subboxes as $subbox_enc => $subbox_disp) {
+ echo ' <option value="' . $subbox_enc . '">'.$subbox_disp."</option>\n";
+ }
+
+ echo '</select></tt><br /><br />'
+ . '<input type="submit" value="'. _("Subscribe") . "\" />\n"
+ . "</form></td></tr></table><br />\n";
+ } else {
+ echo _("No folders were found to subscribe to.") . '</td></tr></table>';
+ }
+ } else {
+ /* don't perform the list action -- this is much faster */
+ echo addForm('folders.php')
+ . addHidden('smaction', 'subscribe')
+ . _("Subscribe to:") . '<br />'
+ . '<tt><input type="text" name="folder_names[]" size="35" />'
+ . '<input type="submit" value="'. _("Subscribe") . "\" />\n"
+ . "</form></td></tr></table><br />\n";