Просмотр исходного кода

#5460 Alerts logger: distinct vars passed by reference

Aleksandr Trofimov 6 месяцев назад
Родитель
Сommit
34dd09ae04
40 измененных файлов с 255 добавлено и 45 удалено
  1. 3 3
      inc/classes/BxDolAccount.php
  2. 6 1
      inc/classes/BxDolAcl.php
  3. 1 0
      inc/classes/BxDolCmts.php
  4. 19 4
      inc/classes/BxDolCmtsQuery.php
  5. 10 0
      inc/classes/BxDolConnection.php
  6. 2 1
      inc/classes/BxDolConnectionRelation.php
  7. 14 2
      inc/classes/BxDolCover.php
  8. 4 1
      inc/classes/BxDolCronPruning.php
  9. 13 1
      inc/classes/BxDolEmailTemplates.php
  10. 7 0
      inc/classes/BxDolForm.php
  11. 5 0
      inc/classes/BxDolGrid.php
  12. 1 0
      inc/classes/BxDolLabel.php
  13. 3 0
      inc/classes/BxDolMetatags.php
  14. 1 0
      inc/classes/BxDolModuleProxy.php
  15. 1 0
      inc/classes/BxDolPage.php
  16. 1 0
      inc/classes/BxDolPermalinks.php
  17. 14 4
      inc/classes/BxDolProfile.php
  18. 1 1
      inc/classes/BxDolPush.php
  19. 7 2
      inc/classes/BxDolSearch.php
  20. 8 1
      inc/classes/BxDolTemplate.php
  21. 1 0
      inc/profiles.inc.php
  22. 2 1
      member.php
  23. 4 2
      modules/base/connect/classes/BxBaseModConnectModule.php
  24. 9 1
      modules/base/general/classes/BxBaseModGeneralDb.php
  25. 1 0
      modules/base/general/classes/BxBaseModGeneralFormsEntryHelper.php
  26. 13 2
      modules/base/general/classes/BxBaseModGeneralModule.php
  27. 7 0
      modules/base/general/classes/BxBaseModGeneralTemplate.php
  28. 7 1
      modules/base/groups/classes/BxBaseModGroupsModule.php
  29. 12 3
      modules/base/profile/classes/BxBaseModProfileDb.php
  30. 4 2
      modules/base/profile/classes/BxBaseModProfileModule.php
  31. 19 3
      modules/base/profile/classes/BxBaseModProfileTemplate.php
  32. 7 1
      modules/base/text/classes/BxBaseModTextModule.php
  33. 8 2
      modules/base/text/classes/BxBaseModTextTemplate.php
  34. 7 1
      modules/boonex/ads/classes/BxAdsModule.php
  35. 3 1
      modules/boonex/albums/classes/BxAlbumsDb.php
  36. 5 0
      modules/boonex/analytics/classes/BxAnalyticsModule.php
  37. 3 1
      modules/boonex/artificer/data/template/system/scripts/BxTemplFunctions.php
  38. 2 1
      modules/boonex/channels/classes/BxCnlModule.php
  39. 16 2
      modules/boonex/convos/classes/BxCnvFormEntry.php
  40. 4 0
      modules/boonex/donations/classes/BxDonationsTemplate.php

+ 3 - 3
inc/classes/BxDolAccount.php

@@ -561,7 +561,7 @@ class BxDolAccount extends BxDolFactory implements iBxDolSingleton
          *      - `display_name` - [string] by ref, account display name,  can be overridden in hook processing
          * @hook @ref hook-account-account_name
          */
-        bx_alert('account', 'account_name', $iAccountId, 0, array('info' => $aInfo, 'display_name' => &$sDisplayName));
+        bx_alert('account', 'account_name', $iAccountId, 0, array('info' => $aInfo, 'display_name' => &$sDisplayName, 'display_name_ref' => &$sDisplayName));
 
         return bx_process_output($sDisplayName);
     }
@@ -811,7 +811,7 @@ class BxDolAccount extends BxDolFactory implements iBxDolSingleton
          *      - `number` - [int] by ref, account limit on the number of profiles,  can be overridden in hook processing
          * @hook @ref hook-account-get_limit_profiles_number
          */
-        bx_alert('account', 'get_limit_profiles_number', 0, 0, array('account_id' => $this->_iAccountID, 'number' => &$iProfilesLimit));
+        bx_alert('account', 'get_limit_profiles_number', 0, 0, array('account_id' => $this->_iAccountID, 'number' => &$iProfilesLimit, 'number_ref' => &$iProfilesLimit));
         if (!isAdmin() && $iProfilesLimit && ($iProfilesNum = $this->getProfilesNumber()) && $iProfilesNum >= $iProfilesLimit)
             return true;
 
@@ -891,7 +891,7 @@ class BxDolAccount extends BxDolFactory implements iBxDolSingleton
          *      - `stop_deletion` - [bool] by ref, if it set to true account deletion will stopped, can be overridden in hook processing
          * @hook @ref hook-account-before_delete
          */
-        bx_alert('account', 'before_delete', $this->_iAccountID, 0, array('delete_with_content' => $bDeleteWithContent, 'stop_deletion' => &$isStopDeletion));
+        bx_alert('account', 'before_delete', $this->_iAccountID, 0, array('delete_with_content' => $bDeleteWithContent, 'stop_deletion' => &$isStopDeletion, 'stop_deletion_ref' => &$isStopDeletion));
         if ($isStopDeletion)
             return false;
 

+ 6 - 1
inc/classes/BxDolAcl.php

