/** * フリーマーケット詳細表示画面 * * @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; }