|
| actionGetViewedBy () |
| actionGetUsers () |
| doView () |
| isAllowedView ($isPerformAction=false) |
| isAllowedViewView ($isPerformAction=false) |
| isAllowedViewViewViewers ($isPerformAction=false) |
| init ($iId) |
| getSystemId () |
| getSystemName () |
| getSystemInfo () |
| getId () |
| setId ($iId) |
| isEnabled () |
| isPerformed ($iObjectId, $iAuthorId, $iAuthorIp=0) |
| getVote ($iObjectId=0, $bForceGet=false) |
| getTrack ($iObjectId, $iAuthorId) |
| getConditions ($sMainTable, $sMainField) |
| getConditionsTrack ($sMainTable, $sMainField, $iAuthorId=0) |
| getSqlParts ($sMainTable, $sMainField) |
| getSqlPartsTrack ($sMainTable, $sMainField, $iAuthorId=0) |
| getSqlPartsTrackAuthor ($sMainTable, $sMainField, $iObjectId=0) |
| addMarkers ($aMarkers) |
| getElementAPI ($aParams=[]) |
| getCounterAPI ($aParams=[]) |
| getQueryObject () |
| checkAction ($sAction, $isPerformAction=false) |
| checkActionErrorMsg ($sAction) |
| onObjectDelete ($iObjectId=0) |
|
| __construct ($sSystem, $iId, $iInit=true, $oTemplate=false) |
| _getIconDo () |
| _getTitleDo () |
| _getAuthorId () |
| _getAuthorPassword () |
| _getAuthorIp () |
| _getAuthorInfo ($iAuthorId=0) |
| _getAuthorObject ($iAuthorId=0) |
| _trigger () |
| _triggerValue ($iValue) |
| _replaceMarkers ($mixed) |
| _prepareParamsData ($aParams) |
| _getRequestParamsData ($aKeys=array()) |
| _prepareRequestParamsData ($aParams, $aParamsAdd=array()) |
| _getTmplContentElementBlock () |
| _getTmplContentElementInline () |
| _getTmplContentDoAction () |
| _getTmplContentDoActionLabel () |
| _getTmplContentCounter () |
| _getTmplContentCounterLabel () |
Track any object views automatically
Add record to sys_object_view table to track object views, to record view just create this class instance with your object id, for example:
static getObjectInstance($sSys, $iId, $iInit=true)
Definition BxDolView.php:71
Description of sys_object_view table fields:
`name` - system name, it is better to use unique module prefix here, lowercase and all spaces are underscored
`table_track` - table to track views
`period` - period in secs to update next views, default is 86400(1 day)
`is_on` - is the system activated
`trigger_table` - table where you need to update views field
`trigger_field_id` - table field id to unique determine object
`trigger_field_count` - table field where total view number is stored
`class_name` - your custom class name, if you overrride default class
`class_file` - your custom class path
Structure of the track table is the following:
CREATE TABLE `my_views_track` (
`object_id` int(11) NOT NULL default '0', -- this field type must be exact as your object id type
`viewer_id` int(11) NOT NULL default '0', -- viewer profile id
`viewer_nip` int(11) unsigned NOT NULL default '0', -- viewer ip address to track guest views
`date` int(11) NOT NULL default '0', -- timestamp of last recorded view
KEY `id` (`object_id`,`viewer_id`,`viewer_nip`)
);