/**
  * Constructor
  *
  */
 public function __construct()
 {
     global $mts_simple_booking;
     parent::__construct();
     $this->nonce_word = "{$this->domain}_option";
     $this->catalog_name = $this->domain . MTS_Simple_Booking::CATALOG_NAME;
     // リストテーブルモジュールのロード
     if (!class_exists('WP_List_Table')) {
         require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
     }
     // CSSロード
     $mts_simple_booking->enqueue_style();
     // Javascriptロード
     wp_enqueue_script("mtssb_option_admin_js", $mts_simple_booking->plugin_url . "js/mtssb-option-admin.js", array('jquery'));
     // オプションカタログを取得する(Ver.1.9追加)
     $this->catalog = get_option($this->catalog_name);
     // オプションカタログの登録(Ver.1.9追加 グループオプションへ変更)
     if ($this->catalog === false) {
         $this->_create_catalog();
     }
 }
    /**
     * PayPal・予約ボタン出力
     *
     */
    private function _outconfirm_button()
    {
        // 入力オプションデータを配列に変換し、メッセージフィルターのパラメータにセットする
        $options = MTSSB_Option::recordSet($this->booking['options']);
        $param = array('aid' => $this->booking['article_id'], 'options' => $options);
        // PayPalボタン出力の確認
        $paypal_out = apply_filters('mtssb_paypal_button_out', 1 <= $this->charge['checkout'], $param);
        // 予約ボタン出力の確認
        $booking_out = apply_filters('mtssb_booking_button_out', $this->charge['pay_first'] <= 0, $param);
        // ボタン出力前のメッセージ
        $button_message = '';
        if ($paypal_out && $booking_out) {
            $button_message = '銀行振込その他でお支払いの場合は「予約する」を押してご予約下さい。';
        } elseif ($paypal_out) {
            $button_message = 'お支払いを実行していただくと予約されます。';
        } elseif (!$booking_out) {
            $button_message = '入力項目を確認して下さい。';
        }
        // ボタンメッセージのメッセージフィルター
        $button_message = apply_filters('mtssb_confirm_button_message', $button_message, $param);
        // メッセージの出力
        if (!empty($button_message)) {
            $open_div = sprintf('<div id="button-message"%s>', $paypal_out || $booking_out ? '' : ' class="error-message"');
            echo apply_filters('booking_form_button_message', sprintf('%s%s</div>', $open_div, $button_message));
        }
        ?>

	<div id="action-button">
		<?php 
        // PayPalボタン出力
        if ($paypal_out) {
            echo apply_filters('booking_form_checkout_button', '<button type="submit" name="reserve_action" value="checkout" style="border:0px; width:145px; height:42px; background:url(https://www.paypal.com/ja_JP/i/btn/btn_xpressCheckout.gif); vertical-align:middle"></button>');
        }
        // 予約ボタン出力
        if ($booking_out) {
            if ($paypal_out) {
                echo apply_filters('booking_form_button_or', ' または ', $param);
            }
            echo apply_filters('booking_form_submit_button', '<button type="submit" value="validate">予約する</button>');
        }
        // ボタン出力がない場合
        if (!$paypal_out && !$booking_out) {
            echo '<div class="paypal-out return-button">' . '<button type="button" onclick="history.back(); return false;">戻る</button>' . '</div>';
            // ボタンカバーの出力
        } elseif ($this->charge['accedence'] == 1) {
            echo '<div id="action-button-cover"></div>';
        }
        ?>

	</div>
<?php 
    }
Exemple #3
0
 /**
  * bookingデータをテーブルに登録するデータ形式に変換する
  *
  *
  */
 protected function _recordData()
 {
     $record = array();
     $record['booking_id'] = $this->booking['booking_id'];
     $record['booking_time'] = $this->booking['booking_time'];
     $record['confirmed'] = $this->booking['confirmed'];
     $record['parent_id'] = $this->booking['parent_id'];
     $record['article_id'] = $this->booking['article_id'];
     $record['user_id'] = $this->booking['user_id'];
     $record['number'] = $this->booking['number'];
     if ($this->booking['user_id'] == self::USER_ADJUSTED) {
         $record['options'] = null;
         $record['client'] = null;
     } else {
         if (!is_null($this->booking['client'])) {
             $record['options'] = serialize(MTSSB_Option::recordSet($this->booking['options']));
             $client = $this->booking['client'];
             $client['birthday'] = $this->booking['client']['birthday']->get_date();
             $record['client'] = serialize($client);
         }
     }
     $record['note'] = $this->booking['note'];
     $this->record = $record;
 }