@@ -344,7 +344,12 @@ class BxDolAcl extends BxDolFactory implements iBxDolSingleton
             'perform' => &$bPerformAction,
             'result' => &$aResult,
             'lang' => &$aLangFileParams,
-            'continue' => &$bContinue
+            'continue' => &$bContinue,
+            'action_ref' => &$aAction,
+            'perform_ref' => &$bPerformAction,
+            'result_ref' => &$aResult,
+            'lang_ref' => &$aLangFileParams,
+            'continue_ref' => &$bContinue
         ));
 
         if (!$bContinue)

+ 1 - 0
inc/classes/BxDolCmts.php

@@ -2648,6 +2648,7 @@ class BxDolCmts extends BxDolFactory implements iBxDolReplaceable, iBxDolContent
             'data' => $aData,
             'params' => $aParams,
             'data_api' => &$aDataApi,
+            'data_api_ref' => &$aDataApi,
         ];
 
         /**

+ 19 - 4
inc/classes/BxDolCmtsQuery.php

@@ -307,7 +307,10 @@ class BxDolCmtsQuery extends BxDolDb
             'system' => $this->_oMain->getSystemInfo(), 
             'join_clause' => &$sJoinClause, 
             'where_clause' => &$sWhereClause, 
-            'params' => &$aBindings
+            'params' => &$aBindings,
+            'join_clause_ref' => &$sJoinClause, 
+            'where_clause_ref' => &$sWhereClause, 
+            'params_ref' => &$aBindings
         ]);
         
         $sQuery = "SELECT
@@ -365,7 +368,11 @@ class BxDolCmtsQuery extends BxDolDb
             'select_clause' => &$sSelectClause, 
             'join_clause' => &$sJoinClause, 
             'where_clause' => &$sWhereClause,  
-            'params' => &$aBindings
+            'params' => &$aBindings,
+            'select_clause_ref' => &$sSelectClause, 
+            'join_clause_ref' => &$sJoinClause, 
+            'where_clause_ref' => &$sWhereClause,  
+            'params_ref' => &$aBindings
         ]);
         
         $sQuery = "SELECT
@@ -479,7 +486,13 @@ class BxDolCmtsQuery extends BxDolDb
             'where_clause' => &$sWhereClause, 
             'order_clause' => &$sOrder, 
             'limit_clause' => &$sLimit, 
-            'params' => &$aBindings
+            'params' => &$aBindings,
+            'select_clause_ref' => &$sQuery, 
+            'join_clause_ref' => &$sJoin, 
+            'where_clause_ref' => &$sWhereClause, 
+            'order_clause_ref' => &$sOrder, 
+            'limit_clause_ref' => &$sLimit, 
+            'params_ref' => &$aBindings
         ]);
 
         $sQuery = $sQuery . $sJoin . " WHERE `{$this->_sTable}`.`cmt_object_id`=:cmt_object_id AND (ISNULL(`p`.`status`) OR `p`.`status`='active' OR `{$this->_sTable}`.`cmt_replies`!=0)" . $sWhereClause . $sOrder . $sLimit;
@@ -614,7 +627,9 @@ class BxDolCmtsQuery extends BxDolDb
                 BxDolSearchExtended::processParams($aParams['search_params'], [
                     'table' => $this->_sTable,
                     'bindings' => &$aMethod['params'][1],
-                    'where_clause' => &$sWhereClause
+                    'where_clause' => &$sWhereClause,
+                    'bindings_ref' => &$aMethod['params'][1],
+                    'where_clause_ref' => &$sWhereClause
                 ]);
 
                 if(($oCf = $this->_oMain->getObjectContentFilter()) !== false)

+ 10 - 0
inc/classes/BxDolConnection.php

@@ -372,6 +372,11 @@ class BxDolConnection extends BxDolFactory implements iBxDolFactoryObject
             'initiator' => &$iInitiator,
             'content' => &$iContent,
             'mutual' => &$iMutual,
+
+            'initiator_ref' => &$iInitiator,
+            'content_ref' => &$iContent,
+            'mutual_ref' => &$iMutual,
+
             'object' => $this,
             'override_result' => &$iOverrideResult,
         ];
@@ -489,6 +494,11 @@ class BxDolConnection extends BxDolFactory implements iBxDolFactoryObject
             'initiator' => &$iInitiator,
             'content' => &$iContent,
             'mutual' => &$iMutual,
+
+            'initiator_ref' => &$iInitiator,
+            'content_ref' => &$iContent,
+            'mutual_ref' => &$iMutual,
+
             'object' => $this,
         ];
         if(!empty($aParams['alert_extras']) && is_array($aParams['alert_extras']))

+ 2 - 1
inc/classes/BxDolConnectionRelation.php

@@ -305,7 +305,8 @@ class BxDolConnectionRelation extends BxTemplConnection
             'initiator' => (int)$iInitiator,
             'content' => (int)$iContent,
             'pre_list' => $this->_sPreList,
-            'relations' => &$aRelations
+            'relations' => &$aRelations,
+            'relations_ref' => &$aRelations
         ]);
 
         if($this->isConnected($iContent, $iInitiator)) {

+ 14 - 2
inc/classes/BxDolCover.php

@@ -149,7 +149,15 @@ class BxDolCover extends BxDolFactory implements iBxDolSingleton
          *      - `cover` - [object] object cover
          * @hook @ref hook-system-set_cover
          */
