Page MenuHomeIn-Portal Phabricator

custom
No OneTemporary

File Metadata

Created
Sat, May 3, 10:49 PM
Index: branches/1.2.x/units/widgets/widget_eh.php
===================================================================
--- branches/1.2.x/units/widgets/widget_eh.php (revision 16513)
+++ branches/1.2.x/units/widgets/widget_eh.php (revision 16514)
@@ -1,377 +1,377 @@
<?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)
{
$prefixes = $this->Application->getUnitOption($event->MasterEvent->Prefix, 'ProcessPrefixes');
$prefixes[] = $event->Prefix;
$this->Application->setUnitOption($event->MasterEvent->Prefix, 'ProcessPrefixes', $prefixes);
}
/**
* Set custom query for the list
*
* @param kEvent $event
*/
function OnCustomEvent($event)
{
+ /** @var kDBList $object */
$object = $event->getObject();
- /* @var $object kDBList */
}
/**
* 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();
- /* @var $object kDBList */
# 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);
}
/**
* Builds/parses widget part of url
*
* @param int $rewrite_mode Mode in what rewrite listener was called. Possbile two modes: REWRITE_MODE_BUILD, REWRITE_MODE_PARSE.
* @param string $prefix Prefix, that listener uses for system integration
* @param Array $params Params, that are used for url building or created during url parsing.
* @param Array $url_parts Url parts to parse (only for parsing).
* @param bool $keep_events Keep event names in resulting url (only for building).
* @return bool Return true to continue to next listener; return false (when building) not to rewrite given prefix; return false (when parsing) to stop processing at this listener.
*/
function WidgetRewriteListener($rewrite_mode = REWRITE_MODE_BUILD, $prefix, &$params, &$url_parts, $keep_events = false)
{
if ($rewrite_mode == REWRITE_MODE_BUILD) {
return $this->WidgetRewriteBuilder($rewrite_mode, $prefix, $params, $url_parts, $keep_events);
}
if ($rewrite_mode == REWRITE_MODE_PARSE) {
return $this->WidgetRewriteParser($rewrite_mode, $prefix, $params, $url_parts);
}
return true;
}
/**
* Builds/parses widget part of url
*
* @param int $rewrite_mode Mode in what rewrite listener was called. Possbile two modes: REWRITE_MODE_BUILD, REWRITE_MODE_PARSE.
* @param string $prefix Prefix, that listener uses for system integration
* @param Array $params Params, that are used for url building or created during url parsing.
* @param Array $url_parts Url parts to parse (only for parsing).
* @param bool $keep_events Keep event names in resulting url (only for building).
* @return bool Return true to continue to next listener; return false (when building) not to rewrite given prefix; return false (when parsing) to stop processing at this listener.
*/
function WidgetRewriteBuilder($rewrite_mode = REWRITE_MODE_BUILD, $prefix, &$params, &$url_parts, $keep_events = false)
{
$template = $this->Application->getPhysicalTemplate($params['t']);
if ( $template == 'widgets/widget_detail' ) {
// this is default template for this prefix, so don't add it to resulting url
$params['pass_template'] = false;
}
+ /** @var kRewriteUrlProcessor $rewrite_processor */
$rewrite_processor = $this->Application->recallObject('kRewriteUrlProcessor');
- /* @var $rewrite_processor kRewriteUrlProcessor */
$processed_params = $rewrite_processor->getProcessedParams($prefix, $params, $keep_events);
if ( $processed_params === false ) {
return '';
}
$ret = Array ('', '');
$filename = isset($params[$prefix . '_filename']) ? $params[$prefix . '_filename'] : $this->Application->GetVar($prefix . '_filename');
unset($params[$prefix . '_filename']);
if ( $processed_params[$prefix . '_id'] > 0 ) {
// add id
if ( !$filename ) {
$sql = 'SELECT Title
FROM ' . TABLE_PREFIX . 'Widgets
WHERE WidgetId = ' . $processed_params[$prefix . '_id'];
$filename = $this->Conn->GetOne($sql);
}
$ret[0] .= 'widgets/' . $filename . '/';
}
elseif ( $processed_params[$prefix . '_Page'] > 1 ) {
// add page, only when ID is missing
$ret[1] .= $processed_params[$prefix . '_Page'] . '/';
}
$ret[0] = rtrim($ret[0], '/');
$ret[1] = rtrim($ret[1], '/');
return array_map('mb_strtolower', $ret);
}
/**
* Builds/parses widget part of url
*
* @param int $rewrite_mode Mode in what rewrite listener was called. Possbile two modes: REWRITE_MODE_BUILD, REWRITE_MODE_PARSE.
* @param string $prefix Prefix, that listener uses for system integration
* @param Array $params Params, that are used for url building or created during url parsing.
* @param Array $url_parts Url parts to parse (only for parsing).
* @return bool Return true to continue to next listener; return false (when building) not to rewrite given prefix; return false (when parsing) to stop processing at this listener.
*/
function WidgetRewriteParser($rewrite_mode = REWRITE_MODE_BUILD, $prefix, &$params, &$url_parts)
{
$widget_id = 0;
$widget_filename = '';
$widget_index = array_search('widgets', $url_parts);
if ( $widget_index !== false && isset($url_parts[$widget_index + 1]) ) {
$widget_filename = $url_parts[$widget_index + 1];
}
+ /** @var kRewriteUrlProcessor $rewrite_processor */
$rewrite_processor = $this->Application->recallObject('kRewriteUrlProcessor');
- /* @var $rewrite_processor kRewriteUrlProcessor */
if ( $widget_filename ) {
$sql = 'SELECT WidgetId
FROM ' . TABLE_PREFIX . 'Widgets
WHERE Title = ' . $this->Conn->qstr($widget_filename);
$widget_id = $this->Conn->GetOne($sql);
if ( $widget_id ) {
$params[$this->Prefix . '_id'] = $widget_id;
$params[$this->Prefix . '_filename'] = $widget_filename;
$params['pass'][] = $this->Prefix;
$rewrite_processor->partParsed('widgets');
$rewrite_processor->partParsed($widget_filename);
}
}
if ( $widget_id && !$rewrite_processor->moreToParse() ) {
// widget was last url part - use default template
$params['t'] = 'widgets/widget_detail';
}
return true;
}
}
Index: branches/1.2.x/units/widgets/widget_tp.php
===================================================================
--- branches/1.2.x/units/widgets/widget_tp.php (revision 16513)
+++ branches/1.2.x/units/widgets/widget_tp.php (revision 16514)
@@ -1,66 +1,66 @@
<?php
defined('FULL_PATH') or die('restricted access!');
/**
* Widgets Tag Processor (sample)
*
*/
class WidgetTagProcessor extends kDBTagProcessor {
/**
* Custom tag to output "Hello World!"
*
* @param Array $params
* @return string
*/
function NewTag($params)
{
return 'Hello world!';
}
/**
* Returns a link for editing product
*
* @param Array $params
* @return string
*/
function ItemEditLink($params)
{
+ /** @var kDBList $object */
$object = $this->getObject($params);
- /* @var $object kDBList */
$edit_template = $this->Application->getUnitOption($this->Prefix, 'AdminTemplatePath') . '/' . $this->Application->getUnitOption($this->Prefix, 'AdminTemplatePrefix') . 'edit';
$url_params = Array (
'm_opener' => 'd',
$this->Prefix.'_mode' => 't',
$this->Prefix.'_event' => 'OnEdit',
$this->Prefix.'_id' => $object->GetID(),
'pass' => 'all,'.$this->Prefix,
'no_pass_through' => 1,
);
return $this->Application->HREF($edit_template, '', $url_params);
}
/**
* Creates link to an item including only it's id
*
* @param Array $params
* @return string
* @access protected
*/
protected function ItemLink($params)
{
+ /** @var kDBItem $object */
$object = $this->getObject($params);
- /* @var $object kDBItem */
$params['pass'] = 'm,' . $this->Prefix;
$params[$object->Prefix . '_id'] = $object->GetID();
$params[$object->Prefix . '_filename'] = $object->GetDBField('Title');
return $this->Application->ProcessParsedTag('m', 'Link', $params);
}
}
\ No newline at end of file
Index: branches/1.2.x/units/sections/links/e_link_eh.php
===================================================================
--- branches/1.2.x/units/sections/links/e_link_eh.php (revision 16513)
+++ branches/1.2.x/units/sections/links/e_link_eh.php (revision 16514)
@@ -1,215 +1,215 @@
<?php
defined('FULL_PATH') or die('restricted access!');
/**
* Extends default LinksEventHandler class
*
*/
class ELinkEventHandler extends LinksEventHandler {
/**
* Allows to override standard permission mapping
*
* @return void
* @access protected
* @see kEventHandler::$permMapping
*/
function mapPermissions()
{
parent::mapPermissions();
$permissions = Array (
'OnCustomEvent1' => Array ('self' => true),
'OnCustomEvent2' => 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);
}
/**
* Occurs, when config was parsed, allows to change config data dynamically
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnAfterConfigRead(kEvent $event)
{
parent::OnAfterConfigRead($event);
# 1. Regular Fields from /in-link/units/links/links_config.php
$fields = $this->Application->getUnitOption($event->Prefix, 'Fields'); #get regular fields
// $fields['Status']['default'] = STATUS_ACTIVE; #add/edit configuration (make default = STATUS_ACTIVE)
$this->Application->setUnitOption($event->Prefix, 'Fields', $fields); #save fields
# 2. Virtual Fields from /in-link/units/links/links_config.php
$virtual_fields = $this->Application->getUnitOption($event->Prefix, 'VirtualFields'); #get virtual fields
// $virtual_fields['UserName']['default'] = ''; #add/edit configuration
$this->Application->setUnitOption($event->Prefix, 'VirtualFields', $virtual_fields); #save virtual fields
}
/**
* 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();
- /* @var $object kDBList */
# identifying event based on special and setting filter
if ( $event->Special == 'custom-special' ) {
// $object->addFilter('primary_filter', '%1$s.Status = ' . STATUS_DISABLED);
}
# identifying event based not admin condition and setting filter
if ( !$this->Application->isAdminUser ) {
// $object->addFilter('status_filter', '%1$s.Status = ' . STATUS_ACTIVE);
}
}
/**
* Makes reciprocal check on link, when it is created
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnBeforeItemCreate(kEvent $event)
{
parent::OnBeforeItemCreate($event);
}
/**
* Makes reciprocal check on link, when it is updated
*
* @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);
}
/**
* Sets values for import process
*
* @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);
}
/**
* Occurs after loading item, 'id' parameter
* allows to get id of item that was loaded
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnAfterItemLoad(kEvent $event)
{
parent::OnAfterItemLoad($event);
}
}
\ No newline at end of file
Index: branches/1.2.x/units/sections/users/e_user_eh.php
===================================================================
--- branches/1.2.x/units/sections/users/e_user_eh.php (revision 16513)
+++ branches/1.2.x/units/sections/users/e_user_eh.php (revision 16514)
@@ -1,214 +1,214 @@
<?php
defined('FULL_PATH') or die('restricted access!');
/**
* Extends default UsersEventHandler class
*
*/
class EUserEventHandler extends UsersEventHandler {
/**
* Allows to override standard permission mapping
*
* @return void
* @access protected
* @see kEventHandler::$permMapping
*/
protected function mapPermissions()
{
parent::mapPermissions();
$permissions = Array (
'OnCustomEvent1' => Array ('self' => true),
'OnCustomEvent2' => 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);
}
/**
* Occurs, when config was parsed, allows to change config data dynamically
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnAfterConfigRead(kEvent $event)
{
parent::OnAfterConfigRead($event);
# 1. Regular Fields from /core/units/users/users_config.php
$fields = $this->Application->getUnitOption($event->Prefix, 'Fields'); #get regular fields
// $fields['Status']['default'] = 1; #add/edit configuration (make default = 1)
$this->Application->setUnitOption($event->Prefix, 'Fields', $fields); #save regular fields
# 2. Virtual Fields from /core/units/users/users_config.php
$virtual_fields = $this->Application->getUnitOption($event->Prefix, 'VirtualFields'); #get virtual fields
// $virtual_fields['FullName']['default'] = ''; #add/edit configuration
$this->Application->setUnitOption($event->Prefix, 'VirtualFields', $virtual_fields); #save virtual fields
}
/**
* 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();
- /* @var $object kDBList */
# identifying event based on special and setting filter
if ( $event->Special == 'custom-special' ) {
// $object->addFilter('primary_filter', '%1$s.Status = ' . STATUS_DISABLED);
}
# identifying event based not admin condition and setting filter
if ( !$this->Application->isAdminUser ) {
// $object->addFilter('status_filter', '%1$s.Status = ' . STATUS_ACTIVE);
}
}
/**
* Set's new unique resource id to user
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnBeforeItemCreate(kEvent $event)
{
parent::OnBeforeItemCreate($event);
}
/**
* Checks state against country
*
* @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);
}
/**
* Redirects user after successful registration to confirmation template (on Front only)
*
* @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);
}
}
\ No newline at end of file
Index: branches/1.2.x/units/sections/users/e_user_tp.php
===================================================================
--- branches/1.2.x/units/sections/users/e_user_tp.php (revision 16513)
+++ branches/1.2.x/units/sections/users/e_user_tp.php (revision 16514)
@@ -1,37 +1,37 @@
<?php
defined('FULL_PATH') or die('restricted access!');
/**
* Extends default UsersTagProcessor class
*
*/
class EUserTagProcessor extends UsersTagProcessor {
/**
* Returns formated user address
*
* @param Array
* @return string
*/
function PrintFormattedUserAddress($params)
{
+ /** @var kDBItem $object */
$object = $this->getObject($params);
- /* @var $object kDBItem */
$ret = '';
$newline = '<br/>';
if ($object->isLoaded()) {
$ret = $object->GetField('Street') ? $object->GetField('Street') . $newline : '';
$ret .= $object->GetField('Street2') ? $object->GetField('Street2') . $newline : '';
$ret .= $object->GetField('City') ? $object->GetField('City') . ', ' : '';
$ret .= $object->GetField('State') ? $object->GetField('State') . ' ' : '';
$ret .= $object->GetField('Zip') ? $object->GetField('Zip') . $newline : '';
$ret .= $object->GetField('Country');
}
return $ret;
}
}
\ No newline at end of file
Index: branches/1.2.x/units/sections/products/e_product_eh.php
===================================================================
--- branches/1.2.x/units/sections/products/e_product_eh.php (revision 16513)
+++ branches/1.2.x/units/sections/products/e_product_eh.php (revision 16514)
@@ -1,215 +1,215 @@
<?php
defined('FULL_PATH') or die('restricted access!');
/**
* Extends/overrides methods of default ProductsEventHandler class
*
*/
class EProductEventHandler extends ProductsEventHandler {
/**
* Allows to override standard permission mapping
*
* @return void
* @access protected
* @see kEventHandler::$permMapping
*/
protected function mapPermissions()
{
parent::mapPermissions();
$permissions = Array (
'OnCustomEvent1' => Array ('self' => true),
'OnCustomEvent2' => 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);
}
/**
* Occurs, when config was parsed, allows to change config data dynamically
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnAfterConfigRead(kEvent $event)
{
parent::OnAfterConfigRead($event);
# 1. Regular Fields from /in-commerce/units/products/products_config.php
$fields = $this->Application->getUnitOption($event->Prefix, 'Fields'); #get regular fields
// $fields['Status']['default'] = STATUS_ACTIVE; #add/edit field configuration (make default = STATUS_ACTIVE)
$this->Application->setUnitOption($event->Prefix, 'Fields', $fields); #save regular fields
# 2. Virtual Fields from /in-commerce/units/products/products_config.php
$virtual_fields = $this->Application->getUnitOption($event->Prefix, 'VirtualFields'); #get virtual fields
// $virtual_fields['Qty']['default'] = 1; #add/edit field configuration
$this->Application->setUnitOption($event->Prefix, 'VirtualFields', $virtual_fields); # save virtual fields
}
/**
* 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();
- /* @var $object kDBList */
# identifying event based on special and setting filter
if ( $event->Special == 'custom-special' ) {
// $object->addFilter('primary_filter', '%1$s.Status = '.STATUS_DISABLED);
}
# identifying event based not admin condition and setting filter
if ( !$this->Application->isAdminUser ) {
// $object->addFilter('status_filter', '%1$s.Status = '.STATUS_ACTIVE);
}
}
/**
* Sets default processing data for subscriptions
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnBeforeItemCreate(kEvent $event)
{
parent::OnBeforeItemCreate($event);
}
/**
* Moves item to preferred category, updates item hits
*
* @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);
}
/**
* Set new price to ProductsPricing
*
* @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);
}
/**
* Occurs after loading item, 'id' parameter
* allows to get id of item that was loaded
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnAfterItemLoad(kEvent $event)
{
parent::OnAfterItemLoad($event);
}
}
\ No newline at end of file
Index: branches/1.2.x/units/sections/categories/e_category_eh.php
===================================================================
--- branches/1.2.x/units/sections/categories/e_category_eh.php (revision 16513)
+++ branches/1.2.x/units/sections/categories/e_category_eh.php (revision 16514)
@@ -1,213 +1,213 @@
<?php
defined('FULL_PATH') or die('restricted access!');
/**
* Extends default CategoriesEventHandler class
*
*/
class ECategoryEventHandler extends CategoriesEventHandler {
/**
* Allows to override standard permission mapping
*
* @return void
* @access protected
* @see kEventHandler::$permMapping
*/
protected function mapPermissions()
{
parent::mapPermissions();
$permissions = Array (
'OnCustomEvent1' => Array ('self' => true),
'OnCustomEvent2' => 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);
}
/**
* Updates structure config
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnAfterConfigRead(kEvent $event)
{
parent::OnAfterConfigRead($event);
# 1. Regular Fields from /core/units/categories/categories_config.php
$fields = $this->Application->getUnitOption($event->Prefix, 'Fields'); #get regular fields
// $fields['Status']['default'] = STATUS_ACTIVE; #add/edit configuration (make default = STATUS_ACTIVE)
$this->Application->setUnitOption($event->Prefix, 'Fields', $fields); #save fields
# 2. Virtual Fields from /core/units/categories/categories_config.php
$virtual_fields = $this->Application->getUnitOption($event->Prefix, 'VirtualFields'); #get virtual fields
// $virtual_fields['UserName']['default'] = ''; #add/edit configuration
$this->Application->setUnitOption($event->Prefix, 'VirtualFields', $virtual_fields); #save virtual fields
}
/**
* 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();
- /* @var $object kDBList */
# identifying event based on special and setting filter
if ( $event->Special == 'custom-special' ) {
// $object->addFilter('primary_filter', '%1$s.Status = ' . STATUS_DISABLED);
}
# identifying event based not admin condition and setting filter
if ( !$this->Application->isAdminUser ) {
// $object->addFilter('status_filter', '%1$s.Status = ' . STATUS_ACTIVE);
}
}
/**
* Sets correct status for new categories created on front-end
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnBeforeItemCreate(kEvent $event)
{
parent::OnBeforeItemCreate($event);
}
/**
* Sets correct status for new categories created on front-end
*
* @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);
}
/**
* Removes this item and it's children (recursive) from structure dropdown
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnAfterItemLoad(kEvent $event)
{
parent::OnAfterItemLoad($event);
}
}
Index: branches/1.2.x/units/sections/articles/e_article_eh.php
===================================================================
--- branches/1.2.x/units/sections/articles/e_article_eh.php (revision 16513)
+++ branches/1.2.x/units/sections/articles/e_article_eh.php (revision 16514)
@@ -1,214 +1,214 @@
<?php
defined('FULL_PATH') or die('restricted access!');
/**
* Extends default ArticlesEventHandler class
*
*/
class EArticleEventHandler extends ArticlesEventHandler {
/**
* Allows to override standard permission mapping
*
* @return void
* @access protected
* @see kEventHandler::$permMapping
*/
protected function mapPermissions()
{
parent::mapPermissions();
$permissions = Array (
'OnCustomEvent1' => Array ('self' => true),
'OnCustomEvent2' => 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);
}
/**
* Occurs, when config was parsed, allows to change config data dynamically
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnAfterConfigRead(kEvent $event)
{
parent::OnAfterConfigRead($event);
# 1. Regular Fields from /in-news/units/articles/articles_config.php
$fields = $this->Application->getUnitOption($event->Prefix, 'Fields'); #get regular fields
// $fields['Status']['default'] = STATUS_ACTIVE; #add/edit configuration (make default = STATUS_ACTIVE)
$this->Application->setUnitOption($event->Prefix, 'Fields', $fields); #save fields
# 2. Virtual Fields from /in-news/units/articles/articles_config.php
$virtual_fields = $this->Application->getUnitOption($event->Prefix, 'VirtualFields'); #get virtual fields
// $virtual_fields['UserName']['default'] = ''; #add/edit configuration
$this->Application->setUnitOption($event->Prefix, 'VirtualFields', $virtual_fields); #save virtual fields
}
/**
* Filters out archived articles
*
* @param kEvent $event
* @return void
* @access protected
* @see kDBEventHandler::OnListBuild()
*/
protected function SetCustomQuery(kEvent $event)
{
parent::SetCustomQuery($event);
+ /** @var kDBList $object */
$object = $event->getObject();
- /* @var $object kDBList */
# identifying event based on special and setting filter
if ( $event->Special == 'custom-special' ) {
// $object->addFilter('primary_filter', '%1$s.Status = ' . STATUS_DISABLED);
}
# identifying event based not admin condition and setting filter
if ( !$this->Application->isAdminUser ) {
// $object->addFilter('status_filter', '%1$s.Status = ' . STATUS_ACTIVE);
}
}
/**
* Create missing excerpt
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnBeforeItemCreate(kEvent $event)
{
parent::OnBeforeItemCreate($event);
}
/**
* Create missing excerpt
*
* @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);
}
/**
* Sets values for import process
*
* @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);
}
/**
* Occurs after loading item, 'id' parameter
* allows to get id of item that was loaded
*
* @param kEvent $event
* @return void
* @access protected
*/
protected function OnAfterItemLoad(kEvent $event)
{
parent::OnAfterItemLoad($event);
}
}
Index: branches/1.2.x/install.php
===================================================================
--- branches/1.2.x/install.php (revision 16513)
+++ branches/1.2.x/install.php (revision 16514)
@@ -1,38 +1,38 @@
<?php
$module_folder = 'modules/custom';
if ( !defined('IS_INSTALL') ) {
// separate module install
define('IS_INSTALL', 1);
define('ADMIN', 1);
define('FULL_PATH', realpath(dirname(__FILE__) . '/../..'));
include_once(FULL_PATH . '/core/kernel/startup.php');
require_once FULL_PATH . '/core/install/install_toolkit.php';
$constants_file = FULL_PATH . '/' . $module_folder . '/constants.php';
if ( file_exists($constants_file) ) {
require_once $constants_file;
}
$toolkit = new kInstallToolkit();
}
else {
// install, using installation wizard
+ /** @var kInstallToolkit $toolkit */
$toolkit =& $this->toolkit;
- /* @var $toolkit kInstallToolkit */
}
$application =& kApplication::Instance();
$application->Init();
if ( $application->RecallVar('user_id') != USER_ROOT ) {
die('restricted access!');
}
$toolkit->RunSQL('/' . $module_folder . '/install/install_schema.sql');
$toolkit->RunSQL('/' . $module_folder . '/install/install_data.sql');
$toolkit->ImportLanguage('/' . $module_folder . '/install/english', isset($constants_file));
$toolkit->finalizeModuleInstall($module_folder, false);

Event Timeline