Changeset View
Changeset View
Standalone View
Standalone View
branches/5.2.x/core/units/spam_reports/spam_report_eh.php
Show First 20 Lines • Show All 57 Lines • ▼ Show 20 Line(s) | |||||
* @param kEvent $event | * @param kEvent $event | ||||
* @return void | * @return void | ||||
* @access protected | * @access protected | ||||
*/ | */ | ||||
protected function OnBeforeItemCreate(kEvent $event) | protected function OnBeforeItemCreate(kEvent $event) | ||||
{ | { | ||||
parent::OnBeforeItemCreate($event); | parent::OnBeforeItemCreate($event); | ||||
/** @var kDBItem $object */ | |||||
$object = $event->getObject(); | $object = $event->getObject(); | ||||
/* @var $object kDBItem */ | |||||
$item_prefix = $this->Application->GetVar('item_prefix'); | $item_prefix = $this->Application->GetVar('item_prefix'); | ||||
$item_id = $this->Application->GetVar($item_prefix . '_id'); | $item_id = $this->Application->GetVar($item_prefix . '_id'); | ||||
if ( $item_id ) { | if ( $item_id ) { | ||||
$object->SetDBField('ItemPrefix', $item_prefix); | $object->SetDBField('ItemPrefix', $item_prefix); | ||||
$object->SetDBField('ItemId', $item_id); | $object->SetDBField('ItemId', $item_id); | ||||
} | } | ||||
$object->SetDBField('ReportedById', $this->Application->RecallVar('user_id')); | $object->SetDBField('ReportedById', $this->Application->RecallVar('user_id')); | ||||
} | } | ||||
/** | /** | ||||
* Send e-mail after new spam report was created | * Send e-mail after new spam report was created | ||||
* | * | ||||
* @param kEvent $event | * @param kEvent $event | ||||
* @return void | * @return void | ||||
* @access protected | * @access protected | ||||
*/ | */ | ||||
protected function OnAfterItemCreate(kEvent $event) | protected function OnAfterItemCreate(kEvent $event) | ||||
{ | { | ||||
parent::OnAfterItemCreate($event); | parent::OnAfterItemCreate($event); | ||||
/** @var kDBItem $object */ | |||||
$object = $event->getObject(); | $object = $event->getObject(); | ||||
/* @var $object kDBItem */ | |||||
$item_prefix = $object->GetDBField('ItemPrefix'); | $item_prefix = $object->GetDBField('ItemPrefix'); | ||||
if ( preg_match('/rev$/', $item_prefix) ) { | if ( preg_match('/rev$/', $item_prefix) ) { | ||||
/** @var kDBItem $item */ | |||||
$item = $this->Application->recallObject($item_prefix); | $item = $this->Application->recallObject($item_prefix); | ||||
/* @var $item kDBItem */ | |||||
$object->SetDBField('ItemName', $item->GetDBField('ReviewText')); | $object->SetDBField('ItemName', $item->GetDBField('ReviewText')); | ||||
} | } | ||||
$this->Application->emailAdmin('SPAM.REPORT'); | $this->Application->emailAdmin('SPAM.REPORT'); | ||||
} | } | ||||
/** | /** | ||||
* Sends new spam report | * Sends new spam report | ||||
* | * | ||||
* @param kEvent $event | * @param kEvent $event | ||||
*/ | */ | ||||
function OnNewReport($event) | function OnNewReport($event) | ||||
{ | { | ||||
/** @var AjaxFormHelper $ajax_form_helper */ | |||||
$ajax_form_helper = $this->Application->recallObject('AjaxFormHelper'); | $ajax_form_helper = $this->Application->recallObject('AjaxFormHelper'); | ||||
/* @var $ajax_form_helper AjaxFormHelper */ | |||||
$ajax_form_helper->transitEvent($event, 'OnCreate'); | $ajax_form_helper->transitEvent($event, 'OnCreate'); | ||||
} | } | ||||
/** | /** | ||||
* Deletes item, associated with given spam report | * Deletes item, associated with given spam report | ||||
* | * | ||||
* @param kEvent $event | * @param kEvent $event | ||||
*/ | */ | ||||
function OnDeleteAssocItem($event) | function OnDeleteAssocItem($event) | ||||
{ | { | ||||
$temp_handlers = Array (); | $temp_handlers = Array (); | ||||
$ids = $this->StoreSelectedIDs($event); | $ids = $this->StoreSelectedIDs($event); | ||||
/** @var kDBItem $object */ | |||||
$object = $event->getObject( Array ('skip_autoload' => true) ); | $object = $event->getObject( Array ('skip_autoload' => true) ); | ||||
/* @var $object kDBItem */ | |||||
foreach ($ids as $id) { | foreach ($ids as $id) { | ||||
$object->Load($id); | $object->Load($id); | ||||
$item_prefix = $object->GetDBField('ItemPrefix'); | $item_prefix = $object->GetDBField('ItemPrefix'); | ||||
if ( !isset($temp_handlers[$item_prefix]) ) { | if ( !isset($temp_handlers[$item_prefix]) ) { | ||||
$temp_handlers[$item_prefix] = $this->Application->recallObject($item_prefix . '_TempHandler', 'kTempTablesHandler'); | $temp_handlers[$item_prefix] = $this->Application->recallObject($item_prefix . '_TempHandler', 'kTempTablesHandler'); | ||||
} | } | ||||
$temp_handlers[$item_prefix]->DeleteItems($item_prefix, '', Array ($object->GetDBField('ItemId'))); | $temp_handlers[$item_prefix]->DeleteItems($item_prefix, '', Array ($object->GetDBField('ItemId'))); | ||||
} | } | ||||
$this->clearSelectedIDs($event); | $this->clearSelectedIDs($event); | ||||
$event->SetRedirectParam('opener', 'u'); | $event->SetRedirectParam('opener', 'u'); | ||||
} | } | ||||
} | } | ||||
No newline at end of file | No newline at end of file |