本文整理汇总了PHP中blogPostModel::updateById方法的典型用法代码示例。如果您正苦于以下问题:PHP blogPostModel::updateById方法的具体用法?PHP blogPostModel::updateById怎么用?PHP blogPostModel::updateById使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类blogPostModel
的用法示例。
在下文中一共展示了blogPostModel::updateById方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: updateMarkdownText
public function updateMarkdownText($post)
{
$post_id = $post['id'];
$text = null;
if (isset($post['plugin']) && isset($post['plugin'][$this->id]) && $post['plugin'][$this->id]) {
$text = trim($post['plugin'][$this->id]);
}
$post_model = new blogPostModel();
$post_model->updateById($post_id, array('text_markdown' => $text));
}
示例2: execute
public function execute()
{
$data = waRequest::post('data', null);
if (!$data) {
return;
}
foreach ($data as $name => $value) {
if (in_array($name, $this->allowed_fields) === false) {
throw new waException("Can't update post: editing of this field is denied");
}
if ($name == 'status') {
if (in_array($value, array(blogPostModel::STATUS_DRAFT, blogPostModel::STATUS_DEADLINE, blogPostModel::STATUS_SCHEDULED, blogPostModel::STATUS_PUBLISHED)) === false) {
throw new waException("Can't change status: unknown value");
}
}
}
$post_id = waRequest::post('post_id', null, waRequest::TYPE_INT);
$post_model = new blogPostModel();
$post = null;
if ($post_id) {
$post = $post_model->getFieldsById($post_id, array('id', 'blog_id', 'contact_id', 'datetime'));
}
if (!$post) {
throw new waException("Unknown post");
}
$contact = wa()->getUser();
$contact_id = $contact->getId();
$allow = blogHelper::checkRights($post['blog_id'], $contact_id, $contact_id != $post['contact_id'] ? blogRightConfig::RIGHT_FULL : blogRightConfig::RIGHT_READ_WRITE);
if (!$allow) {
throw new waException("Access denied");
}
if (!$post_model->updateById($post_id, $data)) {
throw new waException("Error when updating data");
}
$post = array_merge($post, $data);
if ($post['status'] == blogPostModel::STATUS_DEADLINE) {
$user = wa()->getUser();
$timezone = $user->getTimezone();
$current_datetime = waDateTime::date("Y-m-d", null, $timezone);
$datetime = waDateTime::date("Y-m-d", $post['datetime'], $timezone);
if ($datetime <= $current_datetime) {
$post['overdue'] = true;
}
}
$this->response['post'] = $post;
}
示例3: cancelSchedule
private function cancelSchedule($post)
{
$this->post_model->updateById($post['id'], array("schedule_datetime" => null));
$this->response['redirect'] = $this->getRedirectUrl(array('module' => 'post', 'action' => 'edit', 'id' => $post['id']));
}