-        bx_alert('system', 'set_cover', 0, false, array('options' => &$this->_aOptions, 'template_name' => &$this->_sTemplateName, 'cover' => $this));
+        bx_alert('system', 'set_cover', 0, false, array(
+            'options' => &$this->_aOptions, 
+            'template_name' => &$this->_sTemplateName, 
+
+            'options_ref' => &$this->_aOptions, 
+            'template_name_ref' => &$this->_sTemplateName, 
+
+            'cover' => $this
+        ));
     }
 
     /**
@@ -183,7 +191,11 @@ class BxDolCover extends BxDolFactory implements iBxDolSingleton
          *      - `cover` - [object] object cover
          * @hook @ref hook-system-set_cover_image
          */
-        bx_alert('system', 'set_cover_image', 0, false, array('cover_image' => &$this->_sCoverImageUrl, 'cover' => $this));
+        bx_alert('system', 'set_cover_image', 0, false, array(
+            'cover_image' => &$this->_sCoverImageUrl,
+            'cover_image_ref' => &$this->_sCoverImageUrl, 
+            'cover' => $this
+        ));
 
         return true;
     }

+ 4 - 1
inc/classes/BxDolCronPruning.php

@@ -74,7 +74,10 @@ class BxDolCronPruning extends BxDolCron
 
         // clean ai related data
         $iDeletedItems = BxDolAI::pruning();
-        
+
+        // reset Alert counters
+        BxDolAlerts::resetAlertsCounter24h();
+
         echo call_user_func_array('_t', ['_sys_pruning_db', 
             $iDeleteMemLevels, 
             $iSessions, $iDeletedKeys, 

+ 13 - 1
inc/classes/BxDolEmailTemplates.php

@@ -144,7 +144,19 @@ class BxDolEmailTemplates extends BxDolFactory implements iBxDolSingleton
          *      - `template` - [array] by ref, template, can be overridden in hook processing
          * @hook @ref hook-system-parse_email_template
          */
-        bx_alert('system', 'parse_email_template', 0, 0, array('template_name' => &$sTemplateName, 'template_keys' => &$aTemplateKeys, 'account_id' => &$iAccountId, 'profile_id' => &$iProfileId, 'template' => &$aTemplate));
+        bx_alert('system', 'parse_email_template', 0, 0, array(
+            'template_name' => &$sTemplateName, 
+            'template_keys' => &$aTemplateKeys, 
+            'account_id' => &$iAccountId, 
+            'profile_id' => &$iProfileId, 
+            'template' => &$aTemplate,
+
+            'template_name_ref' => &$sTemplateName, 
+            'template_keys_ref' => &$aTemplateKeys, 
+            'account_id_ref' => &$iAccountId, 
+            'profile_id_ref' => &$iProfileId, 
+            'template_ref' => &$aTemplate
+        ));
         
         if (!$aTemplate)
             return false;

+ 7 - 0
inc/classes/BxDolForm.php

@@ -885,6 +885,7 @@ class BxDolForm extends BxDol implements iBxDolReplaceable
          */
         bx_alert('system', 'form_check', 0, 0, [
             'object' => &$this,
+            'inputs_ref' => &$this->aInputs,
         ]);
     }
 
@@ -931,6 +932,7 @@ class BxDolForm extends BxDol implements iBxDolReplaceable
                 'module' => isset($this->aParams['module']) ? $this->aParams['module'] : '',
                 'entry_id' => $iRes,
                 'form_object' => &$this,
+                'inputs_ref' => &$this->aInputs,
             ]);
 
             return $iRes;
@@ -968,6 +970,7 @@ class BxDolForm extends BxDol implements iBxDolReplaceable
             'module' => isset($this->aParams['module']) ? $this->aParams['module'] : '',
             'entry_id' => $val,
             'form_object' => &$this,
+            'inputs_ref' => &$this->aInputs,
         ]);
 
         return $bRes;
@@ -1824,6 +1827,10 @@ class BxDolFormCheckerHelper
         bx_alert('system', 'check_spam', 0, getLoggedId(), [
             'is_spam' => &$bSpam, 
             'content' => &$val, 
+
+            'is_spam_ref' => &$bSpam, 
+            'content_ref' => &$val,
+
             'where' => 'form', 
             'type' => $sType
         ]);

+ 5 - 0
inc/classes/BxDolGrid.php

@@ -566,9 +566,14 @@ class BxDolGrid extends BxDolFactory implements iBxDolFactoryObject, iBxDolRepla
             'markers' => $this->_aMarkers, 
             'filter' => $sFilter, 
             'browse_params' => $this->_aBrowseParams, 
+
             'query' => &$sQuery,
             'conditions' => &$sCond,
             'join' => &$sJoin,
+
+            'query_ref' => &$sQuery,
+            'conditions_ref' => &$sCond,
+            'join_ref' => &$sJoin,
         ]);
 
         // add WHERE for searching in translatable fields

+ 1 - 0
inc/classes/BxDolLabel.php

@@ -121,6 +121,7 @@ class BxDolLabel extends BxDolFactory implements iBxDolSingleton
 
         bx_alert('meta_keyword', 'url', 0, false, array(
            'url' => &$sUrl,
+           'url_ref' => &$sUrl,
            'keyword' => $sKeyword,
            'section' => $mixedSection,
         ));

+ 3 - 0
inc/classes/BxDolMetatags.php

