X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Ffolders_create.php;h=08bc1928b581c670faeb10856c9bcb3b64870823;hp=a28e2248a837e7126d385cb4d871c75a73bdb763;hb=8650e9e14aaea9a02c0967991b638ab1adfae9fd;hpb=c6ee68f5696d0e18245999ebe9189015f9add2da diff --git a/src/folders_create.php b/src/folders_create.php index a28e2248..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. @@ -12,25 +12,41 @@ * $Id$ */ -require_once('../src/validate.php'); -require_once('../functions/imap.php'); -require_once('../functions/display_messages.php'); +/* Path for SquirrelMail required files. */ +define('SM_PATH','../'); -$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); -global $delimiter; +/* SquirrelMail required files. */ +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'); + +/* 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")) { - echo ""; - plain_error_message(_("Illegal folder name. Please select a different name.")."
"._("Click here to go back").".", $color); - sqimap_logout($imapConnection); +if (substr_count($folder_name, '"') || substr_count($folder_name, "\\") || + substr_count($folder_name, $delimiter) || ($folder_name == '')) { + displayPageHeader($color, 'None'); + + 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)) { @@ -43,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); + ?>