/** * 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 }
/** * 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; }