global $mod_strings; require_once 'modules/Faq/Faq.php'; require_once 'Smarty_setup.php'; require_once 'include/utils/utils.php'; require_once 'include/ListView/ListView.php'; require_once 'modules/Faq/Faq.php'; require_once 'modules/CustomView/CustomView.php'; require_once 'include/database/Postgres8.php'; global $app_strings, $theme; $current_module_strings = return_module_language($current_language, 'Faq'); global $currentModule, $adb; require_once $theme_path . 'layout_utils.php'; if (isset($_REQUEST['category']) && $_REQUEST['category'] != '') { $category = vtlib_purify($_REQUEST['category']); } else { $category = getParentTabFromModule($currentModule); } $focus = new Faq(); // Initialize sort by fields $focus->initSortbyField('Faq'); // END $smarty = new vtigerCRM_Smarty(); $other_text = array(); if (!$_SESSION['lvs'][$currentModule]) { unset($_SESSION['lvs']); $modObj = new ListViewSession(); $modObj->sorder = $sorder; $modObj->sortby = $order_by; $_SESSION['lvs'][$currentModule] = get_object_vars($modObj); } if ($_REQUEST['errormsg'] != '') {
/** * This function is used to get the Parent Tab name for a given module. * Takes no parameter but gets the ec_parenttab value from form request * This returns value string type */ function getParentTab() { // global $log; // $log->debug("Entering getParentTab() method ..."); // $log->debug("Exiting getParentTab method ..."); return getParentTabFromModule($_REQUEST['module']); // if(isset($_REQUEST['parenttab']) && $_REQUEST['parenttab'] !='') // { // $log->debug("Exiting getParentTab method ..."); // return $_REQUEST['parenttab']; // } // else // { // $log->debug("Exiting getParentTab method ..."); // return getParentTabFromModule($_REQUEST['module']); // } }
/** * This function is used to get the Parent Tab name for a given module. * Takes no parameter but gets the vtiger_parenttab value from form request * This returns value string type */ function getParentTab() { global $log, $default_charset; $log->debug("Entering getParentTab() method ..."); if (!empty($_REQUEST['parenttab'])) { $log->debug("Exiting getParentTab method ..."); if (checkParentTabExists($_REQUEST['parenttab'])) { return vtlib_purify($_REQUEST['parenttab']); } else { return getParentTabFromModule($_REQUEST['module']); } } else { $log->debug("Exiting getParentTab method ..."); return getParentTabFromModule($_REQUEST['module']); } }
/** * This function is used to get the Parent Tab name for a given module. * Takes no parameter but gets the vtiger_parenttab value from form request * This returns value string type */ function getParentTab() { global $log, $default_charset; $log->debug("Entering getParentTab() method ..."); static $parenttab_cache = array(); if (!empty($_REQUEST['parenttab'])) { $log->debug("Exiting getParentTab method ..."); if (array_key_exists($_REQUEST['parenttab'], $parenttab_cache)) { return $parenttab_cache[$_REQUEST['parenttab']]; } if (array_key_exists($_REQUEST['module'], $parenttab_cache)) { return $parenttab_cache[$_REQUEST['module']]; } $return = getParentTabFromModule($_REQUEST['module']); $parenttab_cache[$_REQUEST['module']] = $return; } else { $log->debug("Exiting getParentTab method ..."); if (array_key_exists($_REQUEST['module'], $parenttab_cache)) { return $parenttab_cache[$_REQUEST['module']]; } $return = getParentTabFromModule($_REQUEST['module']); $parenttab_cache[$_REQUEST['module']] = $return; } return $return; }
/** END */ function process(Mobile_API_Request $request) { global $config_settings, $app_strings, $mod_strings; $wsResponse = parent::process($request); if (isset($_REQUEST['delaction'])) { //delete? if ($_REQUEST['delaction'] == 'deleteEntity') { $recordid = vtlib_purify($_REQUEST['record']); if (trim($recordid) != '') { //delete record $delResponse = Mobile_WS_DeleteRecords::process($request); } } } $current_user = $this->getActiveUser(); $current_language = $this->sessionGet('language'); include_once dirname(__FILE__) . '/../language/' . $current_language . '.lang.php'; $response = false; if ($wsResponse->hasError()) { $response = $wsResponse; } else { $wsResponseResult = $wsResponse->getResult(); $tabid = getTabid($wsResponseResult['module']); $CATEGORY = getParentTabFromModule($wsResponseResult['module']); if ($wsResponseResult['module'] != 'Calendar' && $wsResponseResult['module'] != 'Events') { $customView = new CustomView($wsResponseResult['module']); $id1 = $_REQUEST['viewName']; $id2 = $_REQUEST['view']; if ($id2 !== "" && $id2 == '1') { $viewid = $id1; } else { $viewid = $customView->getViewId($wsResponseResult['module']); } $customview_html = $customView->getCustomViewCombo($viewid); $customview_html = str_replace("></option>", ">" . $mod_strings['LBL_FILTER'] . "</option>", $customview_html); $viewinfo = $customView->getCustomViewByCvid($viewid); $focus = new $wsResponseResult['module'](); $focus->initSortbyField($wsResponseResult['module']); $order_by = $focus->getOrderBy(); $url_string = ''; } else { $calendarview_selected = $_REQUEST['viewName']; //week as default value if ($calendarview_selected == "") { if (isset($config_settings['calendarview']) and $config_settings['calendarview'] != '') { //get the default view from config $calendarview_selected = $config_settings['calendarview']; } else { $calendarview_selected = 'week'; } } $CATEGORY = getParentTabFromModule($wsResponseResult['module']); $customView = new CustomView($wsResponseResult['module']); $viewid = $customView->getViewId($wsResponseResult['module']); //special view for Calendar, custom filters are not considered $customview_arr = array('today' => 'LBL_TODAY', 'week' => 'LBL_WEEK', 'month' => 'LBL_MONTH', 'year' => 'LBL_YEAR'); $customview_html = ''; foreach ($customview_arr as $key => $value) { if ($key != $calendarview_selected) { $customview_html .= "<option value=" . $key . ">" . $mod_strings[$value] . "</option>"; } else { $customview_html .= "<option value=" . $key . " selected='selected'>" . $mod_strings[$value] . "</option>"; } } } $viewer = new Mobile_UI_Viewer(); if ($viewinfo['viewname'] == 'All' || $viewinfo['viewname'] == '') { $viewer->assign('_ALL', 'ALL'); } global $current_user, $adb, $list_max_entries_per_page; $current_user = $this->getActiveUser(); $viewer->assign('_MODULE', $this->cachedModule($wsResponseResult['module'])); $viewer->assign('_MODE', $request->get('mode')); $viewer->assign('_CATEGORY', $CATEGORY); $viewer->assign('_CUSTOMVIEW_OPTION', $customview_html); $viewer->assign('_PAGER', $this->getPagingModel($request)); $viewer->assign('_SEARCH', $request->get('search')); $viewer->assign('MOD', $mod_strings); $viewer->assign('LANGUAGE', $current_language); $viewer->assign('_VIEW', $viewid); $viewer->assign('_VIEWNAME', $calendarview_selected); $viewer->assign('CALENDARSELECT', $config_settings['compactcalendar']); $response = $viewer->process('generic/List.tpl'); } return $response; }
/** * This function is used to get the Parent Tab name for a given module. * Takes no parameter but gets the ec_parenttab value from form request * This returns value string type */ function getParentTab() { global $log; $log->debug("Entering getParentTab() method ..."); if (isset($_REQUEST['parenttab']) && $_REQUEST['parenttab'] != '') { $log->debug("Exiting getParentTab method ..."); return $_REQUEST['parenttab']; } else { $log->debug("Exiting getParentTab method ..."); return getParentTabFromModule($_REQUEST['module']); } }
/** END */ function process(Mobile_API_Request $request) { $wsResponse = parent::process($request); $response = false; if ($wsResponse->hasError()) { $response = $wsResponse; } else { $wsResponseResult = $wsResponse->getResult(); $tabid = getTabid($wsResponseResult['module']); $CATEGORY = getParentTabFromModule($wsResponseResult['module']); //serch $total_record_count = 0; $query_string = trim($_REQUEST['query_string']); $curModule = 'Home'; $search_tag = vtlib_purify($_REQUEST['search_tag']); function getSearchModules($filter = array()) { global $adb; // vtlib customization: Ignore disabled modules. //$sql = 'select distinct vtiger_field.tabid,name from vtiger_field inner join vtiger_tab on vtiger_tab.tabid=vtiger_field.tabid where vtiger_tab.tabid not in (16,29)'; $sql = 'select distinct vtiger_field.tabid,name from vtiger_field inner join vtiger_tab on vtiger_tab.tabid=vtiger_field.tabid where vtiger_tab.tabid not in (16,29) and vtiger_tab.presence != 1 and vtiger_field.presence in (0,2)'; // END $result = $adb->pquery($sql, array()); while ($module_result = $adb->fetch_array($result)) { $modulename = $module_result['name']; // Do we need to filter the module selection? if (!empty($filter) && is_array($filter) && !in_array($modulename, $filter)) { continue; } // END if ($modulename != 'Calendar') { $return_arr[$modulename] = $modulename; } else { $return_arr[$modulename] = 'Activity'; } } return $return_arr; } if (isset($query_string) && $query_string != '') { // Was the search limited by user for specific modules? $search_onlyin = $_REQUEST['search_onlyin']; if (!empty($search_onlyin) && $search_onlyin != '--USESELECTED--') { $search_onlyin = explode(',', $search_onlyin); } else { if ($search_onlyin == '--USESELECTED--') { $search_onlyin = $_SESSION['__UnifiedSearch_SelectedModules__']; } else { $search_onlyin = array(); } } // Save the selection for futur use (UnifiedSearchModules.php) $_SESSION['__UnifiedSearch_SelectedModules__'] = $search_onlyin; // END $object_array = getSearchModules($search_onlyin); global $adb; global $current_user; global $theme; $theme_path = "themes/" . $theme . "/"; $image_path = $theme_path . "images/"; $search_val = $query_string; $search_module = $_REQUEST['search_module']; $i = 0; $moduleRecordCount = array(); foreach ($object_array as $module => $object_name) { if ($curModule == 'Home' || $curModule == $module && !empty($_REQUEST['ajax'])) { $focus = CRMEntity::getInstance($module); if (isPermitted($module, "index") == "yes") { $smarty = new vtigerCRM_Smarty(); global $mod_strings; global $app_strings; $smarty->assign("MOD", $mod_strings); $smarty->assign("APP", $app_strings); $smarty->assign("THEME", $theme); $smarty->assign("IMAGE_PATH", $image_path); $smarty->assign("MODULE", $module); $smarty->assign("TAG_SEARCH", $search_tag); $smarty->assign("SEARCH_MODULE", vtlib_purify($_REQUEST['search_module'])); $smarty->assign("SINGLE_MOD", $module); $smarty->assign("SEARCH_STRING", htmlentities($search_val, ENT_QUOTES, $default_charset)); $listquery = getListQuery($module); $oCustomView = ''; $oCustomView = new CustomView($module); //Instead of getting current customview id, use cvid of All so that all entities will be found //$viewid = $oCustomView->getViewId($module); $cv_res = $adb->pquery("select cvid from vtiger_customview where viewname='All' and entitytype=?", array($module)); $viewid = $adb->query_result($cv_res, 0, 'cvid'); $listquery = $oCustomView->getModifiedCvListQuery($viewid, $listquery, $module); if ($module == "Calendar") { if (!isset($oCustomView->list_fields['Close'])) { $oCustomView->list_fields['Close'] = array('activity' => 'status'); } if (!isset($oCustomView->list_fields_name['Close'])) { $oCustomView->list_fields_name['Close'] = 'status'; } } if ($search_module != '' || $search_tag != '') { //This is for Tag search $where = getTagWhere($search_val, $current_user->id); $search_msg = $app_strings['LBL_TAG_SEARCH']; $search_msg .= "<b>" . to_html($search_val) . "</b>"; } else { //This is for Global search $where = getUnifiedWhere($listquery, $module, $search_val); $search_msg = $app_strings['LBL_SEARCH_RESULTS_FOR']; $search_msg .= "<b>" . htmlentities($search_val, ENT_QUOTES, $default_charset) . "</b>"; } if ($where != '') { $listquery .= ' and (' . $where . ')'; } if (!(isset($_REQUEST['ajax']) && $_REQUEST['ajax'] != '')) { $count_result = $adb->query($listquery); $noofrows = $adb->num_rows($count_result); } else { $noofrows = vtlib_purify($_REQUEST['recordCount']); } $moduleRecordCount[$module]['count'] = $noofrows; global $list_max_entries_per_page; if (!empty($_REQUEST['start'])) { $start = $_REQUEST['start']; if ($start == 'last') { $count_result = $adb->query(mkCountQuery($listquery)); $noofrows = $adb->query_result($count_result, 0, "count"); if ($noofrows > 0) { $start = ceil($noofrows / $list_max_entries_per_page); } } if (!is_numeric($start)) { $start = 1; } elseif ($start < 0) { $start = 1; } $start = ceil($start); } else { $start = 1; } $navigation_array = VT_getSimpleNavigationValues($start, $list_max_entries_per_page, $noofrows); $limitStartRecord = ($navigation_array['start'] - 1) * $list_max_entries_per_page; if ($adb->dbType == "pgsql") { $listquery = $listquery . " OFFSET {$limitStartRecord} LIMIT {$list_max_entries_per_page}"; } else { $listquery = $listquery . " LIMIT {$limitStartRecord}, {$list_max_entries_per_page}"; } $list_result = $adb->query($listquery); $listview_entries = $adb->pquery($listquery, array()); $entity = "select id from vtiger_ws_entity where ismodule=1 and name =?"; $ws_entity = $adb->pquery($entity, array($module)); $ws_entity2 = $adb->query_result($ws_entity, 0, 'id'); $filde = "select fieldname,entityidfield from vtiger_entityname where modulename =?"; $ws_entity1 = $adb->pquery($filde, array($module)); $fieldname = $adb->query_result($ws_entity1, 0, 'fieldname'); $entityidfield = $adb->query_result($ws_entity1, 0, 'entityidfield'); $firstname = explode(',', $fieldname); $noofrows = $adb->num_rows($listview_entries); $lstresult = array(); for ($i = 0; $i < $noofrows; $i++) { $lstresult[$i]['firstname'] = $adb->query_result($listview_entries, $i, $firstname[0]); $lstresult[$i]['lastname'] = $adb->query_result($listview_entries, $i, $firstname[1]); $lstresult[$i]['id'] = $ws_entity2 . "x" . $adb->query_result($listview_entries, $i, 'crmid'); } //Do not display the Header if there are no entires in listview_entries if (count($listview_entries) > 0) { $display_header = 1; } else { $display_header = 0; } $smarty->assign("LISTHEADER", $listview_header); $smarty->assign("LISTENTITY", $lstresult); $smarty->assign("DISPLAYHEADER", $display_header); $smarty->assign("HEADERCOUNT", count($listview_header)); $smarty->assign("searchstring", $query_string); $smarty->assign("SEARCH_CRITERIA", "( {$noofrows} )" . $search_msg); $smarty->display("UnifiedSearchAjax1.tpl"); unset($_SESSION['lvs'][$module]); $i++; } } } //Added to display the Total record count } //end search $viewer = new Mobile_UI_Viewer(); $viewer->assign('_MODULE', $this->cachedModule($wsResponseResult['module'])); $viewer->assign('_RECORDS', Mobile_UI_ModuleRecordModel::buildModelsFromResponse($wsResponseResult['records'])); } return $response; }