X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Ffolders_subscribe.php;h=d7487b51f888ef2be69a46974cceba2b9de228bc;hb=95dcee50e4d7ffe1d0b686377042ff3b735bc81c;hp=a4141fda198180ac8dd00b60113163091946b282;hpb=2a833d7253739cb67eb69aa760f7b37fe7aedd8c;p=squirrelmail.git diff --git a/src/folders_subscribe.php b/src/folders_subscribe.php index a4141fda..d7487b51 100644 --- a/src/folders_subscribe.php +++ b/src/folders_subscribe.php @@ -1,45 +1,88 @@

"; - if ($method == "sub") { - echo _("Subscribed Successfully!"); - echo "

"; - echo _("You have been successfully subscribed."); - } else { - echo _("Unsubscribed Successfully!"); - echo "

"; - echo _("You have been successfully unsubscribed."); - } - echo "
"; - echo _("Click here"); - echo " "; - echo _("to continue."); - echo "
"; - echo ""; -?> +/** + * folders_subscribe.php + * + * Copyright (c) 1999-2002 The SquirrelMail Project Team + * Licensed under the GNU GPL. For full terms see the file COPYING. + * + * Subscribe and unsubcribe form folders. + * Called from folders.php + * + * $Id$ + */ + +/* Path for SquirrelMail required files. */ +define('SM_PATH','../'); + +/* SquirrelMail required files. */ +require_once(SM_PATH . 'include/validate.php'); +require_once(SM_PATH . 'functions/imap.php'); +require_once(SM_PATH . 'functions/display_messages.php'); + +/* globals */ +$username = $_SESSION['username']; +$key = $_COOKIE['key']; +$onetimepad = $_SESSION['onetimepad']; + +$method = $_GET['method']; +$mailbox = $_POST['mailbox']; + +/* end globals */ + +$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); + +$location = get_location(); + +if (!isset($mailbox) || !isset($mailbox[0]) || $mailbox[0] == "") { + header("Location: $location/folders.php"); + sqimap_logout($imapConnection); + exit(0); +} + +if ($method == 'sub') { + if($no_list_for_subscribe && $imap_server_type == 'cyrus') { + /* Cyrus, atleast, does not typically allow subscription to + * nonexistent folders (this is an optional part of IMAP), + * lets catch it here and report back cleanly. */ + if(!sqimap_mailbox_exists($imapConnection, $mailbox[0])) { + header("Location: $location/folders.php?success=subscribe-doesnotexist"); + sqimap_logout($imapConnection); + exit(0); + } + } + + for ($i=0; $i < count($mailbox); $i++) { + $mailbox[$i] = trim($mailbox[$i]); + sqimap_subscribe ($imapConnection, $mailbox[$i]); + header("Location: $location/folders.php?success=subscribe"); + } +} else { + for ($i=0; $i < count($mailbox); $i++) { + $mailbox[$i] = trim($mailbox[$i]); + sqimap_unsubscribe ($imapConnection, $mailbox[$i]); + header("Location: $location/folders.php?success=unsubscribe"); + } +} +sqimap_logout($imapConnection); + +/* +displayPageHeader($color, 'None'); +echo "


"; +if ($method == "sub") { + echo _("Subscribed Successfully!"); + echo "

"; + echo _("You have been successfully subscribed."); +} else { + echo _("Unsubscribed Successfully!"); + echo "

"; + echo _("You have been successfully unsubscribed."); +} +echo "
"; +echo _("Click here"); +echo " "; +echo _("to continue."); +echo "
"; +echo ""; +*/ +?>