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; }
function updateMessageStatus() { global $toC_Json, $osC_Database; $new = isset($_REQUEST['is_read']) && $_REQUEST['is_read'] == '1' ? 0 : 1; if (toC_Email_Accounts_Admin::updateCachedMessageStatus($_REQUEST['id'], $new)) { $response = array('success' => true, 'unseen' => toC_Email_Accounts_Admin::getNewMessagesAmount($_REQUEST['accounts_id'], $_REQUEST['folders_id'])); } else { $response = array('success' => false); } echo $toC_Json->encode($response); }