mirror of
https://github.com/VTECRM/vtenext.git
synced 2026-02-26 16:18:47 +00:00
562 lines
23 KiB
PHP
562 lines
23 KiB
PHP
<?php
|
|
/*************************************
|
|
* SPDX-FileCopyrightText: 2009-2020 Vtenext S.r.l. <info@vtenext.com>
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
************************************/
|
|
|
|
global $app_strings, $mod_strings, $current_language, $currentModule, $theme, $table_prefix, $list_max_entries_per_page;
|
|
|
|
$focus = CRMEntity::getInstance($currentModule);
|
|
$list_max_entries_per_page = $focus->list_max_entries_per_page;
|
|
$layout = $focus->getLayoutSettings();
|
|
|
|
require_once('include/ListView/ListView.php');
|
|
require_once('modules/CustomView/CustomView.php');
|
|
//crmv@208173
|
|
|
|
$LVU = ListViewUtils::getInstance();
|
|
|
|
$smarty = new VteSmarty();
|
|
|
|
global $current_user, $current_folder, $thread, $current_account;
|
|
|
|
if (isset($_REQUEST['thread']) && !empty($_REQUEST['thread'])) {
|
|
$thread = $_REQUEST['thread'];
|
|
}
|
|
if (isset($_REQUEST['record']) && !empty($_REQUEST['record'])) {
|
|
$record = $_REQUEST['record'];
|
|
$focus->id = $_REQUEST['record'];
|
|
$retrieve = $focus->retrieve_entity_info($_REQUEST['record'], $currentModule, false);
|
|
if ($focus->column_fields['mtype'] == 'Link' && ($current_user->id == $focus->column_fields['assigned_user_id'] || $focus->column_fields['mvisibility'] == 'Public')) { //crmv@45122
|
|
$current_folder = 'Links';
|
|
} elseif (!in_array($retrieve,array('LBL_RECORD_DELETE','LBL_RECORD_NOT_FOUND','LBL_OWNER_MISSING')) && in_array($_REQUEST['record'],$focus->getRelatedModComments())) {
|
|
$current_folder = 'Shared';
|
|
} else {
|
|
$current_folder = $focus->column_fields['folder'];
|
|
$current_account = $focus->column_fields['account'];
|
|
}
|
|
// set default account and folder
|
|
if ($current_account == '') {
|
|
$current_account = $focus->getMainUserAccount();
|
|
$current_account = $current_account['id'];
|
|
}
|
|
$focus->setAccount($current_account);
|
|
$specialFolders = $focus->getSpecialFolders();
|
|
if (empty($current_folder)) {
|
|
$current_folder = $specialFolders['INBOX'];
|
|
}
|
|
// end
|
|
} else {
|
|
if (isset($_REQUEST['folder']) && !empty($_REQUEST['folder'])) {
|
|
$current_folder = mb_convert_encoding($_REQUEST['folder'] , "UTF7-IMAP", "UTF-8"); //crmv@61520
|
|
}
|
|
if (isset($_REQUEST['account'])) {
|
|
$current_account = $_REQUEST['account'];
|
|
}
|
|
// if is first click (no folder in request) autoload message
|
|
if (empty($current_folder) && empty($current_account) && VteSession::hasKey('autoload_message') && !VteSession::isEmpty('autoload_message')) {
|
|
$retrieve = $focus->retrieve_entity_info(VteSession::get('autoload_message'), $currentModule, false);
|
|
if (in_array($retrieve,array('LBL_RECORD_DELETE','LBL_RECORD_NOT_FOUND','LBL_OWNER_MISSING'))) {
|
|
$record = '';
|
|
} elseif (!in_array($retrieve,array('LBL_RECORD_DELETE','LBL_RECORD_NOT_FOUND','LBL_OWNER_MISSING')) && in_array(VteSession::get('autoload_message'),$focus->getRelatedModComments())) {
|
|
$current_folder = 'Shared';
|
|
} else {
|
|
$record = $focus->id = VteSession::get('autoload_message');
|
|
$current_folder = $focus->column_fields['folder'];
|
|
$current_account = $focus->column_fields['account'];
|
|
}
|
|
// if last message seen is in Links or Shared go to default folder and account
|
|
if (in_array($current_folder,array('Links','Shared')) || $focus->column_fields['mtype'] == 'Link') { //crmv@45122
|
|
$current_account = '';
|
|
$current_folder = '';
|
|
$record = '';
|
|
}
|
|
}
|
|
// end
|
|
// set default account and folder
|
|
if ($current_account == '') {
|
|
$current_account = $focus->getMainUserAccount();
|
|
$current_account = $current_account['id'];
|
|
}
|
|
$focus->setAccount($current_account);
|
|
if ($current_account != 'all') {
|
|
$specialFolders = $focus->getSpecialFolders();
|
|
}
|
|
if (empty($current_folder)) {
|
|
$current_folder = $specialFolders['INBOX'];
|
|
}
|
|
// crmv@192843 if multiaccount go to general folder
|
|
if (!isset($_REQUEST['account']) && ($current_folder == $specialFolders['INBOX'] || $current_folder == $specialFolders['Sent'] || $current_folder == $specialFolders['Spam'])) {
|
|
$accounts = $focus->getUserAccounts();
|
|
if (count($accounts) > 1) {
|
|
$current_account = 'all';
|
|
if ($current_folder == $specialFolders['INBOX']) $current_folder = 'INBOX';
|
|
elseif ($current_folder == $specialFolders['Sent']) $current_folder = 'Sent';
|
|
elseif ($current_folder == $specialFolders['Spam']) $current_folder = 'Spam';
|
|
}
|
|
}
|
|
// crmv@192843e
|
|
// end
|
|
// if is first time (no autoload message) select the first seen message
|
|
if (empty($record)) {
|
|
$lucky_messsage = $focus->getLuckyMessage($current_account,$current_folder);
|
|
if (!empty($lucky_messsage)) {
|
|
$record = $lucky_messsage;
|
|
}
|
|
}
|
|
// end
|
|
if ($layout['thread'] == '1' && !empty($record)) {
|
|
//check if record is not the last son
|
|
$father = $focus->getFather($record);
|
|
if ($father) {
|
|
$children = $focus->getChildren($father);
|
|
if (!empty($record)) {
|
|
$record = $children[0];
|
|
$smarty->assign('LAST_THREAD_CLICKED', $record);
|
|
}
|
|
}
|
|
}
|
|
//crmv@125629 if there aren't account for the user
|
|
if (empty($current_account)) {
|
|
echo $focus->fetchConnectionError('ERR_IMAP_SERVER_EMPTY','');
|
|
exit;
|
|
}
|
|
//crmv@125629e
|
|
}
|
|
|
|
//crmv@87055 crmv@OPER8279 crmv@187630
|
|
$searching = true;
|
|
$search_standard_txt = array(
|
|
'',
|
|
getTranslatedString('LBL_SEARCH_TITLE',$currentModule).getTranslatedString($currentModule,$currentModule),
|
|
rawurlencode(getTranslatedString('LBL_SEARCH_TITLE',$currentModule).getTranslatedString($currentModule,$currentModule)),
|
|
getTranslatedString('LBL_SEARCH'),
|
|
rawurlencode(getTranslatedString('LBL_SEARCH')),
|
|
);
|
|
if (empty($_REQUEST['searchtype']) || ($_REQUEST['searchtype'] == 'BasicSearch' && in_array($_REQUEST['search_text'],$search_standard_txt))) {
|
|
$searching = false;
|
|
}
|
|
$search_intervals = array(); // crmv@167234
|
|
if ($searching) {
|
|
$start = intval($_REQUEST['start']);
|
|
$search_intervals = $focus->getSearchIntervals();
|
|
$searching_in_imap = $search_intervals[$start][2];
|
|
} elseif (!empty($focus->interval_storage)) {
|
|
$start = intval($_REQUEST['start']);
|
|
$search_intervals = $focus->getImapNavigationIntervals();
|
|
if ($start > 0 && isset($_REQUEST['imap_navigation'])) {
|
|
//$searching = true;
|
|
$searching_in_imap = true;
|
|
}
|
|
}
|
|
$smarty->assign('SEARCHING',$searching);
|
|
$smarty->assign('SEARCH_INTERVALS_COUNT',count($search_intervals));
|
|
//crmv@87055e crmv@OPER8279e crmv@187630e
|
|
|
|
// calc_nav
|
|
if ($_REQUEST['calc_nav'] == 'true') {
|
|
if ($searching) die('&#&#&#{"nav_array":[],"rec_string":"","rec_string3":""}'); //crmv@87055 crmv@103872
|
|
//Retreive the List View Table Header
|
|
$customView = CRMEntity::getInstance('CustomView', $currentModule); // crmv@115329
|
|
$viewid = $customView->getViewId($currentModule);
|
|
if($viewid !='')
|
|
$url_string .= "&viewname=".$viewid;
|
|
if ($_REQUEST['get_all_ids'] == 'true'){
|
|
echo '&#&#&#';
|
|
echo get_allids(VteSession::get($currentModule.'_listquery'),$_REQUEST['ids_to_jump']);
|
|
}
|
|
else{
|
|
echo '&#&#&#';
|
|
$navigation_value = $focus->get_navigation_values(VteSession::get($currentModule.'_listquery'),$url_string,$currentModule,'',false,$viewid); //crmv@94282
|
|
$navigation_value = Zend_Json::decode($navigation_value);
|
|
$navigation_value['rec_string'] = $_REQUEST['noofrows'];
|
|
$navigation_value['rec_string3'] = $focus->getStrUnreadMessageCount();
|
|
echo Zend_Json::encode($navigation_value);
|
|
}
|
|
//crmv@48471
|
|
if ($_REQUEST['reload_counts'] == 'yes' && PerformancePrefs::get('MESSAGES_UPDATE_ICON_PERFORM_IMAP_ACTIONS', '') != 'disable') { //crmv@125629
|
|
echo '&#&#&#';
|
|
include('modules/Messages/Folders.php');
|
|
$smarty->assign('MOD', $mod_strings);
|
|
$smarty->assign('APP', $app_strings);
|
|
$smarty->assign('FOCUS', $focus);
|
|
echo $smarty->fetch("modules/Messages/Folders.tpl");
|
|
echo '&#&#&#';
|
|
include('modules/Messages/Accounts.php');
|
|
echo $smarty->fetch("modules/Messages/Accounts.tpl");
|
|
}
|
|
//crmv@48471e
|
|
die();
|
|
}
|
|
// end
|
|
|
|
// only first time
|
|
if ($_REQUEST['action'] != $currentModule.'Ajax') {
|
|
include('modules/Messages/Accounts.php');
|
|
include('modules/Messages/Folders.php');
|
|
}
|
|
$smarty->assign('CURRENT_FOLDER', $current_folder);
|
|
$tmp = strrpos($current_folder,$focus->getFolderSeparator($current_account)); //crmv@178164
|
|
if ($tmp !== false) {
|
|
$label_folder = substr($current_folder,$tmp+1);
|
|
} else {
|
|
$label_folder = $current_folder;
|
|
}
|
|
$tmp = getTranslatedString('LBL_Folder_'.$label_folder,'Messages');
|
|
if ($tmp != 'LBL_Folder_'.$label_folder) {
|
|
$label_folder = $tmp;
|
|
//crmv@61520
|
|
} else {
|
|
$label_folder = str_replace('&', '&', $label_folder);
|
|
$label_folder = htmlentities(mb_convert_encoding($label_folder, "ISO-8859-1", "UTF7-IMAP"), ENT_NOQUOTES, 'ISO-8859-1');
|
|
}
|
|
//crmv@61520e
|
|
$smarty->assign('RECORD', $record);
|
|
$smarty->assign('CURRENT_ACCOUNT', $current_account);
|
|
$smarty->assign('CURRENT_FOLDER_LABEL', $label_folder);
|
|
$smarty->assign('FOCUS', $focus);
|
|
$smarty->assign('SPECIAL_FOLDERS', $specialFolders);
|
|
$smarty->assign('SPECIAL_FOLDERS_ENCODED', Zend_Json::encode($specialFolders));
|
|
$smarty->assign('CURRENT_THREAD', $thread);
|
|
|
|
$category = getParentTab();
|
|
|
|
// only first time
|
|
if ($_REQUEST['action'] != $currentModule.'Ajax') {
|
|
if (empty($accounts)) {
|
|
$accounts = $focus->getUserAccounts();
|
|
}
|
|
if (count($accounts) > 1) $multiaccount = true; else $multiaccount = false;
|
|
$smarty->assign('MULTIACCOUNT', $multiaccount);
|
|
|
|
$tool_buttons = Button_Check($currentModule);
|
|
unset($tool_buttons['moduleSettings']); // crmv@139855
|
|
|
|
$list_buttons = Array();
|
|
// crmv@30967
|
|
if (in_array($currentModule,array('Documents','Charts','Reports'))){
|
|
$list_buttons['back'] = $app_strings['LBL_GO_BACK'];
|
|
}
|
|
// crmv@30967e
|
|
if(isPermitted($currentModule,'Delete','') == 'yes')
|
|
$list_buttons['del'] = $app_strings['LBL_MASS_DELETE']; // crmv@167234
|
|
if($currentModule !='Sms'){
|
|
if(isPermitted($currentModule,'EditView','') == 'yes')
|
|
$list_buttons['mass_edit'] = $app_strings['LBL_MASS_EDIT']; // crmv@167234
|
|
}
|
|
//custom code start
|
|
if(in_array($currentModule,array('Leads','Accounts','Contacts'))){
|
|
if(isPermitted('Emails','EditView','') == 'yes')
|
|
$list_buttons['s_mail'] = $app_strings['LBL_SEND_MAIL_BUTTON']; // crmv@167234
|
|
if(isPermitted('Fax','EditView','') == 'yes')
|
|
$list_buttons['s_fax'] = $app_strings['LBL_SEND_FAX_BUTTON']; // crmv@167234
|
|
if(isPermitted("Sms","EditView",'') == 'yes' && vtlib_isModuleActive('Sms')) //crmv@16703
|
|
$list_buttons['s_sms'] = $app_strings['LBL_SEND_SMS_BUTTON']; // crmv@167234
|
|
}
|
|
//custom code end
|
|
//crmv@18592
|
|
$view_script = "";
|
|
//crmv@18592e
|
|
$smarty->assign('BUTTONS', $list_buttons);
|
|
$smarty->assign('CHECK', $tool_buttons);
|
|
$smarty->assign("SELECT_SCRIPT", $view_script);
|
|
}
|
|
|
|
$focus->initSortbyField($currentModule);
|
|
// Custom View
|
|
$customView = CRMEntity::getInstance('CustomView', $currentModule); // crmv@115329
|
|
$viewid = $customView->getViewId($currentModule);
|
|
$customview_html = $customView->getCustomViewCombo($viewid);
|
|
$viewinfo = $customView->getCustomViewByCvid($viewid);
|
|
|
|
// Feature available from 5.1
|
|
if(method_exists($customView, 'isPermittedChangeStatus')) {
|
|
// Approving or Denying status-public by the admin in CustomView
|
|
$statusdetails = $customView->isPermittedChangeStatus($viewinfo['status']);
|
|
|
|
// To check if a user is able to edit/delete a CustomView
|
|
$edit_permit = $customView->isPermittedCustomView($viewid,'EditView',$currentModule);
|
|
$delete_permit = $customView->isPermittedCustomView($viewid,'Delete',$currentModule);
|
|
|
|
$smarty->assign("CUSTOMVIEW_PERMISSION",$statusdetails);
|
|
$smarty->assign("CV_EDIT_PERMIT",$edit_permit);
|
|
$smarty->assign("CV_DELETE_PERMIT",$delete_permit);
|
|
}
|
|
// END
|
|
global $current_user;
|
|
$queryGenerator = QueryGenerator::getInstance($currentModule, $current_user);
|
|
if ($viewid != "0") {
|
|
$queryGenerator->initForCustomViewById($viewid);
|
|
} else {
|
|
$queryGenerator->initForDefaultCustomView();
|
|
}
|
|
if ($searching_in_imap) $queryGenerator->addField('xuid'); //crmv@OPER8279
|
|
|
|
$controller = ListViewController::getInstance($adb, $current_user, $queryGenerator);
|
|
|
|
// Enabling Module Search
|
|
if ($searching && $_REQUEST['query'] == 'true') {
|
|
$listview_header_search = $controller->getBasicSearchFieldInfoList();
|
|
$_REQUEST['search_fields'] = $listview_header_search;
|
|
$queryGenerator->addUserSearchConditions($_REQUEST);
|
|
$ustring = getSearchURL($_REQUEST);
|
|
$url_string .= "&query=true$ustring";
|
|
$smarty->assign('SEARCH_URL', $url_string);
|
|
}
|
|
//<<<<<<< sort ordering >>>>>>>>>>>>>
|
|
list($focus->customview_order_by,$focus->customview_sort_order) = $customView->getOrderByFilterSQL($viewid);
|
|
$sorder = $focus->getSortOrder();
|
|
$order_by = $focus->getOrderBy();
|
|
if(!getLVS($currentModule))
|
|
{
|
|
unsetLVS();
|
|
$modObj = new ListViewSession();
|
|
$modObj->sorder = $sorder;
|
|
$modObj->sortby = $order_by;
|
|
setLVS($currentModule,get_object_vars($modObj));
|
|
}
|
|
VteSession::set($currentModule.'_ORDER_BY', $order_by);
|
|
VteSession::set($currentModule.'_SORT_ORDER', $sorder);
|
|
//<<<<<<< sort ordering >>>>>>>>>>>>>
|
|
if ($layout['thread'] == '1') {
|
|
if (empty($thread) && !in_array($current_folder,$focus->fakeFolders)) {
|
|
$queryGenerator->fromString = " FROM {$focus->table_name} messageFather INNER JOIN {$focus->table_name} ON {$focus->table_name}.{$focus->table_index} = messageFather.lastson ";
|
|
}
|
|
}
|
|
$list_query = $queryGenerator->getQuery();
|
|
$where = $queryGenerator->getConditionalWhere();
|
|
//crmv@7634e
|
|
if(isset($where) && $where != '') {
|
|
VteSession::set('export_where', $where);
|
|
} else {
|
|
VteSession::remove('export_where');
|
|
}
|
|
//crmv@87055 crmv@OPER8279
|
|
if ($searching) {
|
|
if (!empty($search_intervals[$start][0])) $list_query .= " and {$focus->table_name}.mdate < '".date('Y-m-d',strtotime($search_intervals[$start][0]))." 00:00:00'";
|
|
if (!empty($search_intervals[$start][1])) $list_query .= " and {$focus->table_name}.mdate >= '".date('Y-m-d',strtotime($search_intervals[$start][1]))." 00:00:00'";
|
|
} elseif (!empty($focus->interval_storage)) {
|
|
// if not searching and use interval_storage end the navigation to the limit of interval_storage
|
|
$interval_storage = $focus->getIntervalStorage();
|
|
$list_query .= " and {$focus->table_name}.mdate >= '".$interval_storage['date']." 00:00:00'";
|
|
}
|
|
//crmv@87055e crmv@OPER8279e
|
|
if(!empty($order_by) && $order_by != '' && $order_by != null) {
|
|
$list_query .= $focus->getFixedOrderBy($currentModule,$order_by,$sorder); //crmv@25403
|
|
}
|
|
|
|
//crmv@11597
|
|
$smarty->assign("CUSTOMCOUNTS_OPTION", $LVU->get_selection_options($currentModule, $noofrows));
|
|
//crmv@87055
|
|
if ($searching) {
|
|
$list_result = $adb->query($list_query);
|
|
} else {
|
|
//crmv@94282
|
|
// performance fix, skip the all counting
|
|
$list_max_entries_per_page=$list_max_entries_per_query=$focus->list_max_entries_first_page; //crmv@60748
|
|
if (!isset($_REQUEST['start']) || $_REQUEST['start'] == 1) {
|
|
$_REQUEST['start'] = 1;
|
|
if ($_REQUEST['ajax'] == 'true'
|
|
&& $_REQUEST['search']!= 'true'
|
|
&& $_REQUEST['changecount']!= 'true'
|
|
&& $_REQUEST['changecustomview']!= 'true'){
|
|
$smarty->assign("AJAX", 'true');
|
|
}
|
|
}
|
|
$limit_start_rec = ($_REQUEST['start']-1)*$list_max_entries_per_page;
|
|
$navigation_array['list_max_entries_per_query'] = $list_max_entries_per_query+1;
|
|
$list_result = $adb->limitQuery($list_query,$limit_start_rec,$navigation_array['list_max_entries_per_query']);
|
|
//crmv@94282e
|
|
} //crmv@87055
|
|
|
|
//crmv@46154e
|
|
if (isset($_REQUEST["selected_ids"]))
|
|
{
|
|
$smarty->assign("SELECTED_IDS_ARRAY", explode(";",$_REQUEST["selected_ids"]));
|
|
$smarty->assign("SELECTED_IDS", $_REQUEST["selected_ids"]);
|
|
}
|
|
if (isset($_REQUEST["all_ids"]))
|
|
{
|
|
$smarty->assign("ALL_IDS", $_REQUEST["all_ids"]);
|
|
}
|
|
//crmv@11597 e
|
|
//crmv@10759
|
|
$smarty->assign("DATEFORMAT",$current_user->date_format);
|
|
$smarty->assign("OWNED_BY",getTabOwnedBy($currentModule));
|
|
//crmv@10759 e
|
|
|
|
//crmv@34627
|
|
$module_width_fields = $queryGenerator->getModuleWidthFields();
|
|
$secondary_fields = $queryGenerator->getSecondaryFields();
|
|
if (!empty($secondary_fields) && !empty($module_width_fields)) {
|
|
$reportid = $customView->getReportId($viewid);
|
|
$reportmodules = $customView->getReportModules();
|
|
foreach($module_width_fields as $module_width_field) {
|
|
if ($module_width_field != $currentModule && in_array($module_width_field,$reportmodules)) {
|
|
$focus_other = CRMEntity::getInstance($module_width_field);
|
|
$instance_other = Vtecrm_Module::getInstance($module_width_field);
|
|
$queryGeneratorOther = QueryGenerator::getInstance($module_width_field, $current_user);
|
|
$queryGeneratorOther->setFields(array_merge(array('id'),$secondary_fields[$module_width_field]));
|
|
$queryGeneratorOther->setReportFilter($reportid,$module_width_field,$instance_other->id);
|
|
$list_query_other = $queryGeneratorOther->getQuery();
|
|
$list_result_other = $adb->query($list_query_other);
|
|
$controller_other = ListViewController::getInstance($adb, $current_user, $queryGeneratorOther);
|
|
$listview_entries_other[$module_width_field] = $controller_other->getListViewEntries($focus_other,$module_width_field,$list_result_other,$navigation_array,true);
|
|
}
|
|
}
|
|
}
|
|
//crmv@34627e
|
|
$listview_header = $controller->getListViewHeader($focus,$currentModule,$url_string,$sorder, $order_by);
|
|
//crmv@94282 crmv@OPER8279
|
|
if ($searching_in_imap) {
|
|
$lv_error = '';
|
|
$search_params = $focus->getSearchParams($_REQUEST);
|
|
$listview_entries = $focus->getListViewEntriesImap($search_intervals[$start][0],$search_intervals[$start][1],$search_params,$list_result,$lv_error);
|
|
$smarty->assign("LV_ERROR", $lv_error);
|
|
} else {
|
|
$listview_entries = $controller->getListViewEntriesLight($focus,$currentModule,$list_result,$navigation_array,false,$listview_entries_other); //crmv@34627
|
|
}
|
|
if ($controller->override_params['has_next_page']){
|
|
$string_pagination = $url_string;
|
|
$string_pagination .= "&account=$current_account&folder=$current_folder&thread=$thread";
|
|
$string_pagination.="&has_next_page=1";
|
|
$url_pagination = 'parenttab='.$tabname.'&start='.($_REQUEST['start']+1).$string_pagination;
|
|
$navigationOutput = '<a href="javascript:;" id="appendNextListViewEntries" onClick="appendListViewEntries_js(\''.$module.'\',\''.$url_pagination.'\');" alt="'.$app_strings['LNK_LIST_NEXT'].'" title="'.$app_strings['LNK_LIST_NEXT'].'"><img src="'.resourcever('next.gif').'" border="0" align="absmiddle" style="display:none"></a> ';
|
|
$smarty->assign("NAVIGATION", $navigationOutput);
|
|
}
|
|
//crmv@94282e crmv@OPER8279e
|
|
|
|
//crmv@48159
|
|
$no_message_stored = false;
|
|
if (empty($listview_entries)) {
|
|
(!empty($focus->interval_storage)) ? $msg_empty_list = '' : $msg_empty_list = $app_strings['LBL_NO_M'].' '.strtolower($app_strings['SINGLE_Messages']).' '.strtolower($app_strings['LBL_FOUND']);
|
|
$result = $adb->pquery("SELECT COUNT(*) AS c FROM {$focus->table_name} WHERE deleted = 0 AND mtype = ?",array('Webmail')); //crmv@171021
|
|
if ($result) {
|
|
$count = $adb->query_result($result,0,'c');
|
|
if ($count == 0) {
|
|
$no_message_stored = true;
|
|
$msg_empty_list .= '<br />'.getTranslatedString('LBL_CHECK_CRON_CONFIGURATION','Messages');
|
|
}
|
|
}
|
|
$smarty->assign("MSG_EMPTY_LIST", $msg_empty_list);
|
|
}
|
|
//crmv@48159e
|
|
|
|
//crmv@87055 crmv@104533 crmv@OPER8279
|
|
if (!$no_message_stored && ($searching || (!empty($focus->interval_storage) && !$controller->override_params['has_next_page']))) {
|
|
$imap_navigation = !$searching;
|
|
if ($imap_navigation && !isset($_REQUEST['imap_navigation'])) $start = 0;
|
|
$navigationOutput = '';
|
|
$navigationOutput.= ' <input type="hidden" id="count_results_search_intervals" value="'.count($listview_entries).'" />';
|
|
if (isset($search_intervals[$start+1])) {
|
|
$url_string .= "&account=$current_account&folder=$current_folder&thread=$thread";
|
|
if ($imap_navigation) {
|
|
$url_string .= "&imap_navigation=1";
|
|
$navigationOutput.= ' <input type="hidden" id="imap_navigation" value="1" />';
|
|
} elseif ($searching) {
|
|
$navigationOutput.= ' <input type="hidden" id="navigation_search" value="1" />';
|
|
}
|
|
if (empty($listview_entries)) {
|
|
VteSession::setArray(array('Messages_results_search_intervals', $start), 0);
|
|
$navigationOutput.= sprintf(getTranslatedString('LBL_NO_RESULT_TILL','Messages'), str_replace(' 00:00','',$focus->getFriendlyDate(date('Y-m-d',strtotime($search_intervals[$start][1])))));
|
|
} else {
|
|
VteSession::setArray(array('Messages_results_search_intervals', $start), count($listview_entries));
|
|
$navigationOutput.= sprintf(getTranslatedString('LBL_SEARCH_TILL','Messages'), str_replace(' 00:00','',$focus->getFriendlyDate(date('Y-m-d',strtotime($search_intervals[$start][1])))));
|
|
}
|
|
$navigationOutput.= '<br><button class="crmbutton small search" id="button_continue_search" onclick="appendListViewEntries_js(\''.$currentModule.'\',\'parenttab='.$tabname.'&start='.($start+1).$url_string.'\');">'.getTranslatedString('LBL_SEARCH_MORE','Messages').'</button>';
|
|
$navigationOutput = '<br />'.$navigationOutput.'<br />';
|
|
}
|
|
$smarty->assign("NAVIGATION", $navigationOutput);
|
|
$smarty->assign("IMAP_NAVIGATION", $imap_navigation);
|
|
$results_prev_search = 0;
|
|
foreach(VteSession::get('Messages_results_search_intervals') as $i => $val) if ($i < $start) $results_prev_search += $val;
|
|
$smarty->assign("MESSAGES_RESULTS_PREV_SEARCH", $results_prev_search);
|
|
}
|
|
//crmv@87055e crmv@104533e crmv@OPER8279e
|
|
|
|
$fieldnames = $controller->getAdvancedSearchOptionString();
|
|
$criteria = getcriteria_options();
|
|
global $theme;
|
|
// Identify this module as custom module.
|
|
if (isset($focus->IsCustomModule)){
|
|
$custom_module = true;
|
|
}else{
|
|
$custom_module = false;
|
|
}
|
|
$smarty->assign('CUSTOM_MODULE', $custom_module);
|
|
if($viewinfo['viewname'] == 'All') $smarty->assign('ALL', 'All');
|
|
$smarty->assign("VIEWID", $viewid);
|
|
$smarty->assign('MOD', $mod_strings);
|
|
$smarty->assign('APP', $app_strings);
|
|
$smarty->assign('MODULE', $currentModule);
|
|
$smarty->assign('SINGLE_MOD', getTranslatedString('SINGLE_'.$currentModule));
|
|
$smarty->assign('CATEGORY', $category);
|
|
$smarty->assign("THEME", $theme);
|
|
$smarty->assign('IMAGE_PATH', "themes/$theme/images/");
|
|
$smarty->assign("LISTHEADER", $listview_header);
|
|
$smarty->assign("LISTENTITY", $listview_entries);
|
|
$smarty->assign("CRITERIA", $criteria);
|
|
$smarty->assign("FIELDNAMES", $fieldnames);
|
|
$smarty->assign("CUSTOMVIEW_OPTION",$customview_html);
|
|
// crmv@30967
|
|
$folderid = intval($_REQUEST['folderid']);
|
|
$smarty->assign("FOLDERID", $folderid);
|
|
if ($folderid > 0) {
|
|
$folderinfo = getEntityFolder($folderid);
|
|
$smarty->assign("FOLDERINFO", $folderinfo);
|
|
}
|
|
if ($currentModule == 'Charts') {
|
|
$smarty->assign('HIDE_BUTTON_CREATE', true);
|
|
}
|
|
// crmv@30967e
|
|
|
|
$list_query = str_replace($queryGenerator->fromString," FROM {$focus->table_name} ",$list_query);
|
|
VteSession::set($currentModule.'_listquery', $list_query);
|
|
|
|
// Gather the custom link information to display
|
|
include_once('vtlib/Vtecrm/Link.php');//crmv@207871
|
|
$customlink_params = Array('MODULE'=>$currentModule, 'ACTION'=>vtlib_purify($_REQUEST['action']), 'CATEGORY'=> $category);
|
|
$smarty->assign('CUSTOM_LINKS', Vtecrm_Link::getAllByType(getTabid($currentModule), Array('LISTVIEWBASIC','LISTVIEW'), $customlink_params));
|
|
// END
|
|
|
|
//crmv@49395
|
|
$err = $focus->checkSyncUidsErrors();
|
|
if ($err) {
|
|
$smarty->assign("NOTIFY", addslashes(getTranslatedString('LBL_PROBLEMS_MESSAGE_FETCHING','Messages')));
|
|
}
|
|
//crmv@49395e
|
|
|
|
//crmv@48501
|
|
$err = $focus->checkSendQueueErrors();
|
|
if ($err) {
|
|
$smarty->assign("NOTIFY", addslashes(getTranslatedString('LBL_PROBLEMS_MESSAGE_SENDING','Emails')));
|
|
}
|
|
//crmv@48501e
|
|
|
|
//crmv@125629
|
|
$err = $focus->checkAccountError($current_user->id);
|
|
if ($err) $smarty->assign("ACCOUNT_ERROR", $err);
|
|
//crmv@125629e
|
|
|
|
//crmv@48693
|
|
$advfilterjs = $focus->getAdvCriteriaJS();
|
|
$smarty->assign("ADVFILTER_JAVASCRIPT",$advfilterjs);
|
|
//crmv@48693e
|
|
|
|
if(isset($_REQUEST['ajax']) && $_REQUEST['ajax'] != '') {
|
|
if ($_REQUEST['appendlist'] == 'yes') {
|
|
$smarty->display("modules/Messages/ListViewRows.tpl");
|
|
} else {
|
|
$smarty->display("modules/Messages/ListViewEntries.tpl");
|
|
}
|
|
} else {
|
|
//crmv@62394
|
|
require_once('modules/SDK/src/CalendarTracking/CalendarTrackingUtils.php');
|
|
if (CalendarTracking::isEnabledForTurbolift($currentModule)) {
|
|
$smarty->assign('SHOW_TURBOLIFT_TRACKER', true);
|
|
$smarty->assign('TRACKER_DATA', CalendarTracking::getTrackerData($currentModule, $focus->id));
|
|
}
|
|
//crmv@62394e
|
|
$smarty->display('modules/Messages/ListView.tpl');
|
|
}
|
|
?>
|