diff --git a/include/events/VTEventsManager.inc b/include/events/VTEventsManager.inc index fc9a5a98c57f3d46c63555d1a08c6fbc69a9818a..719b1d767e5b91885f5a5346409753f71fa4eade 100644 --- a/include/events/VTEventsManager.inc +++ b/include/events/VTEventsManager.inc @@ -12,6 +12,8 @@ * Create and trigger events in vtiger */ class VTEventsManager{ + var $adb; + function __construct($adb){ $this->adb = $adb; } diff --git a/include/fields/DateTimeField.php b/include/fields/DateTimeField.php index a3d3678b9bf0faf3fb7cbfaca15131cb5ea33fd7..cec8648ffc7540595c7f51a2a031fc0e2de78852 100644 --- a/include/fields/DateTimeField.php +++ b/include/fields/DateTimeField.php @@ -13,6 +13,8 @@ class DateTimeField { static protected $databaseTimeZone = null; protected $datetime; + protected $date; + protected $time; private static $cache = array(); /** diff --git a/include/utils/ListViewUtils.php b/include/utils/ListViewUtils.php index 027c71a0d9487391192fa1c2af49933c73dcba1a..3ea02a3d5e8f5fc61a4ef0885046b210a3719081 100755 --- a/include/utils/ListViewUtils.php +++ b/include/utils/ListViewUtils.php @@ -678,8 +678,10 @@ function decode_html($str) { // Direct Popup action or Ajax Popup action should be treated the same. if ((isset($_REQUEST['action']) && $_REQUEST['action'] == 'Popup') || (isset($_REQUEST['file']) && $_REQUEST['file'] == 'Popup')) return html_entity_decode($str); - else + else if ($str) return html_entity_decode($str, ENT_QUOTES, $default_charset); + else + return $str; } function popup_decode_html($str) { diff --git a/libraries/adodb_vtigerfix/adodb-xmlschema.inc.php b/libraries/adodb_vtigerfix/adodb-xmlschema.inc.php index 62292ae0140473497b29db70dad31feea3f90e37..84bf52f06563c515b0e9adf2c7297a67613dcf10 100644 --- a/libraries/adodb_vtigerfix/adodb-xmlschema.inc.php +++ b/libraries/adodb_vtigerfix/adodb-xmlschema.inc.php @@ -1283,6 +1283,14 @@ class adoSchema { */ var $objectPrefix = ''; + /** + * @var object + * @access private + * Property used during XML Parsing. + * Added by Vtiger + */ + var $obj = null; + /** * @var long System debug * @access private diff --git a/libraries/adodb_vtigerfix/datadict/datadict-mysql.inc.php b/libraries/adodb_vtigerfix/datadict/datadict-mysql.inc.php index a1ee950a6ba2ab267205e62ffc9faa0b955daffc..2edf20df4d56d7e592da5a091cdc6d2ec802d0d1 100644 --- a/libraries/adodb_vtigerfix/datadict/datadict-mysql.inc.php +++ b/libraries/adodb_vtigerfix/datadict/datadict-mysql.inc.php @@ -22,6 +22,7 @@ // security - hide paths if (!defined('ADODB_DIR')) die(); +#[\AllowDynamicProperties] class ADODB2_mysql extends ADODB_DataDict { var $databaseType = 'mysql'; var $alterCol = ' MODIFY COLUMN'; diff --git a/modules/Install/views/Index.php b/modules/Install/views/Index.php index 4ff2d1472c9a98634a3dabf0a370f5e548175a14..8fb55655fe83a0de134e7785cdbd42cd3b43aef1 100644 --- a/modules/Install/views/Index.php +++ b/modules/Install/views/Index.php @@ -220,7 +220,7 @@ class Install_Index_view extends Vtiger_View_Controller { // Helper function as configuration file is still not loaded. protected function retrieveConfiguredAppUniqueKey() { include 'config.inc.php'; - return $application_unique_key; + return isset($application_unique_key) ? $application_unique_key : ""; } public function getHeaderCss(Vtiger_Request $request) { diff --git a/modules/PickList/PickListUtils.php b/modules/PickList/PickListUtils.php index 172481af680e7ff09005d854bad8627f8c4594ee..f1bf78384e4eac8586d25b3692bfc80650a11c85 100644 --- a/modules/PickList/PickListUtils.php +++ b/modules/PickList/PickListUtils.php @@ -141,7 +141,8 @@ function getAllPickListValues($fieldName,$lang = Array() ){ * @param object $adb - the peardatabase object * @return array $pick - the editable picklist values */ -function getEditablePicklistValues($fieldName, $lang= array(), $adb){ +function getEditablePicklistValues($fieldName, $lang= array(), $adb = null){ + if ($adb == null) $adb = PearDatabase::getInstance(); $values = array(); $fieldName = $adb->sql_escape_string($fieldName); $sql="select $fieldName from vtiger_$fieldName where presence=1 and $fieldName <> '--None--'"; @@ -167,7 +168,8 @@ function getEditablePicklistValues($fieldName, $lang= array(), $adb){ * @param object $adb - the peardatabase object * @return array $pick - the no-editable picklist values */ -function getNonEditablePicklistValues($fieldName, $lang=array(), $adb){ +function getNonEditablePicklistValues($fieldName, $lang=array(), $adb = null){ + if ($adb == null) $adb = PearDatabase::getInstance(); $values = array(); $fieldName = $adb->sql_escape_string($fieldName); $sql = "select $fieldName from vtiger_$fieldName where presence=0"; diff --git a/modules/com_vtiger_workflow/VTEntityCache.inc b/modules/com_vtiger_workflow/VTEntityCache.inc index 2b5659852526586005dbc321247a4abc8b1f4aed..fedab9844148453d5536ec7c8cbe67ed5a6db470 100644 --- a/modules/com_vtiger_workflow/VTEntityCache.inc +++ b/modules/com_vtiger_workflow/VTEntityCache.inc @@ -10,6 +10,7 @@ require_once 'data/VTEntityDelta.php'; require_once 'includes/runtime/Cache.php'; +#[\AllowDynamicProperties] class VTWorkflowEntity{ function __construct($user, $id){ try { diff --git a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/CustomerPortal.php b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/CustomerPortal.php index 1fec60387d0d0abf284bc87d229f8b2c80179019..845e3bd51763b45815655930c7ad05426658eb66 100644 --- a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/CustomerPortal.php +++ b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/CustomerPortal.php @@ -8,6 +8,7 @@ * All Rights Reserved. *******************************************************************************/ + #[\AllowDynamicProperties] class CustomerPortal { /** diff --git a/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/ExtensionStore.php b/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/ExtensionStore.php index 890d4b4ede17840286a61a218eed520359713eba..761d64d5ebb0cd3169b1e2a345a7576f3088cf04 100644 --- a/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/ExtensionStore.php +++ b/pkg/vtiger/modules/ExtensionStore/modules/ExtensionStore/ExtensionStore.php @@ -8,6 +8,7 @@ * All Rights Reserved. * ***********************************************************************************/ +#[\AllowDynamicProperties] class ExtensionStore { } diff --git a/pkg/vtiger/modules/Google/modules/Google/Google.php b/pkg/vtiger/modules/Google/modules/Google/Google.php index ae2dc792519a62a8e0daff51fdcd47a4a41eae08..a783b4a3b10bb89639585c905ae3fc9729a0fcce 100644 --- a/pkg/vtiger/modules/Google/modules/Google/Google.php +++ b/pkg/vtiger/modules/Google/modules/Google/Google.php @@ -11,6 +11,7 @@ require_once 'vtlib/Vtiger/Module.php'; require_once('include/events/include.inc'); +#[\AllowDynamicProperties] class Google { const module = 'Google'; diff --git a/pkg/vtiger/modules/MailManager/modules/MailManager/MailManager.php b/pkg/vtiger/modules/MailManager/modules/MailManager/MailManager.php index 857b0224fcf119e6673dd827539072c1cb86a814..fc17d0e3338b23434f4594da0af03f1bafa0657f 100644 --- a/pkg/vtiger/modules/MailManager/modules/MailManager/MailManager.php +++ b/pkg/vtiger/modules/MailManager/modules/MailManager/MailManager.php @@ -9,6 +9,7 @@ ************************************************************************************/ require_once 'include/Webservices/Query.php'; +#[\AllowDynamicProperties] class MailManager { static function updateMailAssociation($mailuid, $emailid, $crmid) { diff --git a/pkg/vtiger/modules/Mobile/modules/Mobile/Mobile.php b/pkg/vtiger/modules/Mobile/modules/Mobile/Mobile.php index f0940cf80e6717505ec61f5f57d2efea8c58e8fa..b6d3452754c0dfe6ae8a424ec7dad7acb38e0450 100644 --- a/pkg/vtiger/modules/Mobile/modules/Mobile/Mobile.php +++ b/pkg/vtiger/modules/Mobile/modules/Mobile/Mobile.php @@ -10,6 +10,7 @@ include_once dirname(__FILE__) . '/Mobile.Config.php'; +#[\AllowDynamicProperties] class Mobile { /** diff --git a/pkg/vtiger/modules/ModTracker/modules/ModTracker/ModTracker.php b/pkg/vtiger/modules/ModTracker/modules/ModTracker/ModTracker.php index 764835a3c4057580cfa6bb9ce7e2d0fe1caa115d..6fe11a49f99554bd68aa55730e209f1481c1be43 100644 --- a/pkg/vtiger/modules/ModTracker/modules/ModTracker/ModTracker.php +++ b/pkg/vtiger/modules/ModTracker/modules/ModTracker/ModTracker.php @@ -10,6 +10,7 @@ include_once 'vtlib/Vtiger/Event.php'; include_once 'include/Webservices/GetUpdates.php'; +#[\AllowDynamicProperties] class ModTracker { diff --git a/pkg/vtiger/modules/RecycleBin/modules/RecycleBin/RecycleBin.php b/pkg/vtiger/modules/RecycleBin/modules/RecycleBin/RecycleBin.php index 7146021a5cb5ffaf67e7d1e12a96e3e98e473287..a1c57dbee6c1c5e54295865685c6dd6bb5613af7 100644 --- a/pkg/vtiger/modules/RecycleBin/modules/RecycleBin/RecycleBin.php +++ b/pkg/vtiger/modules/RecycleBin/modules/RecycleBin/RecycleBin.php @@ -8,7 +8,8 @@ * All Rights Reserved. *******************************************************************************/ -class RecycleBin { +#[\AllowDynamicProperties] + class RecycleBin { /** * Invoked when special actions are performed on the module. diff --git a/pkg/vtiger/modules/WSAPP/modules/WSAPP/WSAPP.php b/pkg/vtiger/modules/WSAPP/modules/WSAPP/WSAPP.php index 87719404b7f8c8c92885c7bf2bfb4adc2c36701b..e7a345810ddb70b66966260bf1bc28b09f8059d9 100644 --- a/pkg/vtiger/modules/WSAPP/modules/WSAPP/WSAPP.php +++ b/pkg/vtiger/modules/WSAPP/modules/WSAPP/WSAPP.php @@ -10,6 +10,7 @@ require_once('include/events/include.inc'); require_once 'modules/WSAPP/Utils.php'; +#[\AllowDynamicProperties] class WSAPP { /** diff --git a/pkg/vtiger/modules/Webforms/modules/Webforms/Webforms.php b/pkg/vtiger/modules/Webforms/modules/Webforms/Webforms.php index 18326c6936dec30f6448224bd95c14cfe1f2197b..feaab5c39e10faa6d436c988d3188ec19d23f183 100644 --- a/pkg/vtiger/modules/Webforms/modules/Webforms/Webforms.php +++ b/pkg/vtiger/modules/Webforms/modules/Webforms/Webforms.php @@ -10,6 +10,7 @@ require_once 'modules/Webforms/model/WebformsModel.php'; require_once 'include/Webservices/DescribeObject.php'; +#[\AllowDynamicProperties] class Webforms { var $LBL_WEBFORMS='Webforms'; diff --git a/vtlib/Vtiger/Block.php b/vtlib/Vtiger/Block.php index 234e6b61f18fe3f3b2cddabb5a94bcb0476380a2..46712d3293522bf2347f17ee56490ead4d7e12ac 100644 --- a/vtlib/Vtiger/Block.php +++ b/vtlib/Vtiger/Block.php @@ -192,7 +192,7 @@ class Vtiger_Block { */ static function getAllForModule($moduleInstance) { global $adb; - $instances = false; + $instances = array(); $query = "SELECT * FROM vtiger_blocks WHERE tabid=? ORDER BY sequence"; $queryParams = Array($moduleInstance->id); diff --git a/vtlib/Vtiger/Field.php b/vtlib/Vtiger/Field.php index c33b3e296cc58e2b144a195dc21a67850fa94f38..61dde1c0aa23d5c9533a94d177c18f108e2432ca 100644 --- a/vtlib/Vtiger/Field.php +++ b/vtlib/Vtiger/Field.php @@ -271,7 +271,7 @@ class Vtiger_Field extends Vtiger_FieldBasic { */ static function getAllForModule($moduleInstance) { global $adb; - $instances = false; + $instances = array(); $query = "SELECT * FROM vtiger_field WHERE tabid=? ORDER BY sequence"; $queryParams = Array($moduleInstance->id); diff --git a/vtlib/Vtiger/FieldBasic.php b/vtlib/Vtiger/FieldBasic.php index ab6c4425f63867fe68926c7d1940926c5ca89e82..3b8a68ede950fd012ba684c5cb2ad4f5f1b153e6 100644 --- a/vtlib/Vtiger/FieldBasic.php +++ b/vtlib/Vtiger/FieldBasic.php @@ -13,6 +13,7 @@ * Provides basic API to work with vtiger CRM Fields * @package vtlib */ +#[\AllowDynamicProperties] class Vtiger_FieldBasic { /** ID of this field instance */ diff --git a/vtlib/thirdparty/network/Net/URL.php b/vtlib/thirdparty/network/Net/URL.php index ae97c0afa82dd524c48008b06ba9d0d9f3a3f1c4..e9382276128623778eefae45faf069c90f9160ad 100644 --- a/vtlib/thirdparty/network/Net/URL.php +++ b/vtlib/thirdparty/network/Net/URL.php @@ -37,6 +37,7 @@ // Net_URL Class +#[\AllowDynamicProperties] class Net_URL { var $options = array('encode_query_keys' => false); diff --git a/vtlib/thirdparty/network/Request.php b/vtlib/thirdparty/network/Request.php index 193b6e345d2fcc868e2112a78a502d37186ed62e..dbede7a080a047e1c47c15b1536dec233576e8eb 100644 --- a/vtlib/thirdparty/network/Request.php +++ b/vtlib/thirdparty/network/Request.php @@ -932,7 +932,7 @@ class HTTP_Request $request = $this->_method . ' ' . $url . ' HTTP/' . $this->_http . "\r\n"; if (in_array($this->_method, $this->_bodyDisallowed) || - (0 == strlen($this->_body) && (HTTP_REQUEST_METHOD_POST != $this->_method || + (0 == strlen($this->_body ? $this->_body : "") && (HTTP_REQUEST_METHOD_POST != $this->_method || (empty($this->_postData) && empty($this->_postFiles))))) { $this->removeHeader('Content-Type');