| | |
| | | /** |
| | | * Create a hierarchical array of the mailbox list |
| | | */ |
| | | private static function build_folder_tree(&$arrFolders, $folder, $delm = '/', $path = '') |
| | | public static function build_folder_tree(&$arrFolders, $folder, $delm = '/', $path = '') |
| | | { |
| | | global $RCMAIL; |
| | | |
| | |
| | | /** |
| | | * Return html for a structured list <ul> for the mailbox tree |
| | | */ |
| | | private static function render_folder_tree_html(&$arrFolders, &$mbox_name, &$jslist, $attrib, $nestLevel = 0) |
| | | public static function render_folder_tree_html(&$arrFolders, &$mbox_name, &$jslist, $attrib, $nestLevel = 0) |
| | | { |
| | | global $RCMAIL; |
| | | |
| | |
| | | foreach ($arrFolders as $key => $folder) { |
| | | $title = null; |
| | | $folder_class = self::folder_classname($folder['id']); |
| | | $collapsed = strpos($collapsed, '&'.rawurlencode($folder['id']).'&') !== false; |
| | | $is_collapsed = strpos($collapsed, '&'.rawurlencode($folder['id']).'&') !== false; |
| | | $unread = $msgcounts ? intval($msgcounts[$folder['id']]['UNSEEN']) : 0; |
| | | |
| | | if ($folder_class && !$realnames) { |
| | |
| | | 'noclose' => true), |
| | | html::a($link_attrib, $html_name) . |
| | | (!empty($folder['folders']) ? html::div(array( |
| | | 'class' => ($collapsed ? 'collapsed' : 'expanded'), |
| | | 'class' => ($is_collapsed ? 'collapsed' : 'expanded'), |
| | | 'style' => "position:absolute", |
| | | 'onclick' => sprintf("%s.command('collapse-folder', '%s')", JS_OBJECT_NAME, $js_name) |
| | | ), ' ') : '')); |
| | |
| | | ); |
| | | |
| | | if (!empty($folder['folders'])) { |
| | | $out .= html::tag('ul', array('style' => ($collapsed ? "display:none;" : null)), |
| | | $out .= html::tag('ul', array('style' => ($is_collapsed ? "display:none;" : null)), |
| | | self::render_folder_tree_html($folder['folders'], $mbox_name, $jslist, $attrib, $nestLevel+1)); |
| | | } |
| | | |
| | |
| | | /** |
| | | * Return html for a flat list <select> for the mailbox tree |
| | | */ |
| | | private static function render_folder_tree_select(&$arrFolders, &$mbox_name, $maxlength, &$select, $realnames = false, $nestLevel = 0, $opts = array()) |
| | | public static function render_folder_tree_select(&$arrFolders, &$mbox_name, $maxlength, &$select, $realnames = false, $nestLevel = 0, $opts = array()) |
| | | { |
| | | global $RCMAIL; |
| | | |
| | |
| | | /** |
| | | * Return internal name for the given folder if it matches the configured special folders |
| | | */ |
| | | private static function folder_classname($folder_id) |
| | | public static function folder_classname($folder_id) |
| | | { |
| | | global $CONFIG; |
| | | |