/**
  * 対象のフリマを取得
  *
  * @access private
  * @return Model_Fleamarket array
  */
 private function getFleamarkets()
 {
     $target_event_statuses = array(\Model_Fleamarket::EVENT_STATUS_SCHEDULE, \Model_Fleamarket::EVENT_STATUS_RESERVATION_RECEIPT, \Model_Fleamarket::EVENT_STATUS_RECEIPT_END);
     $date = \Date::forge(strtotime('- 1 day'));
     $fleamarkets = \Model_Fleamarket::find('all', array('select' => array('fleamarket_id', 'event_status'), 'where' => array(array('event_date', '<=', $date->format('mysql')), array('register_type', '=', \Model_Fleamarket::REGISTER_TYPE_ADMIN), array('event_time_end', '<=', $date::time()->format('mysql')), array('event_status', 'IN', $target_event_statuses))));
     return $fleamarkets;
 }
コード例 #2
0
 /**
  * 会場詳細
  *
  * @access public
  * @param mixed $location_id 会場ID
  * @param mixed $fleamarket_id フリマID
  * @return void
  * @author ida
  */
 public function action_detail($location_id = null, $fleamarket_id = null)
 {
     if (!$location_id) {
         return $this->forward('errors/notfound', 404);
     }
     \Asset::css('jquery-ui.min.css', array(), 'add_css');
     \Asset::js('jquery-ui.min.js', array(), 'add_js');
     // 会場に紐づくフリマを取得する
     $fleamarket_date_list = \Model_Fleamarket::find('all', array('select' => array('fleamarket_id', 'event_date'), 'where' => array(array('location_id' => $location_id)), 'order_by' => array('event_date' => 'asc')));
     if (!$location_id || !$fleamarket_date_list) {
         \Response::redirect('errors/notfound');
     }
     if (!$fleamarket_id) {
         $first_fleamarket = end($fleamarket_date_list);
         $fleamarket_id = $first_fleamarket['fleamarket_id'];
     }
     $fleamarket = \Model_Fleamarket::findDetail($fleamarket_id);
     if (!$fleamarket) {
         \Response::redirect('errors/notfound');
     }
     $this->setHtmlReplace(array('AREA' => $this->getArea($fleamarket['prefecture_id']), 'AREA_NAME' => $this->getAreaName($fleamarket['prefecture_id']), 'LOCATION_ID' => $fleamarket['location_id'], 'LOCATION_NAME' => $fleamarket['location_name'], 'FLEAMARKET_NAME' => $fleamarket['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);
     $view_model = \ViewModel::forge('location/detail');
     $view_model->set('fleamarket', $fleamarket, false);
     $view_model->set('fleamarket_date_list', $fleamarket_date_list, 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('prefectures', \Config::get('master.prefectures'), false);
     $view_model->set('user', $this->login_user, false);
     $this->template->content = $view_model;
 }
コード例 #3
0
 /**
  * 表示に必要なデータを取得し設定する
  *
  * @access private
  * @param array $input_data 入力データ
  * @return array
  * @author ida
  */
 private function setupData($data)
 {
     $replace_data = array();
     $replace_data['user'] = $this->user;
     $mail_magazine_type = $data['mail_magazine_type'];
     switch ($mail_magazine_type) {
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_ALL:
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_REQUEST:
             $this->set('prefectures', \Config::get('master.prefectures'), false);
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_RESEVED_ENTRY:
             $fleamarket_id = $data['reserved_fleamarket_id'];
             $fleamarket = \Model_Fleamarket::find($fleamarket_id);
             $replace_data['fleamarket'] = $fleamarket;
             $this->set('fleamarket', $fleamarket, false);
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_WAITING_ENTRY:
             $fleamarket_id = $data['waiting_fleamarket_id'];
             $fleamarket = \Model_Fleamarket::find($fleamarket_id);
             $replace_data['fleamarket'] = $fleamarket;
             $this->set('fleamarket', $fleamarket, false);
             break;
     }
     $users = \Model_Mail_Magazine_User::findListByMailMagazineId($this->mail_magazine_id, null, null);
     $this->set('users', $users, false);
     $body = $data['body'];
     $pattern = \Model_Mail_Magazine::getPatternParameter($mail_magazine_type);
     list($pattern, $replacement) = \Model_Mail_Magazine::createReplaceParameter($body, $pattern, $replace_data);
     $body = \Model_Mail_Magazine::replaceByParam($body, $pattern, $replacement);
     $this->set('body', $body, false);
     $this->set('input_data', $data, false);
 }
コード例 #4
0
 public function before()
 {
     parent::before();
     if (!Auth::check()) {
         return $this->responseJson('nologin', true);
     }
     $this->fleamarket = Model_Fleamarket::find(Input::param('fleamarket_id'));
     if (!$this->fleamarket) {
         return $this->responseJson('nodata', true);
     }
     $this->input = array('user_id' => Auth::get_user_id(), 'fleamarket_id' => Input::param('fleamarket_id'));
     $this->favorite = Model_Favorite::query()->where($this->input)->get_one();
 }
 public function before()
 {
     parent::before();
     $this->fieldset = $this->getFieldset();
     if (!$this->fieldset) {
         throw new \SystemException(\Model_Error::ER00501);
     }
     $input = $this->fieldset->input();
     $fleamarket = \Model_Fleamarket::find($input['fleamarket_id']);
     if (!$fleamarket) {
         throw new \SystemException(\Model_Error::ER00501);
     }
     $this->fleamarket = $fleamarket;
     if ($input['fleamarket_entry_style_id']) {
         $this->fleamarket_entry_style = \Model_Fleamarket_Entry_Style::find('first', array('where' => array('fleamarket_entry_style_id' => $input['fleamarket_entry_style_id'], 'fleamarket_id' => $input['fleamarket_id'])));
     }
 }
 /**
  * fleamarkets テーブルへの登録
  *
  * @access private
  * @param
  * @return Model_Fleamarketオブジェクト
  * @author kobayashi
  */
 private function registerFleamarket()
 {
     $data = $this->getFleamarketData();
     if (!$data) {
         throw new \Exception(\Model_Error::ER00502);
     }
     $fleamarket = \Model_Fleamarket::find(\Input::post('fleamarket_id'));
     $administrator_id = $this->administrator->administrator_id;
     if ($fleamarket) {
         $data['updated_user'] = $administrator_id;
     } else {
         $fleamarket = \Model_Fleamarket::forge();
         $data['reservation_serial'] = 1;
         $data['created_user'] = $administrator_id;
     }
     $fleamarket->set($data)->save();
     return $fleamarket;
 }
コード例 #7
0
<?php

use Model_Entry;
use Model_Fleamarket;
use Model_Fleamarket_Entry_Style;
use Model_User;
$item_categories = array('1' => 'リサイクル品', '2' => '手作り品');
$item_genres = \Model_Entry::getItemGenres();
$link_from_list = \Model_Entry::getLinkFromList();
$entry_statuses = \Model_Entry::getEntryStatuses();
$fleamarkets = \Model_Fleamarket::find('all', array('select' => array('fleamarket_id')));
$users = \Model_User::find('all', array('select' => array('user_id')));
for ($i = 1; $i < 1000; $i++) {
    $item_category = array_rand($item_categories);
    $item_genre = array_rand($item_genres);
    $link_from = array_rand($link_from_list);
    $entry_status = array_rand($entry_statuses);
    while (true) {
        $fleamarket_key = array_rand($fleamarkets);
        $fleamarket = $fleamarkets[$fleamarket_key];
        $fleamarket_entry_styles = \Model_Fleamarket_Entry_Style::find('all', array('select' => array('fleamarket_entry_style_id'), 'where' => array(array('fleamarket_id', $fleamarket->fleamarket_id))));
        if ($fleamarket_entry_styles) {
            $fleamarket_entry_style_key = array_rand($fleamarket_entry_styles);
            $fleamarket_entry_style = $fleamarket_entry_styles[$fleamarket_entry_style_key];
            break;
        }
    }
    $user_key = array_rand($users);
    $user = $users[$user_key];
    $data = array('user_id' => $user->user_id, 'fleamarket_id' => $fleamarket->fleamarket_id, 'fleamarket_entry_style_id' => $fleamarket_entry_style->fleamarket_entry_style_id, 'reservation_number' => str_pad($fleamarket->fleamarket_id, 5, "0", STR_PAD_LEFT) . '-' . str_pad($i, 5, "0", STR_PAD_LEFT), 'item_category' => $item_category, 'item_genres' => $item_genres[$item_genre], 'reserved_booth' => mt_rand(1, 3), 'link_from' => $link_from_list[$link_from], 'remarks' => '初めてフリマを予約します' . $i, 'entry_status' => $entry_status, 'created_user' => 0);
    $entry = \Model_Entry::forge($data);
コード例 #8
0
 /**
  * 予約履歴CSV出力
  *
  * @access public
  * @param
  * @return void
  * @author kobayashi
  * @author ida
  */
 public function action_csv()
 {
     $fleamarket = Model_Fleamarket::find(Input::param('fleamarket_id'));
     $csv = Lang::load('admin/csv');
     $data = array($csv['header']);
     $prefectures = \Config::get('master.prefectures');
     $entry_styles = \Config::get('master.entry_styles');
     $entry_statuses = \Model_Entry::getEntryStatuses();
     $gender_list = \Model_User::getGenderList();
     foreach ($fleamarket->entries as $entry) {
         if ($entry->user && $entry->fleamarket_entry_style) {
             $prefecture_id = $entry->user->prefecture_id;
             if (!isset($prefectures[$prefecture_id])) {
                 $prefecture_name = '-';
             } else {
                 $prefecture_name = $prefectures[$prefecture_id];
             }
             $data[] = array($entry->created_at, $fleamarket->event_date, $fleamarket->name, $entry->user->user_id, $entry->reservation_number, $entry_styles[$entry->fleamarket_entry_style->entry_style_id], $entry->reserved_booth, $entry->user->last_name . $entry->user->first_name, $entry->user->zip, $prefecture_name, $entry->user->address, $entry->user->tel, @$gender_list[$entry->user->gender], $entry->user->email, $entry_statuses[$entry->entry_status]);
         }
     }
     return $this->response_csv($data, $fleamarket->name);
 }
 /**
  * 表示に必要なデータを取得し設定する
  *
  * @access private
  * @param object $view_model ビューモデル
  * @param array $input_data 入力データ
  * @return array
  * @author ida
  */
 private function setupData($view_model, $data)
 {
     $replace_data = array();
     $replace_data['user'] = $this->administrator;
     $mail_magazine_type = $data['mail_magazine_type'];
     switch ($mail_magazine_type) {
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_ALL:
             $users = \Model_User::getActiveUsers();
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_REQUEST:
             $users = \Model_User::getMailMagazineUserBy($data['prefecture_id'], $data['organization_flag']);
             $view_model->set('prefectures', \Config::get('master.prefectures'), false);
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_RESEVED_ENTRY:
             $fleamarket_id = $data['reserved_fleamarket_id'];
             $users = \Model_Entry::getEntriesByFleamarketId($fleamarket_id, \Model_Entry::ENTRY_STATUS_RESERVED);
             $fleamarket = \Model_Fleamarket::find($fleamarket_id);
             $replace_data['fleamarket'] = $fleamarket;
             $view_model->set('fleamarket', $fleamarket, false);
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_WAITING_ENTRY:
             $fleamarket_id = $data['waiting_fleamarket_id'];
             $users = \Model_Entry::getEntriesByFleamarketId($fleamarket_id, \Model_Entry::ENTRY_STATUS_WAITING);
             $fleamarket = \Model_Fleamarket::find($fleamarket_id);
             $replace_data['fleamarket'] = $fleamarket;
             $view_model->set('fleamarket', $fleamarket, false);
             break;
     }
     $view_model->set('users', $users, false);
     $body = $data['body'];
     $pattern = \Model_Mail_Magazine::getPatternParameter($mail_magazine_type);
     list($pattern, $replacement) = \Model_Mail_Magazine::createReplaceParameter($body, $pattern, $replace_data);
     $body = \Model_Mail_Magazine::replaceByParam($body, $pattern, $replacement);
     $view_model->set('body', $body, false);
     $view_model->set('input_data', $data, false);
     return array($view_model, $replace_data);
 }
 /**
  * 出店予約可能のフリマ情報一覧を取得する
  *
  * $termが未指定の場合、1ヵ月間で取得する
  *
  * @access public
  * @param array $term 取得する期間
  * @return object
  * @author ida
  */
 public static function getReservationFleamarket($term = null)
 {
     if (!$term) {
         $term = array(\DB::expr('CURDATE()'), \DB::expr('CURDATE() + INTERVAL 6 MONTH'));
     }
     $result = \Model_Fleamarket::find('all', array('select' => array('fleamarket_id', 'name', 'event_date'), 'where' => array(array('event_status', '<=', \Model_Fleamarket::EVENT_STATUS_RECEIPT_END), array('display_flag', '=', \Model_Fleamarket::DISPLAY_FLAG_ON), array('register_type', '=', \Model_Fleamarket::REGISTER_TYPE_ADMIN), array('event_date', 'BETWEEN', $term))));
     return $result;
 }
 /**
  * フリマ情報登録・更新
  *
  * @access private
  * @param object $fieldset フィールドセット
  * @param mixed $fleamarket_id フリマID
  * @return bool
  * @author ida
  */
 private function saveFleamarket($fieldset, $location_id = null)
 {
     $fleamarket_data = $this->createFleamarket($fieldset, $location_id);
     if (!empty($fleamarket_data['fleamarket_id'])) {
         $fleamarket = \Model_Fleamarket::find($fleamarket_data['fleamarket_id']);
     } else {
         $fleamarket = \Model_Fleamarket::forge();
     }
     unset($fleamarket_data['fleamarket_id']);
     if ($fleamarket->set($fleamarket_data)->save()) {
         return $fleamarket;
     } else {
         throw new Exception();
     }
 }
 /**
  * 本文のリプレイス情報を生成する
  *
  * @access private
  * @param array $mail_magazine メルマガ情報
  * @return array
  * @author ida
  */
 private function makeReplaceData($mail_magazine)
 {
     $replace_data = array();
     $add_data = unserialize($mail_magazine['additional_serialize_data']);
     $mail_magazine_type = $mail_magazine['mail_magazine_type'];
     switch ($mail_magazine_type) {
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_ALL:
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_REQUEST:
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_RESEVED_ENTRY:
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_WAITING_ENTRY:
             $fleamarket_id = $add_data['fleamarket_id'];
             $fleamarket = \Model_Fleamarket::find($fleamarket_id);
             $replace_data['fleamarket'] = $fleamarket;
             break;
     }
     return $replace_data;
 }