diff --git a/data/CRMEntity.php b/data/CRMEntity.php index 9875fc1ecce45b47fd3587d8aad27cba756d1c3c..84bc172f945334ec782f9cb53256057631ebe7ef 100644 --- a/data/CRMEntity.php +++ b/data/CRMEntity.php @@ -159,7 +159,7 @@ class CRMEntity { */ function uploadAndSaveFile($id, $module, $file_details, $attachmentType='Attachment') { global $log; - $log->debug("Entering into uploadAndSaveFile($id,$module," . var_export($file_details, true) . ") method."); + $log->debug("Entering into uploadAndSaveFile($id,$module) method."); global $adb, $current_user; global $upload_badext; @@ -745,10 +745,14 @@ class CRMEntity { $changedFields = $this->column_fields->getChanged(); if(php7_count($changedFields) > 0) { $update = array(); - $update_params =array(); + $update_params = array(); foreach($changedFields as $field) { - $fieldColumn = isset($updateFieldNameColumnNameMap[$field])?$updateFieldNameColumnNameMap[$field]:' '; - if(@array_key_exists($fieldColumn, $updateFieldValues)) { + if (!array_key_exists($field, $updateFieldNameColumnNameMap)) { + continue; + } + + $fieldColumn = $updateFieldNameColumnNameMap[$field]; + if(array_key_exists($fieldColumn, $updateFieldValues)) { array_push($update, $fieldColumn.'=?'); array_push($update_params, $updateFieldValues[$fieldColumn]); } @@ -3136,7 +3140,7 @@ class TrackableObject implements ArrayAccess, IteratorAggregate { #[\ReturnTypeWillChange] function offsetSet($key, $value) { - if(is_array($value)) $value = empty($value) ? "" : isset($value[0]); + if(is_array($value)) $value = !empty($value) && array_key_exists(0,$value) ? $value[0] : ""; if($this->tracking && $this->trackingEnabled) { $olderValue = $this->offsetGet($key); // decode_html only expects string diff --git a/include/fields/DateTimeField.php b/include/fields/DateTimeField.php index 147fc8ac8d12b6b44e2511dfee1361659f78fea6..1bfd3f4e08c88675918318333e8622590551ee5e 100644 --- a/include/fields/DateTimeField.php +++ b/include/fields/DateTimeField.php @@ -193,9 +193,9 @@ class DateTimeField { { $date = self::convertToInternalFormat($date); $dates=explode('-', $date[0]); - $y=isset($dates[0])?$dates[0]:' '; - $m=isset($dates[1])?$dates[1]:' '; - $d=isset($dates[2])?$dates[2]:' '; + $y=isset($dates[0])?$dates[0]:''; + $m=isset($dates[1])?$dates[1]:''; + $d=isset($dates[2])?$dates[2]:''; switch ($format) { case 'dd.mm.yyyy': @@ -281,7 +281,7 @@ class DateTimeField { // create datetime object for given time in source timezone $sourceTimeZone = new DateTimeZone($sourceTimeZoneName); if($time == '24:00') $time = '00:00'; - $myDateTime = new DateTime($time ?? '', $sourceTimeZone); + $myDateTime = new DateTime(isset($time) ? $time : '', $sourceTimeZone); // convert this to target timezone using the DateTimeZone object $targetTimeZone = new DateTimeZone($targetTimeZoneName); diff --git a/include/utils/InventoryUtils.php b/include/utils/InventoryUtils.php index 5cb1b6de7d6f6ff1c55a432d6be62dc94b670da1..2c949c58885ca57a8851199818d9d01ab879e711 100644 --- a/include/utils/InventoryUtils.php +++ b/include/utils/InventoryUtils.php @@ -200,7 +200,8 @@ function getProductTaxPercentage($type,$productid,$default='') if($current_user->truncate_trailing_zeros == true) { $taxpercentage = decimalFormat($taxpercentage); } - return array('percentage' => $taxpercentage, 'regions' => Zend_Json::decode(html_entity_decode(!empty($adb->query_result($res,0, 'regions'))))); + $regions=$adb->query_result($res,0, 'regions'); + return array('percentage' => $taxpercentage, 'regions' => Zend_Json::decode(html_entity_decode(!empty($regions) ? $regions : ''))); } /** Function used to add the history entry in the relevant tables for PO, SO, Quotes and Invoice modules @@ -383,7 +384,8 @@ function getTaxDetailsForProduct($productid, $available='all') $tax_details[$i]['type'] = $adb->query_result($res, $i, 'type'); $tax_details[$i]['regions'] = Zend_Json::decode(html_entity_decode($adb->query_result($res, $i, 'taxregions'))); $tax_details[$i]['compoundon'] = Zend_Json::decode(html_entity_decode($adb->query_result($res, $i, 'compoundon'))); - $tax_details[$i]['productregions']= Zend_Json::decode(html_entity_decode(!empty($adb->query_result($res, $i, 'productregions')))); + $productregions=$adb->query_result($res, $i, 'productregions'); + $tax_details[$i]['productregions']= Zend_Json::decode(html_entity_decode(!empty($productregions) ? $productregions : '')); } } else diff --git a/layouts/v7/modules/Calendar/uitypes/DateTime.tpl b/layouts/v7/modules/Calendar/uitypes/DateTime.tpl index 2e079045816bcee44e8b3dd50e5e9efd2f7c2e8e..e4a7d436c43bde4506de229356e07b42556ff17a 100644 --- a/layouts/v7/modules/Calendar/uitypes/DateTime.tpl +++ b/layouts/v7/modules/Calendar/uitypes/DateTime.tpl @@ -20,7 +20,7 @@ {/if} {assign var=DATE_TIME_VALUE value=$FIELD_MODEL->get('fieldvalue')} -{if $DATE_TIME_VALUE !== null} +{if isset($DATE_TIME_VALUE)} {assign var=DATE_TIME_COMPONENTS value=explode(' ', $DATE_TIME_VALUE)} {/if} {if !empty($TIME_FIELD) && isset($DATE_TIME_COMPONENTS)} diff --git a/layouts/v7/modules/Events/uitypes/DateTime.tpl b/layouts/v7/modules/Events/uitypes/DateTime.tpl index 71ac7ba2826ef746a799bd4cf19f0b0051ddcef3..1c766bbe1b7553659a45fb2c77c76c47a836e8f2 100644 --- a/layouts/v7/modules/Events/uitypes/DateTime.tpl +++ b/layouts/v7/modules/Events/uitypes/DateTime.tpl @@ -21,13 +21,13 @@ {/if} {assign var=DATE_TIME_VALUE value=$FIELD_MODEL->get('fieldvalue')} -{if $DATE_TIME_VALUE!== null} +{if isset($DATE_TIME_VALUE)} {assign var=DATE_TIME_COMPONENTS value=explode(' ' ,$DATE_TIME_VALUE)} {assign var=TIME_FIELD value=$TIME_FIELD->set('fieldvalue',$DATE_TIME_COMPONENTS[1])} {/if} {* Set the date after converting with repsect to timezone *} {assign var=DATE_TIME_CONVERTED_VALUE value=DateTimeField::convertToUserTimeZone($DATE_TIME_VALUE)->format('Y-m-d H:i:s')} -{if $DATE_TIME_CONVERTED_VALUE!== null} +{if isset($DATE_TIME_CONVERTED_VALUE)} {assign var=DATE_TIME_COMPONENTS value=explode(' ' ,$DATE_TIME_CONVERTED_VALUE)} {assign var=DATE_FIELD value=$DATE_FIELD->set('fieldvalue',$DATE_TIME_COMPONENTS[0])} {/if} diff --git a/layouts/v7/modules/Vtiger/ComposeEmailForm.tpl b/layouts/v7/modules/Vtiger/ComposeEmailForm.tpl index 8df4a905fc626e1cf8ea8c5dfa0447baaa6ef618..b18eac1fd39a3562fc84124fef2c222763757f7c 100644 --- a/layouts/v7/modules/Vtiger/ComposeEmailForm.tpl +++ b/layouts/v7/modules/Vtiger/ComposeEmailForm.tpl @@ -171,7 +171,7 @@ </div> <div class="row templateContent"> <div class="col-lg-12"> - <textarea style="width:390px;height:200px;" id="description" name="description">{isset$DESCRIPTION}</textarea> + <textarea style="width:390px;height:200px;" id="description" name="description">{isset($DESCRIPTION) ? $DESCRIPTION : ''}</textarea> </div> </div> diff --git a/modules/Calendar/Activity.php b/modules/Calendar/Activity.php index 62b46d146e06ab204a0815bc564071a2a4452aa9..ad8608b928393047f663e3109fded1ef76d0b804 100644 --- a/modules/Calendar/Activity.php +++ b/modules/Calendar/Activity.php @@ -180,7 +180,7 @@ class Activity extends CRMEntity { $this->insertIntoReminderTable('vtiger_activity_reminder',$module,""); //Handling for invitees - $selected_users_string = isset($_REQUEST['inviteesid'])?$_REQUEST['inviteesid']:' '; + $selected_users_string = isset($_REQUEST['inviteesid'])?$_REQUEST['inviteesid']:''; $invitees_array = explode(';',$selected_users_string); $this->insertIntoInviteeTable($module,$invitees_array); @@ -386,8 +386,6 @@ function insertIntoRecurringTable(& $recurObj) function insertIntoInviteeTable($module,$invitees_array) { global $log,$adb; - // file_put_contents('test5.log',print_r($invitees_array,true),FILE_APPEND); - // file_put_contents('test5.log',print_r(implode(',',$invitees_array),true),FILE_APPEND); $log->debug("Entering insertIntoInviteeTable(".$module.",".implode(',',$invitees_array).") method ..."); if($this->mode == 'edit'){ $sql = "DELETE FROM vtiger_invitees WHERE activityid=?"; diff --git a/modules/Calendar/RepeatEvents.php b/modules/Calendar/RepeatEvents.php index 563ad7c29f69413324edffcae46220d4e1f84f76..d2d6409e8071adf49e1c48981d61cdfa474abc9b 100644 --- a/modules/Calendar/RepeatEvents.php +++ b/modules/Calendar/RepeatEvents.php @@ -394,7 +394,7 @@ class Calendar_RepeatEvents { } static function checkRecurringDataChanged($recurObjRequest, $recurObjDb) { - if(($recurObjRequest!==null && $recurObjDb!==null) && ($recurObjRequest->recur_type == $recurObjDb->recur_type) && ($recurObjRequest->recur_freq == $recurObjDb->recur_freq) + if(($recurObjRequest && $recurObjDb) && ($recurObjRequest->recur_type == $recurObjDb->recur_type) && ($recurObjRequest->recur_freq == $recurObjDb->recur_freq) && ($recurObjRequest->recurringdates[0] == $recurObjDb->recurringdates[0]) && ($recurObjRequest->recurringenddate == $recurObjDb->recurringenddate) && ($recurObjRequest->dayofweek_to_rpt == $recurObjDb->dayofweek_to_rpt) && ($recurObjRequest->repeat_monthby == $recurObjDb->repeat_monthby) && ($recurObjRequest->rptmonth_datevalue == $recurObjDb->rptmonth_datevalue) && ($recurObjRequest->rptmonth_daytype == $recurObjDb->rptmonth_daytype)) { diff --git a/modules/Calendar/uitypes/Time.php b/modules/Calendar/uitypes/Time.php index 3e1d887065ec1d187a339fd758e2f0999004eeae..04f337da83affa7b71ca36c4124432178bfce174 100644 --- a/modules/Calendar/uitypes/Time.php +++ b/modules/Calendar/uitypes/Time.php @@ -37,7 +37,7 @@ class Calendar_Time_UIType extends Vtiger_Time_UIType { */ public function getDisplayTimeDifferenceValue($fieldName, $value){ $userModel = Users_Privileges_Model::getCurrentUserModel(); - $date = new DateTime($value ?? ''); + $date = new DateTime(isset($value) ? $value: ''); //No need to set the time zone as DateTimeField::getDisplayTime API is already doing this /*if(empty($value)) { diff --git a/modules/Calendar/views/Detail.php b/modules/Calendar/views/Detail.php index 2301a0a32ad4e543905a190865091428ba6c2408..d55a45ada04289ca2b61bac6c964923562098a4e 100644 --- a/modules/Calendar/views/Detail.php +++ b/modules/Calendar/views/Detail.php @@ -151,7 +151,7 @@ class Calendar_Detail_View extends Vtiger_Detail_View { $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStrucure); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('MODULE_NAME', $moduleName); - $viewer->assign('DAY_STARTS',' '); + $viewer->assign('DAY_STARTS',''); $viewer->assign('RELATED_CONTACTS', $relatedContacts); $viewer->assign('IS_AJAX_ENABLED', $this->isAjaxEnabled($recordModel)); $viewer->assign('RECURRING_INFORMATION', $recordModel->getRecurringDetails()); diff --git a/modules/Vtiger/actions/MentionedUsers.php b/modules/Vtiger/actions/MentionedUsers.php index 7ab3b92b83054f2e7254ab55e8937d0373a6e17b..31fcb6b876b3ddaccd73964770845f6b2cbd3562 100644 --- a/modules/Vtiger/actions/MentionedUsers.php +++ b/modules/Vtiger/actions/MentionedUsers.php @@ -37,7 +37,7 @@ class Vtiger_MentionedUsers_Action extends Vtiger_Action_Controller { if(($key = array_search(strtolower($currentUserName), $mentionedUsers)) !== false) { unset($mentionedUsers[$key]); } - $mentionedUsersData=''; + $mentionedUsersData=array(); if(!empty($mentionedUsers)){ $usersString = '@'.implode(' @', $mentionedUsers); $mentionedUsersData['usersString'] = $usersString.' '; diff --git a/modules/Vtiger/uitypes/Time.php b/modules/Vtiger/uitypes/Time.php index a8030bff5930a18886c325f9dbe613522b6d1855..868152acfcb1ed28a3f69fd7bdb62af6fe7c2e22 100644 --- a/modules/Vtiger/uitypes/Time.php +++ b/modules/Vtiger/uitypes/Time.php @@ -66,7 +66,6 @@ class Vtiger_Time_UIType extends Vtiger_Base_UIType { if($time){ if (substr_count($time, ':') < 2) $time .= ':'; // adding : if seconds value is missing to avoid undefined array key error $timeDetails = explode(' ', $time); - // if(php7_count(explode(':', $timeDetails[0])) == 2)$timeDetails[0].=":";// adding : if seconds value is missing to avoid undefined array key error list($hours, $minutes, $seconds) = explode(':', $timeDetails[0]); //If pm exists and if it not 12 then we need to make it to 24 hour format diff --git a/modules/Vtiger/views/Detail.php b/modules/Vtiger/views/Detail.php index 0ffcfcf6cf969dc7841a669a0977ccb4141bfa7a..c4b3f43efa8bf23589fa33032dc9c93dc7a20281 100644 --- a/modules/Vtiger/views/Detail.php +++ b/modules/Vtiger/views/Detail.php @@ -561,7 +561,6 @@ class Vtiger_Detail_View extends Vtiger_Index_View { } if($targetControllerClass) { $targetController = new $targetControllerClass(); - file_put_contents('testing.log',print_r($targetController,true),FILE_APPEND); if($targetController->checkPermission($request)){ return $targetController->process($request); } @@ -580,12 +579,9 @@ class Vtiger_Detail_View extends Vtiger_Index_View { $currentUserModel = Users_Record_Model::getCurrentUserModel(); $modCommentsModel = Vtiger_Module_Model::getInstance('ModComments'); $moduleName = $parentCommentModel->getParentRecordModel()->getModuleName(); - $CREATOR_NAME=decode_html($parentCommentModel->getCommentedByName()); - $shortName = substr($CREATOR_NAME, 0, 2); $viewer = $this->getViewer($request); $viewer->assign('PARENT_COMMENTS', $childComments); $viewer->assign('CURRENTUSER', $currentUserModel); - $viewer->assign('shortName',$shortName); $viewer->assign('COMMENTS_MODULE_MODEL', $modCommentsModel); $viewer->assign('MODULE_NAME', $moduleName); diff --git a/modules/Vtiger/views/MassActionAjax.php b/modules/Vtiger/views/MassActionAjax.php index 5a1dbf8eb2be1107a9a204fec1960c7b39487ae9..2926f5cf8193d683f1ada9f552ec6ab51f51823f 100644 --- a/modules/Vtiger/views/MassActionAjax.php +++ b/modules/Vtiger/views/MassActionAjax.php @@ -212,8 +212,8 @@ class Vtiger_MassActionAjax_View extends Vtiger_IndexAjax_View { } else{ $viewer->assign('OPERATOR',''); - $viewer->assign('ALPHABET_VALUE',' '); - $viewer->assign('SEARCH_KEY',' '); + $viewer->assign('ALPHABET_VALUE',''); + $viewer->assign('SEARCH_KEY',''); } $searchParams = !empty($request->get('search_params'))?$request->get('search_params'):' '; diff --git a/pkg/vtiger/modules/ModComments/modules/ModComments/views/DetailAjax.php b/pkg/vtiger/modules/ModComments/modules/ModComments/views/DetailAjax.php index c54f0c640ea13ec833e575de9f024bc9ce070336..93797cab8d67c4c1a84dd97f45d9c0bca8d0cc9b 100644 --- a/pkg/vtiger/modules/ModComments/modules/ModComments/views/DetailAjax.php +++ b/pkg/vtiger/modules/ModComments/modules/ModComments/views/DetailAjax.php @@ -24,7 +24,6 @@ class ModComments_DetailAjax_View extends Vtiger_IndexAjax_View { $viewer->assign('MODULE_NAME', $recordModel->getParentRecordModel()->getModuleName()); $viewer->assign('COMMENTS_MODULE_MODEL', $modCommentsModel); $viewer->assign('ROLLUP_STATUS', false); - $viewer->assign('shortName',$shortName); $viewer->assign('CHILDS_ROOT_PARENT_MODEL', null); echo $viewer->view('Comment.tpl', $moduleName, true); } diff --git a/pkg/vtiger/modules/ModComments/modules/ModComments/views/InRelation.php b/pkg/vtiger/modules/ModComments/modules/ModComments/views/InRelation.php index 9803498bcd585cbefdef4bacbb59ba0103f721c8..07bcd349d87e486f764e0c5a5a930028b69e92da 100644 --- a/pkg/vtiger/modules/ModComments/modules/ModComments/views/InRelation.php +++ b/pkg/vtiger/modules/ModComments/modules/ModComments/views/InRelation.php @@ -27,15 +27,13 @@ class ModComments_InRelation_View extends Vtiger_RelatedList_View { $startindex = $startindex + 10; } else { $parentCommentModels = ModComments_Record_Model::getAllParentComments($parentRecordId); - $CREATOR_NAME=decode_html($parentCommentModels->getCommentedByName()); - $shortName = substr($CREATOR_NAME, 0, 2); + + } $currentCommentModel = null; if (!empty($commentRecordId)) { $currentCommentModel = ModComments_Record_Model::getInstanceById($commentRecordId); - $CREATOR_NAME=decode_html($currentCommentModel->getCommentedByName()); - $shortName = substr($CREATOR_NAME, 0, 2); } // To get field model of filename @@ -49,7 +47,6 @@ class ModComments_InRelation_View extends Vtiger_RelatedList_View { $viewer->assign('FIELD_MODEL', $fileFieldModel); $viewer->assign('MAX_UPLOAD_LIMIT_MB', Vtiger_Util_Helper::getMaxUploadSize()); $viewer->assign('MAX_UPLOAD_LIMIT_BYTES', Vtiger_Util_Helper::getMaxUploadSizeInBytes()); - $viewer->assign('shortName',$shortName); $viewer->assign('MODULE_NAME', $request->getModule()); $viewer->assign('MODULE_RECORD', $parentRecordId); $viewer->assign('ROLLUP_STATUS', $rollupStatus); diff --git a/vtlib/Vtiger/Functions.php b/vtlib/Vtiger/Functions.php index cc5ddece5be1e91b33aa738cc787a62578ce132c..7fc4fd1072adad35b84bd91498d74006d64ca453 100644 --- a/vtlib/Vtiger/Functions.php +++ b/vtlib/Vtiger/Functions.php @@ -519,12 +519,12 @@ class Vtiger_Functions { // Utility static function formatDecimal($value){ $fld_value = $value; - if(!empty($value)){ + if(!$value)return $value; if(strpos($value, '.')) { $fld_value = rtrim($value, '0'); } $value = rtrim($fld_value, '.'); - } + return $value; } @@ -1745,17 +1745,17 @@ class Vtiger_Functions { $endchar = ""; // HTML embed in attributes (eg. img src="..."). - $startidx = strpos($input ??'', '"data:', $offset); + $startidx = strpos(isset($input) ? $input: '', '"data:', $offset); if ($startidx !== false) { $endchar = '"'; } else { // HTML embed in attributes (eg. img src='...'). - $startidx = strpos($input ??'', "'data:", $offset); + $startidx = strpos(isset($input) ? $input: '', "'data:", $offset); if ($startidx !== false) { $endchar = "'"; } else { // TEXT embed with wrap [eg. (data...)] - $startidx = strpos($input ??'', "(data:", $offset); + $startidx = strpos(isset($input) ? $input : '', "(data:", $offset); if ($startidx !== false) { $endchar = ")"; } else { @@ -1784,7 +1784,7 @@ class Vtiger_Functions { $offset = $endidx + 1; } while (true); - if ($offset < strlen($input ?? '')) { + if ($offset < strlen(isset($input) ? $input: '')) { $parts[] = substr($input, $offset); } return implode("", $parts);