public function publish()
{
$transaction = Yii::app()->db->beginTransaction();
try {
$this->status = self::STATUS_PUBLISHED;
$this->publish_time = date('d-m-Y h:i');
if ($this->save()) {
Yii::app()->eventManager->fire(BlogEvents::POST_PUBLISH, new PostPublishEvent($this, Yii::app()->getUser()));
}
$transaction->commit();
return true;
} catch (Exception $e) {
$transaction->rollback();
Yii::log($e->__toString(), CLogger::LEVEL_ERROR);
return true;
}
}