public function save_feed()
 {
     $user_name = $this->params->data['user_name'];
     $user_mail = $this->params->data['user_mail'];
     $user_phone = $this->params->data['user_phone'];
     $comment = $this->params->data['comment'];
     $id = $this->params->data['id'];
     if (empty($user_name) or empty($user_mail) or empty($user_phone)) {
         $this->Error->setError('ERROR_231');
         return false;
     } else {
         //пересчет рейтинга
         $rates = isset($this->params->data['RATE']) ? $this->params->data['RATE'] : null;
         if ($rates !== null) {
             $sum_rate = 0;
             $count_rate = 0;
             $this->Adminfeed->id = $id;
             $this->Adminfeed->save($rates);
             foreach ($rates as $rate) {
                 check_valid_rate($rate, $sum_rate, $count_rate);
             }
             if ($count_rate > 0) {
                 $new_rate = sprintf("%01.2f", $sum_rate / $count_rate);
                 $this->Adminfeed->id = $id;
                 $this->Adminfeed->save(array('rate' => $new_rate));
                 //пересчет среднего рейтинга мастера
                 $feed = $this->Adminfeed->find('first', array('conditions' => array('id' => $id)));
                 $user_id = $feed['Adminfeed']['user_id'];
                 $this->recalc_user_rating($user_id);
             }
         }
         $this->Adminfeed->id = $id;
         $result = $this->Adminfeed->save($this->request->data);
         $response = array();
         if ($result !== null) {
             $response["result"] = "success";
             response_ajax($response, "success");
         } else {
             $response["result"] = "error";
             response_ajax($response, "error");
         }
         exit;
     }
 }
예제 #2
0
 public function save_feed()
 {
     $data = $this->params['data'];
     $data['Feedback']['user_view_status'] = 'active';
     $data['Feedback']['admin_view_status'] = 'new';
     //пересчет рейтинга
     $rates = isset($this->params->data['Feedback']['RATE']) ? $this->params->data['Feedback']['RATE'] : null;
     if ($rates !== null) {
         $sum_rate = 0;
         $count_rate = 0;
         foreach ($rates as $key => $rate) {
             $data['Feedback'][$key] = $rate;
             check_valid_rate($rate, $sum_rate, $count_rate);
         }
         if ($count_rate > 0) {
             $new_rate = sprintf("%01.2f", $sum_rate / $count_rate);
         } else {
             $new_rate = 0;
         }
     } else {
         $new_rate = 0;
     }
     $data['Feedback']['rate'] = $new_rate;
     $this->Feedback->save($data);
     $user = $this->Master->find('first', array('conditions' => array('id' => $data['Feedback']['user_id'])));
     $url_prefix = $user['Master']['login'];
     $this->redirect(Router::url(array('plugin' => false, 'controller' => 'profile', 'action' => 'feed_success', 'profile' => $url_prefix)));
     exit;
 }