/** * Action - setstatus * set post ststus * * Access to the action is possible in the following paths: * - /blogmanager/setstatus * * @return void */ public function setstatusAction() { $username = $this->_identity->username; //-------------------------- // Получим обьект сообщения $request = $this->getRequest(); $post_id = (int) $request->getPost('id'); $post = new Default_Model_DbTable_BlogPost($this->db); if (!$post->loadForUser($this->_identity->user_id, $post_id)) { $this->_redirect('/blogmanager'); } $title = $post->profile->title; // URL to redirect back to $url = '/blogmanager/preview' . '?id=' . $post->getId(); if ($request->getPost('edit')) { $this->_redirect('/blogmanager/edit' . '?id=' . $post->getId()); } else { if ($request->getPost('publish')) { $post->sendLive(); $post->save(); $this->_flashMessenger->addMessage($this->Translate('Сообщение успешно опубликовано в блоге')); $message_log = "User-\"{$username}\" has successfully published a blog post-\"{$title}\""; } else { if ($request->getPost('unpublish')) { $post->sendBackToDraft(); $post->save(); $this->_flashMessenger->addMessage($this->Translate('Сообщение переведено в состояние не опубликовано')); $message_log = "User-\"{$username}\" set message-\"{$title}\" to the state is not published"; } else { if ($request->getPost('delete')) { $post->delete(); // Preview page no longer exists for this page so go back to index $url = '/blogmanager'; $this->_flashMessenger->addMessage($this->Translate('Сообщение удалено из блога')); $message_log = "User-\"{$username}\" deletes a message-\"{$title}\" from the blog"; } } } } // Запомним в логе сообщений $this->_logMsg->post_set_status($message_log); $this->_redirect($url); }