'iterateItems', 'OnMassDecline'=>'iterateItems', 'OnMassMoveUp'=>'iterateItems', 'OnMassMoveDown'=>'iterateItems', ); $this->eventMethods = array_merge($this->eventMethods, $common_events); } /** * Apply same processing to each item beeing selected in grid * * @param kEvent $event * @access private */ function iterateItems(&$event) { if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { return; } $object =& $event->getObject( Array('skip_autoload' => true) ); $this->StoreSelectedIDs($event); $ids=$this->getSelectedIDs($event); if($ids) { $status_field = array_shift( $this->Application->getUnitOption($event->Prefix,'StatusField') ); foreach($ids as $id) { $object->Load($id); switch ($event->Name) { case 'OnMassApprove': $object->SetDBField($status_field, 1); break; case 'OnMassDecline': $object->SetDBField($status_field, 0); break; case 'OnMassMoveUp': $object->SetDBField('Priority', $object->GetDBField('Priority') + 1); break; case 'OnMassMoveDown': $object->SetDBField('Priority', $object->GetDBField('Priority') - 1); break; } if( $object->Update() ) { $event->status=erSUCCESS; $event->redirect_params = Array('opener' => 's', 'pass_events' => true); //stay! } else { $event->status=erFAIL; $event->redirect=false; break; } } } } /** * Enter description here... * * @param kEvent $event */ function OnMassClone(&$event) { if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { return; } $event->status=erSUCCESS; $temp =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler'); $this->StoreSelectedIDs($event); $ids=$this->getSelectedIDs($event); if($ids) { $temp->CloneItems($event->Prefix, $event->Special, $ids); } } function check_array($records, $field, $value) { foreach ($records as $record) { if ($record[$field] == $value) { return true; } } return false; } function OnPreSavePopup(&$event) { $object =& $event->getObject(); $this->RemoveRequiredFields($object); $event->CallSubEvent('OnPreSave'); $this->finalizePopup($event); } } ?>