2
/////////////////////////////////////////////////////////
4
// source/edit_folders.php
6
// (C)Copyright 2000-2002 Ryo Chijiiwa <Ryo@IlohaMail.org>
8
// This file is part of IlohaMail.
9
// IlohaMail is free software released under the GPL
10
// license. See enclosed file COPYING for details,
11
// or see http://www.fsf.org/copyleft/gpl.html
13
/////////////////////////////////////////////////////////
15
/********************************************************
17
AUTHOR: Ryo Chijiiwa <ryo@ilohamail.org>
18
FILE: source/edit_folders.php
20
Provide functionality to create/delete/rename folders
24
Modify to detect and allow for hierarchy delimiters other than '/'.
26
********************************************************/
28
function decodePath($path, $delimiter){
29
$parts=explode($delimiter, $path);
30
while (list($key, $part)=each($parts)){
31
$parts[$key]=urldecode($part);
33
$path=implode($delimiter, $parts);
38
function encodePath($path, $delimiter){
39
$parts=explode($delimiter, $path);
40
while (list($key, $part)=each($parts)){
41
$parts[$key]=urlencode($part);
42
//echo "Encoded $part as ".$parts[$key]." <br>\n";
44
$path=implode($delimiter, $parts);
49
function prependRootdir($rootdir, $folder, $delim){
50
if (empty($rootdir)) return $folder;
52
$pos = strpos($folder, $rootdir);
53
if (($pos!==false) && ($pos==0)) return $folder;
54
else return $rootdir.($rootdir[strlen($rootdir)-1]!=$delim?$delim:"").$folder;
57
include("../include/super2global.inc");
58
include("../include/header_main.inc");
59
include("../include/icl.inc");
60
include("../include/cache.inc");
61
include("../lang/".$my_prefs["lang"]."defaultFolders.inc");
62
include("../lang/".$my_prefs["lang"]."edit_folders.inc");
64
$conn = iil_Connect($host, $loginID, $password, $AUTH_MODE);
68
echo "\n<table width=\"100%\" cellpadding=2 cellspacing=0><tr bgcolor=\"".$my_colors["main_head_bg"]."\">\n";
69
echo "<td align=left valign=bottom>\n";
70
echo "<span class=\"bigTitle\">".$efStrings[0]."</span>\n";
73
$hDelimiter = iil_C_GetHierarchyDelimiter($conn);
79
/********* Handle New Folder *******/
80
if (isset($newfolder)){
81
// prepend folder path with rootdir as necessary
82
$newfolder = prependRootdir($my_prefs["rootdir"], $newfolder, $hDelimiter);
86
//$newfolder=encodePath($newfolder, $hDelimiter);
87
if (iil_C_CreateFolder($conn, $newfolder)){
88
iil_C_Subscribe($conn, $newfolder);
89
$error=$errors[0].$unencNF;
92
$error=$errors[1].$unencNF."<br>".$conn->error;
95
/************************/
97
/********* Handle Delete Folder ********/
99
//make sure it's unsubscribed
100
iil_C_UnSubscribe($conn, $delmenu);
103
$unencDF=decodePath($delmenu, $hDelimiter);
104
if ((empty($defaults[$unencDF])) && (iil_C_DeleteFolder($conn, decodePath($delmenu, $hDelimiter)))){
105
$error=$errors[2].$unencDF;
108
$error=$errors[3].$unencDF;
111
/***************************/
113
/********* Handle Rename Folder ********/
114
if ((isset($newname)) &&(isset($oldname))){
115
//make sure it's unsubscribed
116
iil_C_UnSubscribe($conn, $oldname);
119
//prepend with rootdir as necessary
120
$newname = prependRootdir($my_prefs["rootdir"], $newname, $hDelimiter);
124
$str=decodePath($oldname, $hDelimiter)." --> $unencNF";
125
if ((empty($defaults[$unencNF])) && (iil_C_RenameFolder($conn, decodePath($oldname, $hDelimiter), $newname))) {
126
$error=$errors[4].$str;
129
$error=$errors[5].$str;
132
/***************************/
134
/********* Handle subscribe ********/
135
if ((isset($subscribe)) && (is_array($sub_folders))){
136
while (list($k,$folder)=each($sub_folders)){
137
iil_C_Subscribe($conn, $folder);
141
/***************************/
143
/********* Handle unsubscribe ********/
144
if ((isset($unsubscribe)) && (is_array($unsub_folders))){
145
while (list($k,$folder)=each($unsub_folders)){
146
if (empty($defaults[$folder])) iil_C_UnSubscribe($conn, $folder);
150
/***************************/
152
echo "<tr bgcolor=\"".$my_colors["main_bg"]."\"><td>";
155
//check if folder support is available
156
if (!$ICL_CAPABILITY["folders"]) $error .= $errors[6];
159
echo "<font color=green>".$error."</font>";
160
echo "<script> parent.list1.location=\"folders.php?user=$user\"; </script>\n";
161
cache_clear($loginID, $host, "folders");
163
echo "<font color=red>".$error."</font>";
166
echo "</body></html>";
172
$mailboxes = iil_C_ListMailboxes($conn, $my_prefs["rootdir"], "*");
173
if ($mailboxes) sort($mailboxes);
175
//get subscribed folders...
176
$subscribed = iil_C_ListSubscribed($conn, $my_prefs["rootdir"], "*");
177
if (($subscribed) && (count($subscribed)>0)){
179
$unsubscribed = array_diff($mailboxes, $subscribed);
181
echo "Error fetching subscribed folders: ".$conn->error."<br>";
185
/********* Show Create ********/
186
echo "<form method=\"POST\">\n";
187
echo "<b>".$efStrings[1]."</b><br>\n";
188
echo "<input type=\"hidden\" name=\"user\" value=\"".$user."\">\n";
190
echo "\n<input type=text name=newfolder size=20>\n";
191
echo "<input type=submit value=\"".$efStrings[3]."\">";
194
/********* Show Delete Folder *******/
195
echo "<form method=\"POST\">\n";
196
echo "<b>$efStrings[4]</b>\n<br>";
197
echo "<input type=\"hidden\" name=\"user\" value=\"".$user."\">\n";
198
echo "<select name=delmenu>\n";
199
FolderOptions2($mailboxes, "");
201
echo "<input type=submit name=delete value=\"".$efStrings[5]."\">\n</form>\n";
202
/************************/
204
/********* Show Rename Folder *******/
205
echo "<form method=\"POST\">\n";
206
echo "<b>$efStrings[6]</b><br>\n";
207
echo "<input type=\"hidden\" name=\"user\" value=\"".$user."\">\n";
208
echo "<select name=\"oldname\">\n";
209
FolderOptions2($mailboxes, "");
211
echo "--><input type=\"text\" name=\"newname\">\n";
212
echo "<input type=submit name=rename value=\"".$efStrings[7]."\">\n";
214
/************************/
216
/********* Show Subscribe Folder *******/
217
echo "<form method=\"POST\">\n";
218
echo "<table><tr>\n";
219
echo "<td valign=\"top\">\n";
220
echo "<b>$efStrings[10]</b><br>\n";
221
echo "<input type=\"hidden\" name=\"user\" value=\"".$user."\">\n";
222
echo "<select name=\"sub_folders[]\" MULTIPLE sizse=10>\n";
223
FolderOptions2($unsubscribed, "");
225
echo "<br><input type=submit name=subscribe value=\"".$efStrings[9]."\">\n";
228
echo "<td valign=\"top\">\n";
229
echo "<b>$efStrings[8]</b><br>\n";
230
echo "<input type=\"hidden\" name=\"user\" value=\"".$user."\">\n";
231
echo "<select name=\"unsub_folders[]\" MULTIPLE sizse=10>\n";
232
FolderOptions2($subscribed, "");
234
echo "<br><input type=submit name=unsubscribe value=\"".$efStrings[11]."\">\n";
238
echo "</tr></table>\n";
241
/************************/
243
echo "<br> <br> \n";
244
echo "</td></tr></table>";
246
//echo "successful: $mbox ";
b'\\ No newline at end of file'