X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Ffolders.php;h=f727337be6ac07b42effff21ec0c53edafcaa00d;hb=f740c049d91feb836dd9633be9e8ff52c00d066f;hp=a3abbf5bd05cbd126f8cbe571ec961037182920d;hpb=aa42fbfb4a9b641bf58178697707dca5638ee1dd;p=squirrelmail.git diff --git a/src/folders.php b/src/folders.php index a3abbf5b..f727337b 100644 --- a/src/folders.php +++ b/src/folders.php @@ -1,47 +1,292 @@ - -\n"; - echo " \n"; - echo " Folders\n"; - echo " \n"; + echo "
"; + echo "\n"; + echo " \n"; echo "
\n"; + echo _("Folders"); + echo "
\n"; - $imapConnection = fsockopen($imapServerAddress, 143, &$errorNumber, &$errorString); - if (!$imapConnection) { - echo "Error connecting to IMAP Server.
"; - echo "$errorNumber : $errorString
"; - exit; + if ((isset($success) && $success) || + (isset($sent_create) && $sent_create == "true") || + (isset($trash_create) && $trash_create == "true")) { + echo "\n"; + echo " \n"; + echo "
\n"; + if ($success == "subscribe") { + echo "" . _("Subscribed successfully!") . "
"; + } else if ($success == "unsubscribe") { + echo "" . _("Unsubscribed successfully!") . "
"; + } else if ($success == "delete") { + echo "" . _("Deleted folder successfully!") . "
"; + } else if ($success == "create") { + echo "" . _("Created folder successfully!") . "
"; + } else if ($success == "rename") { + echo "" . _("Renamed successfully!") . "
"; + } else if (($sent_create == "true") || ($trash_create == "true")) { + $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); + if ($sent_create == "true") { + sqimap_mailbox_create ($imapConnection, $sent_folder, ""); + } + if ($trash_create == "true") { + sqimap_mailbox_create ($imapConnection, $trash_folder, ""); + } + sqimap_logout($imapConnection); + echo _("Folders created successfully!"); + } + + echo " " . _("refresh folder list") . ""; + echo "

\n"; + } + $imapConnection = sqimap_login ($username, $key, $imapServerAddress, $imapPort, 0); + $boxes = sqimap_mailbox_list($imapConnection); + + //display form option for creating Sent and Trash folder + if ($imap_server_type == "cyrus" && ($sent_folder != "none" || $trash_folder != "none")) { + if ((!sqimap_mailbox_exists ($imapConnection, $sent_folder)) || + (!sqimap_mailbox_exists ($imapConnection, $trash_folder))) { + echo "\n"; + echo ""; + echo "
"; + echo _("Special Folder Options"); + echo "
"; + echo _("In order for SquirrelMail to provide the full set of options you need to create the special folders listed below. Just click the check box and hit the create button."); + echo "
\n"; + if (!sqimap_mailbox_exists ($imapConnection, $sent_folder) && $sent_folder != "none") { + echo _("Create Sent") . "
\n"; + } + if (!sqimap_mailbox_exists ($imapConnection, $trash_folder) && $trash_folder != "none"){ + echo _("Create Trash") . "
\n"; + } + echo ""; + echo "

"; + } } - $serverInfo = fgets($imapConnection, 256); - fputs($imapConnection, "1 login $username $key\n"); - $read = fgets($imapConnection, 1024); + /** DELETING FOLDERS **/ + echo "\n"; + echo ""; + echo "\n"; + } else { + echo _("No folders found") . "

"; + } + + echo "\n"; + + /** CREATING FOLDERS **/ + echo ""; + echo "\n"; + + echo "\n"; + + /** RENAMING FOLDERS **/ + echo ""; + echo "\n"; + } else { + echo _("No folders found") . "

"; + } + $boxes_sub = $boxes; + + echo "
"; + echo _("Delete Folder"); + echo "
"; - fputs($imapConnection, "1 list \"\" *\n"); - $str = imapReadData($imapConnection); + $count_special_folders = 0; + $num_max = 1; + if (strtolower($imap_server_type) == "courier" || $move_to_trash) + $num_max++; + if ($move_to_sent) + $num_max++; - for ($i = 0;$i < count($str); $i++) { - $mailbox = Chop($str[$i]); - // find the quote at the begining of the mailbox name. - // i subtract 1 from the strlen so it doesn't find the quote at the end of the mailbox name. - $mailbox = findMailboxName($mailbox); - $periodCount = countCharInString($mailbox, "."); + for ($p = 0; $p < count($boxes) && $count_special_folders < $num_max; $p++) { + if (strtolower($boxes[$p]["unformatted"]) == "inbox") + $count_special_folders++; + else if (strtolower($imap_server_type) == "courier" && + strtolower($boxes[$p]["unformatted"]) == "inbox.trash") + $count_special_folders++; + else if ($boxes[$p]["unformatted"] == $trash_folder && $trash_folder) + $count_special_folders++; + else if ($boxes[$p]["unformatted"] == $sent_folder && $sent_folder) + $count_special_folders++; + } - // indent the correct number of spaces. - for ($j = 0;$j < $periodCount;$j++) - echo "  "; + if ($count_special_folders < count($boxes)) { + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
 
"; + echo _("Create Folder"); + echo "
"; + echo "
\n"; + echo "
\n"; + echo _("as a subfolder of"); + echo "
"; + echo "
\n"; + if ($show_contain_subfolders_option) { + echo "  "; + echo _("Let this folder contain subfolders"); + echo "
"; + } + echo "\n"; + echo "
 
"; + echo _("Rename a Folder"); + echo "
"; + if ($count_special_folders < count($boxes)) { + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
 
\n"; + + /** UNSUBSCRIBE FOLDERS **/ + echo "\n"; + echo ""; + echo "\n"; + } else { + echo _("No folders were found to unsubscribe from!") . ""; + } + $boxes_sub = $boxes; + + echo ""; + + /** SUBSCRIBE TO FOLDERS **/ + echo "
"; + echo _("Unsubscribe") . "/" . _("Subscribe"); + echo "
"; + if ($count_special_folders < count($boxes)) { + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "
 "; + $imap_stream = sqimap_login ($username, $key, $imapServerAddress, $imapPort, 1); + $boxes_all = sqimap_mailbox_list_all ($imap_stream); + + $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; + } + } + if ($use_folder == true) { + $box[$q] = $boxes_all[$i]["unformatted-dm"]; + $box2[$q] = $boxes_all[$i]["unformatted-disp"]; + $q++; + } + } + sqimap_logout($imap_stream); + + if ($box && $box2) { + echo "
\n"; + echo "
"; + echo "\n"; + echo "

\n"; + } else { + echo _("No folders were found to subscribe to!") . ""; + } + + do_hook("folders_bottom"); + sqimap_logout($imapConnection); ?> - \ No newline at end of file +