function main() { // QuickForm2インスタンス作成 $form = new HTML_Quickform2('qform_smarty', 'POST', array('action' => 'index.php?module=search')); // Form要素の構築 // text 要素を追加 $search = $form->addElement('text', 'search', array('style' => 'width: 100px;'), array('label' => "検索:")); if ($_GET[ADDSEARCH] != "") { $search->setValue($_GET[ADDSEARCH]); } // ボタンのグループを作成・追加 $buttonGroup = $form->addElement('group', 'buttons'); $buttonGroup->addElement('submit', 'send', array('value' => "検索")); // フィルタの設定 // name に htmlspecialchars関数を適用する $search->addFilter('htmlspecialchars'); // 全要素にtrim関数を適用する $form->addRecursiveFilter('trim'); // フォームの出力or入力後処理 if ($form->validate()) { // AddressOperationインスタンスの作成 $obj = new AddressOperation(); // 検索 $data = $obj->searchAddress($search->getValue()); // データを取得できたか if ($data[RESFLAG] == TRUE) { if (count($data[RESDATA]) != 0) { foreach ($data[1] as $num => $value) { $add_data[$num] = array('id' => $value[id], 'name_c' => $value[name_c]); } // フォームと取得したデータを作成 $this->createForm($form, $add_data); } else { $this->createForm($form); } } else { $this->createForm($form); } // データベース接続を解除 $obj->dbend(); } else { $this->createForm($form); } }
function main() { // 詳細ボタンが押された場合 if (isset($_POST[P_ADDDETAIL])) { // アドレス帳詳細ページに移動 $this->_redirect(ADDDETAIL, $_POST[P_ADDID]); } // アドレス新規作成ボタンが押された場合 if (isset($_POST[P_ADDNEW])) { // アドレス帳一覧ページに移動 $this->_redirect(ADDSET); } // アドレス検索ボタンが押された場合 if (isset($_POST[P_ADDSEARCH])) { // アドレス帳一覧ページに移動 $this->_redirect(ADDSEARCH); } // ユーザ設定ボタンが押された場合 if (isset($_POST[P_USERSET])) { // アドレス帳一覧ページに移動 $this->_redirect(USERSET); } // アドレス一覧を取得 $add_ins = new AddressOperation(); $addlist_res = $add_ins->getAddlist(); // アドレス一覧が取得できた場合 if ($addlist_res[RESFLAG] == TRUE) { // テンプレートにアドレス情報の割り当て $this->smarty->assign('res', $addlist_res[RESDATA]); // テンプレート適用 $this->smarty->display('addlist.html'); // アドレス一覧が取得できなかった場合(項目名だけ表示) } else { // テンプレート適用 $this->smarty->display('addlist.html'); } // データベース切断 $add_ins->dbend(); }
function main() { // idの取得 $id = $_GET[ID]; // インスタンスの作成 $form = new HTML_Quickform2('qform_smarty', 'POST', array('action' => 'index.php?module=address_setting')); // Form要素の構築 // hidden 要素を追加 $id_form = $form->addElement('hidden', 'action'); // text 要素を追加 $name_c = $form->addElement('text', 'name_c', array('style' => 'width: 200px;'), array('label' => "名前:")); $readname_c = $form->addElement('text', 'readname_c', array('style' => 'width: 200px;'), array('label' => "ふりがな:")); $tel_c = $form->addElement('text', 'tel_c', array('style' => 'width: 200px;'), array('label' => "電話番号:")); $tel_sub_c = $form->addElement('text', 'tel_sub_c', array('style' => 'width: 200px;'), array('label' => "電話番号(サブ):")); $mail_c = $form->addElement('text', 'mail_c', array('style' => 'width: 200px;'), array('label' => "メールアドレス:")); $mail_sub_c = $form->addElement('text', 'mail_sub_c', array('style' => 'width: 200px;'), array('label' => "メールアドレス(サブ):")); $postcode_c = $form->addElement('text', 'postcode_c', array('style' => 'width: 100px;'), array('label' => "郵便番号:")); $add_c = $form->addElement('text', 'add_c', array('style' => 'width: 300px;'), array('label' => "住所:")); $building_c = $form->addElement('text', 'building_c', array('style' => 'width: 300px;'), array('label' => "建物名:")); $fb_c = $form->addElement('text', 'fb_c', array('style' => 'width: 200px;'), array('label' => "facebookアカウント:")); // ボタンのグループを作成・追加 $buttonGroup = $form->addElement('group', 'buttons'); $buttonGroup->addElement('submit', 'send', array('value' => "登録")); $buttonGroup->addElement('reset', 'reset', array('value' => "キャンセル")); // AddressOperationインスタンスの作成 $obj = new AddressOperation(); // idがある場合、初期値を取得 if (!empty($id)) { $res = $obj->getAdddetail($id); if ($res[RESFLAG] == TRUE) { // アドレス詳細情報 $add_data = array('name_c' => $res[RESDATA]['name_c'], 'readname_c' => $res[RESDATA]['readname_c'], 'tel_c' => $res[RESDATA]['tel_c'], 'tel_sub_c' => $res[RESDATA]['tel_sub_c'], 'mail_c' => $res[RESDATA]['mail_c'], 'mail_sub_c' => $res[RESDATA]['mail_sub_c'], 'postcode_c' => $res[RESDATA]['postcode_c'], 'add_c' => $res[RESDATA]['add_c'], 'building_c' => $res[RESDATA]['building_c'], 'fb_c' => $res[RESDATA]['fb_c']); // 初期値を代入 $id_form->setValue($id); if (!empty($add_data['name_c'])) { $name_c->setValue($add_data['name_c']); } if (!empty($add_data['readname_c'])) { $readname_c->setValue($add_data['readname_c']); } if (!empty($add_data['tel_c'])) { $tel_c->setValue($add_data['tel_c']); } if (!empty($add_data['tel_sub_c'])) { $tel_sub_c->setValue($add_data['tel_sub_c']); } if (!empty($add_data['mail_c'])) { $mail_c->setValue($add_data['mail_c']); } if (!empty($add_data['mail_sub_c'])) { $mail_sub_c->setValue($add_data['mail_sub_c']); } if (!empty($add_data['postcode_c'])) { $postcode_c->setValue($add_data['postcode_c']); } if (!empty($add_data['add_c'])) { $add_c->setValue($add_data['add_c']); } if (!empty($add_data['building_c'])) { $building_c->setValue($add_data['building_c']); } if ($add_data['fb_c'] != "") { $fb_c->setValue($add_data['fb_c']); } } // テンプレートにタイトルを割り当て $this->smarty->assign('title', "アドレス帳 ~アドレス編集画面~"); $this->smarty->assign('h1', "アドレス編集"); $this->smarty->assign('id', $id); // データベース接続を解除 $obj->dbend(); } else { // テンプレートにタイトルを割り当て $this->smarty->assign('title', "アドレス帳 ~アドレス登録画面~"); $this->smarty->assign('h1', "アドレス登録"); } // パラメータのルールを設定 // 値が空かチェック $name_c->addRule('required', NAMEEMPTY); $readname_c->addRule('required', READNAMEEMPTY); // 値が正しいかチェック $tel_c->addRule('regex', TELREGEX, '/^[0-9]+$/'); $tel_sub_c->addRule('regex', TELSUBREGEX, '/^[0-9]+$/'); $postcode_c->addRule('regex', POSTREGEX, '/^[0-9]+$/'); $mail_c->addRule('regex', MAILREGEX, '/^[ -~]+$/'); $mail_sub_c->addRule('regex', MAILSUBREGEX, '/^[ -~]+$/'); $fb_c->addRule('regex', FBAREGEX, '/^[ -~]+$/'); // 長さチェック $name_c->addRule('maxlength', NAMEMAX, 125); $readname_c->addRule('maxlength', READNAMEMAX, 255); $tel_c->addRule('maxlength', TELMAX, 11); $tel_sub_c->addRule('maxlength', TELSUBMAX, 11); $mail_c->addRule('maxlength', MAILMAX, 255); $mail_sub_c->addRule('maxlength', MAILSUBMAX, 255); $postcode_c->addRule('maxlength', POSTMAX, 7); $name_c->addRule('maxlength', FBAMAX, 100); // フィルタの設定 $name_c->addFilter('htmlspecialchars'); $readname_c->addFilter('htmlspecialchars'); $mail_c->addFilter('htmlspecialchars'); $mail_sub_c->addFilter('htmlspecialchars'); $add_c->addFilter('htmlspecialchars'); $building_c->addFilter('htmlspecialchars'); $fb_c->addFilter('htmlspecialchars'); // 全要素にtrim関数を適用する $form->addRecursiveFilter('trim'); // フォームの出力or入力後処理 if ($form->validate()) { if ($id_form->getValue() == "") { $ares = $obj->addressInsert($name_c->getValue(), $readname_c->getValue(), $tel_c->getValue(), $tel_sub_c->getValue(), $mail_c->getValue(), $mail_sub_c->getValue(), $postcode_c->getValue(), $add_c->getValue(), $building_c->getValue(), $fb_c->getValue()); // Insertできたか if ($ares[RESFLAG] == TRUE) { echo ADDINSERTOK; // 連続投稿禁止用フラグ $this->smarty->assign('insertflag', TRUE); } else { echo "<span style=\"color:#FF0000\">" . ADDINSERTNG . "</span>"; } } else { $ares = $obj->addressUpdate($id_form->getValue(), $name_c->getValue(), $readname_c->getValue(), $tel_c->getValue(), $tel_sub_c->getValue(), $mail_c->getValue(), $mail_sub_c->getValue(), $postcode_c->getValue(), $add_c->getValue(), $building_c->getValue(), $fb_c->getValue()); // Updateできたか if ($ares[RESFLAG] == TRUE) { $this->smarty->assign('id', $id_form->getValue()); echo ADDUPDATEOK; } else { $this->smarty->assign('id', $id_form->getValue()); echo "<span style=\"color:#FF0000\">" . ADDUPDATENG . "</span>"; } } $this->createForm($form); } else { $this->createForm($form); } // データベース接続を解除 $obj->dbend(); }
function main() { $addid = $_GET[ID]; // GETにidがあるか if (isset($addid)) { // address.phpの読み込み require_once LIBPATH . 'address.php'; // AddressOperationインスタンスの作成 $add_ins = new AddressOperation(); // アドレス削除ボタンが押された場合 if (isset($_POST[P_ADDDELETE])) { if ($_POST[judge] == 1) { // アドレス削除処理 $del_res = $add_ins->deleteAddress($_POST[P_ADDID]); if ($del_res[RESFLAG] == TRUE) { $add_ins->dbend(); // アドレス一覧ページに移動 $this->_redirect(DEFAULT_MODULE); } else { echo "<span style=\"color:#FF0000\">" . DELERR . "</span><br>"; } } } // アドレス編集ボタンが押された場合 if (isset($_POST[P_ADDEDIT])) { // アドレス編集ページに移動 $this->_redirect(ADDSET, $_POST[P_ADDID]); } // アドレスの詳細を取得 $add_res = $add_ins->getAdddetail($addid); if ($add_res[RESFLAG] == TRUE) { // データベース接続を解除 $add_ins->dbend(); // Facebook情報取得 $fb_flag = FALSE; if (isset($add_res[RESDATA]['fb_c'])) { require_once LIBPATH . 'fb.php'; // Facebook_Accessインスタンス作成 $fb_ins = new Facebook_Access(); // アドレスのFacebook情報取得 $fb_res = $fb_ins->getFbProfile($add_res[RESDATA]['fb_c']); if ($fb_res[RESFLAG] == TRUE) { // アドレスのFacebookページが存在するか if ($fb_res[RESDATA]['link'] != NULL) { // テンプレートにFacebook情報の割り当て $this->smarty->assign('fb_res', $fb_res[RESDATA]); $fb_flag = TRUE; } else { echo "<span style=\"color:#FF0000\">" . FBERR . "(" . $add_res[RESDATA]['fb_c'] . FBNOTFOUND . ")" . "</span><br>"; } } else { echo "<span style=\"color:#FF0000\">" . FBERR . "(" . $fb_res[RESDATA] . ")" . "</span><br>"; } } // Googleマップ情報取得 $g_flag = FALSE; if (isset($add_res[RESDATA]['add_c'])) { require_once LIBPATH . 'gmap.php'; // GoogleMapsApiOperationインスタンス作成 $gmap_ins = new GoogleMapsApiOperation(); // アドレスからGoogleマップ情報取得 $gmap_res = $gmap_ins->getGmaps($add_res[RESDATA]['postcode_c'], $add_res[RESDATA]['add_c'], $add_res[RESDATA]['building_c']); if ($gmap_res[RESFLAG] == TRUE) { // テンプレートにGoogleマップ情報の割り当て $this->smarty->assign('gmap_res', $gmap_res[RESDATA]); $g_flag = TRUE; } else { echo "<span style=\"color:#FF0000\">" . GMAPERR . "</span><br>"; } } // テンプレートにアドレスIDの割り当て $this->smarty->assign('add_id', $addid); // テンプレートにアドレス情報の割り当て $this->smarty->assign('add_res', $add_res[RESDATA]); // テンプレートに画面表示用フラグ情報の割り当て $this->smarty->assign('fb_flag', $fb_flag); $this->smarty->assign('g_flag', $g_flag); // テンプレート適用 $this->smarty->display('adddetail.html'); } } }