Пример #1
0
 function getMailBoxNodes($accounts_id, $folders_id)
 {
     $folders = toC_Email_Accounts_Admin::getSubscribedFolders($accounts_id, $folders_id);
     $nodes = array();
     foreach ($folders as $folder) {
         $children = toC_Email_Accounts_Admin::getMailBoxNodes($accounts_id, $folder['folders_id']);
         $pos = strrpos($folder['folders_name'], $folder['delimiter']);
         if ($pos > 0 && $folder['delimiter'] != '') {
             $folders_name = substr($folder['folders_name'], $pos + 1);
         } else {
             $folders_name = $folder['folders_name'];
         }
         switch ($folder['folders_flag']) {
             case EMAIL_FOLDER_INBOX:
                 $iconCls = 'icon-folder-inbox-record';
                 break;
             case EMAIL_FOLDER_SENTBOX:
                 $iconCls = 'icon-folder-sent-record';
                 break;
             case EMAIL_FOLDER_DRAFT:
                 $iconCls = 'icon-folder-drafts-record';
                 break;
             case EMAIL_FOLDER_TRASH:
                 $iconCls = 'icon-folder-trash-record';
                 break;
             case EMAIL_FOLDER_SPAM:
                 $iconCls = 'icon-folder-spam-record ';
                 break;
             default:
                 $iconCls = 'icon-folder-default-record ';
         }
         $unseen = toC_Email_Accounts_Admin::getNewMessagesAmount($accounts_id, $folder['folders_id']);
         if ($unseen > 0) {
             $text = '<b>' . $folders_name . ' (' . $unseen . ')' . '</b>';
         } else {
             $text = $folders_name;
         }
         $node = array('id' => $accounts_id . '_' . $folder['folders_id'], 'text' => $text, 'name' => $folders_name, 'iconCls' => $iconCls, 'parent_id' => $folder['parent_id'], 'type' => 'folder');
         if (sizeof($children) > 0) {
             $node['expanded'] = true;
             $node['children'] = $children;
         } else {
             $node['leaf'] = true;
         }
         $nodes[] = $node;
     }
     return $nodes;
 }
Пример #2
0
 function saveAccount()
 {
     global $toC_Json, $osC_Language;
     $error = false;
     $feedback = '';
     $accounts_id = isset($_REQUEST['accounts_id']) && !empty($_REQUEST['accounts_id']) ? $_REQUEST['accounts_id'] : null;
     $data['user_id'] = $_SESSION['admin']['id'];
     $data['accounts_name'] = isset($_REQUEST['accounts_name']) ? $_REQUEST['accounts_name'] : '';
     $data['accounts_email'] = isset($_REQUEST['accounts_email']) ? $_REQUEST['accounts_email'] : '';
     $data['signature'] = isset($_REQUEST['signature']) ? $_REQUEST['signature'] : '';
     $data['type'] = $_REQUEST['type'];
     $data['host'] = $_REQUEST['host'];
     $data['port'] = $_REQUEST['port'];
     $data['username'] = $_REQUEST['username'];
     $data['password'] = $_REQUEST['password'];
     $data['sent'] = $_REQUEST['sent'];
     $data['drafts'] = $_REQUEST['drafts'];
     $data['trash'] = $_REQUEST['trash'];
     $data['save_copy_on_server'] = isset($_REQUEST['save_copy_on_server']) && $_REQUEST['save_copy_on_server'] == 'on' ? 1 : 0;
     $data['mbroot'] = isset($_REQUEST['mbroot']) ? imap::utf7_imap_encode($_REQUEST['mbroot']) : 'INBOX';
     $data['use_ssl'] = isset($_REQUEST['use_ssl']) && $_REQUEST['use_ssl'] == 'on' ? 1 : 0;
     $data['novalidate_cert'] = isset($_REQUEST['novalidate_cert']) && $_REQUEST['novalidate_cert'] == 'on' ? 1 : 0;
     $data['examine_headers'] = isset($_REQUEST['examine_headers']) && $_REQUEST['examine_headers'] == 'on' ? 1 : 0;
     $data['use_system_mailer'] = isset($_REQUEST['use_system_mailer']) && $_REQUEST['use_system_mailer'] == 'on' ? 1 : 0;
     $data['smtp_host'] = isset($_REQUEST['smtp_host']) ? $_REQUEST['smtp_host'] : '';
     $data['smtp_port'] = isset($_REQUEST['smtp_port']) ? $_REQUEST['smtp_port'] : 25;
     $data['smtp_encryption'] = isset($_REQUEST['smtp_encryption']) ? $_REQUEST['smtp_encryption'] : '';
     $data['smtp_username'] = isset($_REQUEST['smtp_username']) ? $_REQUEST['smtp_username'] : '';
     $data['smtp_password'] = isset($_REQUEST['smtp_password']) ? $_REQUEST['smtp_password'] : '';
     if (toC_Email_Accounts_Admin::checkEmailAccount($data['username'], $accounts_id)) {
         $response = array('success' => false, 'feedback' => $osC_Language->get('ms_error_email_account_already_exist'));
     } else {
         if ($accounts_id == null) {
             $error_info = null;
             if (toC_Email_Accounts_Admin::checkEmailAccountOnSever($data, $error_info) === false) {
                 $error = true;
                 $response = array('success' => false, 'feedback' => sprintf($osC_Language->get('ms_error_connect_server_failed'), $error_info));
             }
         }
         if ($error === false) {
             $accounts_id = toC_Email_Accounts_Admin::saveAccount($accounts_id, $data);
             $node = array('id' => $accounts_id, 'text' => $data['accounts_email'], 'iconCls' => 'icon-folder-account-record', 'expanded' => true, 'type' => 'account', 'children' => toC_Email_Accounts_Admin::getMailBoxNodes($accounts_id, 0), 'protocol' => $data['type']);
             $response = array('success' => true, 'feedback' => $osC_Language->get('ms_success_action_performed'), 'accounts_node' => $node);
         }
     }
     echo $toC_Json->encode($response);
 }