@@ -549,6 +549,7 @@ class BxDolMetatags extends BxDolFactory implements iBxDolFactoryObject
          */
         bx_alert('meta_keyword', 'url', 0, false, [
             'url' => &$sUrl,
+            'url_ref' => &$sUrl,
             'keyword' => $sKeyword,
             'id' => $iId,
             'object' => $this->_sObject,
@@ -1180,6 +1181,7 @@ class BxDolMetatags extends BxDolFactory implements iBxDolFactoryObject
          */
         bx_alert('meta_' . $sAlertName, 'before_add_multiple', 'mention' == $sAlertName ? 0 : $iId, bx_get_logged_profile_id(), [
             'metas' => &$aMetas,
+            'metas_ref' => &$aMetas,
             'text' => $s,
             'content_id' => $iId, 
             'object' => $this->_sObject
@@ -1211,6 +1213,7 @@ class BxDolMetatags extends BxDolFactory implements iBxDolFactoryObject
                  */
                 bx_alert('meta_' . $sAlertName, 'before_added', $iObjectId, bx_get_logged_profile_id(), [
                     'meta' => &$sMeta, 
+                    'meta_ref' => &$sMeta, 
                     'content_id' => $iId, 
                     'object' => $this->_sObject
                 ]);

+ 1 - 0
inc/classes/BxDolModuleProxy.php

@@ -58,6 +58,7 @@ class BxDolModuleProxy
             bx_alert($this->_sObjectType . '_method_call', $sMethodName, 0, 0, [
                 'module' => $oModule, 
                 'args' => &$aArguments, 
+                'args_ref' => &$aArguments,
                 'override_result' => &$res
             ]);
             if (null !== $res)

+ 1 - 0
inc/classes/BxDolPage.php

@@ -563,6 +563,7 @@ class BxDolPage extends BxDolFactory implements iBxDolFactoryObject, iBxDolRepla
                         'param_value' => $sSeoParamValue,
                         'title' => $sSeoTitle,
                         'uri' => &$sUri,
+                        'uri_ref' => &$sUri,
                     ]);
 
                     BxDolPageQuery::insertSeoLink($sPageModule, $sPageUri, $sSeoParamName, $sSeoParamValue, $sUri);

+ 1 - 0
inc/classes/BxDolPermalinks.php

@@ -178,6 +178,7 @@ class BxDolPermalinks extends BxDolDb implements iBxDolSingleton
         bx_alert('system', 'permalink', 0, 0, [
             'link' => $sLink, 
             'params' => &$aParams, 
+            'params_ref' => &$aParams, 
             'return_data' => &$sRet
         ]);
         if (null !== $sRet)

+ 14 - 4
inc/classes/BxDolProfile.php

@@ -367,7 +367,11 @@ class BxDolProfile extends BxDolFactory implements iBxDolProfile
          *      - `display_name` - [bool] by ref, display profile name, can be overridden in hook processing
          * @hook @ref hook-profile-profile_name
          */
-        bx_alert('profile', 'profile_name', $iProfileId, 0, array('info' => $aInfo, 'display_name' => &$sDisplayName));
+        bx_alert('profile', 'profile_name', $iProfileId, 0, array(
+            'info' => $aInfo, 
+            'display_name' => &$sDisplayName,
+            'display_name_ref' => &$sDisplayName
+        ));
         return $sDisplayName;
     }
     
@@ -576,7 +580,7 @@ class BxDolProfile extends BxDolFactory implements iBxDolProfile
          *      - `type` - [string] module name
          * @hook @ref hook-profile-before_delete
          */
-        bx_alert('profile', 'before_delete', $ID, 0, array('delete_with_content' => $bDeleteWithContent, 'stop_deletion' => &$isStopDeletion, 'type' => $aProfileInfo['type']));
+        bx_alert('profile', 'before_delete', $ID, 0, array('delete_with_content' => $bDeleteWithContent, 'stop_deletion' => &$isStopDeletion, 'stop_deletion_ref' => &$isStopDeletion, 'type' => $aProfileInfo['type']));
         if ($isStopDeletion)
             return false;
 
@@ -661,7 +665,7 @@ class BxDolProfile extends BxDolFactory implements iBxDolProfile
          *      - `profile_id` - [int] by ref, iprofile_id, can be overridden in hook processing
          * @hook @ref hook-profile-add
          */
-        bx_alert('profile', 'add', $iProfileId, 0, array('module' => $sType, 'content' => $iContentId, 'account' => $iAccountId, 'status' => $sStatus, 'action' => $iAction, 'profile_id' => &$iProfileId));
+        bx_alert('profile', 'add', $iProfileId, 0, array('module' => $sType, 'content' => $iContentId, 'account' => $iAccountId, 'status' => $sStatus, 'action' => $iAction, 'profile_id' => &$iProfileId, 'profile_id_ref' => &$iProfileId));
         return $iProfileId;
     }
 
@@ -759,7 +763,13 @@ class BxDolProfile extends BxDolFactory implements iBxDolProfile
          *      - `send_email_notification` - [bool] by ref, if need to send notification about changed status = true, otherwise false, can be overridden in hook processing
          * @hook @ref hook-profile-approve
          */
-        bx_alert('profile', $sAlertActionName, $iProfileId, false, array('action' => $iAction, 'status' => &$sStatus, 'send_email_notification' => &$bSendEmailNotification));
+        bx_alert('profile', $sAlertActionName, $iProfileId, false, array(
+            'action' => $iAction, 
+            'status' => &$sStatus, 
+            'status_ref' => &$sStatus, 
+            'send_email_notification' => &$bSendEmailNotification,
+            'send_email_notification_ref' => &$bSendEmailNotification
+        ));
         
         $this->doAudit('_sys_audit_action_set_status_' . $sStatus);
         

+ 1 - 1
inc/classes/BxDolPush.php

@@ -69,7 +69,7 @@ class BxDolPush extends BxDolFactoryObject
          *      - `tags` - [array] by ref, array of tags, can be overridden in hook processing
          * @hook @ref hook-system-push_tags
          */
