Changeset View
Changeset View
Standalone View
Standalone View
branches/5.2.x/core/units/images/image_event_handler.php
Show First 20 Lines • Show All 78 Lines • ▼ Show 20 Line(s) | |||||
* | * | ||||
* @param kEvent $event | * @param kEvent $event | ||||
* @param string $type | * @param string $type | ||||
* @return void | * @return void | ||||
* @access protected | * @access protected | ||||
*/ | */ | ||||
protected function customProcessing(kEvent $event, $type) | protected function customProcessing(kEvent $event, $type) | ||||
{ | { | ||||
/** @var kDBItem $object */ | |||||
$object = $event->getObject(); | $object = $event->getObject(); | ||||
/* @var $object kDBItem */ | |||||
if ( $event->Name == 'OnMassDelete' && $type == 'before' ) { | if ( $event->Name == 'OnMassDelete' && $type == 'before' ) { | ||||
$ids = $event->getEventParam('ids'); | $ids = $event->getEventParam('ids'); | ||||
$parent_info = $object->getLinkedInfo($event->Special); | $parent_info = $object->getLinkedInfo($event->Special); | ||||
$sql = 'SELECT ImageId | $sql = 'SELECT ImageId | ||||
FROM ' . $object->TableName . ' | FROM ' . $object->TableName . ' | ||||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Line(s) | |||||
* @param kEvent $event | * @param kEvent $event | ||||
* @return void | * @return void | ||||
* @access protected | * @access protected | ||||
*/ | */ | ||||
protected function ImageAction($event) | protected function ImageAction($event) | ||||
{ | { | ||||
$id = $event->getEventParam('id'); | $id = $event->getEventParam('id'); | ||||
/** @var kDBItem $object */ | |||||
$object = $this->Application->recallObject($event->Prefix . '.-item', $event->Prefix, Array ('skip_autoload' => true)); | $object = $this->Application->recallObject($event->Prefix . '.-item', $event->Prefix, Array ('skip_autoload' => true)); | ||||
/* @var $object kDBItem */ | |||||
if ( in_array($event->Name, Array ('OnBeforeDeleteFromLive', 'OnAfterClone')) ) { | if ( in_array($event->Name, Array ('OnBeforeDeleteFromLive', 'OnAfterClone')) ) { | ||||
$object->SwitchToLive(); | $object->SwitchToLive(); | ||||
} | } | ||||
elseif ( $event->Name == 'OnBeforeItemDelete' ) { | elseif ( $event->Name == 'OnBeforeItemDelete' ) { | ||||
// keep current table | // keep current table | ||||
} | } | ||||
else { | else { | ||||
$object->SwitchToTemp(); | $object->SwitchToTemp(); | ||||
} | } | ||||
$object->Load($id); | $object->Load($id); | ||||
/** @var FileHelper $file_helper */ | |||||
$file_helper = $this->Application->recallObject('FileHelper'); | $file_helper = $this->Application->recallObject('FileHelper'); | ||||
/* @var $file_helper FileHelper */ | |||||
$fields = Array ('LocalPath' => 'LocalImage', 'ThumbPath' => 'LocalThumb'); | $fields = Array ('LocalPath' => 'LocalImage', 'ThumbPath' => 'LocalThumb'); | ||||
foreach ($fields as $a_field => $mode_field) { | foreach ($fields as $a_field => $mode_field) { | ||||
$file = $object->GetDBField($a_field); | $file = $object->GetDBField($a_field); | ||||
if ( !$file ) { | if ( !$file ) { | ||||
continue; | continue; | ||||
▲ Show 20 Lines • Show All 65 Lines • ▼ Show 20 Line(s) | |||||
* Sets primary image of user/category/category item | * Sets primary image of user/category/category item | ||||
* | * | ||||
* @param kEvent $event | * @param kEvent $event | ||||
* @return void | * @return void | ||||
* @access protected | * @access protected | ||||
*/ | */ | ||||
protected function OnSetPrimary($event) | protected function OnSetPrimary($event) | ||||
{ | { | ||||
/** @var kDBItem $object */ | |||||
$object = $event->getObject(); | $object = $event->getObject(); | ||||
/* @var $object kDBItem */ | |||||
$object->SetDBField('DefaultImg', 1); | $object->SetDBField('DefaultImg', 1); | ||||
$object->Update(); | $object->Update(); | ||||
} | } | ||||
/** | /** | ||||
* Occurs before updating item | * Occurs before updating item | ||||
* | * | ||||
Show All 16 Lines | |||||
* @access protected | * @access protected | ||||
*/ | */ | ||||
protected function OnAfterItemCreate(kEvent $event) | protected function OnAfterItemCreate(kEvent $event) | ||||
{ | { | ||||
parent::OnAfterItemCreate($event); | parent::OnAfterItemCreate($event); | ||||
$this->processImageStatus($event); | $this->processImageStatus($event); | ||||
/** @var kDBItem $object */ | |||||
$object = $event->getObject(); | $object = $event->getObject(); | ||||
/* @var $object kDBItem */ | |||||
$object->Update(); | $object->Update(); | ||||
} | } | ||||
/** | /** | ||||
* Occurs before item changed | * Occurs before item changed | ||||
* | * | ||||
* @param kEvent $event | * @param kEvent $event | ||||
*/ | */ | ||||
function processImageStatus($event) | function processImageStatus($event) | ||||
{ | { | ||||
/** @var kDBItem $object */ | |||||
$object = $event->getObject(); | $object = $event->getObject(); | ||||
/* @var $object kDBItem */ | |||||
$id = $object->GetDBField('ResourceId'); | $id = $object->GetDBField('ResourceId'); | ||||
$sql = 'SELECT ImageId | $sql = 'SELECT ImageId | ||||
FROM ' . $object->TableName . ' | FROM ' . $object->TableName . ' | ||||
WHERE ResourceId = ' . $id . ' AND DefaultImg = 1'; | WHERE ResourceId = ' . $id . ' AND DefaultImg = 1'; | ||||
$primary_image_id = $this->Conn->GetOne($sql); | $primary_image_id = $this->Conn->GetOne($sql); | ||||
Show All 18 Lines | |||||
* @return void | * @return void | ||||
* @access protected | * @access protected | ||||
* @see kDBEventHandler::OnListBuild() | * @see kDBEventHandler::OnListBuild() | ||||
*/ | */ | ||||
protected function SetCustomQuery(kEvent $event) | protected function SetCustomQuery(kEvent $event) | ||||
{ | { | ||||
parent::SetCustomQuery($event); | parent::SetCustomQuery($event); | ||||
/** @var kDBList $object */ | |||||
$object = $event->getObject(); | $object = $event->getObject(); | ||||
/* @var $object kDBList */ | |||||
if ( !$this->Application->isAdminUser ) { | if ( !$this->Application->isAdminUser ) { | ||||
$object->addFilter('active', '%1$s.Enabled = 1'); | $object->addFilter('active', '%1$s.Enabled = 1'); | ||||
} | } | ||||
$product_id = $event->getEventParam('product_id'); | $product_id = $event->getEventParam('product_id'); | ||||
if ( $product_id ) { | if ( $product_id ) { | ||||
$object->removeFilter('parent_filter'); | $object->removeFilter('parent_filter'); | ||||
$sql = 'SELECT ResourceId | $sql = 'SELECT ResourceId | ||||
FROM ' . $this->Application->getUnitOption('p', 'TableName') . ' | FROM ' . $this->Application->getUnitOption('p', 'TableName') . ' | ||||
WHERE ProductId = ' . $product_id; | WHERE ProductId = ' . $product_id; | ||||
$resource_id = (int)$this->Conn->GetOne($sql); | $resource_id = (int)$this->Conn->GetOne($sql); | ||||
$object->addFilter('product_images', '%1$s.ResourceId = ' . $resource_id); | $object->addFilter('product_images', '%1$s.ResourceId = ' . $resource_id); | ||||
} | } | ||||
/** @var kSearchHelper $search_helper */ | |||||
$search_helper = $this->Application->recallObject('SearchHelper'); | $search_helper = $this->Application->recallObject('SearchHelper'); | ||||
/* @var $search_helper kSearchHelper */ | |||||
$types = $event->getEventParam('types'); | $types = $event->getEventParam('types'); | ||||
$except_types = $event->getEventParam('except'); | $except_types = $event->getEventParam('except'); | ||||
$type_clauses = $this->getTypeClauses($event); | $type_clauses = $this->getTypeClauses($event); | ||||
$search_helper->SetComplexFilter($event, $type_clauses, $types, $except_types); | $search_helper->SetComplexFilter($event, $type_clauses, $types, $except_types); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 109 Lines • Show Last 20 Lines |