CUserCounter Class

This class is used to handle counters.

The following must be considered when working with counters:

  • The counter code can contain not more than 50 characters;
  • The counter value cannot be more than 18 numeric symbols;
  • When calling GetValue and GetValues with the same value of variables $user_id, $site_id, the request for selection is performed on the first hit. This is due to increment methods for specifying values consider and update cache on demand.

How to register counter update

To do it, add an event handler:

BX.addCustomEvent("onPullEvent", BX.delegate(function(module_id,command,params){
   if (module_id == "main" && command == 'user_counter' && params[BX.message('SITE_ID')] && params[BX.message('SITE_ID')]['__YOUR_COUNTER_NAME__'])
      // call a code to update the counter
      // in params[BX.message('SITE_ID')]['__YOUR_COUNTER_NAME__'] - new counter value is returned
}, this));

For mobile version:

BX.addCustomEvent("onPull", BX.delegate(function(data){
   if (data.module_id == "main" && data.command == 'user_counter' && data.params[BX.message('SITE_ID')] && data.params[BX.message('SITE_ID')]['__YOUR_COUNTER_NAME__'])
      // call a code to update the counter
      // in data.params[BX.message('SITE_ID')]['__YOUR_COUNTER_NAME__'] - new counter value is returned
}, this));

Class methods

Method Description Available from version
GetValues Gets all values for user counters. 11.5.2
GetValue Gets a specific user counter. 11.5.2
Increment Counter increment 11.5.2
Set Sets any number for a counter. 11.5.2
Clear Clears a counter. 11.5.2
ClearAll Clears all counters. 11.5.2
ClearByTag Clears all counters by tag. 11.5.6
Decrement Decrements counter for required value. 11.5.6
GetAllValues Returns all values for all available sites. 12.5.8
IncrementWithSelect Increments counters via subquery. 12.5.8

© «Bitrix24», 2001-2022