-        bx_alert('system', 'push_tags', $iProfileId, $iProfileId, array('tags' => &$a));
+        bx_alert('system', 'push_tags', $iProfileId, $iProfileId, array('tags' => &$a, 'tags_ref' => &$a));
 
         return $a;
     }

+ 7 - 2
inc/classes/BxDolSearch.php

@@ -812,6 +812,7 @@ class BxDolSearchResult implements iBxDolReplaceable
          */
         bx_alert('simple_search', 'before_get_data', 0, false, [
             'object' => &$this->aCurrent, 
+            'object_ref' => &$this->aCurrent, 
             'mode' => $this->_sMode
         ]);
 
@@ -836,8 +837,10 @@ class BxDolSearchResult implements iBxDolReplaceable
          */
         bx_alert('simple_search', 'get_data', 0, false, [
             'object' => &$this->aCurrent, 
+            'object_ref' => &$this->aCurrent, 
             'mode' => $this->_sMode, 
-            'search_results' => &$aData
+            'search_results' => &$aData,
+            'search_results_ref' => &$aData
         ]);
 
         return $aData;
@@ -878,9 +881,11 @@ class BxDolSearchResult implements iBxDolReplaceable
          */
         bx_alert('simple_search', 'get_query', 0, false, [
             'object' => &$this->aCurrent, 
+            'object_ref' => &$this->aCurrent, 
             'mode' => $this->_sMode, 
             'search_object' => $sObject,
-            'search_query' => &$aQuery
+            'search_query' => &$aQuery,
+            'search_query_ref' => &$aQuery
         ]);
 
         return $aQuery;

+ 8 - 1
inc/classes/BxDolTemplate.php

@@ -3077,6 +3077,8 @@ class BxDolTemplate extends BxDolFactory implements iBxDolSingleton
                         'system' => $bSystem,
                         'url' => &$sUrl,
                         'path' => &$sPath,
+                        'url_ref' => &$sUrl,
+                        'path_ref' => &$sPath,
                     ]);
 
                     if($bDynamic)
@@ -3858,7 +3860,12 @@ class BxDolTemplate extends BxDolFactory implements iBxDolSingleton
          *      - `page_content` - [array] by ref, page content values, can be overridden in hook processing
          * @hook @ref hook-system-design_before_output
          */
-        bx_alert('system', 'design_before_output', 0, 0, ['page' => &$this->aPage, 'page_content' => &$this->aPageContent]);
+        bx_alert('system', 'design_before_output', 0, 0, [
+            'page' => &$this->aPage, 
+            'page_content' => &$this->aPageContent,
+            'page_ref' => &$this->aPage, 
+            'page_content_ref' => &$this->aPageContent
+        ]);
 
         header( 'Content-type: text/html; charset=utf-8' );
         $sXFrameOpts = getParam('sys_x_frame_options');

+ 1 - 0
inc/profiles.inc.php

@@ -300,6 +300,7 @@ function bx_check_password($sLogin, $sPassword, $iRole = BX_DOL_ROLE_MEMBER)
             'info' => $aAccountInfo,
 			'pwd' => $sPassword,
             'password' => &$sPassCheck,
+            'password_ref' => &$sPassCheck,
         ));
     
     if ($sErrorMsg = bx_check_login($aAccountInfo['id'], $sPassCheck, $iRole)){

+ 2 - 1
member.php

@@ -68,7 +68,8 @@ if (isset($_POST['ID'])) { // login form is submitted
 
             bx_alert('account', 'login_after', $oAccount->id(),  false, array(
                 'account' => $aAccount,
-                'url_relocate' => &$sUrlRelocate               
+                'url_relocate' => &$sUrlRelocate,
+                'url_relocate_ref' => &$sUrlRelocate,
             ));
 
             BxDolTemplate::getInstance()->setPageNameIndex (BX_PAGE_TRANSITION);

+ 4 - 2
modules/base/connect/classes/BxBaseModConnectModule.php

@@ -179,7 +179,7 @@ class BxBaseModConnectModule extends BxBaseModGeneralModule
 
         /**
          * @hooks
-         * @hookdef hook-bx_base_connect-fields_converted '{module_name}', 'fields_converted' - hook before a profile was created, which allows to modify account and/or profile fields before creation
+         * @hookdef hook-bx_base_connect-fields_converted '{module_name}', 'fields_converted' - hook before a profile is created, which allows to modify account and/or profile fields before creation
          * - $unit_name - module name
          * - $action - equals `fields_converted`
          * - $object_id - not used
@@ -239,8 +239,10 @@ class BxBaseModConnectModule extends BxBaseModGeneralModule
          */
         bx_alert('account', 'check_join', 0, false, [
             'error_msg' => &$sErrorMsg, 
+            'error_msg_ref' => &$sErrorMsg, 
             'email' => $aFieldsAccount['email'], 
-            'approve' => &$bSetPendingApproval
+            'approve' => &$bSetPendingApproval,
+            'approve_ref' => &$bSetPendingApproval
         ]);
         if ($sErrorMsg)
             return $sErrorMsg;

+ 9 - 1
modules/base/general/classes/BxBaseModGeneralDb.php

@@ -107,7 +107,15 @@ class BxBaseModGeneralDb extends BxDolModuleDb
                     'where_clause' => &$sWhereClause, 
                     'order_clause' => &$sOrderClause, 
                     'limit_clause' => &$sLimitClause, 
-                    'bindings' => &$aMethod['params'][1]
+                    'bindings' => &$aMethod['params'][1],
+
+                    'params_ref' => &$aParams, 
+                    'select_clause_ref' => &$sSelectClause, 
+                    'join_clause_ref' => &$sJoinClause, 
+                    'where_clause_ref' => &$sWhereClause, 
+                    'order_clause_ref' => &$sOrderClause, 
+                    'limit_clause_ref' => &$sLimitClause, 
+                    'bindings_ref' => &$aMethod['params'][1]
                 ]);
                 break;
 

