diff --git a/include/ChartUtils.php b/include/ChartUtils.php index c1b01bba54862d6652ddb47a82b18d32c85b5b0f..62ded8537bc0ca4a3ea92c7ad7df56361dcc28bc 100644 --- a/include/ChartUtils.php +++ b/include/ChartUtils.php @@ -370,7 +370,7 @@ Class ChartUtils { if ($fieldDetails != '') { list($tablename, $colname, $module_field, $fieldname, $single) = explode(":", $fieldDetails); - list($module, $field) = split("_", $module_field); + list($module, $field) = explode('_', $module_field); $dateField = false; if ($single == 'D') { $dateField = true; diff --git a/include/ListView/ListViewController.php b/include/ListView/ListViewController.php index 6334b35538a38a53604c85fcab3c2e0cd33bb0a4..2a4b6bd7ea2980aefbd1dfa80030d2e169585173 100644 --- a/include/ListView/ListViewController.php +++ b/include/ListView/ListViewController.php @@ -228,6 +228,7 @@ class ListViewController { } $moduleInstance = Vtiger_Module_Model::getInstance("PBXManager"); + $outgoingCallPermission = false; if($moduleInstance && $moduleInstance->isActive()) { $outgoingCallPermission = PBXManager_Server_Model::checkPermissionForOutgoingCall(); $clickToCallLabel = vtranslate("LBL_CLICK_TO_CALL"); @@ -300,7 +301,6 @@ class ListViewController { } else{ $value = textlength_check($value); } - $value = $fileicon.$value; } elseif($module == 'Documents' && $fieldName == 'filesize') { $downloadType = $db->query_result($result,$i,'filelocationtype'); if($downloadType == 'I') { diff --git a/include/utils/InventoryUtils.php b/include/utils/InventoryUtils.php index 03da263412e3339e307a2c298048c3706cdf39f5..baa17172be770ec75f7ffec23b407984dd121372 100644 --- a/include/utils/InventoryUtils.php +++ b/include/utils/InventoryUtils.php @@ -686,7 +686,7 @@ function saveInventoryProductDetails(&$focus, $module, $update_prod_stock='false $sub_prod_str = vtlib_purify($_REQUEST['subproduct_ids'.$i]); if (!empty($sub_prod_str)) { - $sub_prod = split(',', rtrim($sub_prod_str, ',')); + $sub_prod = explode(',', rtrim($sub_prod_str, ',')); foreach ($sub_prod as $subProductInfo) { list($subProductId, $subProductQty) = explode(':', $subProductInfo); $query = 'INSERT INTO vtiger_inventorysubproductrel VALUES(?, ?, ?, ?)'; diff --git a/include/utils/VtlibUtils.php b/include/utils/VtlibUtils.php index 1215aea17b0e17fbe63c36940cac5c642ab9d01f..274343ff1191e312224488bf029b1d376522ded1 100644 --- a/include/utils/VtlibUtils.php +++ b/include/utils/VtlibUtils.php @@ -718,10 +718,26 @@ function vtlib_purify($input, $ignore = false) { } $purified_cache[$md5OfInput] = $value; } - $value = str_replace('&', '&', $value); + + if(is_array($value)) { + $value = str_replace_json('&', '&', $value); + } else { + $value = str_replace('&', '&', $value); + } return $value; } +/** + * Function to replace values in multi dimentional array (str_replace will support only one level of array) + * @param type $search + * @param type $replace + * @param type $subject + * @return <array> + */ +function str_replace_json($search, $replace, $subject){ + return json_decode(str_replace($search, $replace, json_encode($subject)), true); +} + /** * To purify malicious html event attributes * @param <String> $value diff --git a/include/utils/export.php b/include/utils/export.php index d4c6b74562d419b017858ca37cbcbfb16cf3a509..0603f89dec737fe50fe7509935bfcbb8a988b3ee 100755 --- a/include/utils/export.php +++ b/include/utils/export.php @@ -135,7 +135,7 @@ function export($type){ } $params = array(); - list($idstring, $export_data) = split("#@@#",getExportRecordIds($type, $viewid, $_REQUEST)); + list($idstring, $export_data) = explode('#@@#', getExportRecordIds($type, $viewid, $_REQUEST)); if(($search_type == 'withoutsearch' || $search_type == 'includesearch') && $export_data == 'selecteddata'){ $idstring = getSelectedRecords($_REQUEST, $type, $idstring, vtlib_purify($_REQUEST['excludedRecords'])); diff --git a/include/utils/utils.php b/include/utils/utils.php index 955b87682f433be11f9d345ce2c7775ece06f4e8..eb0bc4ca7fe5d7f62397f862fe1e03d386dfefaa 100755 --- a/include/utils/utils.php +++ b/include/utils/utils.php @@ -2174,7 +2174,7 @@ function getSelectAllQuery($input,$module) { $query = $oCustomView->getModifiedCvListQuery($viewid,$listquery,$module); $where = ''; if($input['query'] == 'true') { - list($where, $ustring) = split("#@@#",getWhereCondition($module, $input)); + list($where, $ustring) = explode('#@@#', getWhereCondition($module, $input)); if(isset($where) && $where != '') { $query .= " AND " .$where; } diff --git a/includes/http/Request.php b/includes/http/Request.php index c8282f7512a3350ca04c9e56351fa226f79db351..0a1ee077e51a8e49f938f657fb5aa551b59d96ad 100644 --- a/includes/http/Request.php +++ b/includes/http/Request.php @@ -8,28 +8,13 @@ * All Rights Reserved. ************************************************************************************/ -class Vtiger_Request implements ArrayAccess { +class Vtiger_Request { // Datastore private $valuemap; private $rawvaluemap; private $defaultmap = array(); - // ArrayAccess Start - public function offsetExists($key) { - return $this->has($key); - } - public function offsetSet($key, $value) { - $this->set($key, $value); - } - public function offsetGet($key) { - return $this->get($key); - } - public function offsetUnset($key) { - // Ignore - } - // ArrayAccess End - /** * Default constructor */ @@ -72,14 +57,19 @@ class Vtiger_Request implements ArrayAccess { } } if($isJSON) { - $decodeValue = json_decode($value, true); - $value = json_last_error() ? $value : $decodeValue; + $oldValue = Zend_Json::$useBuiltinEncoderDecoder; + Zend_Json::$useBuiltinEncoderDecoder = false; + $decodeValue = Zend_Json::decode($value); + if(isset($decodeValue)) { + $value = $decodeValue; + } + Zend_Json::$useBuiltinEncoderDecoder = $oldValue; } - //Handled for null because vtlib_purify returns empty string - if(!empty($value)){ - $value = vtlib_purify($value); - } + //Handled for null because vtlib_purify returns empty string + if(!empty($value)){ + $value = vtlib_purify($value); + } return $value; } diff --git a/includes/runtime/LanguageHandler.php b/includes/runtime/LanguageHandler.php index 5815b680111d5848df6e5b5304857be04d973331..b570bd7adaefab7ce0cdba42cfe52fd817c45bb3 100644 --- a/includes/runtime/LanguageHandler.php +++ b/includes/runtime/LanguageHandler.php @@ -132,7 +132,7 @@ class Vtiger_Language_Handler { $qualifiedName = 'languages.'.$language.'.'.$module; $file = Vtiger_Loader::resolveNameToPath($qualifiedName); $languageStrings = $jsLanguageStrings = array(); - if (!self::$fileExists[$file]) { + if (!isset(self::$fileExists[$file])) { self::$fileExists[$file] = file_exists($file) ? 'yes' : 'no'; } if (self::$fileExists[$file] == 'yes') { @@ -147,7 +147,7 @@ class Vtiger_Language_Handler { $file = Vtiger_Loader::resolveNameToPath($qualifiedCustomName); $languageStrings = $jsLanguageStrings = array(); - if (!self::$fileExists[$file]) { + if (!isset(self::$fileExists[$file])) { self::$fileExists[$file] = file_exists($file) ? 'yes' : 'no'; } if (self::$fileExists[$file] == 'yes') { diff --git a/languages/en_us/Vtiger.php b/languages/en_us/Vtiger.php index 02418eab4d89913166e7dbc9a676e735fd62b35b..ecb68bcbcbaf1697046a4e55f77a5a5d9fa612d7 100644 --- a/languages/en_us/Vtiger.php +++ b/languages/en_us/Vtiger.php @@ -1393,6 +1393,7 @@ $languageStrings = array( 'LBL_RELATED_MODULES_PERMISSION_DENIED' => 'Related modules permission is denied', 'LBL_RECORD_PERMISSION_DENIED' => 'Record permissions denied', 'LBL_MASS_SELECT' => 'Mass Select', + 'LBL_DASHBOARD_TAB_INVALID' => 'Invalid Tab Name ', ); $jsLanguageStrings = array( diff --git a/layouts/v7/modules/Accounts/uitypes/Text.tpl b/layouts/v7/modules/Accounts/uitypes/Text.tpl index 91843400c92122057fc00450e6cf9c509f8d3a07..3b351199c1848c80a92e572ce639800119aff761 100644 --- a/layouts/v7/modules/Accounts/uitypes/Text.tpl +++ b/layouts/v7/modules/Accounts/uitypes/Text.tpl @@ -17,7 +17,7 @@ {else} <textarea rows="5" class="inputElement {if $FIELD_MODEL->isNameField()}nameField{/if}" name="{$FIELD_NAME}" data-validation-engine="validate[{if $FIELD_MODEL->isMandatory() eq true}required,{/if}funcCall[Vtiger_Base_Validator_Js.invokeValidation]]" data-fieldinfo='{$FIELD_INFO}' {if !empty($SPECIAL_VALIDATOR)}data-validator={Zend_Json::encode($SPECIAL_VALIDATOR)}{/if}> {$FIELD_MODEL->get('fieldvalue')}</textarea> - {if $MODULE_NAME neq 'Webforms' && $REQ.view neq 'Detail'} + {if $MODULE_NAME neq 'Webforms' && $REQ->get('view') neq 'Detail'} {if $FIELD_NAME eq "bill_street"} <div> <a class="cursorPointer" name="copyAddress" data-target="shipping">{vtranslate('LBL_COPY_SHIPPING_ADDRESS', $MODULE)}</a> diff --git a/layouts/v7/modules/Calendar/CalendarView.tpl b/layouts/v7/modules/Calendar/CalendarView.tpl index 33c1ba650da3f1aebc0e7defe0edb0a9182c5cd2..fd75fd4b318d3a8ec6f6546d40d284028a4d20c5 100644 --- a/layouts/v7/modules/Calendar/CalendarView.tpl +++ b/layouts/v7/modules/Calendar/CalendarView.tpl @@ -8,7 +8,7 @@ ************************************************************************************} {* modules/Calendar/views/Calendar.php *} {strip} -<input type="hidden" id="currentView" value="{$REQ.view}" /> +<input type="hidden" id="currentView" value="{$REQ->get('view')}" /> <input type="hidden" id="start_day" value="{$CURRENT_USER->get('dayoftheweek')}" /> <input type="hidden" id="activity_view" value="{$CURRENT_USER->get('activity_view')}" /> <input type="hidden" id="time_format" value="{$CURRENT_USER->get('hour_format')}" /> diff --git a/layouts/v7/modules/Calendar/ModuleHeader.tpl b/layouts/v7/modules/Calendar/ModuleHeader.tpl index 4337e45142e34812b7fbd604e2cee8fbb4df4f5d..8f0f50a02ed9fc6f81ab43c9014e051e4699a61a 100644 --- a/layouts/v7/modules/Calendar/ModuleHeader.tpl +++ b/layouts/v7/modules/Calendar/ModuleHeader.tpl @@ -10,7 +10,7 @@ {strip} <div class="col-sm-12 col-xs-12 module-action-bar clearfix coloredBorderTop"> <div class="module-action-content clearfix {$MODULE}-module-action-content"> - <div class="col-lg-7 col-md-7 module-breadcrumb module-breadcrumb-{$REQ.view} transitionsAllHalfSecond"> + <div class="col-lg-7 col-md-7 module-breadcrumb module-breadcrumb-{$REQ->get('view')} transitionsAllHalfSecond"> {assign var=MODULE_MODEL value=Vtiger_Module_Model::getInstance($MODULE)} {if $MODULE_MODEL->getDefaultViewName() neq 'List'} {assign var=DEFAULT_FILTER_URL value=$MODULE_MODEL->getDefaultUrl()} @@ -39,13 +39,13 @@ <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 $REQ.view eq 'Edit'} + {if $RECORD and $REQ->get('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 $REQ.view eq 'Edit'} + {else if $REQ->get('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> {/if} - {if $REQ.view eq 'Detail'} + {if $REQ->get('view') eq 'Detail'} <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')}"> {$RECORD->get('label')} </a></p> {/if} </div> diff --git a/layouts/v7/modules/Calendar/SharedCalendarView.tpl b/layouts/v7/modules/Calendar/SharedCalendarView.tpl index 36477c3d904b7d62fb64c449f8bafc60b6819c36..e96fb6d3124ee9379f5cfb40e96b3ed607255fff 100644 --- a/layouts/v7/modules/Calendar/SharedCalendarView.tpl +++ b/layouts/v7/modules/Calendar/SharedCalendarView.tpl @@ -8,7 +8,7 @@ ************************************************************************************} {* modules/Calendar/views/SharedCalendar.php *} {strip} -<input type="hidden" id="currentView" value="{$REQ.view}" /> +<input type="hidden" id="currentView" value="{$REQ->get('view')}" /> <input type="hidden" id="start_day" value="{$CURRENT_USER->get('dayoftheweek')}" /> <input type="hidden" id="activity_view" value="{$CURRENT_USER->get('activity_view')}" /> <input type="hidden" id="time_format" value="{$CURRENT_USER->get('hour_format')}" /> diff --git a/layouts/v7/modules/Contacts/uitypes/Text.tpl b/layouts/v7/modules/Contacts/uitypes/Text.tpl index 849f5802ed7202f3614a87ae41cbe42f92f8c5a2..caadb6019a6770c832f87ca9666b33da5b230bd3 100644 --- a/layouts/v7/modules/Contacts/uitypes/Text.tpl +++ b/layouts/v7/modules/Contacts/uitypes/Text.tpl @@ -17,7 +17,7 @@ {else} <textarea rows="5" class="inputElement {if $FIELD_MODEL->isNameField()}nameField{/if}" name="{$FIELD_NAME}" data-validation-engine="validate[{if $FIELD_MODEL->isMandatory() eq true}required,{/if}funcCall[Vtiger_Base_Validator_Js.invokeValidation]]" data-fieldinfo='{$FIELD_INFO}' {if !empty($SPECIAL_VALIDATOR)}data-validator={Zend_Json::encode($SPECIAL_VALIDATOR)}{/if}> {$FIELD_MODEL->get('fieldvalue')}</textarea> - {if $MODULE_NAME neq 'Webforms' && $REQ.view neq 'Detail'} + {if $MODULE_NAME neq 'Webforms' && $REQ->get('view') neq 'Detail'} {if $FIELD_NAME eq "mailingstreet"} <div> <a class="cursorPointer" name="copyAddress" data-target="other">{vtranslate('LBL_COPY_OTHER_ADDRESS', $MODULE)}</a> diff --git a/layouts/v7/modules/Documents/ModuleHeader.tpl b/layouts/v7/modules/Documents/ModuleHeader.tpl index 781d2b97667c37d190c29cf3d42ad2c59c8f432f..2c3db7718c038360cd4db45c2d3ce908e231ce5c 100644 --- a/layouts/v7/modules/Documents/ModuleHeader.tpl +++ b/layouts/v7/modules/Documents/ModuleHeader.tpl @@ -12,7 +12,7 @@ {strip} <div class="col-sm-12 col-xs-12 module-action-bar clearfix coloredBorderTop"> <div class="module-action-content clearfix"> - <div class="col-lg-7 col-md-7 module-breadcrumb module-breadcrumb-{$REQ.view}"> + <div class="col-lg-7 col-md-7 module-breadcrumb module-breadcrumb-{$REQ->get('view')}"> {assign var=MODULE_MODEL value=Vtiger_Module_Model::getInstance($MODULE)} {if $MODULE_MODEL->getDefaultViewName() neq 'List'} {assign var=DEFAULT_FILTER_URL value=$MODULE_MODEL->getDefaultUrl()} @@ -41,12 +41,12 @@ <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}'> {$CVNAME} </a> </p> {/if} {assign var=SINGLE_MODULE_NAME value='SINGLE_'|cat:$MODULE} - {if $RECORD and $REQ.view eq 'Edit'} + {if $RECORD and $REQ->get('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 $REQ.view eq 'Edit'} + {else if $REQ->get('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> {/if} - {if $REQ.view eq 'Detail'} + {if $REQ->get('view') eq 'Detail'} <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')}"> {$RECORD->get('label')} </a></p> {/if} </div> diff --git a/layouts/v7/modules/Documents/partials/Menubar.tpl b/layouts/v7/modules/Documents/partials/Menubar.tpl index 5a7ef6c4c72128fe243e82a05cd3f962caa47f79..8c9dbaa333ec2b0f3d1441de8c161e7354836790 100644 --- a/layouts/v7/modules/Documents/partials/Menubar.tpl +++ b/layouts/v7/modules/Documents/partials/Menubar.tpl @@ -7,7 +7,7 @@ * All Rights Reserved. *************************************************************************************} -{if $REQ.view eq 'Detail'} +{if $REQ->get('view') eq 'Detail'} <div id="modules-menu" class="modules-menu"> <ul> <li class="active"> diff --git a/layouts/v7/modules/Events/uitypes/Multireference.tpl b/layouts/v7/modules/Events/uitypes/Multireference.tpl index 6243b5b5aac9861f4697629fd5d4b9cedf15943f..48175afbbe6845c0e2331e78de5777bac51bf9f7 100644 --- a/layouts/v7/modules/Events/uitypes/Multireference.tpl +++ b/layouts/v7/modules/Events/uitypes/Multireference.tpl @@ -43,7 +43,7 @@ <input type="hidden" name="relatedContactInfo" data-value='{json_encode($RELATED_CONTACTS, $smarty.const.JSON_HEX_APOS)}' /> <!-- Show the add button only if it is edit view --> - {if $REQ.view eq 'Edit'} + {if $REQ->get('view') eq 'Edit'} <span class="input-group-addon createReferenceRecord cursorPointer clearfix" title="{vtranslate('LBL_CREATE', $MODULE)}"> <i id="{$MODULE}_editView_fieldName_{$FIELD_NAME}_create" class="fa fa-plus"></i> </span> diff --git a/layouts/v7/modules/PurchaseOrder/PopupContents.tpl b/layouts/v7/modules/PurchaseOrder/PopupContents.tpl deleted file mode 100644 index 3bf4eb1bfee0c6bdbe21451689fc9e99fcbfab19..0000000000000000000000000000000000000000 --- a/layouts/v7/modules/PurchaseOrder/PopupContents.tpl +++ /dev/null @@ -1,12 +0,0 @@ -{*+********************************************************************************** - * The contents of this file are subject to the vtiger CRM Public License Version 1.1 - * ("License"); You may not use this file except in compliance with the License - * The Original Code is: vtiger CRM Open Source - * The Initial Developer of the Original Code is vtiger. - * Portions created by vtiger are Copyright (C) vtiger. - * All Rights Reserved. - ************************************************************************************} -{* modules/PurchaseOrder/views/ProductsPopupAjax.php *} - -{* START YOUR IMPLEMENTATION FROM BELOW. Use {debug} for information *} -<DIV>TEMPLATE: layout/modules/PurchaseOrder/PopupContents.tpl</DIV> diff --git a/layouts/v7/modules/PurchaseOrder/uitypes/Text.tpl b/layouts/v7/modules/PurchaseOrder/uitypes/Text.tpl index ec69b56392a5ac8ebf8736ce29f8873d6b958152..8eb7e244b2ff380e97fd7488079cbd006a014e0e 100644 --- a/layouts/v7/modules/PurchaseOrder/uitypes/Text.tpl +++ b/layouts/v7/modules/PurchaseOrder/uitypes/Text.tpl @@ -22,7 +22,7 @@ > {$FIELD_MODEL->get('fieldvalue')}</textarea> {else} - {if $REQ.view neq 'Detail'} + {if $REQ->get('view') neq 'Detail'} {assign var=blockLabel value=$RECORD_STRUCTURE['LBL_PO_INFORMATION']} {assign var=fieldModel value=$blockLabel['accountid']} {$pickList = ['' => 'LBL_SELECT_ADDRESS_OPTION', 'company'=> 'LBL_COMPANY_ADDRESS', diff --git a/layouts/v7/modules/Settings/ExtensionStore/Detail.tpl b/layouts/v7/modules/Settings/ExtensionStore/Detail.tpl index 5633fd154a6dfb6fc33443ece5ac451bc3a68cfb..aeaa362f25dcc116c978faca8ede6c2f3f21040a 100644 --- a/layouts/v7/modules/Settings/ExtensionStore/Detail.tpl +++ b/layouts/v7/modules/Settings/ExtensionStore/Detail.tpl @@ -12,7 +12,7 @@ {strip} <div class="col-lg-12 col-sm-12 content-area detailViewInfo extensionDetails extensionWidgetContainer" style='margin-top:0px;'> {if !($ERROR)} - <input type="hidden" name="mode" value="{$REQ.mode}" /> + <input type="hidden" name="mode" value="{$REQ->get('mode')}" /> <input type="hidden" name="extensionId" value="{$EXTENSION_ID}" /> <input type="hidden" name="targetModule" value="{$EXTENSION_DETAIL->get('name')}" /> <input type="hidden" name="moduleAction" value="{$MODULE_ACTION}" /> diff --git a/layouts/v7/modules/Settings/Roles/RoleTree.tpl b/layouts/v7/modules/Settings/Roles/RoleTree.tpl index 4c4840feb03bc08765574e7422e51b824660519c..70001ec24020d4eabd1f6e76ef5cec559a2a2604 100644 --- a/layouts/v7/modules/Settings/Roles/RoleTree.tpl +++ b/layouts/v7/modules/Settings/Roles/RoleTree.tpl @@ -11,7 +11,7 @@ {foreach from=$ROLE->getChildren() item=CHILD_ROLE} <li data-role="{$CHILD_ROLE->getParentRoleString()}" data-roleid="{$CHILD_ROLE->getId()}"> <div class="toolbar-handle"> - {if $REQ.type == 'Transfer'} + {if $REQ->get('type') == 'Transfer'} {assign var="SOURCE_ROLE_SUBPATTERN" value='::'|cat:$SOURCE_ROLE->getId()} {if strpos($CHILD_ROLE->getParentRoleString(), $SOURCE_ROLE_SUBPATTERN) !== false} <a style="white-space: nowrap" data-url="{$CHILD_ROLE->getEditViewUrl()}" class="btn btn-default" disabled data-toggle="tooltip" data-placement="top" ><span class="muted">{$CHILD_ROLE->getName()}</span></a> @@ -21,7 +21,7 @@ {else} <a style="white-space: nowrap" href="{$CHILD_ROLE->getEditViewUrl()}" data-url="{$CHILD_ROLE->getEditViewUrl()}" class="btn btn-default draggable droppable" data-toggle="tooltip" data-placement="top" data-animation="true" title="{vtranslate('LBL_CLICK_TO_EDIT_OR_DRAG_TO_MOVE',$QUALIFIED_MODULE)}">{$CHILD_ROLE->getName()}</a> {/if} - {if $REQ.view != 'Popup'} + {if $REQ->get('view') != 'Popup'} <div class="toolbar"> <a href="{$CHILD_ROLE->getCreateChildUrl()}" data-url="{$CHILD_ROLE->getCreateChildUrl()}" title="{vtranslate('LBL_ADD_RECORD', $QUALIFIED_MODULE)}"><span class="fa fa-plus-circle"></span></a> <a data-id="{$CHILD_ROLE->getId()}" href="javascript:;" data-url="{$CHILD_ROLE->getDeleteActionUrl()}" data-action="modal" title="{vtranslate('LBL_DELETE', $QUALIFIED_MODULE)}"><span class="fa fa-trash"></span></a> diff --git a/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl b/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl index c55813585e5d6924eab3a2f0a7937bbe6c40dc1c..7b66072dd814057890cb6d36c64c15c0df2ebd9f 100644 --- a/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl +++ b/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl @@ -19,7 +19,7 @@ </a> <span class="fa fa-angle-right pull-left {if $VIEW eq 'Index' && $MODULE eq 'Vtiger'} hide {/if}" aria-hidden="true" style="padding-top: 12px;padding-left: 5px; padding-right: 5px;"></span> {/if} - {if $MODULE neq 'Vtiger' or $REQ.view neq 'Index'} + {if $MODULE neq 'Vtiger' or $REQ->get('view') neq 'Index'} {if $ACTIVE_BLOCK['block']} <span class="current-filter-name filter-name pull-left"> {vtranslate($ACTIVE_BLOCK['block'], $QUALIFIED_MODULE)} @@ -35,13 +35,13 @@ {assign var=URL value=$MODULE_MODEL->getDefaultUrl()} {/if} {if $URL|strpos:'parent' eq ''} - {assign var=URL value=$URL|cat:'&parent='|cat:$REQ.parent} + {assign var=URL value=$URL|cat:'&parent='|cat:$REQ->get('parent')} {/if} {/if} <span class="current-filter-name settingModuleName filter-name pull-left"> - {if $REQ.view eq 'Calendar'} - {if $REQ.mode eq 'Edit'} - <a href="{"index.php?module="|cat:$REQ.module|cat:'&parent='|cat:$REQ.parent|cat:'&view='|cat:$REQ.view}"> + {if $REQ->get('view') eq 'Calendar'} + {if $REQ->get('view') eq 'Edit'} + <a href="{"index.php?module="|cat:$REQ->get('module')|cat:'&parent='|cat:$REQ->get('parent')|cat:'&view='|cat:$REQ->get('view')}"> {vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)} </a> <a href=""> @@ -51,22 +51,22 @@ {else} <a href="">{vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)} <span class="fa fa-angle-right" aria-hidden="true"></span> {$USER_MODEL->getName()}</a> {/if} - {else if $REQ.view neq 'List' and $REQ.module eq 'Users'} - {if $REQ.view eq 'PreferenceEdit'} - <a href="{"index.php?module="|cat:$REQ.module|cat:'&parent='|cat:$REQ.parent|cat:'&view=PreferenceDetail&record='|cat:$REQ.record}"> + {else if $REQ->get('view') neq 'List' and $REQ->get('module') eq 'Users'} + {if $REQ->get('view') eq 'PreferenceEdit'} + <a href="{"index.php?module="|cat:$REQ->get('module')|cat:'&parent='|cat:$REQ->get('parent')|cat:'&view=PreferenceDetail&record='|cat:$REQ->get('record')}"> {vtranslate($ACTIVE_BLOCK['block'], $QUALIFIED_MODULE)} </a> <a href=""> <span class="fa fa-angle-right" aria-hidden="true"></span> {vtranslate('LBL_EDITING', $MODULE)} : {$USER_MODEL->getName()} </a> - {else if $REQ.view eq 'Edit' or $REQ.view eq 'Detail'} + {else if $REQ->get('view') eq 'Edit' or $REQ->get('view') eq 'Detail'} <a href="{$URL}"> - {if $REQ.extensionModule}{$REQ.extensionModule}{else}{vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)}{/if} + {if $REQ->get('extensionModule')}{$REQ->get('extensionModule')}{else}{vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)}{/if} </a> <a href=""> <span class="fa fa-angle-right" aria-hidden="true"></span> - {if $REQ.view eq 'Edit'} + {if $REQ->get('view') eq 'Edit'} {if $RECORD} {vtranslate('LBL_EDITING', $MODULE)} : {$RECORD->getName()} {else} @@ -79,10 +79,10 @@ {else} <a href="">{$USER_MODEL->getName()}</a> {/if} - {else if $URL and $URL|strpos:$REQ.view eq ''} + {else if $URL and $URL|strpos:$REQ->get('view') eq ''} <a href="{$URL}"> - {if $REQ.extensionModule} - {$REQ.extensionModule} + {if $REQ->get('extensionModule')} + {$REQ->get('extensionModule')} {else} {vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)} {/if} @@ -90,20 +90,20 @@ <a href=""> <span class="fa fa-angle-right" aria-hidden="true"></span> {if $RECORD} - {if $REQ.view eq 'Edit'} + {if $REQ->get('view') eq 'Edit'} {vtranslate('LBL_EDITING', $MODULE)} : {/if} {$RECORD->getName()} {/if} </a> {else} - {if $REQ.extensionModule}{$REQ.extensionModule}{else}{vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)}{/if} + {if $REQ->get('extensionModule')}{$REQ->get('extensionModule')}{else}{vtranslate({$PAGETITLE}, $QUALIFIED_MODULE)}{/if} {/if} </span> {else} - {if $REQ.view eq 'TaxIndex'} + {if $REQ->get('view') eq 'TaxIndex'} {assign var=SELECTED_MODULE value='LBL_TAX_MANAGEMENT'} - {elseif $REQ.view eq 'TermsAndConditionsEdit'} + {elseif $REQ->get('view') eq 'TermsAndConditionsEdit'} {assign var=SELECTED_MODULE value='LBL_TERMS_AND_CONDITIONS'} {else} {assign var=SELECTED_MODULE value=$ACTIVE_BLOCK['menu']} diff --git a/layouts/v7/modules/Vtiger/DetailViewHeaderFieldsView.tpl b/layouts/v7/modules/Vtiger/DetailViewHeaderFieldsView.tpl index 8b9bb72543ca23f0590127b3001f4e3e8437df96..6c7a587801e120cba58ea52d684bf75b797dcc79 100644 --- a/layouts/v7/modules/Vtiger/DetailViewHeaderFieldsView.tpl +++ b/layouts/v7/modules/Vtiger/DetailViewHeaderFieldsView.tpl @@ -21,7 +21,7 @@ <span class="{$FIELD_NAME} value" title="{vtranslate($FIELD_MODEL->get('label'),$MODULE)} : {strip_tags($DISPLAY_VALUE)}"> {include file=$FIELD_MODEL->getUITypeModel()->getDetailViewTemplateName()|@vtemplate_path:$MODULE_NAME FIELD_MODEL=$FIELD_MODEL MODULE=$MODULE_NAME RECORD=$RECORD} </span> - {if $FIELD_MODEL->isEditable() eq 'true' && $LIST_PREVIEW neq 'true' && $IS_AJAX_ENABLED eq 'true'} + {if $FIELD_MODEL->isEditable() eq 'true' AND (isset($LIST_PREVIEW) AND $LIST_PREVIEW neq 'true') && $IS_AJAX_ENABLED eq 'true'} <span class="hide edit"> {if $FIELD_DATA_TYPE eq 'multipicklist'} <input type="hidden" class="fieldBasicData" data-name='{$FIELD_MODEL->get('name')}[]' data-type="{$FIELD_MODEL->getFieldDataType()}" data-displayvalue='{Vtiger_Util_Helper::toSafeHTML($FIELD_MODEL->getDisplayValue($FIELD_MODEL->get('fieldvalue')))}' data-value="{$FIELD_MODEL->get('fieldvalue')}" /> diff --git a/layouts/v7/modules/Vtiger/ModuleHeader.tpl b/layouts/v7/modules/Vtiger/ModuleHeader.tpl index 612d24d2256f32b18ffc9cf6686458e4a9d2267d..db376c64639eae959b5954687edb80e0eb591ece 100644 --- a/layouts/v7/modules/Vtiger/ModuleHeader.tpl +++ b/layouts/v7/modules/Vtiger/ModuleHeader.tpl @@ -10,7 +10,7 @@ {strip} <div class="col-sm-11 col-xs-10 padding0 module-action-bar clearfix coloredBorderTop"> <div class="module-action-content clearfix {$MODULE}-module-action-content"> - <div class="col-lg-7 col-md-6 col-sm-5 col-xs-11 padding0 module-breadcrumb module-breadcrumb-{$REQ.view} transitionsAllHalfSecond"> + <div class="col-lg-7 col-md-6 col-sm-5 col-xs-11 padding0 module-breadcrumb module-breadcrumb-{$REQ->get('view')} transitionsAllHalfSecond"> {assign var=MODULE_MODEL value=Vtiger_Module_Model::getInstance($MODULE)} {if $MODULE_MODEL->getDefaultViewName() neq 'List'} {assign var=DEFAULT_FILTER_URL value=$MODULE_MODEL->getDefaultUrl()} @@ -39,12 +39,12 @@ <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 isset($RECORD) && $RECORD and $REQ.view eq 'Edit'} + {if isset($RECORD) && $RECORD and $REQ->get('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 $REQ.view eq 'Edit'} + {else if $REQ->get('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> {/if} - {if $REQ.view eq 'Detail'} + {if $REQ->get('view') eq 'Detail'} <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')}"> {$RECORD->get('label')} </a></p> {/if} </div> diff --git a/layouts/v7/modules/Vtiger/ModuleRelatedTabs.tpl b/layouts/v7/modules/Vtiger/ModuleRelatedTabs.tpl index 3af312231581228817b790c700f5eca2b55a3dc0..eb103a24c3c872ef279db739d0fc0c4c03052a09 100644 --- a/layouts/v7/modules/Vtiger/ModuleRelatedTabs.tpl +++ b/layouts/v7/modules/Vtiger/ModuleRelatedTabs.tpl @@ -59,14 +59,14 @@ <span class="numberCircle hide">0</span> </a> </li> - {if ($RELATED_LINK->getId() == {$REQ.relationId})} + {if ($RELATED_LINK->getId() == {$REQ->get('relationId')})} {assign var=MORE_TAB_ACTIVE value='true'} {/if} {/for} {if $MORE_TAB_ACTIVE neq 'true'} {for $i = 0 to $COUNT-1} {assign var=RELATED_LINK value=$RELATEDTABS[$i]} - {if ($RELATED_LINK->getId() == {$REQ.relationId})} + {if ($RELATED_LINK->getId() == {$REQ->get('relationId')})} {assign var=RELATEDMODULENAME value=$RELATED_LINK->getRelatedModuleName()} {assign var=RELATEDFIELDNAME value=$RELATED_LINK->get('linkFieldName')} {assign var="DETAILVIEWRELATEDLINKLBL" value= vtranslate($RELATED_LINK->getLabel(),$RELATEDMODULENAME)} diff --git a/layouts/v7/modules/Vtiger/dashboards/CalendarActivitiesContents.tpl b/layouts/v7/modules/Vtiger/dashboards/CalendarActivitiesContents.tpl index 084c5a90c93f83e7f64de520a65445ef4b14250b..bffa8010df8b3ef7f8f00a6ff2a2896bb8741bd6 100644 --- a/layouts/v7/modules/Vtiger/dashboards/CalendarActivitiesContents.tpl +++ b/layouts/v7/modules/Vtiger/dashboards/CalendarActivitiesContents.tpl @@ -39,7 +39,7 @@ {foreachelse} {if $PAGING->get('nextPageExists') neq 'true'} <div class="noDataMsg"> - {if $REQ.name eq 'OverdueActivities'} + {if $REQ->get('name') eq 'OverdueActivities'} {vtranslate('LBL_NO_OVERDUE_ACTIVITIES', $MODULE_NAME)} {else} {vtranslate('LBL_NO_SCHEDULED_ACTIVITIES', $MODULE_NAME)} diff --git a/layouts/v7/modules/Vtiger/resources/Popup.js b/layouts/v7/modules/Vtiger/resources/Popup.js index 62387f416e3df2c1306c7c733dfcf98e17778e79..0e7cf4b5576f6f1776728c0d52b3ea8e7818a9ca 100644 --- a/layouts/v7/modules/Vtiger/resources/Popup.js +++ b/layouts/v7/modules/Vtiger/resources/Popup.js @@ -531,6 +531,7 @@ jQuery.Class("Vtiger_Popup_Js",{ jQuery('#searchvalue').val(""); jQuery('#totalPageCount').text(""); thisInstance.searchHandler().then(function(data){ + thisInstance.writeSelectedIds(new Array()); jQuery('#pageNumber').val(1); jQuery('#pageToJump').val(1); thisInstance.updatePagination(); diff --git a/layouts/v7/modules/Vtiger/resources/Vtiger.js b/layouts/v7/modules/Vtiger/resources/Vtiger.js index 1362ba065ea04b2208e3d5ad1689c3f87c63974d..2056278a69126f995b647bc308cf8399f24f4eb5 100644 --- a/layouts/v7/modules/Vtiger/resources/Vtiger.js +++ b/layouts/v7/modules/Vtiger/resources/Vtiger.js @@ -402,7 +402,7 @@ Vtiger.Class('Vtiger_Index_Js', { }, registerEventForTaskManagement : function(){ var globalNav = jQuery('.global-nav'); - globalNav.on("click",".taskManagement",function(e){ + globalNav.find(".taskManagement").on("click",function(e){ if(jQuery("#taskManagementContainer").length > 0){ app.helper.hidePageOverlay(); return false; diff --git a/layouts/v7/modules/Vtiger/uitypes/Currency.tpl b/layouts/v7/modules/Vtiger/uitypes/Currency.tpl index 56a7f7bd1e6e1796ce129c87238a9503808e519a..6fde653c42fdcce6b4ca6f5efaa32e98bec26f65 100644 --- a/layouts/v7/modules/Vtiger/uitypes/Currency.tpl +++ b/layouts/v7/modules/Vtiger/uitypes/Currency.tpl @@ -41,7 +41,7 @@ <input type="hidden" name="cur_{$BASE_CURRENCY_ID}_check" value="on"> <input type="hidden" id="requstedUnitPrice" name="{$BASE_CURRENCY_NAME}" value=""> </div> - {if $REQ.view eq 'Edit'} + {if $REQ->get('view') eq 'Edit'} <div class="clearfix"> <a id="moreCurrencies" class="span cursorPointer">{vtranslate('LBL_MORE_CURRENCIES', $MODULE)}>></a> <span id="moreCurrenciesContainer" class="hide"></span> diff --git a/layouts/v7/modules/Vtiger/uitypes/MultiPicklist.tpl b/layouts/v7/modules/Vtiger/uitypes/MultiPicklist.tpl index 32eaa5a2d430e37f5766daab94506c9f5b387b7f..593d83b42d6f3ca66ff1462f0208d80dd3251345 100644 --- a/layouts/v7/modules/Vtiger/uitypes/MultiPicklist.tpl +++ b/layouts/v7/modules/Vtiger/uitypes/MultiPicklist.tpl @@ -16,7 +16,7 @@ {assign var=PICKLIST_VALUES value=$FIELD_INFO['editablepicklistvalues']} {assign var=PICKLIST_COLORS value=$FIELD_INFO['picklistColors']} <input type="hidden" name="{$FIELD_MODEL->getFieldName()}" value="" data-fieldtype="multipicklist"/> - <select id="{$MODULE}_{$REQ.view}_fieldName_{$FIELD_MODEL->getFieldName()}" multiple class="select2" name="{$FIELD_MODEL->getFieldName()}[]" data-fieldtype="multipicklist" style='width:210px;height:30px;' + <select id="{$MODULE}_{$REQ->get('view')}_fieldName_{$FIELD_MODEL->getFieldName()}" multiple class="select2" name="{$FIELD_MODEL->getFieldName()}[]" data-fieldtype="multipicklist" style='width:210px;height:30px;' {if $FIELD_INFO["mandatory"] eq true} data-rule-required="true" {/if} {if php7_count($FIELD_INFO['validator'])} data-specific-rules='{ZEND_JSON::encode($FIELD_INFO["validator"])}' diff --git a/layouts/v7/modules/Vtiger/uitypes/Recurrence.tpl b/layouts/v7/modules/Vtiger/uitypes/Recurrence.tpl index a86870e07fde3a5576e5c1fceee8105b28168792..490748ea85583a962a270fcb3bd91f4dc5ae68b5 100644 --- a/layouts/v7/modules/Vtiger/uitypes/Recurrence.tpl +++ b/layouts/v7/modules/Vtiger/uitypes/Recurrence.tpl @@ -13,7 +13,7 @@ {assign var="SPECIAL_VALIDATOR" value=$FIELD_MODEL->getValidator()} <div class="row"> <div class="col-sm-1"> - {if $RECURRING_INFORMATION['recurringcheck'] eq 'Yes' && !$REQ.isDuplicate} + {if $RECURRING_INFORMATION['recurringcheck'] eq 'Yes' && !$REQ->get('isDuplicate')} <input type="hidden" class="recurringEdit" value="true" /> {/if} <input type="checkbox" name="recurringcheck" data-field-id= '{$FIELD_MODEL->get('id')}' value="" {if $RECURRING_INFORMATION['recurringcheck'] eq 'Yes'}checked{/if}/> diff --git a/layouts/v7/modules/Vtiger/uitypes/Reference.tpl b/layouts/v7/modules/Vtiger/uitypes/Reference.tpl index 31f94a24d96f2d8a35bf1f6be71d508590e3d49a..e18d1517df15cc196f7b0163c7886c1518dfaede 100644 --- a/layouts/v7/modules/Vtiger/uitypes/Reference.tpl +++ b/layouts/v7/modules/Vtiger/uitypes/Reference.tpl @@ -41,17 +41,17 @@ class="marginLeftZero autoComplete inputElement" value="{$FIELD_MODEL->getEditViewDisplayValue($displayId)}" placeholder="{vtranslate('LBL_TYPE_SEARCH',$MODULE)}" - {if $displayId neq 0}disabled="disabled"{/if} + {if !empty($displayId)}disabled="disabled"{/if} {if $FIELD_INFO["mandatory"] eq true} data-rule-required="true" data-rule-reference_required="true" {/if} {if php7_count($FIELD_INFO['validator'])} data-specific-rules='{ZEND_JSON::encode($FIELD_INFO["validator"])}' {/if} /> - <a href="#" class="clearReferenceSelection {if $FIELD_VALUE eq 0}hide{/if}"> x </a> + <a href="#" class="clearReferenceSelection {if empty($FIELD_VALUE) || $FIELD_VALUE lte 0}hide{/if}"> x </a> <span class="input-group-addon relatedPopup cursorPointer" title="{vtranslate('LBL_SELECT', $MODULE)}"> <i id="{$MODULE}_editView_fieldName_{$FIELD_NAME}_select" class="fa fa-search"></i> </span> - {if (($REQ.view eq 'Edit') or ($MODULE_NAME eq 'Webforms')) && !in_array($REFERENCE_LIST[0],$QUICKCREATE_RESTRICTED_MODULES)} + {if (($REQ->get('view') eq 'Edit') or ($MODULE_NAME eq 'Webforms')) && !in_array($REFERENCE_LIST[0],$QUICKCREATE_RESTRICTED_MODULES)} <span class="input-group-addon createReferenceRecord cursorPointer clearfix" title="{vtranslate('LBL_CREATE', $MODULE)}"> <i id="{$MODULE}_editView_fieldName_{$FIELD_NAME}_create" class="fa fa-plus"></i> </span> diff --git a/modules/Calendar/RepeatEvents.php b/modules/Calendar/RepeatEvents.php index 93898a03fcbb6ba6f00b5ecd4ea7c13e402a6500..4219cc9a4edba0b6f078d864a33476a3edaf0d55 100644 --- a/modules/Calendar/RepeatEvents.php +++ b/modules/Calendar/RepeatEvents.php @@ -22,8 +22,8 @@ class Calendar_RepeatEvents { */ static function mktime($fulldateString) { $splitpart = self::splittime($fulldateString); - $datepart = split('-', $splitpart[0]); - $timepart = split(':', $splitpart[1]); + $datepart = explode('-', $splitpart[0]); + $timepart = explode(':', $splitpart[1]); return mktime($timepart[0], $timepart[1], 0, $datepart[1], $datepart[2], $datepart[0]); } /** @@ -57,7 +57,7 @@ class Calendar_RepeatEvents { * Split full timing into date and time part. */ static function splittime($fulltiming) { - return split(' ', $fulltiming); + return explode(' ', $fulltiming); } /** * Calculate the time interval to create repeated event entries. diff --git a/modules/Calendar/actions/ExportData.php b/modules/Calendar/actions/ExportData.php index 9c60834c097c39f7e7c08555716342ca53b2284c..b0c45916befafa0e7f8cf1a17778ad47776a0cd5 100644 --- a/modules/Calendar/actions/ExportData.php +++ b/modules/Calendar/actions/ExportData.php @@ -80,7 +80,7 @@ class Calendar_ExportData_Action extends Vtiger_ExportData_Action { header("Content-Disposition: attachment; filename={$fileName}.ics"); $timeZone = new iCalendar_timezone; - $timeZoneId = split('/', date_default_timezone_get()); + $timeZoneId = explode('/', date_default_timezone_get()); if(!empty($timeZoneId[1])) { $zoneId = $timeZoneId[1]; diff --git a/modules/Calendar/actions/Feed.php b/modules/Calendar/actions/Feed.php index 994c61ecbba36286666d9df782a0180c6e7e3e4a..0f7d07193861c725f8d40e471a055bcaa9473462 100644 --- a/modules/Calendar/actions/Feed.php +++ b/modules/Calendar/actions/Feed.php @@ -130,8 +130,8 @@ class Calendar_Feed_Action extends Vtiger_BasicAjax_Action { } } else { if($fieldName == 'birthday') { - $startDateComponents = split('-', $start); - $endDateComponents = split('-', $end); + $startDateComponents = explode('-', $start); + $endDateComponents = explode('-', $end); $year = $startDateComponents[0]; $db = PearDatabase::getInstance(); diff --git a/modules/Calendar/actions/FetchAgendaEvents.php b/modules/Calendar/actions/FetchAgendaEvents.php index 0d5b00aaac516aed8d577eda6e0e3ec07afbf972..95fe93d6fbb903b4cde7769501b438c5583495d7 100644 --- a/modules/Calendar/actions/FetchAgendaEvents.php +++ b/modules/Calendar/actions/FetchAgendaEvents.php @@ -37,7 +37,7 @@ class Calendar_FetchAgendaEvents_Action extends Vtiger_BasicAjax_Action { if ($hideCompleted) { $query.= "vtiger_activity.eventstatus != 'HELD' AND "; } - $query.= " (concat(date_start,'',time_start)) >= ? AND (concat(date_start,'',time_start)) < ?"; + $query.= " (concat(date_start,' ',time_start)) >= ? AND (concat(date_start,' ',time_start)) < ?"; $params = array($dbStartDateTime, $dbEndDateTime); diff --git a/modules/Calendar/iCalExport.php b/modules/Calendar/iCalExport.php index 47eb1c9d10a3d4d3641e165fd0e4539450478588..1178db0d51bebef08d23463fbb1087aa2222a9e9 100644 --- a/modules/Calendar/iCalExport.php +++ b/modules/Calendar/iCalExport.php @@ -57,10 +57,10 @@ foreach($event_fields as $key=>$val){ $tz = new iCalendar_timezone; if(!empty($default_timezone)){ - $tzid = split('/',$default_timezone); + $tzid = explode('/', $default_timezone); } else { $default_timezone = date_default_timezone_get(); - $tzid = split('/',$default_timezone); + $tzid = explode('/', $default_timezone); } if(!empty($tzid[1])){ diff --git a/modules/Documents/Documents.php b/modules/Documents/Documents.php index 646781b37f5fcfc2580d034d268bd2e1071e3e2b..d5ddd791404caaca700feaaa58c2249c27cd04b3 100644 --- a/modules/Documents/Documents.php +++ b/modules/Documents/Documents.php @@ -521,7 +521,7 @@ class Documents extends CRMEntity { function getQueryByModuleField($module, $fieldname, $srcrecord, $query) { if($module == "MailManager") { - $tempQuery = split('WHERE', $query); + $tempQuery = explode('WHERE', $query); if(!empty($tempQuery[1])) { $where = " vtiger_notes.filelocationtype = 'I' AND vtiger_notes.filename != '' AND vtiger_notes.filestatus != 0 AND "; $query = $tempQuery[0].' WHERE '.$where.$tempQuery[1]; diff --git a/modules/Documents/models/Record.php b/modules/Documents/models/Record.php index 84b46ce7a68112990c88bd1906cbd6e6a8b75a0b..58080280cce843502823b933b21cac4f1c6d32af 100644 --- a/modules/Documents/models/Record.php +++ b/modules/Documents/models/Record.php @@ -21,7 +21,7 @@ class Documents_Record_Model extends Vtiger_Record_Model { function getDownloadFileURL($attachmentId = false) { if ($this->get('filelocationtype') == 'I') { $fileDetails = $this->getFileDetails(); - return 'index.php?module='. $this->getModuleName() .'&action=DownloadFile&record='. $this->getId() .'&fileid='. $fileDetails['attachmentsid'].'&name='. $fileDetails['name']; + return 'index.php?module='. $this->getModuleName() .'&action=DownloadFile&record='. $this->getId() .'&fileid='. $fileDetails['attachmentsid']; } else { return $this->get('filename'); } diff --git a/modules/Emails/models/Record.php b/modules/Emails/models/Record.php index 78e0e39c8419e4ed92e122107872f7d9f54e53a6..82474312663868c543e8ce23d4b503f6fef43ce2 100644 --- a/modules/Emails/models/Record.php +++ b/modules/Emails/models/Record.php @@ -57,7 +57,7 @@ class Emails_Record_Model extends Vtiger_Record_Model { $userName = $currentUserModel->getName(); // To eliminate the empty value of an array - $toEmailInfo = array_filter($this->get('toemailinfo')); + $toEmailInfo = $this->get('toemailinfo') ? array_filter($this->get('toemailinfo')) : array(); $emailsInfo = array(); foreach ($toEmailInfo as $id => $emails) { foreach($emails as $key => $value){ @@ -377,7 +377,7 @@ class Emails_Record_Model extends Vtiger_Record_Model { $db = PearDatabase::getInstance(); $record = $this->getId(); - $documentIds = array_unique($this->get('documentids')); + $documentIds = $this->get('documentids') ? array_unique((array) $this->get('documentids')) : array(); $count = php7_count($documentIds); for ($i=0; $i<$count; $i++) { @@ -828,4 +828,4 @@ class Emails_Record_Model extends Vtiger_Record_Model { } return false; } -} \ No newline at end of file +} diff --git a/modules/HelpDesk/HelpDesk.php b/modules/HelpDesk/HelpDesk.php index 84d0c413468d247f9ec5849699965b44ba30b097..bc752466b0019d5d413c0cef9c3b7b5de78059a1 100644 --- a/modules/HelpDesk/HelpDesk.php +++ b/modules/HelpDesk/HelpDesk.php @@ -282,7 +282,7 @@ class HelpDesk extends CRMEntity { $result=$adb->pquery($query, array($ticketid)); $update_log = $adb->query_result($result,0,"update_log"); - $splitval = split('--//--',trim($update_log,'--//--')); + $splitval = explode('--//--', trim($update_log, '--//--')); $header[] = $adb->query_result($result,0,"title"); diff --git a/modules/Inventory/models/Record.php b/modules/Inventory/models/Record.php index 2b337f9dccb86705aa49c42f368af1f87071e86a..8019e8a075f10375240099bce6816babfbf9b806 100644 --- a/modules/Inventory/models/Record.php +++ b/modules/Inventory/models/Record.php @@ -733,7 +733,7 @@ class Inventory_Record_Model extends Vtiger_Record_Model { $subQtysList = array(); $subProducts = $requestData["subproduct_ids$i"]; - $subProducts = split(',', rtrim($subProducts, ',')); + $subProducts = explode(',', rtrim($subProducts, ',')); foreach ($subProducts as $subProductInfo) { list($subProductId, $subProductQty) = explode(':', $subProductInfo); diff --git a/modules/Migration/schema/540_to_600RC.php b/modules/Migration/schema/540_to_600RC.php index 8151c9fcbd0412f10c19c7f195ec9be6090b2983..96054ff69daa1364d34ebfaecd88810c2b92b899 100644 --- a/modules/Migration/schema/540_to_600RC.php +++ b/modules/Migration/schema/540_to_600RC.php @@ -1603,8 +1603,10 @@ foreach($entityModules as $moduleModel) { $crmInstance = CRMEntity::getInstance($moduleModel->getName()); $tabId = $moduleModel->getId(); $defaultRelatedFields = $crmInstance->list_fields_name; - $updateQuery = 'UPDATE vtiger_field SET summaryfield=1 where tabid=? and fieldname IN ('.generateQuestionMarks($defaultRelatedFields).')'; - Migration_Index_View::ExecuteQuery($updateQuery, array_merge(array($tabId), array_values($defaultRelatedFields))); + if($defaultRelatedFields) { + $updateQuery = 'UPDATE vtiger_field SET summaryfield=1 where tabid=? and fieldname IN ('.generateQuestionMarks($defaultRelatedFields).')'; + Migration_Index_View::ExecuteQuery($updateQuery, array_merge(array($tabId), array_values($defaultRelatedFields))); + } } Migration_Index_View::ExecuteQuery('UPDATE vtiger_currencies SET currency_name = ? where currency_name = ? and currency_code = ?', diff --git a/modules/PriceBooks/models/RelationListView.php b/modules/PriceBooks/models/RelationListView.php index 0d0842738618fcb6dc07a9eb6fbbdd069c230edb..5deffde5e578577a819012e124fc0fd50a54a529 100644 --- a/modules/PriceBooks/models/RelationListView.php +++ b/modules/PriceBooks/models/RelationListView.php @@ -90,7 +90,7 @@ class PriceBooks_RelationListView_Model extends Vtiger_RelationListView_Model { $queryGenerator->addCondition($fieldName, $searchValue, $comparator, "AND"); } } - $whereQuerySplit = split("WHERE", $queryGenerator->getWhereClause()); + $whereQuerySplit = explode('WHERE', $queryGenerator->getWhereClause()); $query.=" AND " . $whereQuerySplit[1]; } diff --git a/modules/Products/models/ListView.php b/modules/Products/models/ListView.php index 0e3102c42abebabc54b25a08ab74131ac8d08f50..0f31a55e9cd89fa5c3bb3affc54e934ca3f0be9b 100644 --- a/modules/Products/models/ListView.php +++ b/modules/Products/models/ListView.php @@ -119,7 +119,7 @@ class Products_ListView_Model extends Vtiger_ListView_Model { public function addSubProductsQuery($listQuery){ $productId = $this->get('productId'); - $splitQuery = split('WHERE', $listQuery); + $splitQuery = explode('WHERE', $listQuery); $splitQuery[0] .= " LEFT JOIN vtiger_seproductsrel ON vtiger_seproductsrel.crmid = vtiger_products.productid AND vtiger_seproductsrel.setype='Products'"; $splitQuery[1] .= " AND vtiger_seproductsrel.productid = $productId AND vtiger_products.discontinued = 1"; diff --git a/modules/Reports/AdvancedFilter.php b/modules/Reports/AdvancedFilter.php index 6234717edf5b111eefe91315f54fc48c46c0f587..67d3b08c433bf9845cf4dfa17eb1f2255bbdfc82 100644 --- a/modules/Reports/AdvancedFilter.php +++ b/modules/Reports/AdvancedFilter.php @@ -166,13 +166,13 @@ function getRelatedColumns($selected=""){ global $ogReport; $rel_fields = $ogReport->adv_rel_fields; if($selected!='All'){ - $selected = split(":",$selected); + $selected = explode(':', $selected); } $related_fields = array(); foreach($rel_fields as $i=>$index){ $shtml=''; foreach($index as $key=>$value){ - $fieldarray = split("::",$value); + $fieldarray = explode('::', $value); $shtml .= "<option value=\"".$fieldarray[0]."\">".$fieldarray[1]."</option>"; } $related_fields[$i] = $shtml; diff --git a/modules/Reports/CustomReportUtils.php_deprecated b/modules/Reports/CustomReportUtils.php_deprecated index 930ca14c98d2e011e678c7bf668036c363e493ee..56a5c0c2653bf76f2877027f5d348c0e55cba092 100755 --- a/modules/Reports/CustomReportUtils.php_deprecated +++ b/modules/Reports/CustomReportUtils.php_deprecated @@ -33,8 +33,8 @@ Class CustomReportUtils { foreach ($groupBy as $key => $value) { // $groupByConditon = explode(" ",$value); //$groupByNew = explode("'",$groupByConditon[0]); - list($tablename, $colname, $module_field, $fieldname, $single) = split(":", $key); - list($module, $field) = split("_", $module_field); + list($tablename, $colname, $module_field, $fieldname, $single) = explode(':', $key); + list($module, $field) = explode('_', $module_field); $fieldDetails = $key; break; } @@ -53,7 +53,7 @@ Class CustomReportUtils { } public static function IsDateField($reportColDetails) { - list($tablename, $colname, $module_field, $fieldname, $typeOfData) = split(":", $reportColDetails); + list($tablename, $colname, $module_field, $fieldname, $typeOfData) = explode(':', $reportColDetails); if ($typeOfData == "D") { return true; } else { @@ -62,9 +62,9 @@ Class CustomReportUtils { } public static function getAdvanceSearchCondition($fieldDetails, $criteria, $fieldvalue) { - list($tablename, $colname, $module_field, $fieldname, $single) = split(":", $fieldDetails); - list($module, $field) = split("_", $module_field); - list($year, $month, $day) = split("-", $fieldvalue); + list($tablename, $colname, $module_field, $fieldname, $single) = explode(':', $fieldDetails); + list($module, $field) = explode('_', $module_field); + list($year, $month, $day) = explode('-', $fieldvalue); $grteqCondition = 'h'; $eqCondition = 'e'; $lessCondititon = 'l'; diff --git a/modules/Reports/ReportChartRun.php_deprecated b/modules/Reports/ReportChartRun.php_deprecated index e31a2e18d1c02928993709c1c0d74b907e722034..fe31c0b0485fb9f5a2c7b490df380a9557e26e47 100755 --- a/modules/Reports/ReportChartRun.php_deprecated +++ b/modules/Reports/ReportChartRun.php_deprecated @@ -51,7 +51,7 @@ if($numOfRows > 0) { $primarymodule = $ogReport->primodule; $restrictedmodules = array(); if($ogReport->secmodule!='') - $rep_modules = split(":",$ogReport->secmodule); + $rep_modules = explode(':', $ogReport->secmodule); else $rep_modules = array(); @@ -92,8 +92,8 @@ if($numOfRows > 0) { foreach ($groupBy as $key => $value) { //$groupByConditon = explode(" ",$value); //$groupByNew = explode("'",$groupByConditon[0]); - list($tablename,$colname,$module_field,$fieldname,$single) = split(":",$key); - list($module,$field)= split("_",$module_field); + list($tablename, $colname, $module_field, $fieldname, $single) = explode(':', $key); + list($module, $field) = explode('_', $module_field); $fieldDetails = $key; break; } diff --git a/modules/Reports/ReportRun.php b/modules/Reports/ReportRun.php index fdfc03eb2204f6def7e78550dbe8a3dbefa2c0a0..c8842d54e41f3ba845c882928b4dfe42bd4812fa 100644 --- a/modules/Reports/ReportRun.php +++ b/modules/Reports/ReportRun.php @@ -377,8 +377,8 @@ class ReportRun extends CRMEntity { while ($columnslistrow = $adb->fetch_array($result)) { $fieldname = ""; $fieldcolname = $columnslistrow["columnname"]; - list($tablename, $colname, $module_field, $fieldname, $single) = split(":", $fieldcolname); - list($module, $field) = split("_", $module_field, 2); + list($tablename, $colname, $module_field, $fieldname, $single) = explode(':', $fieldcolname); + list($module, $field) = explode('_', $module_field, 2); $selectedModuleFields[$module][] = $fieldname; $inventory_fields = array('serviceid'); $inventory_modules = getInventoryModules(); @@ -486,7 +486,7 @@ class ReportRun extends CRMEntity { global $adb; $header_label = $selectedfields[2] = addslashes($selectedfields[2]); // Header label to be displayed in the reports table - list($module, $field) = split("_", $selectedfields[2]); + list($module, $field) = explode('_', $selectedfields[2]); $concatSql = getSqlForNameInDisplayFormat(array('first_name' => $selectedfields[0] . ".first_name", 'last_name' => $selectedfields[0] . ".last_name"), 'Users'); $emailTableName = "vtiger_activity"; if ($module != $this->primarymodule) { @@ -527,7 +527,7 @@ class ReportRun extends CRMEntity { $this->queryPlanner->addTable($selectedfields[0] .'tmp'. $module); } } else if ($selectedfields[4] == 'C') { - $field_label_data = split("_", $selectedfields[2]); + $field_label_data = explode('_', $selectedfields[2]); $module = $field_label_data[0]; if ($module != $this->primarymodule) { $columnSQL = "case when (" . $selectedfields[0] . "." . $selectedfields[1] . "='1')then 'yes' else case when (vtiger_crmentity$module.crmid !='') then 'no' else '-' end end AS '" . decode_html($selectedfields[2]) . "'"; @@ -905,7 +905,7 @@ class ReportRun extends CRMEntity { $this->queryPlanner->addTable($secondary->table_name); } } - $field = split('#', $field); + $field = explode('#', $field); $module = $field[0]; $fieldname = trim($field[1]); $tabid = getTabId($module); @@ -1974,7 +1974,7 @@ class ReportRun extends CRMEntity { $inventoryModules = getInventoryModules(); while ($reportsortrow = $adb->fetch_array($result)) { $fieldcolname = $reportsortrow["columnname"]; - list($tablename, $colname, $module_field, $fieldname, $single) = split(":", $fieldcolname); + list($tablename, $colname, $module_field, $fieldname, $single) = explode(':', $fieldcolname); $sortorder = $reportsortrow["sortorder"]; if ($sortorder == "Ascending") { @@ -2016,7 +2016,7 @@ class ReportRun extends CRMEntity { $sqlvalue = $module_field . ' ' . $sortorder; } $grouplist[$fieldcolname] = $sqlvalue; - $temp = split("_", $selectedfields[2], 2); + $temp = explode('_', $selectedfields[2], 2); $module = $temp[0]; if (in_array($module, $inventoryModules) && $fieldname == 'serviceid') { $grouplist[$fieldcolname] = $sqlvalue; @@ -3062,7 +3062,7 @@ class ReportRun extends CRMEntity { $modules_selected = array(); $modules_selected[] = $this->primarymodule; if (!empty($this->secondarymodule)) { - $sec_modules = split(":", $this->secondarymodule); + $sec_modules = explode(':', $this->secondarymodule); for ($i = 0; $i < php7_count($sec_modules); $i++) { $modules_selected[] = $sec_modules[$i]; } @@ -3695,7 +3695,7 @@ class ReportRun extends CRMEntity { $groupslist = $this->getGroupingList($this->reportid); foreach ($groupslist as $reportFieldName => $reportFieldValue) { $nameParts = explode(":", $reportFieldName); - list($groupFieldModuleName, $groupFieldName) = split("_", $nameParts[2], 2); + list($groupFieldModuleName, $groupFieldName) = explode('_', $nameParts[2], 2); $groupByFieldNames[] = vtranslate(str_replace('_', ' ', $groupFieldName), $groupFieldModuleName); } if (php7_count($groupByFieldNames) > 0) { @@ -3973,7 +3973,7 @@ class ReportRun extends CRMEntity { if (CheckColumnPermission($field_tablename, $field_columnname, $premod) != "false") { $field_permitted = true; } else { - $mod = split(":", $secmod); + $mod = explode(':', $secmod); foreach ($mod as $key) { if (CheckColumnPermission($field_tablename, $field_columnname, $key) != "false") { $field_permitted = true; @@ -3982,7 +3982,7 @@ class ReportRun extends CRMEntity { } //Calculation fields of "Events" module should show in Calendar related report - $secondaryModules = split(":", $secmod); + $secondaryModules = explode(':', $secmod); if ($field_permitted === false && ($premod === 'Calendar' || in_array('Calendar', $secondaryModules)) && CheckColumnPermission($field_tablename, $field_columnname, "Events") != "false") { $field_permitted = true; } @@ -4027,7 +4027,7 @@ class ReportRun extends CRMEntity { } else { $field_tablename = $fieldlist[0]; $field_columnname = $fieldlist[1]; - list($module, $fieldName) = split('_', $fieldlist[2], 2); + list($module, $fieldName) = explode('_', $fieldlist[2], 2); } $field = $field_tablename . "." . $field_columnname; @@ -4466,7 +4466,7 @@ class ReportRun extends CRMEntity { $num_rows = $adb->num_rows($groupByTimeRes); for ($i = 0; $i < $num_rows; $i++) { $sortColName = $adb->query_result($groupByTimeRes, $i, 'sortcolname'); - list($tablename, $colname, $module_field, $fieldname, $single) = split(':', $sortColName); + list($tablename, $colname, $module_field, $fieldname, $single) = explode(':', $sortColName); $groupField = $module_field; $groupCriteria = $adb->query_result($groupByTimeRes, $i, 'dategroupbycriteria'); if (in_array($groupCriteria, array_keys($this->groupByTimeParent))) { diff --git a/modules/Reports/ReportUtils.php b/modules/Reports/ReportUtils.php index e8e35271f61e7151239a107f021c507dfa8e6be6..57f1b15f4e0e41879af63d2d13c1e455bcfb6698 100644 --- a/modules/Reports/ReportUtils.php +++ b/modules/Reports/ReportUtils.php @@ -64,7 +64,7 @@ function isReferenceUIType($uitype) { } function IsDateField($reportColDetails) { - list($tablename, $colname, $module_field, $fieldname, $typeOfData) = split(":", $reportColDetails); + list($tablename, $colname, $module_field, $fieldname, $typeOfData) = explode(':', $reportColDetails); if ($typeOfData == "D") { return true; } else { diff --git a/modules/Reports/Reports.php b/modules/Reports/Reports.php index 920f8714d205a86965066e55a8241386bd7f3233..462ad42fff3500b43bfc02468af0e9418b757ddc 100644 --- a/modules/Reports/Reports.php +++ b/modules/Reports/Reports.php @@ -1380,7 +1380,7 @@ function getEscapedColumns($selectedfields) $result = $adb->pquery($ssql, array($reportid)); $permitted_fields = Array(); - $selected_mod = split(":",$this->secmodule); + $selected_mod = explode(':', $this->secmodule); array_push($selected_mod,$this->primodule); $inventoryModules = getInventoryModules(); @@ -1397,9 +1397,9 @@ function getEscapedColumns($selectedfields) } } if($selmod_field_disabled==false){ - list($tablename,$colname,$module_field,$fieldname,$single) = split(":",$fieldcolname); + list($tablename, $colname, $module_field, $fieldname, $single) = explode(':', $fieldcolname); require('user_privileges/user_privileges_'.$current_user->id.'.php'); - list($module,$field) = split("_",$module_field); + list($module, $field) = explode('_', $module_field); if(php7_sizeof($permitted_fields) == 0 && $is_admin == false && $profileGlobalPermission[1] == 1 && $profileGlobalPermission[2] == 1) { $permitted_fields = $this->getaccesfield($module); diff --git a/modules/Reports/actions/Save.php b/modules/Reports/actions/Save.php index 903df78f7fbaa288b73d9127508bc8e578ad27cc..9d0ef04a8992798934ee312cacf1934d69382cc5 100644 --- a/modules/Reports/actions/Save.php +++ b/modules/Reports/actions/Save.php @@ -18,32 +18,13 @@ class Reports_Save_Action extends Vtiger_Save_Action { public function checkPermission(Vtiger_Request $request) { parent::checkPermission($request); - - $record = $request->get('record'); - if ($record) { - $reportModel = Reports_Record_Model::getCleanInstance($record); - if (!$reportModel->isEditable()) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); - } - } - - $selectedFields = $request->get('selected_fields'); - $groupbyfields = $request->get('groupbyfield'); - $fieldsData = array($selectedFields, $groupbyfields); - - foreach ($fieldsData as $selectedField){ - foreach ($selectedField as $field) { - list($tablename, $colname, $module_field, $fieldname, $single) = split(":", $field); - list($module, $fieldName) = split("_", $module_field, 2); - $moduleModel = Vtiger_Module_Model::getInstance($module); - $fieldModel = Vtiger_Field_Model::getInstance($fieldname, $moduleModel); - - if (($fieldModel->table !== $tablename) || ($fieldModel->column !== $colname)) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); - } - } - } - return true; + + $modulename = $request->getModule(); + $modulemodel = Reports_Module_Model::getInstance($modulename); + $currentUserPrivileges = Users_Privileges_Model::getCurrentUserPrivilegesModel(); + if(!$currentUserPrivileges->hasModulePermission($modulemodel->getId())) { + throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); + } } public function process(Vtiger_Request $request) { diff --git a/modules/Reports/dashboards/ChartReportWidget.php b/modules/Reports/dashboards/ChartReportWidget.php index 766f650e7a1502b0c6e4c6ec6a6a08ae32b00dca..13e776d178646653598c0a2016a4218ee3a8476e 100644 --- a/modules/Reports/dashboards/ChartReportWidget.php +++ b/modules/Reports/dashboards/ChartReportWidget.php @@ -49,8 +49,8 @@ class Reports_ChartReportWidget_Dashboard extends Vtiger_IndexAjax_View { $isPercentExist = false; $selectedDataFields = $reportChartModel->get('datafields'); foreach ($selectedDataFields as $dataField) { - list($tableName, $columnName, $moduleField, $fieldName, $single) = split(':', $dataField); - list($relModuleName, $fieldLabel) = split('_', $moduleField); + list($tableName, $columnName, $moduleField, $fieldName, $single) = explode(':', $dataField); + list($relModuleName, $fieldLabel) = explode('_', $moduleField); $relModuleModel = Vtiger_Module_Model::getInstance($relModuleName); $fieldModel = Vtiger_Field_Model::getInstance($fieldName, $relModuleModel); if ($fieldModel && $fieldModel->getFieldDataType() != 'currency') { diff --git a/modules/Reports/models/Chart.php b/modules/Reports/models/Chart.php index b6b2b64cf83a9e9c37f5abf5ea5d7722b916c182..10fbb99877103ad0386ddbae6bd55e026d358535 100644 --- a/modules/Reports/models/Chart.php +++ b/modules/Reports/models/Chart.php @@ -141,7 +141,7 @@ abstract class Base_Chart extends Vtiger_Base_Model{ $aggregateFunction = $columnInfo[5]; if(empty($referenceFieldReportColumnSQL)) { $reportColumnSQL = $this->getReportTotalColumnSQL($columnInfo); - $reportColumnSQLInfo = split(' AS ', $reportColumnSQL); + $reportColumnSQLInfo = explode(' AS ', $reportColumnSQL); if($aggregateFunction == 'AVG') { // added as mysql will ignore null values $label = "`".$this->reportRun->replaceSpecialChar($reportColumnSQLInfo[1]).'_AVG'."`"; @@ -155,7 +155,7 @@ abstract class Base_Chart extends Vtiger_Base_Model{ $fieldModel->set('reportlabel', $this->reportRun->replaceSpecialChar($label)); } else { $reportColumn = $referenceFieldReportColumnSQL; - $groupColumnSQLInfo = split(' AS ', $referenceFieldReportColumnSQL); + $groupColumnSQLInfo = explode(' AS ', $referenceFieldReportColumnSQL); $fieldModel->set('reportlabel', $this->reportRun->replaceSpecialChar($groupColumnSQLInfo[1])); $fieldModel->set('reportcolumn', $this->reportRun->replaceSpecialChar($reportColumn)); } @@ -187,13 +187,13 @@ abstract class Base_Chart extends Vtiger_Base_Model{ $fieldModel->set('reportcolumn', $this->reportRun->replaceSpecialChar($reportColumnSQL)); // Added support for date and date time fields with Year and Month support if($columnInfo[4] == 'D' || $columnInfo[4] == 'DT') { - $reportColumnSQLInfo = split(' AS ', $reportColumnSQL); + $reportColumnSQLInfo = explode(' AS ', $reportColumnSQL); $fieldModel->set('reportlabel', trim($this->reportRun->replaceSpecialChar($reportColumnSQLInfo[1]), '\'')); // trim added as single quote on labels was not grouping properly } else { $fieldModel->set('reportlabel', $this->reportRun->replaceSpecialChar($columnInfo[2])); } } else { - $groupColumnSQLInfo = split(' AS ', $referenceFieldReportColumnSQL); + $groupColumnSQLInfo = explode(' AS ', $referenceFieldReportColumnSQL); $fieldModel->set('reportlabel', trim($this->reportRun->replaceSpecialChar($groupColumnSQLInfo[1]), '\'')); $fieldModel->set('reportcolumn', $this->reportRun->replaceSpecialChar($referenceFieldReportColumnSQL)); } @@ -322,7 +322,7 @@ abstract class Base_Chart extends Vtiger_Base_Model{ } } - $sql = split(' from ', $this->reportRun->sGetSQLforReport($reportModel->getId(), $advFilterSql, 'PDF'), 2); + $sql = explode(' from ', $this->reportRun->sGetSQLforReport($reportModel->getId(), $advFilterSql, 'PDF'), 2); $columnLabels = array(); @@ -449,8 +449,8 @@ abstract class Base_Chart extends Vtiger_Base_Model{ $selectedDataFields = $chartModel->get('datafields'); $dataTypes = array(); foreach ($selectedDataFields as $dataField) { - list($tableName, $columnName, $moduleField, $fieldName, $single) = split(':', $dataField); - list($relModuleName, $fieldLabel) = split('_', $moduleField); + list($tableName, $columnName, $moduleField, $fieldName, $single) = explode(':', $dataField); + list($relModuleName, $fieldLabel) = explode('_', $moduleField); $relModuleModel = Vtiger_Module_Model::getInstance($relModuleName); $fieldModel = Vtiger_Field_Model::getInstance($fieldName, $relModuleModel); if ($fieldModel) { diff --git a/modules/Reports/models/Record.php b/modules/Reports/models/Record.php index 23cd813d9daa70ba61e08d4774b453e12193d6c3..a88e21a9527e5d7644d92938668b6f1239f85055 100644 --- a/modules/Reports/models/Record.php +++ b/modules/Reports/models/Record.php @@ -329,7 +329,7 @@ class Reports_Record_Model extends Vtiger_Record_Model { $primaryModule = $this->report->primodule; for($i=0; $i<$db->num_rows($result); $i++) { $column = $db->query_result($result, $i, 'columnname'); - list($tableName, $columnName, $moduleFieldLabel, $fieldName, $type) = split(':', $column); + list($tableName, $columnName, $moduleFieldLabel, $fieldName, $type) = explode(':', $column); $fieldLabel = explode('_', $moduleFieldLabel); $module = $fieldLabel[0]; $dbFieldLabel = trim(str_replace(array($module, '_'), " ", $moduleFieldLabel)); @@ -651,7 +651,7 @@ class Reports_Record_Model extends Vtiger_Record_Model { $db->pquery('DELETE FROM vtiger_relcriteria_grouping WHERE queryid = ?', array($reportId)); foreach($advancedFilter as $groupIndex => $groupInfo) { - if(empty($groupInfo)) continue; + if(!is_array($groupInfo)) continue; $groupColumns = $groupInfo['columns']; $groupCondition = $groupInfo['condition']; @@ -821,7 +821,7 @@ class Reports_Record_Model extends Vtiger_Record_Model { $tmpDir = vglobal('tmp_dir'); $tempFileName = tempnam($rootDirectory.$tmpDir, 'xls'); - $fileName = decode_html($this->getName()).'.xls'; + $fileName = decode_html(str_replace(' ', '_', $this->getName())).'_'.date('Ymd_His').'.xls'; $reportRun->writeReportToExcelFile($tempFileName, $advanceFilterSql); if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')) { @@ -850,21 +850,20 @@ class Reports_Record_Model extends Vtiger_Record_Model { $tempFileName = tempnam($rootDirectory.$tmpDir, 'csv'); $reportRun->writeReportToCSVFile($tempFileName, $advanceFilterSql); - $fileName = decode_html($this->getName()).'.csv'; + $fileName = decode_html(str_replace(' ', '_', $this->getName())).'_'.date('Ymd_His').'.csv'; if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')) { header('Pragma: public'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); } + ob_clean(); // we are adding UTF-8 Byte Order Mark - BOM at the bottom so the size should be + 8 of the file size - $fileSize = @filesize($tempFileName) + 8; + $fileSize = @filesize($tempFileName); header('Content-Encoding: UTF-8'); header('Content-type: text/csv; charset=UTF-8'); header('Content-Length: '.$fileSize); header('Content-disposition: attachment; filename="'.$fileName.'"'); - // UTF-8 Byte Order Mark - BOM (Source : http://stackoverflow.com/questions/4348802/how-can-i-output-a-utf-8-csv-in-php-that-excel-will-read-properly) - echo "\xEF\xBB\xBF"; $fp = fopen($tempFileName, 'rb'); fpassthru($fp); @@ -1079,6 +1078,7 @@ class Reports_Record_Model extends Vtiger_Record_Model { $advancedFilterCriteriaGroup = array(); if(is_array($advancedFilter)) { foreach($advancedFilter as $groupIndex => $groupInfo) { + if(!is_array($groupInfo)) continue; $groupColumns = $groupInfo['columns']; $groupCondition = $groupInfo['condition']; diff --git a/modules/Reports/views/ChartDetail.php b/modules/Reports/views/ChartDetail.php index fce2d2f14a30ab13dbc76ecb5c421bbd33b36029..520982f222fc6f6b4bf280c87aef0d30cd46dc78 100644 --- a/modules/Reports/views/ChartDetail.php +++ b/modules/Reports/views/ChartDetail.php @@ -141,8 +141,8 @@ class Reports_ChartDetail_View extends Vtiger_Index_View { $isPercentExist = false; $selectedDataFields = $reportChartModel->get('datafields'); foreach ($selectedDataFields as $dataField) { - list($tableName, $columnName, $moduleField, $fieldName, $single) = split(':', $dataField); - list($relModuleName, $fieldLabel) = split('_', $moduleField); + list($tableName, $columnName, $moduleField, $fieldName, $single) = explode(':', $dataField); + list($relModuleName, $fieldLabel) = explode('_', $moduleField); $relModuleModel = Vtiger_Module_Model::getInstance($relModuleName); $fieldModel = Vtiger_Field_Model::getInstance($fieldName, $relModuleModel); if ($fieldModel && $fieldModel->getFieldDataType() != 'currency') { diff --git a/modules/Reports/views/ChartSaveAjax.php b/modules/Reports/views/ChartSaveAjax.php index f99f572be549868103b3d18a074bc407bfb275c8..fd1996c9b21262162c6dcd7622eca39e45b9b103 100644 --- a/modules/Reports/views/ChartSaveAjax.php +++ b/modules/Reports/views/ChartSaveAjax.php @@ -53,8 +53,8 @@ class Reports_ChartSaveAjax_View extends Vtiger_IndexAjax_View { $isPercentExist = false; $selectedDataFields = $reportChartModel->get('datafields'); foreach ($selectedDataFields as $dataField) { - list($tableName, $columnName, $moduleField, $fieldName, $single) = split(':', $dataField); - list($relModuleName, $fieldLabel) = split('_', $moduleField); + list($tableName, $columnName, $moduleField, $fieldName, $single) = explode(':', $dataField); + list($relModuleName, $fieldLabel) = explode('_', $moduleField); $relModuleModel = Vtiger_Module_Model::getInstance($relModuleName); $fieldModel = Vtiger_Field_Model::getInstance($fieldName, $relModuleModel); if ($fieldModel && $fieldModel->getFieldDataType() != 'currency') { diff --git a/modules/Settings/LayoutEditor/models/Field.php b/modules/Settings/LayoutEditor/models/Field.php index aa5812a1b64834bd2f5aa46b17650de7f25edf60..f6b099546dab12bd703e3708be59158869d75273 100644 --- a/modules/Settings/LayoutEditor/models/Field.php +++ b/modules/Settings/LayoutEditor/models/Field.php @@ -111,7 +111,7 @@ class Settings_LayoutEditor_Field_Model extends Vtiger_Field_Model { } } - public static function makeFieldActive($fieldIdsList=array(), $blockId, $moduleName = false) { + public static function makeFieldActive($fieldIdsList, $blockId, $moduleName = false) { $db = PearDatabase::getInstance(); $maxSequenceQuery = "SELECT MAX(sequence) AS maxsequence FROM vtiger_field WHERE block = ? AND presence IN (0,2) "; $res = $db->pquery($maxSequenceQuery,array($blockId)); diff --git a/modules/Settings/LayoutEditor/models/Module.php b/modules/Settings/LayoutEditor/models/Module.php index 91cd030db67337a8ff4f3ea45f7c385c6ce28bc1..8de5303bbf8a00f908e5b97a49894be59d80879f 100644 --- a/modules/Settings/LayoutEditor/models/Module.php +++ b/modules/Settings/LayoutEditor/models/Module.php @@ -191,7 +191,7 @@ class Settings_LayoutEditor_Module_Model extends Vtiger_Module_Model { if (is_array($defaultValue)) { $defaultValue = implode(' |##| ', $defaultValue); } - $fieldModel->set('defaultvalue', $defaultValue); + $fieldModel->set('defaultvalue', vtlib_purify($defaultValue)); $blockModel = Vtiger_Block_Model::getInstance($blockId, $this); $blockModel->addField($fieldModel); diff --git a/modules/Vtiger/actions/DashBoardTab.php b/modules/Vtiger/actions/DashBoardTab.php index a67ed527c6e9b71e708cceba1c27bda80912bee4..b1a7153ab090a7707b88033cc32385d7731f8402 100644 --- a/modules/Vtiger/actions/DashBoardTab.php +++ b/modules/Vtiger/actions/DashBoardTab.php @@ -42,21 +42,24 @@ class Vtiger_DashBoardTab_Action extends Vtiger_Action_Controller { */ function addTab(Vtiger_Request $request) { $moduleName = $request->getModule(); - $tabName = $request->getRaw('tabName'); - - $dashBoardModel = Vtiger_DashBoard_Model::getInstance($moduleName); - $tabExist = $dashBoardModel->checkTabExist($tabName); - $tabLimitExceeded = $dashBoardModel->checkTabsLimitExceeded(); + $tabName = vtlib_purify($request->getRaw('tabName')); $response = new Vtiger_Response(); $response->setEmitType(Vtiger_Response::$EMIT_JSON); + if(!empty($tabName)) { + $dashBoardModel = Vtiger_DashBoard_Model::getInstance($moduleName); + $tabExist = $dashBoardModel->checkTabExist($tabName); + $tabLimitExceeded = $dashBoardModel->checkTabsLimitExceeded(); if ($tabLimitExceeded) { $response->setError(100, vtranslate('LBL_TABS_LIMIT_EXCEEDED', $moduleName)); - } else if ($tabExist) { - $response->setError(100, vtranslate('LBL_DASHBOARD_TAB_ALREADY_EXIST', $moduleName)); + } else if ($tabExist) { + $response->setError(100, vtranslate('LBL_DASHBOARD_TAB_ALREADY_EXIST', $moduleName)); + } else { + $tabData = $dashBoardModel->addTab($tabName); + $response->setResult($tabData); + } } else { - $tabData = $dashBoardModel->addTab($tabName); - $response->setResult($tabData); + $response->setError(100, vtranslate('LBL_DASHBOARD_TAB_INVALID', $moduleName)); } $response->emit(); } diff --git a/modules/Vtiger/handlers/CheckDuplicateHandler.php b/modules/Vtiger/handlers/CheckDuplicateHandler.php index 45bafffb449882bbdb1af64760e956928de6c9d5..95a7334f65c2248d4cea7edec908298bf0e1d002 100644 --- a/modules/Vtiger/handlers/CheckDuplicateHandler.php +++ b/modules/Vtiger/handlers/CheckDuplicateHandler.php @@ -149,7 +149,7 @@ class CheckDuplicateHandler extends VTEventHandler { if ($fieldModel->get('uitype') == 72) { array_push($conditions, "$fieldTableName.currency_id = ?"); - $currencyIdDetails = split('curname', $_REQUEST['base_currency']); + $currencyIdDetails = explode('curname', $_REQUEST['base_currency']); $params[] = $currencyIdDetails[1]; } } diff --git a/modules/Vtiger/models/RelationListView.php b/modules/Vtiger/models/RelationListView.php index 6cf6eff3e19680bb216fc4d99324e3ea0b5f112f..aecdb2c1616852e05c529005e1d6fcab343bca67 100644 --- a/modules/Vtiger/models/RelationListView.php +++ b/modules/Vtiger/models/RelationListView.php @@ -288,9 +288,9 @@ class Vtiger_RelationListView_Model extends Vtiger_Base_Model { $queryGenerator->addCondition($fieldName, $searchValue, $comparator, "AND"); } } - $whereQuerySplit = split("WHERE", $queryGenerator->getWhereClause()); + $whereQuerySplit = explode("WHERE", $queryGenerator->getWhereClause()); if($parentModuleName == 'Accounts' && $relationModuleName == 'Calendar' && (stripos($query, "GROUP BY") !== false)) { - $splitQuery = split('GROUP BY', $query); + $splitQuery = explode('GROUP BY', $query); $query = $splitQuery[0]." AND ".$whereQuerySplit[1].' GROUP BY '.$splitQuery[1]; } else { $query.=" AND " . $whereQuerySplit[1]; diff --git a/modules/com_vtiger_workflow/expression_engine/VTExpressionEvaluater.inc b/modules/com_vtiger_workflow/expression_engine/VTExpressionEvaluater.inc index 2612c7cc3fdac6969e4a2c1689a1612442d7004b..06b0d83231ae02fceaa8b3821b496d9d83a8eed6 100644 --- a/modules/com_vtiger_workflow/expression_engine/VTExpressionEvaluater.inc +++ b/modules/com_vtiger_workflow/expression_engine/VTExpressionEvaluater.inc @@ -344,22 +344,26 @@ class VTFieldExpressionEvaluater{ function exec($expr){ if($expr instanceof VTExpressionSymbol){ return $this->env($expr); - }else if($expr instanceof VTExpressionTreeNode){ + } else if($expr instanceof VTExpressionTreeNode){ $op = $expr->getName(); - if($op->value=='if'){ + if($op->value == 'if'){ $params = $expr->getParams(); $cond = $this->exec($params[0]); if($cond){ return $this->exec($params[1]); - }else{ + } else { return $this->exec($params[2]); } - }else{ + } else { $params = array_map(array($this, 'exec'), $expr->getParams()); - $func = $this->operations[$op->value]; - return $func($params); + $func = isset($this->operations[$op->value]) ? $this->operations[$op->value] : null; + if ($func !== null) { + return $func($params); + } else { + return null; + } } - }else{ + } else { return $expr; } } diff --git a/pkg/vtiger/modules/EmailTemplates/layouts/v7/modules/EmailTemplates/ModuleHeader.tpl b/pkg/vtiger/modules/EmailTemplates/layouts/v7/modules/EmailTemplates/ModuleHeader.tpl index adc6cd26ed626c94fd56530f02f99636f9f4b0cc..aeff72a75a4386474580adb9d9158fb716591113 100644 --- a/pkg/vtiger/modules/EmailTemplates/layouts/v7/modules/EmailTemplates/ModuleHeader.tpl +++ b/pkg/vtiger/modules/EmailTemplates/layouts/v7/modules/EmailTemplates/ModuleHeader.tpl @@ -17,16 +17,16 @@ </a> <p class="current-filter-name filter-name pull-left cursorPointer"> <span class="fa fa-angle-right pull-left" aria-hidden="true"></span> - {if $REQ.view eq 'List'} + {if $REQ->get('view') eq 'List'} {vtranslate('LBL_FILTER', $MODULE)} {/if} - {if $REQ.view eq 'Detail'} + {if $REQ->get('view') eq 'Detail'} <a title="{$RECORD->get('templatename')}"> {$RECORD->get('templatename')} </a> {/if} - {if $RECORD and $REQ.view eq 'Edit'} + {if $RECORD and $REQ->get('view') eq 'Edit'} <a title="{$RECORD->get('templatename')}"> {vtranslate('LBL_EDITING', $MODULE)} : {$RECORD->get('templatename')} </a> - {else if $REQ.view eq 'Edit'} + {else if $REQ->get('view') eq 'Edit'} <a> {vtranslate('LBL_ADDING_NEW', $MODULE)} </a> {/if} </p> diff --git a/pkg/vtiger/modules/ExtensionStore/settings/templates/Detail.tpl b/pkg/vtiger/modules/ExtensionStore/settings/templates/Detail.tpl index 342290c3883b43aeab5d76ab57d7065974d27527..7adb9451ffea1f6a5a1eaadaf853bda88cdab1a1 100644 --- a/pkg/vtiger/modules/ExtensionStore/settings/templates/Detail.tpl +++ b/pkg/vtiger/modules/ExtensionStore/settings/templates/Detail.tpl @@ -7,7 +7,7 @@ {strip} <div class="container-fluid detailViewInfo extensionDetails" style='margin-top:0px;'> {if !($ERROR)} - <input type="hidden" name="mode" value="{$REQ.mode}" /> + <input type="hidden" name="mode" value="{$REQ->get('mode')}" /> <input type="hidden" name="extensionId" value="{$EXTENSION_ID}" /> <input type="hidden" name="targetModule" value="{$EXTENSION_DETAIL->get('name')}" /> <input type="hidden" name="moduleAction" value="{$MODULE_ACTION}" /> diff --git a/pkg/vtiger/modules/Import/layouts/v7/modules/Import/ImportDetails.tpl b/pkg/vtiger/modules/Import/layouts/v7/modules/Import/ImportDetails.tpl index e6bb392616ab168e78d9fd04ceb4f42114bb95dc..3c102da4fd190a5325c2de3c40fc0a297d56f07d 100644 --- a/pkg/vtiger/modules/Import/layouts/v7/modules/Import/ImportDetails.tpl +++ b/pkg/vtiger/modules/Import/layouts/v7/modules/Import/ImportDetails.tpl @@ -32,7 +32,7 @@ {/foreach} </table> </div> - <input type="hidden" class="triggerEventName" value="{$REQ.triggerEventName}"/> + <input type="hidden" class="triggerEventName" value="{$REQ->get('triggerEventName')}"/> </div> </div> </div> diff --git a/pkg/vtiger/modules/Import/modules/Import/actions/Data.php b/pkg/vtiger/modules/Import/modules/Import/actions/Data.php index 3020bbc1e7c034e3126ebadd3150c365fcea2dc5..eef394e0a99ae04a2406add4efd22060ae46783c 100644 --- a/pkg/vtiger/modules/Import/modules/Import/actions/Data.php +++ b/pkg/vtiger/modules/Import/modules/Import/actions/Data.php @@ -390,13 +390,11 @@ class Import_Data_Action extends Vtiger_Action_Controller { $entityInfo = null; } else { try { - // to save Source of Record while Creating - $fieldData['source'] = $this->recordSource; - $entityInfo = $this->importRecord($fieldData, 'create'); - if ($entityInfo) { - $entityIdComponents = vtws_getIdComponents($entityInfo['id']); - $createdRecords[] = $entityIdComponents[1]; - } + $entityInfo = $this->importRecord($fieldData, 'create'); + if ($entityInfo) { + $entityIdComponents = vtws_getIdComponents($entityInfo['id']); + $createdRecords[] = $entityIdComponents[1]; + } } catch (Exception $e) { } @@ -767,6 +765,8 @@ class Import_Data_Action extends Vtiger_Action_Controller { $_REQUEST['cur_'.$this->lineitem_currency_id.'_check'] = 1; } $fieldData['currency_id'] = $this->lineitem_currency_id; + // to save Source of Record while Creating + $fieldData['source'] = $this->recordSource; } if ($fieldData != null && $checkMandatoryFieldValues) { foreach ($moduleFields as $fieldName => $fieldInstance) { diff --git a/pkg/vtiger/modules/Mobile/modules/Mobile/third-party/qCal/qCal/Date.php b/pkg/vtiger/modules/Mobile/modules/Mobile/third-party/qCal/qCal/Date.php index ceb8b74d4aad30bbe06dd96b1a9c59ccc3634f61..ee260c6558dc13eecce4db6f6b6c20fbdf9972f6 100644 --- a/pkg/vtiger/modules/Mobile/modules/Mobile/third-party/qCal/qCal/Date.php +++ b/pkg/vtiger/modules/Mobile/modules/Mobile/third-party/qCal/qCal/Date.php @@ -583,7 +583,7 @@ class qCal_Date { public static function gmgetdate($timestamp = null) { $k = array('seconds','minutes','hours','mday','wday','mon','year','yday','weekday','month',0); - return(array_combine($k, split(":", gmdate('s:i:G:j:w:n:Y:z:l:F:U', is_null($timestamp) ? time() : $timestamp)))); + return(array_combine($k, explode(':', gmdate('s:i:G:j:w:n:Y:z:l:F:U', is_null($timestamp) ? time() : $timestamp)))); } diff --git a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/ext/providers/MyProvider.php.sample b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/ext/providers/MyProvider.php.sample index 6c26537f7ba42cc8b54edeb0cb2401783d17ee1b..89cceaa4097f23b77a35d039667e7d07b6d5c658 100644 --- a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/ext/providers/MyProvider.php.sample +++ b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/ext/providers/MyProvider.php.sample @@ -77,7 +77,7 @@ class MyProvider implements ISMSProvider { $httpClient = new Vtiger_Net_Client($serviceURL); $response = $httpClient->doPost($params); - $responseLines = split("\n", $response); + $responseLines = explode("\n", $response); $results = array(); foreach($responseLines as $responseLine) { diff --git a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/ext/providers/TextAnywhere.php b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/ext/providers/TextAnywhere.php index b629d1ad20b27ef6d46f433f0f31dc4315ccea79..e46030d254412c554c9f38e794d094a339858887 100644 --- a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/ext/providers/TextAnywhere.php +++ b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/ext/providers/TextAnywhere.php @@ -68,7 +68,7 @@ class TextAnywhere implements ISMSProvider { } public function query($messageid) { - $messageidSplit = split('--', $messageid); + $messageidSplit = explode('--', $messageid); $clientMessageReference = trim($messageidSplit[0]); $number = trim($messageidSplit[1]); @@ -170,13 +170,13 @@ class TextAnywhere implements ISMSProvider { private function processSendMessageResult($response, $clientMessageReference, $tonumbers) { $results = array(); - $responseLines = split("\n", $response); + $responseLines = explode("\n", $response); if (trim($responseLines[0]) === '#1#') { //Successful transaction - $numberResults = split(",", $responseLines[1]); + $numberResults = explode(',', $responseLines[1]); foreach ($numberResults as $numberResult) { - $numberResultSplit = split(":", $numberResult); + $numberResultSplit = explode(':', $numberResult); $number = trim($numberResultSplit[0]); $code = trim($numberResultSplit[1]); @@ -220,13 +220,13 @@ class TextAnywhere implements ISMSProvider { private function processQueryMessageResult($response, $number) { $result = array(); - $responseLines = split("\n", $response); + $responseLines = explode("\n", $response); if (trim($responseLines[0]) === '#1#') { //Successful transaction - $numberResults = split(",", $responseLines[1]); + $numberResults = explode(',', $responseLines[1]); foreach ($numberResults as $numberResult) { - $numberResultSplit = split(":", $numberResult); + $numberResultSplit = explode(':', $numberResult); $thisNumber = trim($numberResultSplit[0]); $code = (int) trim($numberResultSplit[1]); diff --git a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/ClickATell.php b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/ClickATell.php index d70d023508ade1df53dc5385f192d522bd361870..73a966267a3e1a15280167fde2dfa1e6b755e311 100644 --- a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/ClickATell.php +++ b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/ClickATell.php @@ -109,7 +109,7 @@ class SMSNotifier_ClickATell_Provider implements SMSNotifier_ISMSProvider_Model $serviceURL = $this->getServiceURL(self::SERVICE_SEND); $httpClient = new Vtiger_Net_Client($serviceURL); $response = $httpClient->doPost($params); - $responseLines = split("\n", $response); + $responseLines = explode("\n", $response); $results = array(); $i=0; diff --git a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/IndiaSms.php b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/IndiaSms.php index 8a1ae5d9214ad9bcf6cbceea83278b26be120d79..5dec95b22e7eb72020c62710c07c63fe03225831 100644 --- a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/IndiaSms.php +++ b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/IndiaSms.php @@ -94,7 +94,7 @@ class SMSNotifier_IndiaSms_Provider implements SMSNotifier_ISMSProvider_Model { $httpClient = new Vtiger_Net_Client($serviceURL); $response = $httpClient->doGet($params); - $responseLines = split("\n", $response); + $responseLines = explode("\n", $response); $results = array(); foreach ($responseLines as $responseLine) { diff --git a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/MyProvider.php b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/MyProvider.php index cdc892afda6ec2d05f9bbe0517b9d59b3454adae..a63e4a85338721d3ef72b47d53ca011b6f53613b 100644 --- a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/MyProvider.php +++ b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/MyProvider.php @@ -109,7 +109,7 @@ class SMSNotifier_MyProvider_Provider implements SMSNotifier_ISMSProvider_Model $serviceURL = $this->getServiceURL(self::SERVICE_SEND); $httpClient = new Vtiger_Net_Client($serviceURL); $response = $httpClient->doPost($params); - $responseLines = split("\n", $response); + $responseLines = explode("\n", $response); $results = array(); foreach($responseLines as $responseLine) { diff --git a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/TextAnywhere.php b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/TextAnywhere.php index 17f5bc38dfa1e36b3f60c7e31cf2faef240615a6..49fd47f604f62c1d8cf8ec78a38680a4c93a223e 100644 --- a/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/TextAnywhere.php +++ b/pkg/vtiger/modules/SMSNotifier/modules/SMSNotifier/providers/TextAnywhere.php @@ -76,7 +76,7 @@ class SMSNotifier_TextAnywhere_Provider implements SMSNotifier_ISMSProvider_Mode } public function query($messageid) { - $messageidSplit = split('--', $messageid); + $messageidSplit = explode('--', $messageid); $clientMessageReference = trim($messageidSplit[0]); $number = trim($messageidSplit[1]); @@ -180,13 +180,13 @@ class SMSNotifier_TextAnywhere_Provider implements SMSNotifier_ISMSProvider_Mode private function processSendMessageResult($response, $clientMessageReference, $tonumbers) { $results = array(); - $responseLines = split("\n", $response); + $responseLines = explode("\n", $response); if (trim($responseLines[0]) === '#1#') { //Successful transaction - $numberResults = split(",", $responseLines[1]); + $numberResults = explode(',', $responseLines[1]); foreach ($numberResults as $numberResult) { - $numberResultSplit = split(":", $numberResult); + $numberResultSplit = explode(':', $numberResult); $number = trim($numberResultSplit[0]); $code = trim($numberResultSplit[1]); @@ -230,13 +230,13 @@ class SMSNotifier_TextAnywhere_Provider implements SMSNotifier_ISMSProvider_Mode private function processQueryMessageResult($response, $number) { $result = array(); - $responseLines = split("\n", $response); + $responseLines = explode("\n", $response); if (trim($responseLines[0]) === '#1#') { //Successful transaction - $numberResults = split(",", $responseLines[1]); + $numberResults = explode(',', $responseLines[1]); foreach ($numberResults as $numberResult) { - $numberResultSplit = split(":", $numberResult); + $numberResultSplit = explode(':', $numberResult); $thisNumber = trim($numberResultSplit[0]); $code = (int) trim($numberResultSplit[1]); diff --git a/vtlib/Vtiger/AccessControl.php b/vtlib/Vtiger/AccessControl.php index d5615a72c20273c9fe28ff05fbedfb272eed5309..6a1d013cf9c3b03d0839fd7698ca7c25c06f4c6b 100644 --- a/vtlib/Vtiger/AccessControl.php +++ b/vtlib/Vtiger/AccessControl.php @@ -16,7 +16,7 @@ class Vtiger_AccessControl { 'current_user_groups', 'subordinate_roles', 'parent_roles', 'subordinate_roles_users', 'user_info' ); - protected function __consturct() { + protected function __construct() { $this->privileges = array(); } diff --git a/vtlib/Vtiger/Deprecated.php b/vtlib/Vtiger/Deprecated.php index d65cca2abf98120775fe0975e7ef7c1bd7f38733..bf47d8517030ee024ec5010384edfebf1e4d1629 100644 --- a/vtlib/Vtiger/Deprecated.php +++ b/vtlib/Vtiger/Deprecated.php @@ -622,6 +622,6 @@ class Vtiger_Deprecated { static function return_app_list_strings_language($language, $module='Vtiger') { require_once 'includes/runtime/LanguageHandler.php'; $strings = Vtiger_Language_Handler::getModuleStringsFromFile($language, $module); - return $strings['languageStrings']; + return isset($strings['languageStrings']) ? $strings['languageStrings'] : []; } } \ No newline at end of file diff --git a/vtlib/Vtiger/Functions.php b/vtlib/Vtiger/Functions.php index f61b27dc31bb1f016d571314bdf635360fc41f04..be26f3d920f24a221b57ec38e12a5b7cfb007c9b 100644 --- a/vtlib/Vtiger/Functions.php +++ b/vtlib/Vtiger/Functions.php @@ -654,46 +654,46 @@ class Vtiger_Functions { $filetype = strtolower($filetype); } - $saveimage = 'true'; + $saveimage = true; if (!in_array($filetype, $allowedImageFormats)) { - $saveimage = 'false'; + $saveimage = false; } //mime type check - if ($saveimage == 'true') { + if ($saveimage) { $mimeType = mime_content_type($file_details['tmp_name']); $mimeTypeContents = explode('/', $mimeType); if (!$file_details['size'] || strtolower($mimeTypeContents[0]) !== 'image' || !in_array($mimeTypeContents[1], $mimeTypesList)) { - $saveimage = 'false'; + $saveimage = false; } } //metadata check $shortTagSupported = ini_get('short_open_tag') ? true : false; - if ($saveimage == 'true') { + if ($saveimage) { $tmpFileName = $file_details['tmp_name']; if ($file_details['type'] == 'image/jpeg' || $file_details['type'] == 'image/tiff') { $exifdata = @exif_read_data($file_details['tmp_name']); if ($exifdata && !self::validateImageMetadata($exifdata, $shortTagSupported)) { - $saveimage = 'false'; + $saveimage = false; } //131225968::remove sensitive information(like,GPS or camera information) from the image - if (($saveimage == 'true' ) && ($file_details['type'] == 'image/jpeg' ) && extension_loaded('gd') && function_exists('gd_info')) { + if ($saveimage && ($file_details['type'] == 'image/jpeg' ) && extension_loaded('gd') && function_exists('gd_info')) { $img = imagecreatefromjpeg($tmpFileName); imagejpeg($img, $tmpFileName); } } } - if ($saveimage == 'true') { + if ($saveimage) { $imageContents = file_get_contents($tmpFileName); if (stripos($imageContents, $shortTagSupported ? "<?" : "<?php") !== false) { // suspicious dynamic content. - $saveimage = 'false'; + $saveimage = false; } } - if (($filetype == 'svg+xml' || $mimeTypeContents[1] == 'svg+xml') && $saveimage == 'true') { + if (($filetype == 'svg+xml' || $mimeTypeContents[1] == 'svg+xml') && $saveimage) { //remove malicious html attributes with its value from the contents. $imageContents = purifyHtmlEventAttributes($imageContents, true); $filePointer = fopen("$tmpFileName", "w"); @@ -701,7 +701,7 @@ class Vtiger_Functions { fclose($filePointer); } - if ($saveimage == 'true') { + if ($saveimage) { /* * File functions like filegroup(), fileowner(), filesize(), filetype(), fileperms() and few others,caches file information, we need to clear the cache so it will not return the cache value if we perform/call same function after updating the file */ diff --git a/vtlib/Vtiger/LanguageImport.php b/vtlib/Vtiger/LanguageImport.php index 6b2b4ce00c74707962401d37d9b42216fc2ff06f..447995c02e0c112e9c7e51039a9c11a6537e66ea 100644 --- a/vtlib/Vtiger/LanguageImport.php +++ b/vtlib/Vtiger/LanguageImport.php @@ -82,7 +82,7 @@ class Vtiger_LanguageImport extends Vtiger_LanguageExport { $targetdir = substr($filename, 0, strripos($filename,'/')); $targetfile = basename($filename); - $prefixparts = split('_', $prefix); + $prefixparts = explode('_', $prefix); $dounzip = false; if(is_dir($targetdir)) { diff --git a/vtlib/Vtiger/Utils.php b/vtlib/Vtiger/Utils.php index 64a36a485a1aa660fd10408f1adef3ca5fd7430d..e5415688d6a1410ef652541f26a2dad7fd109941 100644 --- a/vtlib/Vtiger/Utils.php +++ b/vtlib/Vtiger/Utils.php @@ -342,7 +342,7 @@ class Vtiger_Utils { public static function writeLogFile($logFileName, $log) { if ($logFileName && $log) { $logFilePath = self::$logFolder . '/' . $logFileName; - file_put_contents($logFilePath, print_r($log, true), FILE_APPEND); + file_put_contents($logFilePath, print_r($log, true).PHP_EOL, FILE_APPEND); } } }