6 * Copyright (c) 1999-2002 The SquirrelMail Project Team
7 * Licensed under the GNU GPL. For full terms see the file COPYING.
9 * Creates folders on the IMAP server.
10 * Called from folders.php
15 /* Path for SquirrelMail required files. */
16 define('SM_PATH','../');
18 /* SquirrelMail required files. */
19 require_once(SM_PATH
. 'include/validate.php');
20 require_once(SM_PATH
. 'functions/imap.php');
21 require_once(SM_PATH
. 'functions/display_messages.php');
23 /* get globals we may need */
25 $username = $_SESSION['username'];
26 $key = $_COOKIE['key'];
27 $delimiter = $_SESSION['delimiter'];
28 $onetimepad = $_SESSION['onetimepad'];
29 $folder_name = $_POST['folder_name'];
30 $subfolder = $_POST['subfolder'];
31 if (isset($_POST['contain_subs'])) {
32 $contain_subs = $_POST['contain_subs'];
35 /* end of get globals */
37 $folder_name = trim($folder_name);
39 if (substr_count($folder_name, '"') ||
substr_count($folder_name, "\\") ||
40 substr_count($folder_name, $delimiter) ||
($folder_name == '')) {
41 displayPageHeader($color, 'None');
43 plain_error_message(_("Illegal folder name. Please select a different name.").
44 '<BR><A HREF="../src/folders.php">'._("Click here to go back").'</A>.', $color);
49 $folder_name = imap_utf7_encode_local($folder_name);
51 if (isset($contain_subs) && $contain_subs ) {
52 $folder_name = $folder_name . $delimiter;
55 if ($folder_prefix && (substr($folder_prefix, -1) != $delimiter)) {
56 $folder_prefix = $folder_prefix . $delimiter;
58 if ($folder_prefix && (substr($subfolder, 0, strlen($folder_prefix)) != $folder_prefix)){
59 $subfolder_orig = $subfolder;
60 $subfolder = $folder_prefix . $subfolder;
62 $subfolder_orig = $subfolder;
65 $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
67 if (trim($subfolder_orig) == '') {
68 sqimap_mailbox_create ($imapConnection, $folder_prefix.$folder_name, '');
70 sqimap_mailbox_create ($imapConnection, $subfolder.$delimiter.$folder_name, '');
73 sqimap_logout($imapConnection);
75 $location = get_location();
76 header ("Location: $location/folders.php?success=create");