+ 1 - 0
modules/base/general/classes/BxBaseModGeneralFormsEntryHelper.php

@@ -589,6 +589,7 @@ class BxBaseModGeneralFormsEntryHelper extends BxDolProfileForms
         bx_alert($this->_oModule->getName(), 'redirect_after_delete', 0, false, [
             'content' => $aContentInfo,
             'markers' => &$aMarkers,
+            'markers_ref' => &$aMarkers,
             'override_result' => &$sUrl,
         ]);
 

+ 13 - 2
modules/base/general/classes/BxBaseModGeneralModule.php

@@ -1718,6 +1718,7 @@ class BxBaseModGeneralModule extends BxDolModule
         bx_alert('system', 'get_forms_helper', 0, 0, [
             'module' => $this->getName(),
             'class' => &$sClass,
+            'class_ref' => &$sClass,
             'object' => &$oObject
         ]);
 
@@ -3738,7 +3739,12 @@ class BxBaseModGeneralModule extends BxDolModule
             'mode' => &$sMode,
             'params' => &$aParams,
             'class' => &$sClass,
-            'object' => &$oObject
+            'object' => &$oObject,
+
+            'mode_ref' => &$sMode,
+            'params_ref' => &$aParams,
+            'class_ref' => &$sClass,
+            'object_ref' => &$oObject
         ]);
 
         if($oObject !== null) 
@@ -4362,6 +4368,7 @@ class BxBaseModGeneralModule extends BxDolModule
             'data' => $aData,
             'params' => $aParams,
             'data_api' => &$aDataApi,
+            'data_api_ref' => &$aDataApi,
         ];
 
         /**
@@ -4518,8 +4525,12 @@ class BxBaseModGeneralModule extends BxDolModule
             'content_id' => $iContentId,
             'content_info' => $aContentInfo,
             'form' => $oForm,
+
             'email_template' => &$sETemplate,
-            'email_params' => &$aEParams
+            'email_params' => &$aEParams,
+
+            'email_template_ref' => &$sETemplate,
+            'email_params_ref' => &$aEParams
         ]);
 
         return sendMailTemplate($sETemplate, 0, $aContentInfo[$CNF['FIELD_AUTHOR']], $aEParams);

+ 7 - 0
modules/base/general/classes/BxBaseModGeneralTemplate.php

@@ -90,6 +90,13 @@ class BxBaseModGeneralTemplate extends BxDolModuleTemplate
             'object' => &$sJsObject,
             'class' => &$sJsClass,
             'params' => &$aParams,
+
+            'mask_ref' => &$sMask,
+            'mask_markers_ref' => &$aMaskMarkers,
+            'object_ref' => &$sJsObject,
+            'class_ref' => &$sJsClass,
+            'params_ref' => &$aParams,
+
             'override_result' => &$sContent,
         ]);
 

+ 7 - 1
modules/base/groups/classes/BxBaseModGroupsModule.php

@@ -2440,10 +2440,16 @@ class BxBaseModGroupsModule extends BxBaseModProfileModule
          */
         bx_alert('system', 'prepare_alert_params', 0, 0, [
             'unit'=> $sModule, 
+            
             'action' => &$sAction, 
             'object_id' => &$iId, 
             'sender_id' => &$iAuthorId, 
-            'extras' => &$aParams
+            'extras' => &$aParams,
+
+            'action_ref' => &$sAction, 
+            'object_id_ref' => &$iId, 
+            'sender_id_ref' => &$iAuthorId, 
+            'extras_ref' => &$aParams
         ]);
         /**
          * @hooks

+ 12 - 3
modules/base/profile/classes/BxBaseModProfileDb.php

@@ -47,7 +47,8 @@ class BxBaseModProfileDb extends BxBaseModGeneralDb
          */
         bx_alert('profile', 'content_info_by_id', $iContentId, 0, [
             'module' => $this->_oConfig->getName(), 
-            'info' => &$aInfo
+            'info' => &$aInfo,
+            'info_ref' => &$aInfo
         ]);
 
         return $aInfo;
@@ -74,7 +75,8 @@ class BxBaseModProfileDb extends BxBaseModGeneralDb
          */
         bx_alert('profile', 'content_info_by_profile_id', $iProfileId, 0, [
             'module' => $this->_oConfig->getName(), 
-            'info' => &$aInfo
+            'info' => &$aInfo,
+            'info_ref' => &$aInfo
         ]);
         return $aInfo;
     }
@@ -152,11 +154,18 @@ class BxBaseModProfileDb extends BxBaseModGeneralDb
             'module' => $this->_oConfig->getName(), 
             'params' => $mixedParams['search_params'] ?? '',
             'table' => $this->_oConfig->CNF['TABLE_ENTRIES'], 
+
             'select' => &$sSelect,  
             'join' => &$sJoin, 
             'where' => &$sWhere, 
             'order_by' => &$sOrderBy,
-            'limit' => &$sLimit
+            'limit' => &$sLimit,
+
+            'select_ref' => &$sSelect,  
+            'join_ref' => &$sJoin, 
+            'where_ref' => &$sWhere, 
+            'order_by_ref' => &$sOrderBy,
+            'limit_ref' => &$sLimit
         ]);
 
         return $this->getAll("SELECT " . $sSelect . " FROM `" . $this->_oConfig->CNF['TABLE_ENTRIES'] . "` AS `c` " . $sJoin . " WHERE " . $sWhere . $sOrderBy . $sLimit, $aBindings);

