예제 #1
0
 public function new_businessAction()
 {
     if ($this->request->isPost()) {
         $countryId = $this->request->getPost('country_id');
         $country = Countries::findFirst(array('columns' => '*', 'conditions' => 'id LIKE :id:', 'bind' => array('id' => $countryId)));
         $countryName = '';
         if ($country) {
             $countryName = $country->country;
         }
         $address = str_replace(' ', '+', $this->request->getPost('street') . '+' . $this->request->getPost('city') . '+' . $countryName);
         $userSession = $this->session->get("userSession");
         $content = file_get_contents('https://maps.googleapis.com/maps/api/geocode/json?address=' . $address . '&key=AIzaSyAbpLPfBH8sNdVSzMULD_BZN9qrAqbL3V8');
         $json = json_decode($content, true);
         $lat = $json['results'][0]['geometry']['location']['lat'];
         $lng = $json['results'][0]['geometry']['location']['lng'];
         //error_log('LAT : '.$lat.' LONG : '.$lng);
         $business = new Business();
         $business->created = date('Y-m-d H:i:s');
         $business->modified = date('Y-m-d H:i:s');
         $business->member_id = $userSession['id'];
         $business->name = $this->request->getPost('name');
         $business->website = $this->request->getPost('website');
         $business->telephone = $this->request->getPost('telephone');
         $business->street = $this->request->getPost('street');
         $business->city = $this->request->getPost('city');
         $business->country_id = $this->request->getPost('country_id');
         $business->lat = $lat;
         $business->lng = $lng;
         $business->average_rate = $this->request->getPost('rate');
         if (!empty($this->request->getPost('review'))) {
             $business->total_review = 1;
         }
         $opened = '';
         if (!empty($this->request->getPost('opened'))) {
             $opened = 'Opened';
         }
         if (empty($this->request->getPost('opened'))) {
             $opened = 'Opening Soon';
         }
         $business->opened = $opened;
         //$business->business_category_id = $this->request->getPost('business_category_id');
         // $business->business_sub_category_id = $this->request->getPost('business_sub_category_id');
         // $business->business_asub_category_id = $this->request->getPost('business_asub_category_id');
         if ($business->create()) {
             $id = $business->id;
             if (!empty($this->request->getPost('business_category_ids'))) {
                 $bCtegories = $this->request->getPost('business_category_ids');
                 $bCtegoryIds = explode(',', $bCtegories);
                 foreach ($bCtegoryIds as $key => $bCtegoryId) {
                     $businessCategoryLists = new BusinessCategoryLists();
                     $businessCategoryLists->created = date('Y-m-d H:i:s');
                     $businessCategoryLists->business_id = $id;
                     $businessCategoryLists->business_category_id = $bCtegoryId;
                     $businessCategoryLists->create();
                 }
             }
             $this->flash->success('<button type="button" class="close" data-dismiss="alert">×</button>New business has been created');
             if (!empty($this->request->getPost('review'))) {
                 $review = new Reviews();
                 $review->created = date('Y-m-d H:i:s');
                 $review->modified = date('Y-m-d H:i:s');
                 $review->member_id = $userSession['id'];
                 $review->business_id = $business->id;
                 $review->content = $this->request->getPost('review');
                 $review->rate = $this->request->getPost('rate');
                 if ($review->create()) {
                     $this->flash->success('<button type="button" class="close" data-dismiss="alert">×</button>You\'re review has been submitted.');
                 }
             }
             return $this->response->redirect('business/view/' . $id);
         }
     }
     $countries = Countries::find();
     $this->view->setVar('countries', $countries);
     $businessCategories = BusinessCategories::find();
     $this->view->setVar('businessCategories', $businessCategories);
 }