Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F1177279
widget_eh.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Wed, Oct 8, 7:10 AM
Size
4 KB
Mime Type
text/x-php
Expires
Fri, Oct 10, 7:10 AM (1 d, 17 h)
Engine
blob
Format
Raw Data
Handle
763921
Attached To
rMCUS Modules.Custom
widget_eh.php
View Options
<?php
defined
(
'FULL_PATH'
)
or
die
(
'restricted access!'
);
/**
* Widgets Event Handler (sample)
*
*/
class
WidgetEventHandler
extends
kDBEventHandler
{
/**
* Allows to override standard permission mapping
*
* @return void
* @access protected
* @see kEventHandler::$permMapping
*/
protected
function
mapPermissions
()
{
parent
::
mapPermissions
();
$permissions
=
array
(
'OnItemBuild'
=>
array
(
'self'
=>
true
),
'OnRecalculatePriorities'
=>
array
(
'self'
=>
'add|edit'
),
'OnCustomEvent'
=>
array
(
'self'
=>
true
),
);
$this
->
permMapping
=
array_merge
(
$this
->
permMapping
,
$permissions
);
}
/**
* Checks user permission to execute given $event
*
* @param kEvent $event
* @return bool
* @access public
*/
public
function
CheckPermission
(
kEvent
$event
)
{
$skip_permissions_check_events
=
Array
(
'OnAnotherCustomEvent'
,
);
if
(
in_array
(
$event
->
Name
,
$skip_permissions_check_events
)
)
{
return
true
;
}
return
parent
::
CheckPermission
(
$event
);
}
/**
* Define alternative event processing method names
*
* @return void
*/
protected
function
mapEvents
()
{
parent
::
mapEvents
();
$events_map
=
array
(
'OnMassMoveUp'
=>
'OnChangePriority'
,
'OnMassMoveDown'
=>
'OnChangePriority'
,
);
$this
->
eventMethods
=
array_merge
(
$this
->
eventMethods
,
$events_map
);
}
/**
* Processes OnMassMoveUp, OnMassMoveDown events
*
* @param kEvent $event Event.
*
* @return void
*/
protected
function
OnChangePriority
(
kEvent
$event
)
{
$this
->
Application
->
SetVar
(
'priority_prefix'
,
$event
->
getPrefixSpecial
());
$event
->
CallSubEvent
(
'priority:'
.
$event
->
Name
);
}
/**
* Completely recalculates priorities in current category
*
* @param kEvent $event Event.
*
* @return void
*/
protected
function
OnRecalculatePriorities
(
kEvent
$event
)
{
$this
->
Application
->
SetVar
(
'priority_prefix'
,
$event
->
getPrefixSpecial
());
$event
->
CallSubEvent
(
'priority:'
.
$event
->
Name
);
}
/**
* [HOOK] Connects to priority unit.
*
* @param kEvent $event Event.
*
* @return void
*/
protected
function
OnModifyPrioritiesConfig
(
kEvent
$event
)
{
$config
=
$event
->
MasterEvent
->
getUnitConfig
();
$prefixes
=
$config
->
getProcessPrefixes
();
$prefixes
[]
=
$event
->
Prefix
;
$config
->
setProcessPrefixes
(
$prefixes
);
}
/**
* Set custom query for the list
*
* @param kEvent $event
*/
function
OnCustomEvent
(
$event
)
{
/** @var kDBList $object */
$object
=
$event
->
getObject
();
}
/**
* Apply any custom changes to list's sql query
*
* @param kEvent $event
* @return void
* @access protected
* @see kDBEventHandler::OnListBuild()
*/
protected
function
SetCustomQuery
(
kEvent
$event
)
{
parent
::
SetCustomQuery
(
$event
);
/** @var kDBList $object */
$object
=
$event
->
getObject
();
# identifying event based on special and setting filter
if
(
$event
->
Special
==
'custom-special'
)
{
// $object->addFilter('primary_filter', '%1$s.Status = ' . STATUS_DISABLED);
}
}
/**
* Occurs before creating item
*
* @param kEvent $event
* @return void
* @access protected
*/
protected
function
OnBeforeItemCreate
(
kEvent
$event
)
{
parent
::
OnBeforeItemCreate
(
$event
);
}
/**
* Occurs before updating item
*
* @param kEvent $event
* @return void
* @access protected
*/
protected
function
OnBeforeItemUpdate
(
kEvent
$event
)
{
parent
::
OnBeforeItemUpdate
(
$event
);
}
/**
* Occurs before deleting item, id of item being
* deleted is stored as 'id' event param
*
* @param kEvent $event
* @return void
* @access protected
*/
protected
function
OnBeforeItemDelete
(
kEvent
$event
)
{
parent
::
OnBeforeItemDelete
(
$event
);
}
/**
* Occurs before loading item, 'id' parameter
* allows to get id of item being loaded
*
* @param kEvent $event
* @return void
* @access protected
*/
protected
function
OnBeforeItemLoad
(
kEvent
$event
)
{
parent
::
OnBeforeItemLoad
(
$event
);
}
/**
* Occurs after creating item
*
* @param kEvent $event
* @return void
* @access protected
*/
protected
function
OnAfterItemCreate
(
kEvent
$event
)
{
parent
::
OnAfterItemCreate
(
$event
);
}
/**
* Occurs after updating item
*
* @param kEvent $event
* @return void
* @access protected
*/
protected
function
OnAfterItemUpdate
(
kEvent
$event
)
{
parent
::
OnAfterItemUpdate
(
$event
);
}
/**
* Occurs after deleting item, id of deleted item
* is stored as 'id' param of event
*
* @param kEvent $event
* @return void
* @access protected
*/
protected
function
OnAfterItemDelete
(
kEvent
$event
)
{
parent
::
OnAfterItemDelete
(
$event
);
}
/**
* Loads user images
*
* @param kEvent $event
* @return void
* @access protected
*/
protected
function
OnAfterItemLoad
(
kEvent
$event
)
{
parent
::
OnAfterItemLoad
(
$event
);
}
}
Event Timeline
Log In to Comment