+ 4 - 2
modules/base/profile/classes/BxBaseModProfileModule.php

@@ -555,7 +555,8 @@ class BxBaseModProfileModule extends BxBaseModGeneralModule implements iBxDolCon
          */
         bx_alert($this->getName(), 'profile_name', $aContentInfo['profile_id'], 0, [
             'info' => $aContentInfo, 
-            'display_name' => &$sDisplayName
+            'display_name' => &$sDisplayName,
+            'display_name_ref' => &$sDisplayName
         ]);
         
         return $sDisplayName;
@@ -668,7 +669,8 @@ class BxBaseModProfileModule extends BxBaseModGeneralModule implements iBxDolCon
          */
         bx_alert('system', 'get_participating_profiles', $iProfileId, false, [
             'module' => $this->_oConfig->getName(),
-            'profiles' => &$aRet
+            'profiles' => &$aRet,
+            'profiles_ref' => &$aRet
         ]);
 
         return $aRet;

+ 19 - 3
modules/base/profile/classes/BxBaseModProfileTemplate.php

@@ -130,8 +130,16 @@ class BxBaseModProfileTemplate extends BxBaseModGeneralTemplate
             'check_private_content' => $isCheckPrivateContent,
             'template' => $mixedTemplate,
             'params' => $aParams,
+
             'tmpl_name' => &$sTemplate,
-            'tmpl_vars' => &$aVars
+            'tmpl_vars' => &$aVars,
+            'tmpl_name_ref' => &$sTemplate,
+            'tmpl_vars_ref' => &$aVars,
+
+            'tmpl_name_ref' => &$sTemplate,
+            'tmpl_vars_ref' => &$aVars,
+            'tmpl_name_ref' => &$sTemplate,
+            'tmpl_vars_ref' => &$aVars
         ];
         
         /**
@@ -489,8 +497,12 @@ class BxBaseModProfileTemplate extends BxBaseModGeneralTemplate
                    'transcoder' => $CNF['OBJECT_IMAGES_TRANSCODER_COVER'],
                    'field' => $CNF['FIELD_COVER'],
                    'is_background' => true,
+
                    'add_class' => &$sAddClassCover,
-                   'add_code' => &$sAddCode
+                   'add_code' => &$sAddCode,
+
+                   'add_class_ref' => &$sAddClassCover,
+                   'add_code_ref' => &$sAddCode
                 ]);
             }
             
@@ -562,8 +574,12 @@ class BxBaseModProfileTemplate extends BxBaseModGeneralTemplate
                    'transcoder' => $CNF['OBJECT_IMAGES_TRANSCODER_AVATAR_BIG'],
                    'field' => $CNF['FIELD_PICTURE'],
                    'is_background' => false,
+
                    'add_class' => &$sAddClassPicture,
-                   'add_code' => &$sAddCode
+                   'add_code' => &$sAddCode,
+
+                   'add_class_ref' => &$sAddClassPicture,
+                   'add_code_ref' => &$sAddCode,
                 ]); 
             }
             

+ 7 - 1
modules/base/text/classes/BxBaseModTextModule.php

@@ -507,10 +507,16 @@ class BxBaseModTextModule extends BxBaseModGeneralModule implements iBxDolConten
          */
         bx_alert('system', 'prepare_alert_params', 0, 0, [
             'unit'=> $this->getName(), 
+
             'action' => &$sAction, 
             'object_id' => &$iId, 
             'sender_id' => &$iAuthorId, 
-            'extras' => &$aParams
+            'extras' => &$aParams,
+
+            'action_ref' => &$sAction, 
+            'object_id_ref' => &$iId, 
+            'sender_id_ref' => &$iAuthorId, 
+            'extras_ref' => &$aParams
         ]);
 
         /**

+ 8 - 2
modules/base/text/classes/BxBaseModTextTemplate.php

@@ -76,8 +76,12 @@ class BxBaseModTextTemplate extends BxBaseModGeneralTemplate
             'check_private_content' => $isCheckPrivateContent,
             'template' => $sTemplateName,
             'params' => $aParams,
+
             'tmpl_name' => &$sTemplateName,
-            'tmpl_vars' => &$aTemplateVars
+            'tmpl_vars' => &$aTemplateVars,
+
+            'tmpl_name_ref' => &$sTemplateName,
+            'tmpl_vars_ref' => &$aTemplateVars,
         ]);
 
         return $this->parseHtmlByName($sTemplateName, $aTemplateVars);
@@ -318,7 +322,9 @@ class BxBaseModTextTemplate extends BxBaseModGeneralTemplate
                 'field' => $aImageParams['field'],
                 'is_background' => false,
                 'add_class' => &$sAddClassPicture,
-                'add_code' => &$sAddCode
+                'add_code' => &$sAddCode,
+                'add_class_ref' => &$sAddClassPicture,
+                'add_code_ref' => &$sAddCode,
             ]); 
         }
 

+ 7 - 1
modules/boonex/ads/classes/BxAdsModule.php

@@ -1378,10 +1378,16 @@ class BxAdsModule extends BxBaseModTextModule
         bx_alert($sModule, 'license_register_notif', 0, false, [
             'entry_id' => $iEntryId,
             'order' => $sOrder,
+
             'recipient_id' => &$iClientId,
             'email_template' => &$sEmailTemplate,
             'email_params' => &$aEmailParams,
-            'cancel' => &$bCancel
+            'cancel' => &$bCancel,
+
+            'recipient_id_ref' => &$iClientId,
+            'email_template_ref' => &$sEmailTemplate,
+            'email_params_ref' => &$aEmailParams,
+            'cancel_ref' => &$bCancel
         ]);
 
         if(!$bCancel)

+ 3 - 1
modules/boonex/albums/classes/BxAlbumsDb.php

@@ -126,7 +126,9 @@ class BxAlbumsDb extends BxBaseModTextDb
                 BxDolSearchExtended::processParams($aParams['search_params'], [
                     'table' => $CNF['TABLE_FILES2ENTRIES'],
                     'bindings' => &$aMethod['params'][1],
-                    'where_clause' => &$sWhereClause
+                    'where_clause' => &$sWhereClause,
+                    'bindings_ref' => &$aMethod['params'][1],
+                    'where_clause_ref' => &$sWhereClause
                 ]);
 
                 $sOrderClause .=  "`{$CNF['TABLE_FILES2ENTRIES']}`.`id` ASC";

+ 5 - 0
modules/boonex/analytics/classes/BxAnalyticsModule.php

@@ -126,6 +126,7 @@ class BxAnalyticsModule extends BxDolModule
          */
         bx_alert($this->_aModule['name'], 'get_modules', 0, 0, array(
             'list' => &$aResult,
+            'list_ref' => &$aResult,
         ));
         
         return $aResult;
