/** * Prepare for saving posted post and return it * * @return array prepared post * */ private function getPreparedPost() { $post = array('id' => waRequest::post('post_id', null, waRequest::TYPE_INT), 'title' => substr(waRequest::post('title', '', waRequest::TYPE_STRING_TRIM), 0, 255), 'text' => waRequest::post('text'), 'blog_id' => waRequest::post('blog_id'), 'contact_id' => waRequest::post('contact_id'), 'datetime' => waRequest::post('datetime'), 'url' => waRequest::post('url', '', waRequest::TYPE_STRING_TRIM), 'draft' => waRequest::post('draft'), 'comments_allowed' => max(0, min(1, waRequest::post('comments_allowed', 0, waRequest::TYPE_INT))), 'public' => waRequest::post('public'), 'schedule_datetime' => waRequest::post('schedule_datetime')); $this->inline = waRequest::post('inline', false); if (waRequest::post('scheduled') && !empty($post['schedule_datetime'])) { $post['datetime'] = $post['schedule_datetime']; } if (!is_null($post['datetime'])) { $post['datetime'] = (array) $post['datetime']; if (count($post['datetime']) == 3) { $post['datetime'][1] = (int) $post['datetime'][1]; $post['datetime'][2] = (int) $post['datetime'][2]; $date_time = $post['datetime'][0] . ' ' . $post['datetime'][1] . ':' . $post['datetime'][2]; } else { $date_time = implode(' ', $post['datetime']); } $post['datetime'] = $date_time; } if (waRequest::post('draft')) { $post['status'] = blogPostModel::STATUS_DRAFT; $this->operation = self::OPERATION_SAVE_DRAFT; } else { if (waRequest::post('deadline')) { if ($post['datetime']) { $post['status'] = blogPostModel::STATUS_DEADLINE; $this->operation = self::OPERATION_SET_DEADLINE; } else { $post['status'] = blogPostModel::STATUS_DRAFT; $this->operation = self::OPERATION_SAVE_DRAFT; } } else { if (waRequest::post('scheduled')) { $post['status'] = blogPostModel::STATUS_SCHEDULED; } else { if (waRequest::post('published')) { $post['status'] = blogPostModel::STATUS_PUBLISHED; $this->operation = self::OPERATION_PUBLISH; } else { if (waRequest::post('unpublish')) { $post['status'] = blogPostModel::STATUS_DRAFT; $this->operation = self::OPERATION_UNPUBLISH; } else { if ($post['id'] && waRequest::issetPost('delete')) { $this->operation = self::OPERATION_DELETE; } else { if (waRequest::issetPost("schedule_cancel")) { $this->operation = self::OPERATION_CANCEL_SCHEDULE; } } } } } } } if (!isset($post['status'])) { if ($post['id']) { $post['status'] = $this->post_model->select('status')->where('id = i:id', array('id' => $post['id']))->fetchField('status'); } else { $post['status'] = blogPostModel::STATUS_DRAFT; } } $blog_model = new blogBlogModel(); $blog = $blog_model->getById($post['blog_id']); $post['blog_status'] = $blog['status']; $post['plugin'] = (array) waRequest::post('plugin', null); foreach ($post['plugin'] as $k => &$plugin_data) { if (!is_array($plugin_data)) { $plugin_data = trim($plugin_data); } } return $post; }