MTS Simple Booking C
MTS Simple Booking C(以下MSBC)
このプラグイン、なんとWopdpress上で予約システムを展開できる、ッて、シロートには夢のようなプラグイン!!
で、こちらのサイト、「MTS Simple Booking C カスタマイズ記録」を拝見しながら、夢のボーダーラインををさらに踏み越えていこうと四苦八苦・・・
メールで予約の自動キャンセル、なんてとこまで実装できるかな・・・
if (!class_exists('MTSSB_Booking')) { require_once(dirname(__FILE__) . '/mtssb-booking.php'); } class MTSSB_Yosaku2 extends MTSSB_Booking { function yoyaku_sakujo2() { $url = get_permalink(); echo "<form method=\"post\" action=\"$url\">"; echo 'ご予約時のメールに記載の「名前」「キャンセル用パスワード」「キャンセル用ID」をご用意ください。<br />'; echo 'キャンセル情報を「送信」後、「予約をキャンセルする」ボタンが表示されたら、','<br />','ご予約内容を確認の上「予約をキャンセルする」をクリックしてださい。<br />'; echo'<br />'; echo '予約時に登録した名前を入力<input type="text" class="content-text medium" name="name_sub" >'; echo '予約時に登録したキャンセル用パスワードを入力<input type="text" class="content-text medium" name="pass_sub">'; echo '予約確認メールに記載したキャンセル用IDを入力<input type="text" class="content-text medium" name="id_sub">'; echo '<input type="submit" value="送信"></form>'; echo'<br />'; $daytime = time(); $daytime = $daytime - $daytime % 86400; $maxmonth = 6;//何ヶ月先まで予約可能か $maxday = $daytime + $maxmonth*31*24*60*60; if(isset($_POST['yosaku_sub']) != FALSE){ $del_id = $_POST['yosaku_sub']; $del_name = $_POST['yosakun_sub']; $del_time = $_POST['yosakut_sub']; mb_language("Japanese"); mb_internal_encoding("UTF-8"); mb_send_mail('5963desu@xxxxxx.net', '三十人坂キャンセル','予約ID:'. $del_id.' 予約名:'.$del_name.' 予約日時:'.$del_time); $yo_sakujo = $this->del_booking($del_id); echo '予約をキャンセルしました。<br />'; } $yo_flag = FALSE; $rooma_name = '三十人坂占の館 予約'; $rooma_id = 104; if(isset($_POST['pass_sub']) != FALSE){ $user_name = $_POST['name_sub']; $pass_word = $_POST['pass_sub']; $id_num = $_POST['id_sub']; while($daytime <= $maxday){ $yo_array = $this->get_booking_of_theday($daytime); $num = 0; $maxnum = 8;//1日に可能な予約数 while($num < $maxnum){ if($yo_array[$num]){ if($yo_array[$num]['client']['password'] == $pass_word && $yo_array[$num]['client']['name'] == $user_name && $yo_array[$num]['booking_id'] == $id_num){ $yo_time = date("Y年n月j日H:i",$yo_array[$num]['booking_time']); $yo_namename = $yo_array[$num]['client']['name']; $yo_id = $yo_array[$num]['booking_id']; echo "<table><tr><td><form method=\"post\" action=\"$url\">"; echo "<input type=\"hidden\" name=\"yosaku_sub\" value=\"$yo_id\">"; echo "<input type=\"hidden\" name=\"yosakun_sub\" value=\"$yo_namename\">"; echo "<input type=\"hidden\" name=\"yosakut_sub\" value=\"$yo_time\">"; echo '<br />ご予約内容を確認の上、問題なければ「予約をキャンセルする」をクリックしてください。','<br />','キャンセルを中断するに「キャンセルの中断」をクリックしてください。','<br />'; echo '<br />'; echo '☆☆ご予約内容☆☆','<br />'; echo '予約ID:'.$yo_id; echo '<br />'; echo '予約のお名前:'.$yo_namename; echo '<br />'; echo '予約の日時:'.$yo_time,'<br />'; echo '<br />'; //echo "<input type=\"submit\" value=\"削除\" onclick=\"return confirm('この予約を本当にキャンセルしてもいいですか?')\"></form>"; echo "<input type=\"submit\" value=\"予約をキャンセルする\" onclick=\"yoyaku_sakujo2()\"></form>"; if($yo_array[$num]['article_id'] == $rooma_id){$yo_room = $rooma_name;} //echo '<br />ご予約内容:',$yo_time,',',$yo_room,',',$yo_array[$num]['client']['name']; echo '<br />'; echo '<br />'; $yo_array2 = $this->get_booking($yo_array[$num]['booking_id']); //if($yo_array2['note']){echo '<br />',$yo_array2['note'];} //echo '</td></tr></table><hr />'; $yo_flag = TRUE; } } $num = $num + 1; } $daytime = $daytime + 86400; } $test_flag2 = 'OK'; if(!$yo_flag){echo '入力された「名前」、「キャンセル用パスワード」または「キャンセル用ID」が違います。';} } } } $ys2 = new MTSSB_Yosaku2(); add_shortcode('yo_saku2', array($ys2, 'yoyaku_sakujo2'));
つづくかな・・・?