/** * Delete this entity * @todo complete this * @return bool */ function delete() { $event = new \Idno\Core\Event(array('object' => $this)); $event->setResponse(true); if (\Idno\Core\site()->triggerEvent('delete', array('object' => $this))) { if ($entries = \Idno\Entities\ActivityStreamPost::getByObjectUUID($this->getUUID())) { foreach ($entries as $entry) { $entry->delete(); } } if ($return = \Idno\Core\db()->deleteRecord($this->getID())) { $this->deleteData(); return $return; } } return false; }
/** * Shortcut to trigger an event: supply the event name and * (optionally) an array of data, and get a variable back. * * @param string $eventName The name of the event to trigger * @param array $data Data to pass to the event * @param mixed $default Default response (if not forwarding) * @return mixed */ function triggerEvent($eventName, $data = array(), $default = true) { $event = new Event($data); $event->setResponse($default); $event = $this->events()->dispatch($eventName, $event); if (!$event->forward()) { return $event->response(); } else { header('Location: ' . $event->forward()); exit; } }