/**
  * フリーマーケット詳細表示画面
  *
  * @access public
  * @param mixed $fleamarket_id フリーマーケットID
  * @return void
  * @author ida
  */
 public function get_detail($fleamarket_id)
 {
     Asset::css('jquery-ui.min.css', array(), 'add_css');
     Asset::js('jquery-ui.min.js', array(), 'add_js');
     if (!$fleamarket_id) {
         return $this->forward('errors/notfound', 404);
     }
     $fleamarket = \Model_Fleamarket::findDetail($fleamarket_id);
     if (!$fleamarket) {
         return $this->forward('errors/notfound', 404);
     }
     $this->setHtmlReplace(array('AREA' => $this->getArea($fleamarket['prefecture_id']), 'AREA_NAME' => $this->getAreaName($fleamarket['prefecture_id']), 'FLEAMARKET_NAME' => $fleamarket['name'], 'LOCATION_ID' => $fleamarket['location_id'], 'LOCATION_NAME' => $fleamarket['location_name']));
     $fleamarket_abouts = \Model_Fleamarket_About::findByFleamarketId($fleamarket_id);
     $fleamarket_images = \Model_Fleamarket_Image::findByFleamarketId($fleamarket_id);
     $entry_styles = \Model_Fleamarket_Entry_Style::findByFleamarketId($fleamarket_id);
     $entries = \Model_Entry::getTotalEntryByFleamarketId($fleamarket_id);
     $fleamarket['entries'] = $entries;
     $view_model = \ViewModel::forge('search/detail');
     $view_model->set('fleamarket', $fleamarket, false);
     $view_model->set('fleamarket_images', $fleamarket_images, false);
     $view_model->set('fleamarket_abouts', $fleamarket_abouts, false);
     $view_model->set('fleamarket_entry_styles', $entry_styles, false);
     $view_model->set('entries', $entries, false);
     $view_model->set('prefectures', \Config::get('master.prefectures'), false);
     $view_model->set('user', $this->login_user, false);
     $this->template->content = $view_model;
 }
 /**
  * フリーマーケット情報に紐づくフリーマーケット出店形態情報を取得する
  *
  * @access private
  * @param array $fleamarket フリーマーケット情報
  * @return array
  * @author ida
  */
 private function getFleamarketEntryStyle($fleamarket)
 {
     if (!$fleamarket) {
         return false;
     }
     $entry_style_fields = array('field' => array('entry_style_id', 'booth_fee', 'max_booth', 'reservation_booth_limit'));
     $entry_styles = \Model_Fleamarket_Entry_Style::findByFleamarketId($fleamarket['fleamarket_id'], $entry_style_fields);
     $fleamarket['entry_styles'] = $entry_styles;
     $total_reserved_booth = 0;
     $entry = \Model_Entry::getTotalEntryByFleamarketId($fleamarket['fleamarket_id'], false);
     if ($entry) {
         $total_reserved_booth = $entry[0]['reserved_booth'];
     }
     $fleamarket['total_reserved_booth'] = $total_reserved_booth;
     return $fleamarket;
 }
 /**
  * 空きブース判定
  *
  * @access public
  * @param mixed $fleamarket_id
  * @return bool
  * @author kobayasi
  */
 public static function hasEmptyBooth($fleamarket_id = null)
 {
     if (!$fleamarket_id) {
         $fleamarket_id = $this->fleamarket_id;
     }
     $max_booth = 0;
     $max_booth_result = \Model_Fleamarket_Entry_Style::getMaxBoothByFleamarketId($fleamarket_id, false);
     if (isset($max_booth_result[0]['max_booth'])) {
         $max_booth = $max_booth_result[0]['max_booth'];
     }
     $total_entry = 0;
     $total_entry_result = \Model_Entry::getTotalEntryByFleamarketId($fleamarket_id, false);
     if (isset($total_entry_result[0]['reserved_booth'])) {
         $total_entry = $total_entry_result[0]['reserved_booth'];
     }
     return $max_booth - $total_entry > 0;
 }