@@ -184,6 +185,7 @@ class BxAnalyticsModule extends BxDolModule
         bx_alert($this->_aModule['name'], 'get_reports', 0, 0, array(
             'module' => $sModuleName,
             'list' => &$aRv,
+            'list_ref' => &$aRv,
         ));
         
         echo json_encode($aRv);
@@ -358,10 +360,13 @@ class BxAnalyticsModule extends BxDolModule
                     'module' => $sModuleName,
                     'report_name' => $sReportName,
                     'report_type' => &$sReportType,
+                    'report_type_ref' => &$sReportType,
                     'date_from' => $iDateFrom,
                     'date_to' => $iDateTo,
                     'data' => &$aData,
+                    'data_ref' => &$aData,
                     'prev_value' => &$iValuePrev,
+                    'prev_value_ref' => &$iValuePrev,
                 ));
                 
                 

+ 3 - 1
modules/boonex/artificer/data/template/system/scripts/BxTemplFunctions.php

@@ -184,7 +184,9 @@ class BxTemplFunctions extends BxBaseFunctions
 
         bx_alert('system', 'get_logo', 0, 0, [
             'tmpl_name' => &$sTmplName,
-            'tmpl_vars' => &$aTmplVars
+            'tmpl_vars' => &$aTmplVars,
+            'tmpl_name_ref' => &$sTmplName,
+            'tmpl_vars_ref' => &$aTmplVars,
         ]);
 
         return $this->_oTemplate->parseHtmlByName($sTmplName, $aTmplVars);

+ 2 - 1
modules/boonex/channels/classes/BxCnlModule.php

@@ -141,7 +141,8 @@ class BxCnlModule extends BxBaseModGroupsModule
             'action' => 'hashtag_added_notif', 
             'object_id' => $mixedCnlId, 
             'sender_id' => $iCnlProfileId, 
-            'extras' => &$aParams
+            'extras' => &$aParams,
+            'extras_ref' => &$aParams
         ]);
         
         /**

+ 16 - 2
modules/boonex/convos/classes/BxCnvFormEntry.php

@@ -67,7 +67,15 @@ class BxCnvFormEntry extends BxBaseModTextFormEntry
          *      - `where` - [string] module name
          * @hook @ref hook-system-check_spam
          */
-        bx_alert('system', 'check_spam', 0, getLoggedId(), array('is_spam' => &$bSpam, 'content' => &$sValue, 'where' => $this->MODULE));
+        bx_alert('system', 'check_spam', 0, getLoggedId(), array(
+            'is_spam' => &$bSpam, 
+            'content' => &$sValue, 
+
+            'is_spam_ref' => &$bSpam, 
+            'content_ref' => &$sValue, 
+
+            'where' => $this->MODULE
+        ));
         self::setSubmittedValue($CNF['FIELD_TEXT'], $sValue, $this->aFormAttrs['method']);
 
         if($iContentId) {
@@ -141,7 +149,13 @@ class BxCnvFormEntry extends BxBaseModTextFormEntry
                      *      - `where` - [string] module name
                      * @hook @ref hook-profile-check_contact
                      */
-                    bx_alert('profile', 'check_contact', 0, false, array('can_contact' => &$bCanContact, 'sender' => $iSender, 'recipient' => $iRecipient, 'where' => $this->MODULE));
+                    bx_alert('profile', 'check_contact', 0, false, array(
+                        'can_contact' => &$bCanContact, 
+                        'can_contact_ref' => &$bCanContact, 
+                        'sender' => $iSender, 
+                        'recipient' => $iRecipient, 
+                        'where' => $this->MODULE
+                    ));
                     if(!$bCanContact)
                         $iFolder = BX_CNV_FOLDER_SPAM;
                 }

+ 4 - 0
modules/boonex/donations/classes/BxDonationsTemplate.php

@@ -167,6 +167,10 @@ class BxDonationsTemplate extends BxBaseModGeneralTemplate
         bx_alert($this->_oConfig->getName(), 'donate', 0, 0, [
             'tmpl_name' => &$sTmplName,
             'tmpl_vars' => &$aTmplVars,
+
+            'tmpl_name_ref' => &$sTmplName,
+            'tmpl_vars_ref' => &$aTmplVars,
+
             'override_result' => &$sResult
         ]);
         if($sResult !== null)