Ejemplo n.º 1
0
 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));
         }
     }
 }
Ejemplo n.º 2
0
 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);
 }