public function execute() { if ($ids = $this->getRequest()->post('id', null, waRequest::TYPE_ARRAY_INT)) { $post_model = new blogPostModel(); $blog_model = new blogBlogModel(); $blogs = $blog_model->getAvailable($this->getUser(), 'id'); $options = array('id' => $ids, 'blog_id' => array_keys($blogs)); $this->response['deleted'] = $post_model->deleteByField($options); $this->logAction('post_delete', implode(',', $ids)); } else { $this->errors[] = 'empty request'; } }
public function execute() { $id = $this->post('id', true); if (!is_array($id)) { if (strpos($id, ',') !== false) { $id = array_map('intval', explode(',', $id)); } else { $id = array($id); } } $post_model = new blogPostModel(); $blog_model = new blogBlogModel(); $blogs = $blog_model->getAvailable(wa()->getUser(), 'id'); $post_model->deleteByField(array('id' => $id, 'blog_id' => array_keys($blogs))); $this->response = true; }
/** * Delete records from table by primary key * * @param array|string $field * @param $value * @return bool */ public function deleteByField($field, $value = null) { $items = $this->getByField($field, $value, $this->id); $blog_ids = array_keys($items); /** * @event blog_predelete * @param array[] int $blog_ids array of blog's ID * @return void */ wa()->event('blog_predelete', $blog_ids); $res = parent::deleteByField($field, $value); if ($res) { $post_model = new blogPostModel(); $post_model->deleteByField('blog_id', $blog_ids); /** * @event blog_delete * @param array[] int $blog_ids array of blog's ID * @return void */ wa()->event('blog_delete', $blog_ids); } return $res; }