Пример #1
0
function getBizById($bizid)
{
    $CI =& get_instance();
    $CI->load->model('bizs');
    //$CI->load->model('reviews');
    $biz = $CI->bizs->get($bizid);
    //$biz->rating_stats = $CI->reviews->get_rating_stats($biz->id);
    if (!$biz) {
        return false;
    }
    //get biz category info
    $biz = biz_cat_info($biz);
    // get biz rating stats
    //$biz = biz_rate_stats($biz);
    // get photo stats
    $biz = biz_photo_stats($biz);
    return $biz;
}
Пример #2
0
 public function search($search, $limit = 10, $offset = 0)
 {
     $list = array();
     $search = addslashes($search);
     $city_id = $this->tank_auth->get_user_city()->id;
     $sql = "select biz.*,\r\n\t\t\t\tcount( distinct photo.id) as photo_count,\r\n\t\t\t\tIF(count( distinct photo.id) > 0, sum(rating)/count( distinct photo.id), sum(rating)) as rating_sum,\r\n\t\t\t\tcount(distinct review.id) as review_num\r\n\t\tfrom " . $this->table_name . " \r\n\t\tleft join review on biz.id = review.bizid\r\n\t\tleft join photo on biz.id = photo.bizid\r\n\t\twhere match(biz.name) against ('{$search}')>0 and biz.city_id ='{$city_id}' \r\n\t\tgroup by biz.id\r\n\t\tlimit {$offset},{$limit}";
     $query = $this->db->query($sql);
     foreach ($query->result() as $biz) {
         if ($biz->review_num > 0) {
             $biz->rating = $biz->rating_sum / ($biz->review_num * 5) * 100 . '%';
         } else {
             $biz->rating = '0%';
         }
         $biz = biz_cat_info($biz);
         $biz->first_photo = $this->get_cover_photo($biz->id);
         $list[] = $biz;
     }
     return $list;
 }
Пример #3
0
 public function show()
 {
     $id = $this->uri->segment(2);
     if (!$id || !is_numeric($id)) {
         show_404();
     }
     $this->load->model("bizs");
     if (!($biz = $this->bizs->get($id)) || !$biz->published) {
         show_404();
     }
     $this->load->model('reviews');
     $biz->rating_stats = $this->reviews->get_rating_stats($biz->id);
     //get biz category info
     $biz = biz_cat_info($biz);
     // get biz rating stats
     $biz = biz_rate_stats($biz);
     // get photo stats
     $biz = biz_photo_stats($biz);
     $data['biz'] = $biz;
     $pageData = $this->reviews->getPageData('/biz/' . $id . '/', 3, array('bizid' => $id));
     $data['pagination_links'] = $pageData['pagination_links'];
     $data['reviews'] = $pageData['list'];
     $biz->review_num = $pageData['count'];
     $data['first_review'] = $this->reviews->get_first_review($biz->id);
     if ($this->tank_auth->is_logged_in()) {
         $uid = $this->tank_auth->get_user_id();
         if ($my_review = $this->reviews->get(array('uid' => $uid, 'bizid' => $biz->id))) {
             if (isset($data['reviews'][$my_review->id])) {
                 unset($data['reviews'][$my_review->id]);
             }
             array_unshift($data['reviews'], $my_review);
             $data['my_review'] = $my_review;
         }
     }
     $this->load->helper('form');
     $data['biz_map'] = 1;
     $data['heading'] = "{$biz->city->name} {$biz->name} ratings and reviews";
     $this->load->view('biz/show', $data);
 }