Ejemplo n.º 1
0
 public function index($directory_id)
 {
     if (empty($directory_id) || !is_numeric($directory_id)) {
         show_404();
     }
     $directory_user = Directory_User::get_user_dir($this->c_user->id, $directory_id, $this->profile->id);
     if (!$directory_user->exists()) {
         return $this->link_to_config();
     }
     $from = $this->getRequest()->get('from', strtotime('-30 days'));
     $to = $this->getRequest()->get('from', strtotime('now'));
     $from_date = DateTime::createFromFormat($this->date_format, $from);
     $to_date = DateTime::createFromFormat($this->date_format, $to);
     $reviewsTotal = Review::count_by_user_dir($this->c_user->id, $directory_id);
     $stars = (int) $directory_user->directory->stars;
     $review = new Review();
     $options = array('rank' => Review::generateRantQueryByStars($stars));
     if ($from_date && $to_date) {
         $options['date_from'] = $from_date->format(Review::POSTEDFORMAT);
         $options['date_to'] = $to_date->format(Review::POSTEDFORMAT);
     }
     $details = $review->details($this->c_user->id, $this->profile->id, $directory_id, $options);
     /*$html = $this->load($directory_id);*/
     JsSettings::instance()->add(array('directory' => array('id' => $directory_id, 'reviews_total' => $reviewsTotal, 'link' => $directory_user->directory->type == 'Google_Places' ? '' : $directory_user->link, 'stars' => (int) $directory_user->directory->stars, 'details_url' => site_url('reviews/details'), 'show_all_link' => site_url('reviews/all/' . $directory_id)), 'date_format' => array('datepicker' => $this->js_datepicker_date_format, 'string' => $this->js_string_date_format)));
     CssJs::getInst()->add_js(array('libs/highcharts/highcharts.js'))->c_js();
     $this->template->set('from_date', $from_date);
     $this->template->set('to_date', $to_date);
     $this->template->set('type', $directory_user->directory->type);
     $this->template->set('reviewsTotal', $reviewsTotal);
     $this->template->set('reviews', $details['latest_reviews']);
     $this->template->set('rank', $details['rank_details']);
     $this->template->set('rate', $details['rank']);
     $this->template->set('stars', $stars);
     /*$this->template->set('html', $html);*/
     if ($directory_user->directory->type == 'Foursquare') {
         $data = unserialize($directory_user->additional);
         $this->template->set('rate', round($data['rate'], 1));
         $this->template->set('visitors', round($data['visitors'], 1));
         $this->template->set('checkins', round($data['checkins'], 1));
     }
     $this->template->render();
 }
Ejemplo n.º 2
0
 public function exist_reviews()
 {
     $raws = Review::count_by_user_dir($this->directory_user['user_id'], $this->directory_user['directory_id']);
     return $raws;
 }