public function delete($where = [], $options = [])
{
if (is_numeric($where)) {
deprecated('ActivityModel->delete(int)', 'ActivityModel->deleteID(int)');
$result = $this->deleteID($where, $options);
return $result;
} elseif (count($where) === 1 && isset($where['ActivityID'])) {
return parent::delete($where, $options);
}
throw new \BadMethodCallException("ActivityModel->delete() is not supported.", 400);
}
/** * Delete an activity item. * * @since 2.0.0 * @access public * * @param int $ActivityID Unique ID of item to delete. * @param string $TransientKey Verify intent. */ public function delete($ActivityID = '', $TransientKey = '') { $session = Gdn::session(); if (!$session->validateTransientKey($TransientKey)) { throw permissionException(); } if (!is_numeric($ActivityID)) { throw Gdn_UserException('Invalid ID'); } if (!$this->ActivityModel->canDelete($this->ActivityModel->getID($ActivityID))) { throw permissionException(); } $this->ActivityModel->delete($ActivityID); if ($this->_DeliveryType === DELIVERY_TYPE_ALL) { $target = Gdn::request()->get('Target'); if ($target) { // Bail with a redirect if we got one. redirect($target); } else { // We got this as a full page somehow, so send them back to /activity. $this->RedirectUrl = url('activity'); } } $this->render(); }