d15927cbf0bc6e2ce0addac7a1ef787caf2d3d69
[squirrelmail.git] / src / folders_create.php
1 <?php
2
3 /**
4 * folders_create.php
5 *
6 * Copyright (c) 1999-2002 The SquirrelMail Project Team
7 * Licensed under the GNU GPL. For full terms see the file COPYING.
8 *
9 * Creates folders on the IMAP server.
10 * Called from folders.php
11 *
12 * $Id$
13 */
14
15 /* Path for SquirrelMail required files. */
16 define('SM_PATH','../');
17
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');
22
23 /* get globals we may need */
24
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'];
33 }
34
35 /* end of get globals */
36
37 $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
38
39 $folder_name = trim($folder_name);
40
41 if (substr_count($folder_name, "\"") || substr_count($folder_name, "\\") ||
42 substr_count($folder_name, "'") || substr_count($folder_name, "$delimiter") ||
43 ($folder_name == '')) {
44 displayPageHeader($color, 'None');
45
46 plain_error_message(_("Illegal folder name. Please select a different name.")."<BR><A HREF=\"../src/folders.php\">"._("Click here to go back")."</A>.", $color);
47 sqimap_logout($imapConnection);
48 exit;
49 }
50
51 if (isset($contain_subs) && $contain_subs ) {
52 $folder_name = "$folder_name$delimiter";
53 }
54
55 if ($folder_prefix && (substr($folder_prefix, -1) != $delimiter)) {
56 $folder_prefix = $folder_prefix . $delimiter;
57 }
58 if ($folder_prefix && (substr($subfolder, 0, strlen($folder_prefix)) != $folder_prefix)){
59 $subfolder_orig = $subfolder;
60 $subfolder = $folder_prefix . $subfolder;
61 } else {
62 $subfolder_orig = $subfolder;
63 }
64
65 if (trim($subfolder_orig) == '') {
66 sqimap_mailbox_create ($imapConnection, $folder_prefix.$folder_name, '');
67 } else {
68 sqimap_mailbox_create ($imapConnection, $subfolder.$delimiter.$folder_name, '');
69 }
70
71 $location = get_location();
72 header ("Location: $location/folders.php?success=create");
73 sqimap_logout($imapConnection);
74 ?>