|
| 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`)
);