public function actionCommentCreate() { if (isset($_POST['commentJSON']) && isJSON($_POST['commentJSON'])) { $commentModel = new Comment(); $errorMessage = null; $commentCreatePost = json_decode($_POST['commentJSON'], true); $commentModel->text = isset($commentCreatePost['text']) ? $commentCreatePost['text'] : Yii::t('comment', 'no comment text'); $commentModel->create_time = date("Y-m-d H:i:s"); $commentModel->contact_method = isset($commentCreatePost['contact_method']) ? $commentCreatePost['contact_method'] : null; $commentModel->service_attitude = isset($commentCreatePost['service_attitude']) ? $commentCreatePost['service_attitude'] : 5; $commentModel->delivery_speed = isset($commentCreatePost['delivery_speed']) ? $commentCreatePost['delivery_speed'] : 5; if (!Comment::model()->validateContactMethod($commentCreatePost['contact_method'])) { $errorMessage = Yii::t('comment', 'Contact method is too long!'); } if (!Comment::model()->validateSiteMark($commentCreatePost['service_attitude'])) { $errorMessage = Yii::t('comment', 'Service mark is out of range!'); } if (!Comment::model()->validateSiteMark($commentCreatePost['delivery_speed'])) { $errorMessage = Yii::t('comment', 'Delivery mark is out of range!'); } $this->layout = false; if ($errorMessage === null) { $siteMarkModel = SiteMark::model()->findByAttributes(array('id' => '1')); $siteMarkModel->service_attitude_sum = $siteMarkModel->service_attitude * $siteMarkModel->service_attitude_times + $commentModel->service_attitude; $siteMarkModel->delivery_speed_sum = $siteMarkModel->delivery_speed * $siteMarkModel->delivery_speed_times + $commentModel->delivery_speed; ++$siteMarkModel->service_attitude_times; ++$siteMarkModel->delivery_speed_times; $siteMarkModel->service_attitude = $siteMarkModel->service_attitude_sum / $siteMarkModel->service_attitude_times; $siteMarkModel->delivery_speed = $siteMarkModel->delivery_speed_sum / $siteMarkModel->delivery_speed_times; if ($siteMarkModel->save() && $commentModel->save()) { $this->render('_customerCreate', array('response' => 'success', 'message' => $commentModel->create_time)); } else { $errorMessage = Yii::t('comment', 'Server error!'); $this->render('_customerCreate', array('response' => 'failure', 'message' => $errorMessage)); } } else { $this->render('_customerCreate', array('response' => 'failure', 'message' => $errorMessage)); } } }
public function getSiteMarks() { $_model = SiteMark::model()->findByPk('1'); return array('site_service_attitude' => $_model->service_attitude, 'site_delivery_speed' => $_model->delivery_speed, 'site_service_attitude_times' => $_model->service_attitude_times, 'site_delivery_speed_times' => $_model->delivery_speed_times); }