132,133d131 < global $user; < 143,170c141 < //$block['content'] = 'Mail Content'; < $imap = new IMAPService(); < $accounts = db_query('SELECT * FROM {pontomail_servers} WHERE uid = %d AND enabled = 1', $user->uid); < while($row = db_fetch_object($accounts)) { < $items[] = array('path' => 'pontomail/viewmailbox/accounts/' . $row->sid, 'title' => $row->server_name); < if((arg(1) == 'viewmailbox' || arg(0) == 'pontomail') && arg(3) == $row->sid) { < $block['content'] .= '
  • '. l($row->server_name, 'pontomail/viewmailbox/accounts/'. $row->sid) .'
  • '."\n"; < // List Subscribed Mail Boxes for this Account < $imap->connect($row->server_address, $row->server_port, $row->user, $row->password, "", (array)($row)); < $block['content'] .= ''."\n"; < } < else { < $block['content'] .= ''."\n"; < } < } < $block['content'] = "\n".''."\n"; --- > $block['content'] = 'Mail Content'; 172d142 < 182,234d151 < /** < * Recurent function generates folder list. < * %html_tags holds start and end html tags < * $account imap account number < * $imap imap connection < * @folders folder namesn < * $delimiter separates folder names < * $parbox number of current box < * $return folder list HTML < */ < function _pontomail_compute_folder_children($account, $imap, $folders, $delimiter, &$parbox) { < $nextbox = $parbox + 1; < $childs = ''; < while (($nextbox < count($folders)) && (_pontomail_is_parent_folder($delimiter, $folders[$nextbox], $folders[$parbox]))) { < $childs .= _pontomail_compute_folder_children($account, $imap, $folders, $delimiter, $nextbox); < } < $curparts = explode($delimiter, $folders[$parbox]); < $real_name = $curparts[count($curparts)-1]; < $folder_status = $imap->folder_status($folders[$parbox]); < if ($folder_status->rescent > 0 || $folder_status->unseen > 0) { < $string = $real_name .' ('. $folder_status->unseen .')'; < } < else { < $string = $real_name; < } < $string = l($string, 'pontomail/viewmailbox/accounts/'. $account .'/'. $folders[$parbox]); < if ($childs) { < $string = '
  • '. $string .'
  • '."\n".''."\n"; < } < else { < $string = '
  • '. $string .'
  • '."\n"; < } < $parbox = $nextbox; < return $string; < < } < < /** < * Compares imap folder names to check if one folder is child of the other. < * $delimiter separates folder names < * $curbox_name name of the next folder < * $parbox_name name of the current folder < * $return true if one folder is child of the other < */ < function _pontomail_is_parent_folder($delimiter, $curbox_name, $parbox_name) { < $curparts = explode($delimiter, $curbox_name); < $curname = array_pop($curparts); < $actual_parname = implode($delimiter, $curparts); < $actual_parname = substr($actual_parname,0,strlen($parbox_name)); < < return ($parbox_name == $actual_parname); < } <