X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Ffolders_create.php;h=08bc1928b581c670faeb10856c9bcb3b64870823;hb=707ad8a0985554d05fb4f51b9d46f9debf1e00aa;hp=3a5da96008baa2117b71f097e977870a3c21499b;hpb=8672576304f4da444b9b1e0e4ca81505af0267ec;p=squirrelmail.git diff --git a/src/folders_create.php b/src/folders_create.php index 3a5da960..08bc1928 100644 --- a/src/folders_create.php +++ b/src/folders_create.php @@ -3,7 +3,7 @@ /** * folders_create.php * - * Copyright (c) 1999-2002 The SquirrelMail Project Team + * Copyright (c) 1999-2003 The SquirrelMail Project Team * Licensed under the GNU GPL. For full terms see the file COPYING. * * Creates folders on the IMAP server. @@ -16,27 +16,37 @@ define('SM_PATH','../'); /* SquirrelMail required files. */ -require_once(SM_PATH . 'src/validate.php'); +require_once(SM_PATH . 'include/validate.php'); +require_once(SM_PATH . 'functions/global.php'); require_once(SM_PATH . 'functions/imap.php'); require_once(SM_PATH . 'functions/display_messages.php'); -$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); -global $delimiter; +/* get globals we may need */ +sqgetGlobalVar('key', $key, SQ_COOKIE); +sqgetGlobalVar('username', $username, SQ_SESSION); +sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION); +sqgetGlobalVar('delimiter', $delimiter, SQ_SESSION); +sqgetGlobalVar('folder_name', $folder_name, SQ_POST); +sqgetGlobalVar('subfolder', $subfolder, SQ_POST); +sqgetGlobalVar('contain_subs', $contain_subs, SQ_POST); +/* end of get globals */ $folder_name = trim($folder_name); -if (strpos($folder_name, "\"") || strpos($folder_name, "\\") || - strpos($folder_name, "'") || strpos($folder_name, "$delimiter") || - ($folder_name == '')) { +if (substr_count($folder_name, '"') || substr_count($folder_name, "\\") || + substr_count($folder_name, $delimiter) || ($folder_name == '')) { displayPageHeader($color, 'None'); - echo ""; - plain_error_message(_("Illegal folder name. Please select a different name.")."
"._("Click here to go back").".", $color); - sqimap_logout($imapConnection); + + plain_error_message(_("Illegal folder name. Please select a different name."). + '
'._("Click here to go back").'.', $color); + exit; } +$folder_name = imap_utf7_encode_local($folder_name); + if (isset($contain_subs) && $contain_subs ) { - $folder_name = "$folder_name$delimiter"; + $folder_name = $folder_name . $delimiter; } if ($folder_prefix && (substr($folder_prefix, -1) != $delimiter)) { @@ -49,13 +59,17 @@ if ($folder_prefix && (substr($subfolder, 0, strlen($folder_prefix)) != $folder_ $subfolder_orig = $subfolder; } +$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); + if (trim($subfolder_orig) == '') { sqimap_mailbox_create ($imapConnection, $folder_prefix.$folder_name, ''); } else { sqimap_mailbox_create ($imapConnection, $subfolder.$delimiter.$folder_name, ''); } +sqimap_logout($imapConnection); + $location = get_location(); header ("Location: $location/folders.php?success=create"); -sqimap_logout($imapConnection); + ?>