function CreateMBX($uid, $MailBoxMaxSize = 0) { $cyrus = new cyrus(); if (!$cyrus->MailBoxExists($uid)) { build_progress("Check privileges...", 10); if (!checkrights($uid, $MailBoxMaxSize)) { build_progress("{error_creating_mailbox}", 110); return; } build_progress("{create_mailbox2}", 50); if (!$cyrus->CreateMailbox($uid, 1, 50)) { build_progress("{error_creating_mailbox}", 110); return; } build_progress("Building privileges", 80); $cyrus = new cyrus(); $cyrus->CreateACLS($uid); build_progress("{success}", 100); echo $cyrus->cyrus_infos . "\n"; return; } build_progress("Building privileges", 80); $cyrus = new cyrus(); $cyrus->CreateACLS($uid); build_progress("{$uid}: {mailbox_already_exists} {success}", 100); }
function page() { $uid = $_GET["uid"]; $uidenc = urlencode($uid); $users = new usersMenus(); $page = CurrentPageName(); $RealMailBox = false; $tpl = new templates(); $page = CurrentPageName(); $user = new user($uid); $t = time(); $cyr = new cyrus(); if ($GLOBALS["VERBOSE"]) { echo "<H1> cyrus ( ) -> IfMailBoxExists({$uid})</H1>\n"; } $RealMailBox = $cyr->IfMailBoxExists($uid); if (!$RealMailBox) { if (preg_match("#Authentication failed#i", $cyr->cyrus_infos)) { echo USER_MAILBOX_AUTHENTICATION_FAILED($uid, nl2br($cyr->cyrus_infos)); return; } echo USER_MAILBOX_NONEXISTENT($uid, nl2br($cyr->cyrus_infos)); $no_mailbox = "<p class=caption style='color:#d32d2d'>{user_no_mailbox} !!</p>"; return; } if ($user->MailboxActive == 'TRUE') { $MailboxActive = 1; $cyrus = new cyrus(); $res = $cyrus->get_quota_array($uid); $size = $cyrus->MailboxInfosSize($uid); $orgfree = $cyrus->USER_STORAGE_LIMIT - $cyrus->USER_STORAGE_USAGE; $free = FormatBytes($orgfree); if ($cyrus->MailBoxExists($uid)) { $graph1 = InsertChart('js/charts.swf', "js/charts_library", "listener.graphs.php?USER_STORAGE_USAGE={$cyrus->USER_STORAGE_USAGE}&STORAGE_LIMIT={$cyrus->USER_STORAGE_LIMIT}&FREE={$orgfree}", 200, 167, "", true, $users->ChartLicence); } else { $graph1 = "<H3>{no_mailbox_user}</H3>"; } $mailboxInfos = "<div>\n\t\t\t<i>" . FormatBytes($cyrus->USER_STORAGE_USAGE) . "/" . FormatBytes($cyrus->USER_STORAGE_LIMIT) . "<br>\n\t\t\t({$free} {free})</i><br><strong>" . FormatBytes($size) . " used</strong>\n\t\t\t </div>"; } $export_mailbox = $tpl->_ENGINE_parse_body('{export_mailbox}'); $import_mailbox = $tpl->_ENGINE_parse_body('{import_mailbox}'); if (strlen($import_mailbox) > strlen($export_mailbox)) { $import_mailbox = substr($import_mailbox, 0, strlen($export_mailbox) - 3) . "..."; } //sudo -u cyrusimap /usr/bin/cyrus/bin/reconstruct -r -f user/shortname $tr[] = button("{repair_mailbox}", "Loadjs('domains.edit.user.php?script=repair_mailbox&uid={$uidenc}');", 18, 286); $tr[] = button("{export_mailbox}", "Loadjs('domains.edit.user.php?script=export_script&uid={$uidenc}');", 18, 286); $tr[] = button("{empty_this_mailbox}", "Loadjs('domains.edit.user.empty.mailbox.php?&userid={$uidenc}');", 18, 286); $tr[] = button("{delete_this_mailbox}", "Loadjs('domains.edit.user.php?script=delete_mailbox&uid={$uidenc}');", 18, 286); while (list($key, $line) = each($tr)) { $buttons = $buttons . "\n\t<tr>\n\t\t<td><center style='margin-bottom:15px'>{$line}</center></td>\n\t</tr>\t\t\n\t\t\t\n\t"; } if (!$RealMailBox) { $buttons = null; } $priv = new usersMenus(); $ini = new Bs_IniHandler(); $ini->loadString($user->MailboxSecurityParameters); $button = "\n \t<tr>\n \t\t<td colspan=2 align='right'>\n \t\t<hr>\n \t\t" . button("{apply}", "Save{$t}()", 26) . "\n \t\t</td>\n \t</tr>\n \t"; if ($priv->AllowAddUsers == false) { $button = null; $img_left_mbx = "<img src='img/folder-mailbox-96.png'>"; } $subtitle = "{user_quota}"; $main_graph = "<div style='border:1px solid #005447;padding:5px;margin:3px'><span id='mailbox_graph'>{$graph1}</span></div>"; if ($user->MailBoxMaxSize == 0) { $subtitle = "<i>{user_has_no_quota}</i>"; $graph1 = null; $mailboxInfos = "<strong>" . FormatBytes($size) . " used</strong>"; $mailboxInfos = null; $main_graph = null; } if ($ldap->ldap_last_error != null) { return nl2br($ldap->ldap_last_error); } $ADDisable = 0; if ($priv->EnableManageUsersTroughActiveDirectory) { $ADDisable = 1; $button = null; } if ($subtitle != null) { $subtitle = "<p class=explain style='font-size:16px'>{$subtitle}</p>"; } $html = "\n<div id='usermailboxformdiv'>\n<table style='width:100%'>\n<form name='FFUserMailBox'>\n<input type='hidden' name='UserMailBoxEdit' value='{$uid}'>\n<table style='width:100%'>\n<tr>\t\n\t<td valign='top' style='width:288px'><table style='width:100%'>{$buttons}</table></td>\n\t<td valign='top'>\n<table style='width:100%'>\n\t<tr>\n\t\t<td colspan=3>\n\t\t\t<div style='font-size:30px;margin-bottom:20px'>{mailbox} {mailbox account}: {$uid}</div>{$mailboxInfo}\n\t\t</td>\n\t</tr>\n\t\t<td class=legend style='font-size:18px' class=legend>{MailboxActive}</td>\n\t\t<td>" . Field_checkbox_design("MailboxActive-{$t}", 1, $MailboxActive) . "</td>\n\t\t<td> </td>\n\t</tr>\n\t<tr>\n\t\t<td align='right' nowrap class=legend valign='middle' \n\t\t\tstyle='vertical-align:middle;font-size:18px'>{mailbox quota}:</td>\n\t\t<td style='font-size:18px'>" . Field_text('MailBoxMaxSize', $user->MailBoxMaxSize, 'width:95px;font-size:18px') . " MB</td>\n\t\t<td align='left'>" . help_icon($mailboxInfos, true) . "</td>\n\t</tr>\n\t<tr>\n\t<td colspan=3>{$subtitle}</td>\n\t</tr>\n\t<tr>\n\t<td colspan=3><div style='font-size:30px;margin-bottom:20px'>{mailbox_priv}</div></td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='text-align:rigth;font-size:18px'>{mplt}:</td>\n\t\t<td>" . Field_checkbox_design("mp_l-{$t}", 1, $ini->_params["mailbox"]["l"], null, '{mpl}') . "</td>\n\t\t<td> </td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend nowrap style='text-align:rigth;font-size:18px'>{mprt}:</td>\n\t\t<td>" . Field_checkbox_design("mp_r-{$t}", 1, $ini->_params["mailbox"]["r"], null, '{mpr}') . "</td>\n\t\t<td> </td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend nowrap style='text-align:rigth;font-size:18px'>{mpst}:</td>\n\t\t<td>" . Field_checkbox_design("mp_s-{$t}", 1, $ini->_params["mailbox"]["s"], null, '{mps}') . "</td>\n\t\t<td> </td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend nowrap style='text-align:rigth;font-size:18px'>{mpwt}:</td>\n\t\t<td>" . Field_checkbox_design("mp_w-{$t}", 1, $ini->_params["mailbox"]["w"], null, '{mpw}') . "</td>\n\t\t<td> </td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend nowrap style='text-align:rigth;font-size:18px'>{mpit}:</td>\n\t\t<td>" . Field_checkbox_design("mp_i-{$t}", 1, $ini->_params["mailbox"]["i"], null, '{mpi}') . "</td>\n\t\t<td> </td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend nowrap style='text-align:rigth;font-size:18px'>{mppt}:</td>\n\t\t<td>" . Field_checkbox_design("mp_p-{$t}", 1, $ini->_params["mailbox"]["p"], null, '{mpp}') . "</td>\n\t\t<td> </td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend nowrap style='text-align:rigth;font-size:18px'>{mpct}:</td>\n\t\t<td>" . Field_checkbox_design("mp_c-{$t}", 1, $ini->_params["mailbox"]["c"], null, '{mpc}') . "</td>\n\t\t<td> </td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend nowrap style='text-align:rigth;font-size:18px'>{mpdt}:</td>\n\t\t<td>" . Field_checkbox_design("mp_d-{$t}", 1, $ini->_params["mailbox"]["d"], null, '{mpd}') . "</td>\n\t\t<td> </td>\n\t</tr>\n\t<tr>\n\t<td class=legend nowrap style='text-align:rigth;font-size:18px'><strong>{mpat}</strong>:</td>\n\t<td>" . Field_checkbox_design("mp_a-{$t}", 1, $ini->_params["mailbox"]["a"], null, '{mpa}') . "</td>\n\t<td> </td>\n\t</tr>\n\t<tr>\n\t\t<td colspan=3 align='right'>{$button}</td>\n\t</tr>\n\t</table>\n</td>\n</tr>\n</table>\n<p> </p>\n\n{$main_graph}\n\n<script>\n\tvar xSave{$t}= function (obj) {\n\t\tvar MailBoxMaxSize='0';\n\t\tvar tempvalue=obj.responseText;\n\t\tif(document.getElementById('MailBoxMaxSize')){\n\t\t\tvar MailBoxMaxSize=document.getElementById('MailBoxMaxSize').value;\n\t\t}\n\t\tif(tempvalue.length>3){\n\t\t\t\n\t\t\treturn;\n\t\t}\n\t\tLoadjs('domains.edit.user.create.mbx.php?uid={$uidenc}&MailBoxMaxSize='+MailBoxMaxSize);\n\t}\t\t\n\n\tfunction Save{$t}(){\n\t\t\n\t\tvar mp_l=1;\n\t\tvar mp_r=1;\n\t\tvar mp_s=1;\n\t\tvar mp_w=1;\n\t\tvar mp_i=1;\n\t\tvar mp_p=1;\n\t\tvar mp_c=1;\n\t\tvar mp_d=1;\n\t\tvar mp_a=1;\n\t\tvar XHR = new XHRConnection();\n\t\tXHR.appendData('Save','{$uid}');\n\t\tif(document.getElementById('MailboxActive-{$t}').checked){XHR.appendData('MailboxActive','TRUE');}else{XHR.appendData('MailboxActive','FALSE');}\n\t\tXHR.appendData('MailBoxMaxSize',document.getElementById('MailBoxMaxSize').value);\n\t\tif(document.getElementById('mp_l-{$t}').checked){mp_l=1;}else{mp_l=0;}\n\t\tif(document.getElementById('mp_r-{$t}').checked){mp_r=1;}else{mp_r=0;}\n\t\tif(document.getElementById('mp_s-{$t}').checked){mp_s=1;}else{mp_s=0;}\n\t\tif(document.getElementById('mp_w-{$t}').checked){mp_w=1;}else{mp_w=0;}\n\t\tif(document.getElementById('mp_i-{$t}').checked){mp_i=1;}else{mp_i=0;}\n\t\tif(document.getElementById('mp_p-{$t}').checked){mp_p=1;}else{mp_p=0;}\n\t\tif(document.getElementById('mp_c-{$t}').checked){mp_c=1;}else{mp_c=0;}\n\t\tif(document.getElementById('mp_d-{$t}').checked){mp_d=1;}else{mp_d=0;}\n\t\tif(document.getElementById('mp_a-{$t}').checked){mp_a=1;}else{mp_a=0;}\t\n\t\t\n\t\tXHR.appendData('mp_l',mp_l);\n\t\tXHR.appendData('mp_r',mp_r);\n\t\tXHR.appendData('mp_s',mp_s);\n\t\tXHR.appendData('mp_w',mp_w);\n\t\tXHR.appendData('mp_i',mp_i);\n\t\tXHR.appendData('mp_p',mp_p);\n\t\tXHR.appendData('mp_c',mp_c);\n\t\tXHR.appendData('mp_d',mp_d);\n\t\tXHR.appendData('mp_a',mp_a);\n\t\t\n\t\t\n\t\tXHR.sendAndLoad('{$page}', 'POST',xSave{$t});\t\n\t}\n\t\t\t\t\t\t\t\n</script>\n"; echo $tpl->_ENGINE_parse_body($html); }
function CreateMBX() { $tpl = new templates(); $uid = $_GET["CreateMBX"]; $cyrus = new cyrus(); if (!$cyrus->MailBoxExists($uid)) { echo $tpl->_ENGINE_parse_body("{$uid}: {$cyrus->cyrus_infos}"); $cyrus->CreateMailbox($uid, 1); echo $tpl->_ENGINE_parse_body($cyrus->cyrus_infos); } else { echo $tpl->_ENGINE_parse_body("{$uid}: {mailbox_already_exists}\n"); } }
function rebuild_all_mailboxes($ou_encoded) { if (!Build_pid_func(__FILE__, "rebuild_all_mailboxes_{$ou_encoded}")) { rebuild_all_mailboxes_events("Already executed", $ou_encoded); return; } $ldap = new clladp(); $filter = "(&(objectClass=userAccount)(|(cn=*)(mail=*)))"; $attrs = array("displayName", "uid", "mail", "givenname", "telephoneNumber", "title", "sn", "mozillaSecondEmail", "employeeNumber"); $dn = "ou=" . base64_decode($ou_encoded) . ",dc=organizations,{$ldap->suffix}"; $hash = $ldap->Ldap_search($dn, $filter, $attrs); $number = $hash["count"]; rebuild_all_mailboxes_events("{$number} user(s) in {$dn}", $ou_encoded); for ($i = 0; $i < $number; $i++) { $userARR = $hash[$i]; $uid = $userARR["uid"][0]; $ct = new user($uid); if (strpos($uid, '$') > 0) { rebuild_all_mailboxes_events("{$ct->DisplayName} SKIP {computer}=TRUE", $ou_encoded); continue; } if ($ct->MailboxActive != 'TRUE') { rebuild_all_mailboxes_events("{$ct->DisplayName} SKIP MailboxActive=FALSE", $ou_encoded); continue; } $cyrus = new cyrus(); if ($cyrus->MailBoxExists($uid)) { rebuild_all_mailboxes_events("[{$number}/{$i}]:: {$uid}: {mailbox_already_exists}", $ou_encoded); continue; } $cyrus->CreateMailbox($uid); rebuild_all_mailboxes_events("[{$number}/{$i}]::{$uid}: {$cyrus->cyrus_infos}", $ou_encoded); } rebuild_all_mailboxes_events("{success}", $ou_encoded); }
function USER_MAILBOX($uid) { $users = new usersMenus(); if ($users->ZARAFA_INSTALLED) { return ZARAFA_MAILBOX($uid); } $page = CurrentPageName(); $RealMailBox = false; $page = CurrentPageName(); $user = new user($uid); $cyr = new cyrus(); $sock = new sockets(); $tpm = $sock->getfile('MbxStat:' . $uid); if (preg_match('#TRUE#', $tpm)) { $RealMailBox = true; } if (!$RealMailBox) { return USER_MAILBOX_NONEXISTENT($uid); $no_mailbox = "<p class=caption style='color:red'>{user_no_mailbox} !!</p>"; } if ($user->MailboxActive == 'TRUE') { $cyrus = new cyrus(); $res = $cyrus->get_quota_array($uid); $size = $cyrus->MailboxInfosSize($uid); $orgfree = $cyrus->USER_STORAGE_LIMIT - $cyrus->USER_STORAGE_USAGE; $free = FormatBytes($orgfree); if ($cyrus->MailBoxExists($uid)) { $graph1 = InsertChart('js/charts.swf', "js/charts_library", "listener.graphs.php?USER_STORAGE_USAGE={$cyrus->USER_STORAGE_USAGE}&STORAGE_LIMIT={$cyrus->USER_STORAGE_LIMIT}&FREE={$orgfree}", 200, 167, "", true, $users->ChartLicence); } else { $graph1 = "<H3>{no_mailbox_user}</H3>"; } $mailboxInfos = "<div>\n\t\t\t<i>" . FormatBytes($cyrus->USER_STORAGE_USAGE) . "/" . FormatBytes($cyrus->USER_STORAGE_LIMIT) . "<br>\n\t\t\t ({$free} {free})</i><br><strong>" . FormatBytes($size) . " used</strong>\n\t\t\t </div>"; } $tpl = new templates(); $export_mailbox = $tpl->_ENGINE_parse_body('{export_mailbox}'); $import_mailbox = $tpl->_ENGINE_parse_body('{import_mailbox}'); if (strlen($import_mailbox) > strlen($export_mailbox)) { $import_mailbox = substr($import_mailbox, 0, strlen($export_mailbox) - 3) . "..."; } //sudo -u cyrusimap /usr/bin/cyrus/bin/reconstruct -r -f user/shortname $repair = "<br>\n <table style='width:100%;border: 1px solid #005447'>\n <tr>\n \t<td coslpan=2><H3 style='color:#005447'>{tools}</H3></td>\n </tr>\n \t<tr " . CellRollOver() . ">\n \t\t\t<td width=99% class=legend nowrap>" . texttooltip('{repair_mailbox}', '{repair_mailbox_text}', "javascript:Loadjs('{$page}?script=repair_mailbox&uid={$uid}');") . "</td>\n\t\t\t\t<td width=1%>" . imgtootltip("icon_roles.gif", '{repair_mailbox_text}', "Loadjs('{$page}?script=repair_mailbox&uid={$uid}');") . "</td> \t\t\t\n \t</tr>\n \t<tr " . CellRollOver() . ">\n \t\t\t<td width=99% class=legend nowrap>" . texttooltip($export_mailbox, '{export_mailbox_text}', "javascript:Loadjs('{$page}?script=export_script&uid={$uid}');") . "</td>\n\t\t\t\t<td width=1%>" . imgtootltip("icon_roles.gif", '{export_mailbox_text}', "Loadjs('{$page}?script=export_script&uid={$uid}');") . "</td> \t\t\t\n \t</tr> \n \t\n\t\t<tr " . CellRollOver() . ">\n \t\t\t<td width=99% class=legend nowrap>" . texttooltip($import_mailbox, '{import_mailbox_text}', "javascript:Loadjs('mailsync.php?uid={$uid}');") . "</td>\n\t\t\t\t<td width=1%>" . imgtootltip("icon_sync.gif", '{export_mailbox_text}', "Loadjs('mailsync.php?uid={$uid}');") . "</td> \t\t\t\n \t</tr> \n \t\n \t<tr " . CellRollOver() . ">\n \t\t\t<td width=99% class=legend nowrap>" . texttooltip('{empty_this_mailbox}', '{empty_this_mailbox_text}', "javascript:Loadjs('domains.edit.user.empty.mailbox.php?&userid={$uid}');") . "</td>\n\t\t\t\t<td width=1%>" . imgtootltip("ed_delete.gif", '{delete_this_mailbox}', "Loadjs('domains.edit.user.empty.mailbox.php?&userid={$uid}');") . "</td> \t\t\t\n \t</tr> \t \t \t\n \t\n \t \t\n \t<tr " . CellRollOver() . ">\n \t\t\t<td width=99% class=legend nowrap>" . texttooltip('{delete_this_mailbox}', '{delete_this_mailbox_text}', "javascript:Loadjs('{$page}?script=delete_mailbox&uid={$uid}');") . "</td>\n\t\t\t\t<td width=1%>" . imgtootltip("ed_delete.gif", '{delete_this_mailbox}', "Loadjs('{$page}?script=delete_mailbox&uid={$uid}');") . "</td> \t\t\t\n \t</tr> \n \t\n \t\n \t\n \t \t\n \t\n \t \t\n </table>"; $img_left_mbx = imgtootltip('folder-mailbox-96.png', "{debug}", "Loadjs('{$page}?debug-mailbox-js={$uid}')"); if (!$RealMailBox) { $repair = null; } $priv = new usersMenus(); $ini = new Bs_IniHandler(); $ini->loadString($user->MailboxSecurityParameters); $button = " \n \t<tr>\n \t\t<td colspan=2 align='right'>\n \t\t<hr>\n \t\t" . button("{change}", "Loadjs('domains.edit.user.create.mbx.php?uid={$uid}')") . "\n \t\t</td>\n \t</tr>\n \t"; if ($priv->AllowAddUsers == false) { $button = null; $img_left_mbx = "<img src='img/folder-mailbox-96.png'>"; } $subtitle = "{user_quota}"; $main_graph = "<div style='border:1px solid #005447;padding:5px;margin:3px'><span id='mailbox_graph'>{$graph1}</span></div>"; if ($user->MailBoxMaxSize == 0) { $subtitle = "{user_has_no_quota}"; $graph1 = null; $mailboxInfos = "<strong>" . FormatBytes($size) . " used</strong>"; $mailboxInfos = null; $main_graph = null; } if ($ldap->ldap_last_error != null) { return nl2br($ldap->ldap_last_error); } $html = "\n \t<table style='width:100%'>\n \t<tr>\n \t<td width=1% valign='top'>{$img_left_mbx}</td>\n \t\t<td>\n\t\t \t<h1>{$user->DisplayName} {mailbox}</h1>\n\t\t \t<form name='FFUserMailBox'>\n\t\t \t<input type='hidden' name='UserMailBoxEdit' value='{$uid}'>\n\t\t \t<table style='width:100%'>\n\t\t \t<tr><td colspan=2>\n\t\t \t\t<H3 style='font-size:18px;color:#005447'>{settings}</h3>\n\t\t \t\t<hr style='border-color:#005447'>\n\t\t \t</td>\n\t\t \t<tr>\n\t\t \t<td valign='top'>\n\t\t \t{$no_mailbox}\n\t\t \t<table style='width:100%'>\n\t\t \t\n\t\t \t<tr>\n\t\t \t\t<td align='right' width=1%>" . Field_TRUEFALSE_checkbox_img('MailboxActive', $user->MailboxActive) . "</td>\n\t\t\t \t<td class=legend style='text-align:left'>{MailboxActive}</td>\t\t\t \t\n\t\t \t</tr>\n\t\t \t<tr>\n\t\t\t \t<td class=legend>{mailbox account}:</td>\n\t\t\t \t<td>{$uid}</td>\n\t\t \t</tr> \t\n\t\t \t<tr>\n\t\t\t \t<td align='right' nowrap class=legend valign='top'>{mailbox quota}:</td>\n\t\t\t \t<td>\n\t\t\t \t\t<table style='width:100%'>\n\t\t\t \t\t\t<tr>\n\t\t\t \t\t\t\t<td width=1% nowrap>" . Field_text('MailBoxMaxSize', $user->MailBoxMaxSize, 'width:45px') . " MB</td>\n\t\t\t \t\t\t\t<td align='left'>" . help_icon($mailboxInfos, true) . "</td>\n\t\t\t \t\t\t</tr>\n\t\t\t \t\t\t<tr>\n\t\t\t \t\t\t<td colspan=2><strong>{$subtitle}</strong></td>\n\t\t\t \t\t\t</tr>\n\t\t\t \t\t\t\n\t\t\t \t\t</table>\n\t\t\t \t</td>\n\t\t \t</tr>\n\t\t \t<tr><td colspan=2><br><H3 style='font-size:18px;color:#005447'>{mailbox_priv}</h3><hr style='border-color:#005447'></td>\n\t\t \t<tr><td colspan=2 align='left'>\n\t\t \t\t\t<table style='width:60%'>\n\t\t \t\t\t\t<tr>\n\t\t\t\t \t\t\t<td class=legend>{mplt}:</td> \n\t\t\t\t \t\t\t<td>" . Field_checkbox('mp_l', 1, $ini->_params["mailbox"]["l"], null, '{mpl}') . "</td>\n\t\t\t \t\t\t</tr> \n\t\t\t \t\t\t<tr>\n\t\t\t\t \t\t\t<td class=legend nowrap>{mprt}:</td>\n\t\t\t\t \t\t\t<td>" . Field_checkbox('mp_r', 1, $ini->_params["mailbox"]["r"], null, '{mpr}') . "</td>\n\t\t\t \t\t\t</tr> \n\t\t\t \t\t\t<tr>\n\t\t\t\t \t\t\t<td class=legend nowrap>{mpst}:</td>\n\t\t\t\t \t\t\t<td>" . Field_checkbox('mp_s', 1, $ini->_params["mailbox"]["s"], null, '{mps}') . "</td>\n\t\t\t \t\t\t</tr> \n\t\t\t \t\t\t<tr>\n\t\t\t\t \t\t\t<td class=legend nowrap>{mpwt}:</td>\n\t\t\t\t \t\t\t<td>" . Field_checkbox('mp_w', 1, $ini->_params["mailbox"]["w"], null, '{mpw}') . "</td>\n\t\t\t \t\t\t</tr> \t\n\t\t\t \t\t\t<tr>\n\t\t\t\t \t\t\t<td class=legend nowrap>{mpit}:</td>\n\t\t\t\t \t\t\t<td>" . Field_checkbox('mp_i', 1, $ini->_params["mailbox"]["i"], null, '{mpi}') . "</td>\n\t\t\t \t\t\t</tr> \t\n\t\t\t \t\t\t<tr>\n\t\t\t\t \t\t\t<td class=legend nowrap>{mppt}:</td>\n\t\t\t\t \t\t\t<td>" . Field_checkbox('mp_p', 1, $ini->_params["mailbox"]["p"], null, '{mpp}') . "</td>\n\t\t\t \t\t\t</tr>\n\t\t\t \t\t\t<tr>\n\t\t\t\t \t\t\t<td class=legend nowrap>{mpct}:</td>\n\t\t\t\t \t\t\t<td>" . Field_checkbox('mp_c', 1, $ini->_params["mailbox"]["c"], null, '{mpc}') . "</td>\n\t\t\t \t\t\t</tr>\t\n\t\t\t \t\t\t<tr>\n\t\t\t\t \t\t\t<td class=legend nowrap>{mpdt}:</td>\n\t\t\t\t \t\t\t<td>" . Field_checkbox('mp_d', 1, $ini->_params["mailbox"]["d"], null, '{mpd}') . "</td>\n\t\t\t \t\t\t</tr>\t\n\t\t\t \t\t\t<tr>\n\t\t\t\t \t\t\t<td class=legend nowrap><strong>{mpat}</strong>:</td>\n\t\t\t\t \t\t\t<td>" . Field_checkbox('mp_a', 1, $ini->_params["mailbox"]["a"], null, '{mpa}') . "</td>\n\t\t\t \t\t\t</tr>\t\t \t\t\t\t \t\t\t\t\t \t\t\t\t\t \t\t\t\t \t\t\t\t \t\t\t\t\t \t\t\t\t\t \t\t\t\n\t\t\t \t\t</table>\n\t\t \t\t</td>\n\t\t \t</tr>\n\t\t \t\n\t\t \t\n\t\t \t\t\t{$button}\n\t\t \t</table>\n\t\t \t</td>\n\t\t \t<td valign='top' class=legend style='border-left:3px solid #005447;padding:5px'>\n\t\t\t\t\t\t{$main_graph}\n \t\t\t\t\t{$mailboxInfos}\n \t\t\t\t\t{$repair}\n \t\t\t</td>\n\t\t \t</table>\n\t\t \t</form></td>\n\t\t </tr>\n\t\t </table>"; $html = "{$html}"; return $tpl->_ENGINE_parse_body($html); }
function ActiveDirectorySync() { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $cache_file = "/etc/artica-postfix/pids/mailboxes.sync.ad.cache"; $sock = new sockets(); $unix = new unix(); $users = new usersMenus(); if (!$users->cyrus_imapd_installed) { echo "Sync client:: Cyrus-imapd is not installed\n"; return; } $CyrusToAD = $sock->GET_INFO("CyrusToAD"); if (!is_numeric($CyrusToAD)) { echo "Sync client:: Connexion to Active Directory is not enabled\n"; return; } if ($CyrusToAD == 0) { echo "Sync client:: Connexion to Active Directory is not enabled\n"; return; } $oldpid = @file_get_contents($pidfile); if ($unix->process_exists($oldpid)) { echo "Sync client:: Already {$oldpid} process executed\n"; return; } @file_put_contents($pidfile, getmypid()); $CyrusToADSyncTime = $sock->GET_INFO("CyrusToADSyncTime"); if (!is_numeric($CyrusToADSyncTime)) { $CyrusToADSyncTime = 10; } if ($CyrusToADSyncTime < 3) { $CyrusToADSyncTime = 3; } if (!$GLOBALS["FORCE"]) { $time = file_time_min($cache_file); if ($time < $CyrusToADSyncTime) { echo "Sync client:: {$time}Mn, need {$CyrusToADSyncTime}Mn, aborting\n"; return; } } @unlink($cache_file); $ldap = new clladp(); $hashUsers = $ldap->Hash_GetALLUsers(); if (!is_array($hashUsers)) { echo "Sync client:: no users\n"; } $failed = 0; while (list($uid, $emailaddr) = each($hashUsers)) { if ($emailaddr == null) { echo "Sync client:: {$uid} skip (no email address set)\n"; continue; } $cyrus = new cyrus(); if ($cyrus->MailBoxExists($uid)) { echo "Sync client:: {$uid} Mailbox already exists\n"; continue; } echo "Sync client:: {$uid} Creating mailbox\n"; if ($cyrus->CreateMailbox($uid)) { $array[$uid] = "OK"; } else { $array[$uid] = "Failed"; $failed++; } } if (count($array) > 0) { while (list($uid, $rr) = each($array)) { $result[] = "{$uid}:{$rr}"; } $unix = new unix(); if ($failed > 0) { $failed_text = " {$failed} failed"; } $unix->send_email_events(count($array) . " new created mailboxes {$failed_text} ", @implode("\n", $result), "mailboxes"); } }
function pie_single_mailbox_user() { $tpl = new Templates(); $users = new usersMenus(); $uid = $_SESSION["uid"]; if ($users->cyrus_imapd_installed == 0) { return null; } $ldap = new clladp(); $hash = $ldap->UserDatas($_SESSION["uid"]); if ($hash["MailboxActive"] != 'TRUE') { return null; } $cyrus = new cyrus(); $res = $cyrus->get_quota_array($uid); $size = $cyrus->MailboxInfosSize($uid); $free = $cyrus->USER_STORAGE_LIMIT - $cyrus->USER_STORAGE_USAGE; if (!$cyrus->MailBoxExists($uid)) { return null; } $USER_STORAGE_USAGE = $cyrus->USER_STORAGE_USAGE; $USER_STORAGE_LIMIT = $cyrus->USER_STORAGE_LIMIT; $FREE = $free; writelogs("USER_STORAGE_USAGE={$USER_STORAGE_USAGE}", __FUNCTION__, __FILE__); writelogs("STORAGE_LIMIT={$USER_STORAGE_LIMIT}", __FUNCTION__, __FILE__); if ($USER_STORAGE_LIMIT == null) { $USER_STORAGE_LIMIT = 1000000; $USER_STORAGE_USAGE = 0; $FREE = $USER_STORAGE_LIMIT; } $USER_STORAGE_RESTANT = $USER_STORAGE_LIMIT - $USER_STORAGE_USAGE; if ($USER_STORAGE_RESTANT > 1) { $reste = round($USER_STORAGE_RESTANT / 1024); $data = array($USER_STORAGE_USAGE, $USER_STORAGE_RESTANT); } else { $data = array($USER_STORAGE_USAGE); } $title = $tpl->_ENGINE_parse_body("{your mailbox usage} ({$reste} mb free)"); writelogs("USER_STORAGE_USAGE={$USER_STORAGE_USAGE} - USER_STORAGE_LIMIT={$USER_STORAGE_LIMIT} FREE={$FREE}", __FUNCTION__, __FILE__); $date = date('Y-m-d'); $textes = array(); $donnees = array(); $zlabel = array(); $date = date('Y-m-d'); $donnees[] = $FREE; $textes[] = "{$FREE} Free"; $donnees[] = $USER_STORAGE_USAGE; $textes[] = "{$USER_STORAGE_USAGE} used"; $data = $donnees; $graph = new PieGraph(370, 350, 'auto'); //$graph->SetShadow(); $graph->title->Set($title); $graph->title->SetFont(FF_FONT1, FS_BOLD); $p1 = new PiePlot3D($data); $p1->SetLabels($textes, 1); $p1->SetEdge('black', 0); $p1->SetAngle(55); $p1->SetLabelMargin(2); $p1->SetCenter(0.4, 0.5); $p1->ExplodeAll(10); $graph->Add($p1); $graph->SetFrame(false); $graph->StrokeCSIM(); }