mbox || !isset($mods["imap"]) || $mods["imap"] == "") { echo "

".$mod_strings['LBL_CONFIGURE_MAIL_SETTINGS']."

"; exit(); } // Set the system into degraded service mode where needed $degraded_service='false'; if($MailBox->mail_protocol == "imap" || $MailBox->mail_protocol == "pop3") $degraded_service='true'; $save_path=$root_directory.'modules/Webmails/tmp'; $user_dir=$save_path."/".$_SESSION["authenticated_user_id"]; // Get the list of mails for this mailbox $elist = $MailBox->mailList; $numEmails = $elist["count"]; $headers = $elist["headers"]; $mails_per_page = $MailBox->mails_per_page; // Calculate paging information ahead before retrieving overviews if($start == 1 || $start == "") { $start_message=$numEmails; if($numEmails > $mails_per_page) $end_message = $start_message - $mails_per_page; else $end_message = $start_message - $numEmails; } else { $start_message=($numEmails-(($start-1)*$mails_per_page)); $end_message = ($numEmails-(($start)*$mails_per_page)); if($end_message < 0) $end_message = 0; } // If in search mode, load overview of all the available emails if(isset($_REQUEST["search"])) { // TODO: Navigating when search is used needs to be added $MailBox->loadOverviewList(1, $numEmails); } else { // For normal listview, fetch only required mail overview $MailBox->loadOverviewList($start_message, $end_message); } // Fetch meta-info again after overview is loaded, for further process $elist = $MailBox->mailList; $headers = $elist["headers"]; // END $c=$numEmails; if(!isset($_REQUEST["search"])) { $numPages = ceil($numEmails/$MailBox->mails_per_page); if($numPages > 1) { if($start != 1){ $navigationOutput = "  "; $navigationOutput .= "  "; } if($start <= ($numPages-1)){ $navigationOutput .= "  "; $navigationOutput .= "  "; } } } $js_array = ""; $overview=$elist["overview"]; $mails = array(); if (is_array($overview)) { foreach ($overview as $val) { $mails[$val->msgno] = $val; $hdr = @imap_headerinfo($MailBox->mbox, $val->msgno); $val->from = utf8_decode(utf8_encode(imap_utf8(addslashes($val->from)))); $val->to = utf8_decode(utf8_encode(imap_utf8(addslashes($val->to)))); $val->subject = utf8_decode(utf8_encode(imap_utf8($val->subject))); $to = str_replace("<",":",$val->to); $to_list = str_replace(">","",$to); $from = str_replace("<",":",$val->from); $from_list = str_replace(">","",$from); $cc = str_replace("<",":",$hdr->ccaddress); $cc_list = str_replace(">","",$cc); $cc_list = addslashes($cc_list); /*$js_array .= "webmail2[".$val->msgno."] = new Array();"; $js_array .= "webmail2[".$val->msgno."]['from'] = '".addslashes($from_list)."';"; $js_array .= "webmail2[".$val->msgno."]['to'] = '".addslashes($to_list)."';"; $js_array .= "webmail2[".$val->msgno."]['subject'] = '".addslashes($val->subject)."';"; $js_array .= "webmail2[".$val->msgno."]['date'] = '".addslashes($val->date)."';"; $js_array .= "webmail2[".$val->msgno."]['cc'] = '".$cc_list."';";*/ } } $search_fields = Array("SUBJECT","BODY","TO","CC","BCC","FROM"); $listview_header = array("".$mod_strings['LBL_INFO']."","".$mod_strings['LBL_LIST_SUBJECT']."","".$mod_strings['LABEL_DATE']."","".$mod_strings['LABEL_FROM']."","".$mod_strings['LBL_DEL'].""); $listview_entries = array(); $displayed_msgs=0; $info = imap_mailboxmsginfo($MailBox->mbox); $unread_msgs = $info->Unread; //$new_msgs=0; if(($numEmails) <= 0) $listview_entries[0][] = ''.$mod_strings['LBL_NO_EMAILS'].''; else { if(isset($_REQUEST["search"]) && trim($_REQUEST["search_input"]) != '') { $searchstring = vtlib_purify($_REQUEST["search_type"]).' "'.vtlib_purify($_REQUEST["search_input"]).'"'; //echo $searchstring."
"; $searchlist = Array(); $searchlist = imap_search($MailBox->mbox,$searchstring); if(is_array($searchlist)) { $num_searches = count($searchlist); $c=$numEmails; } while ($i<=$c) { if(is_array($searchlist)) { for($l=0;$l<$num_searches;$l++) { if($mails[$start_message]->msgno == $searchlist[$l]) $listview_entries[] = show_msg($mails,$start_message); } } $i++; $start_message--; } }else { $i=1; while ($i<=$c) { if($start_message > 0) { $listview_entries[] = show_msg($mails,$start_message); if($displayed_msgs == $MailBox->mails_per_page) {break;} } $i++; $start_message--; } } flush(); // MAIN LOOP // Main loop to create listview entries } $search_html = ''; // Build folder list and move_to dropdown box $list = imap_getmailboxes($MailBox->mbox, "{".$MailBox->imapServerAddress."}", "*"); sort($list); $i=0; if (is_array($list)) { $boxes = ''; } imap_close($MailBox->mbox); //echo ''; $smarty = new vtigerCRM_Smarty; //$smarty->assign("USERID", $current_user->id); $smarty->assign("MOD", $mod_strings); $smarty->assign("THEME", $theme); $smarty->assign("UNREAD_COUNT",$unread_msgs); $smarty->assign("LISTENTITY", $listview_entries); $smarty->assign("LISTHEADER", $listview_header); $smarty->assign("NAVIGATION", $navigationOutput); $smarty->assign("FOLDER_SELECT", $boxes); $smarty->assign("NUM_EMAILS", $numEmails); $smarty->assign("MAILBOX", $MailBox->mailbox); $smarty->assign("ACCOUNT", $MailBox->display_name); $smarty->assign("BOXLIST",$folders); $smarty->assign("MAIL_INFO",$js_array); $smarty->display("ListViewAjax.tpl"); ?>