From f0e7e57d5ca0fbbac4c29bc56ab9a55cab14d304 Mon Sep 17 00:00:00 2001 From: Prasad <prasad@vtiger.com> Date: Sat, 2 Oct 2021 22:22:02 +0530 Subject: [PATCH] PHP 8 corrections for php warning --- include/database/PearDatabase.php | 1 + include/fields/DateTimeField.php | 4 +-- include/utils/VTCacheUtils.php | 1 + include/utils/utils.php | 2 +- includes/main/WebUI.php | 2 +- includes/runtime/Controller.php | 3 +++ layouts/v7/modules/Vtiger/ModuleHeader.tpl | 6 ++--- .../dashboards/DashBoardTabContents.tpl | 2 ++ modules/Users/models/Privileges.php | 26 +++++++++---------- modules/Vtiger/models/DashBoard.php | 4 +-- modules/Vtiger/models/MenuStructure.php | 2 +- modules/Vtiger/views/DashBoardTab.php | 1 + modules/Vtiger/views/Header.php | 4 ++- .../PBXManager/actions/IncomingCallPoll.php | 1 + vtlib/Vtiger/AccessControl.php | 6 ++--- vtlib/Vtiger/Deprecated.php | 1 + vtlib/Vtiger/Functions.php | 2 +- vtlib/Vtiger/Link.php | 2 +- 18 files changed, 41 insertions(+), 29 deletions(-) diff --git a/include/database/PearDatabase.php b/include/database/PearDatabase.php index d91b073cb..b7b6acd59 100644 --- a/include/database/PearDatabase.php +++ b/include/database/PearDatabase.php @@ -677,6 +677,7 @@ class PearDatabase{ throw new Exception("result is not an object"); $result->Move($row); $rowdata = $this->change_key_case($result->FetchRow()); + if (!$rowdata) return null; //$this->println($rowdata); //Commented strip_selected_tags and added to_html function for HTML tags vulnerability if($col == 'fieldlabel') $coldata = $rowdata[$col]; diff --git a/include/fields/DateTimeField.php b/include/fields/DateTimeField.php index eb9dde1d8..0d8e797c1 100644 --- a/include/fields/DateTimeField.php +++ b/include/fields/DateTimeField.php @@ -219,7 +219,7 @@ class DateTimeField { break; } - if ($date[1] != '') { + if (count($date) > 1 && $date[1] != '') { $userDate = $date[0] . ' ' . $date[1]; } else { $userDate = $date[0]; @@ -307,7 +307,7 @@ class DateTimeField { $log->debug("Entering getDisplayDate(" . $this->datetime . ") method ..."); $date_value = explode(' ',$this->datetime); - if ($date_value[1] != '') { + if (count($date_value) > 1 && $date_value[1] != '') { $date = self::convertToUserTimeZone($this->datetime, $user); $date_value = $date->format('Y-m-d'); } diff --git a/include/utils/VTCacheUtils.php b/include/utils/VTCacheUtils.php index 25c796dd4..7974ec1a8 100644 --- a/include/utils/VTCacheUtils.php +++ b/include/utils/VTCacheUtils.php @@ -110,6 +110,7 @@ class VTCacheUtils { } $modulefields = false; $fieldInfo = Vtiger_Cache::get('fieldInfo', $tabid); + $fldcache = null; if($fieldInfo){ $fldcache =$fieldInfo; }else if(isset(self::$_fieldinfo_cache[$tabid])) { diff --git a/include/utils/utils.php b/include/utils/utils.php index 2212e80eb..df54258aa 100755 --- a/include/utils/utils.php +++ b/include/utils/utils.php @@ -558,7 +558,7 @@ function getActionid($action) if(file_exists('tabdata.php') && (filesize('tabdata.php') != 0)) { include('tabdata.php'); - $actionid= $action_id_array[$action]; + $actionid= isset($action_id_array[$action])? $action_id_array[$action] : 0; } else { diff --git a/includes/main/WebUI.php b/includes/main/WebUI.php index 96ba9788f..96b79e0d5 100644 --- a/includes/main/WebUI.php +++ b/includes/main/WebUI.php @@ -151,7 +151,7 @@ class Vtiger_WebUI extends Vtiger_EntryPoint { if(empty($module)) { if ($this->hasLogin()) { - $defaultModule = $currentUser->defaultlandingpage; + $defaultModule = isset($currentUser->defaultlandingpage) ? $currentUser->defaultlandingpage : null; $moduleModel = Vtiger_Module_Model::getInstance($defaultModule); if(!empty($defaultModule) && $defaultModule != 'Home' && $moduleModel && $moduleModel->isActive()) { $module = $defaultModule; $qualifiedModuleName = $defaultModule; $view = 'List'; diff --git a/includes/runtime/Controller.php b/includes/runtime/Controller.php index 692ddf4dc..41fc5a376 100644 --- a/includes/runtime/Controller.php +++ b/includes/runtime/Controller.php @@ -210,6 +210,9 @@ abstract class Vtiger_View_Controller extends Vtiger_Action_Controller { $viewer->assign('PARENT_MODULE', ''); $viewer->assign('EXTENSION_MODULE', ''); + $viewer->assign('NOTIFIER_URL', ''); + $viewer->assign('GLOBAL_SEARCH_VALUE', ''); + $_REQUEST["view"] = isset($_REQUEST["view"])? $_REQUEST["view"] : ""; if ($request->getModule() != 'Install') { $userCurrencyInfo = getCurrencySymbolandCRate($currentUser->get('currency_id')); diff --git a/layouts/v7/modules/Vtiger/ModuleHeader.tpl b/layouts/v7/modules/Vtiger/ModuleHeader.tpl index 963978fd8..9b8339cb0 100644 --- a/layouts/v7/modules/Vtiger/ModuleHeader.tpl +++ b/layouts/v7/modules/Vtiger/ModuleHeader.tpl @@ -24,10 +24,10 @@ {/if} {/if} <a title="{vtranslate($MODULE, $MODULE)}" href='{$DEFAULT_FILTER_URL}&app={$SELECTED_MENU_CATEGORY}'><h4 class="module-title pull-left text-uppercase"> {vtranslate($MODULE, $MODULE)} </h4> </a> - {if $smarty.session.lvs.$MODULE.viewname} + {if isset($smarty.session.lvs) && isset($smarty.session.lvs.$MODULE) && isset($smarty.session.lvs.$MODULE.viewname)} {assign var=VIEWID value=$smarty.session.lvs.$MODULE.viewname} {/if} - {if $VIEWID} + {if isset($VIEWID) && $VIEWID} {foreach item=FILTER_TYPES from=$CUSTOM_VIEWS} {foreach item=FILTERS from=$FILTER_TYPES} {if $FILTERS->get('cvid') eq $VIEWID} @@ -39,7 +39,7 @@ <p class="current-filter-name filter-name pull-left cursorPointer" title="{$CVNAME}"><span class="fa fa-angle-right pull-left" aria-hidden="true"></span><a href='{$MODULE_MODEL->getListViewUrl()}&viewname={$VIEWID}&app={$SELECTED_MENU_CATEGORY}'> {$CVNAME} </a> </p> {/if} {assign var=SINGLE_MODULE_NAME value='SINGLE_'|cat:$MODULE} - {if $RECORD and $smarty.request.view eq 'Edit'} + {if isset($RECORD) && $RECORD and $smarty.request.view eq 'Edit'} <p class="current-filter-name filter-name pull-left "><span class="fa fa-angle-right pull-left" aria-hidden="true"></span><a title="{$RECORD->get('label')}"> {vtranslate('LBL_EDITING', $MODULE)} : {$RECORD->get('label')} </a></p> {else if $smarty.request.view eq 'Edit'} <p class="current-filter-name filter-name pull-left "><span class="fa fa-angle-right pull-left" aria-hidden="true"></span><a> {vtranslate('LBL_ADDING_NEW', $MODULE)} </a></p> diff --git a/layouts/v7/modules/Vtiger/dashboards/DashBoardTabContents.tpl b/layouts/v7/modules/Vtiger/dashboards/DashBoardTabContents.tpl index 08f0a7c23..467a7b064 100644 --- a/layouts/v7/modules/Vtiger/dashboards/DashBoardTabContents.tpl +++ b/layouts/v7/modules/Vtiger/dashboards/DashBoardTabContents.tpl @@ -13,6 +13,8 @@ <br><div class="dashboardBanner"></div> <div class="dashBoardTabContents clearfix"> <div class="gridster_{$TABID}"> + {assign var="ROWCOUNT" value=0} + {assign var="COLCOUNT" value=0} <ul> {assign var=COLUMNS value=2} {assign var=ROW value=1} diff --git a/modules/Users/models/Privileges.php b/modules/Users/models/Privileges.php index 857754957..5cdb164ba 100644 --- a/modules/Users/models/Privileges.php +++ b/modules/Users/models/Privileges.php @@ -115,19 +115,19 @@ class Users_Privileges_Model extends Users_Record_Model { $valueMap = array(); $valueMap['id'] = $userId; - $valueMap['is_admin'] = (bool) $acl->is_admin; - $valueMap['roleid'] = $acl->current_user_roles; - $valueMap['parent_role_seq'] = $acl->current_user_parent_role_seq; - $valueMap['profiles'] = $acl->current_user_profiles; - $valueMap['profile_global_permission'] = $acl->profileGlobalPermission; - $valueMap['profile_tabs_permission'] = $acl->profileTabsPermission; - $valueMap['profile_action_permission'] = $acl->profileActionPermission; - $valueMap['groups'] = $acl->current_user_groups; - $valueMap['subordinate_roles'] = $acl->subordinate_roles; - $valueMap['parent_roles'] = $acl->parent_roles; - $valueMap['subordinate_roles_users'] = $acl->subordinate_roles_users; - $valueMap['defaultOrgSharingPermission'] = $defaultOrgSharingPermission; - $valueMap['related_module_share'] = $related_module_share; + $valueMap['is_admin'] = isset($acl->is_admin) ? (bool) $acl->is_admin : false; + $valueMap['roleid'] = isset($acl->current_user_roles) ? $acl->current_user_roles : null; + $valueMap['parent_role_seq'] = isset($acl->current_user_parent_role_seq) ? $acl->current_user_parent_role_seq : null; + $valueMap['profiles'] = isset($acl->current_user_profiles) ? $acl->current_user_profiles : null; + $valueMap['profile_global_permission'] = isset($acl->profileGlobalPermission) ? $acl->profileGlobalPermission : null; + $valueMap['profile_tabs_permission'] = isset($acl->profileTabsPermission) ? $acl->profileTabsPermission : null; + $valueMap['profile_action_permission'] = isset($acl->profileActionPermission) ? $acl->profileActionPermission : null; + $valueMap['groups'] = isset($acl->current_user_groups)? $acl->current_user_groups : null; + $valueMap['subordinate_roles'] = isset($acl->subordinate_roles)? $acl->subordinate_roles : null; + $valueMap['parent_roles'] = isset($acl->parent_roles)? $acl->parent_roles : null; + $valueMap['subordinate_roles_users'] = isset($acl->subordinate_roles_users) ? $acl->subordinate_roles_users : null; + $valueMap['defaultOrgSharingPermission'] = isset($defaultOrgSharingPermission) ? $defaultOrgSharingPermission : null; + $valueMap['related_module_share'] = isset($related_module_share)? $related_module_share : null; if(is_array($acl->user_info)) { $valueMap = array_merge($valueMap, $acl->user_info); diff --git a/modules/Vtiger/models/DashBoard.php b/modules/Vtiger/models/DashBoard.php index 2f1528750..9073eede0 100644 --- a/modules/Vtiger/models/DashBoard.php +++ b/modules/Vtiger/models/DashBoard.php @@ -311,8 +311,8 @@ class Vtiger_DashBoard_Model extends Vtiger_Base_Model { $currentUserPrivilegeModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); $linkUrl = $resultData['linkurl']; $linkLabel = $resultData['linklabel']; - $filterId = $resultData['filterid']; - $data = decode_html($resultData['data']); + $filterId = isset($resultData['filterid'])? $resultData['filterid'] : null; + $data = decode_html(isset($resultData['data'])? $resultData['data'] : null); $module = $this->getModuleNameFromLink($linkUrl, $linkLabel); if($module == 'Home' && !empty($filterId) && !empty($data)) { diff --git a/modules/Vtiger/models/MenuStructure.php b/modules/Vtiger/models/MenuStructure.php index 8514310bb..fb05add1a 100644 --- a/modules/Vtiger/models/MenuStructure.php +++ b/modules/Vtiger/models/MenuStructure.php @@ -95,7 +95,7 @@ class Vtiger_MenuStructure_Model extends Vtiger_Base_Model { $menuGroupedListByParent[strtoupper($parent)][$menuModel->get('name')] = $menuModel; } - if(!empty($selectedMenu) && !array_key_exists($selectedMenu, $menuListArray[self::TOP_MENU_INDEX])) { + if(!empty($selectedMenu) && isset($menuModelList[$selectedMenu]) && !array_key_exists($selectedMenu, $menuListArray[self::TOP_MENU_INDEX])) { $selectedMenuModel = $menuModelList[$selectedMenu]; if($selectedMenuModel) { $menuListArray[self::TOP_MENU_INDEX][$selectedMenuModel->get('name')] = $selectedMenuModel; diff --git a/modules/Vtiger/views/DashBoardTab.php b/modules/Vtiger/views/DashBoardTab.php index 8ab58f8cd..e6ecb1d99 100644 --- a/modules/Vtiger/views/DashBoardTab.php +++ b/modules/Vtiger/views/DashBoardTab.php @@ -58,6 +58,7 @@ class Vtiger_DashboardTab_View extends Vtiger_Index_View { $viewer = $this->getViewer($request); $viewer->assign('MODULE_NAME', $moduleName); + $viewer->assign("MODULE",$moduleName); $viewer->assign('WIDGETS', $widgets); $viewer->assign('SELECTABLE_WIDGETS', $selectableWidgets); $viewer->assign('TABID',$tabId); diff --git a/modules/Vtiger/views/Header.php b/modules/Vtiger/views/Header.php index af02edecc..176a674c4 100644 --- a/modules/Vtiger/views/Header.php +++ b/modules/Vtiger/views/Header.php @@ -29,7 +29,9 @@ abstract class Vtiger_Header_View extends Vtiger_View_Controller { * which are registered for 5.x modules (and now provided for 6.x as well). */ protected function checkFileUriInRelocatedMouldesFolder($fileuri) { - list ($filename, $query) = explode('?', $fileuri); + $parts = explode('?', $fileuri); + $filename = $parts[0]; + if (count($parts) > 1) $query = $parts[1]; // prefix the base lookup folder (relocated file). if (strpos($filename, 'modules') === 0) { diff --git a/pkg/vtiger/modules/PBXManager/modules/PBXManager/actions/IncomingCallPoll.php b/pkg/vtiger/modules/PBXManager/modules/PBXManager/actions/IncomingCallPoll.php index 0a0d1fa56..42c3986d0 100644 --- a/pkg/vtiger/modules/PBXManager/modules/PBXManager/actions/IncomingCallPoll.php +++ b/pkg/vtiger/modules/PBXManager/modules/PBXManager/actions/IncomingCallPoll.php @@ -60,6 +60,7 @@ class PBXManager_IncomingCallPoll_Action extends Vtiger_Action_Controller{ $response = new Vtiger_Response(); $user = Users_Record_Model::getCurrentUserModel(); + $calls = array(); $recordModels = $recordModel->searchIncomingCall(); // To check whether user have permission on caller record if($recordModels){ diff --git a/vtlib/Vtiger/AccessControl.php b/vtlib/Vtiger/AccessControl.php index 1fdedaa2d..2a1927bbb 100644 --- a/vtlib/Vtiger/AccessControl.php +++ b/vtlib/Vtiger/AccessControl.php @@ -24,11 +24,11 @@ class Vtiger_AccessControl { if (!isset($this->privileges[$id])) { checkFileAccessForInclusion('user_privileges/user_privileges_'.$id.'.php'); require('user_privileges/user_privileges_'.$id.'.php'); - + $vars = get_defined_vars(); $privilege = new stdClass; foreach (self::$PRIVILEGE_ATTRS as $attr) { - if (isset($attr)) - $privilege->$attr = $$attr; + if (isset($attr) && isset($vars[$attr])) + $privilege->$attr = $vars[$attr]; } $this->privileges[$id] = $privilege; diff --git a/vtlib/Vtiger/Deprecated.php b/vtlib/Vtiger/Deprecated.php index a23a02a49..e6d5e4de6 100644 --- a/vtlib/Vtiger/Deprecated.php +++ b/vtlib/Vtiger/Deprecated.php @@ -295,6 +295,7 @@ class Vtiger_Deprecated { static function getAnnouncements() { global $adb; + $announcement = ""; $sql = " select * from vtiger_announcement inner join vtiger_users on vtiger_announcement.creatorid=vtiger_users.id"; $sql.=" AND vtiger_users.is_admin='on' AND vtiger_users.status='Active' AND vtiger_users.deleted = 0"; $result = $adb->pquery($sql, array()); diff --git a/vtlib/Vtiger/Functions.php b/vtlib/Vtiger/Functions.php index 4762ebf70..c67acfce9 100644 --- a/vtlib/Vtiger/Functions.php +++ b/vtlib/Vtiger/Functions.php @@ -174,7 +174,7 @@ class Vtiger_Functions { if ($name && !isset(self::$moduleNameIdCache[$name])) {$reload = true;} else if ($id && !isset(self::$moduleIdNameCache[$id])) {$reload = true;} - else { + else if ($name) { if (!$id) $id = self::$moduleNameIdCache[$name]['tabid']; if (!isset(self::$moduleIdDataCache[$id])) { $reload = true; } } diff --git a/vtlib/Vtiger/Link.php b/vtlib/Vtiger/Link.php index 5b827368d..8194a45b8 100644 --- a/vtlib/Vtiger/Link.php +++ b/vtlib/Vtiger/Link.php @@ -52,7 +52,7 @@ class Vtiger_Link { $this->handler_path =isset($valuemap['handler_path']) ? $valuemap['handler_path'] : null; $this->handler_class=isset($valuemap['handler_class']) ? $valuemap['handler_class'] : null; $this->handler =isset($valuemap['handler']) ? $valuemap['handler'] : null; - $this->parent_link =$valuemap['parent_link']; + $this->parent_link = isset($valuemap['parent_link']) ? $valuemap['parent_link'] : null; } /** -- GitLab