getSubmitValue("reset")) { $form->_submitValues = array(); } else { // デフォルトの値 $default = $_REQUEST; // デフォルトの設定 $form->setDefaults($default); } // JavaScript のエラーメッセージ $form->setJsWarnings("以下の項目を確認してください", "エラーがあります"); // とりあえずトリムしてあげる $form->applyFilter("__ALL__", "trim"); // 固有番号 $form->addElement('text', 'gyousha_koyuu_bangou', '固有番号', array("size" => 30, "id" => 'i_gyousha_koyuu_bangou')); // 統一許可番号 $form->addElement('text', 'kyoka_bangou', '統一許可番号', array("size" => 30, "id" => 'i_kyoka_bangou')); // 所在地(県 $option[0] = "---"; $option = array_merge($option, getPrefList()); $form->addElement("select", "address_pref", "", $option, array("id" => 'i_address_pref')); // 所在地テキスト $form->addElement("text", "address", "", array("size" => 30, "id" => 'i_address')); // 業者名 $form->addElement("text", "name", "", array("size" => 30, "id" => 'i_name')); // 許可主体 $options = getPrefList(); //$hoge = $form->addElement("select", "kyoka_shutai_pref", "", $options, array("multiple " => "multiple", "size" => 5)); $hoge = $form->addElement("select", "kyoka_shutai_pref", "", $options, array("multiple" , "size" => 5, "id" => 'i_kyoka_shutai_pref')); $hoge->updateAttributes("multiple", "multiple"); //$form->addGroup($hoge, "kyoka_shutai_pref"); $options = getCityList(); //$foo = $form->addElement("select", "kyoka_shutai_city", "", $options, array("multiple " => "multiple", "size" => 5)); $foo = $form->addElement("select", "kyoka_shutai_city", "", $options, array("size" => 5, "id" => 'i_kyoka_shutai_city')); $foo->updateAttributes("multiple", "multiple"); // 許可年月日 $option = array("" => "-"); for ($i = date('Y') - 10; $i < date('Y') + 5; $i++) { $option[$i] = sprintf("%d(平成%d年)", $i, $i - 1988); } $form->addElement("select", "kyoka_kaishi_year", "", $option, array("id" => 'i_kyoka_kaishi_year')); $option = array("" => "-"); for ($i = 1; $i < 13; $i++) { $option[$i] = $i; } $form->addElement("select", "kyoka_kaishi_month", "", $option, array("id" => 'i_kyoka_kaishi_month')); $option = array("" => "-"); for ($i = 1; $i < 32; $i++) { $option[$i] = $i; } $form->addElement("select", "kyoka_kaishi_day", "", $option, array("id" => 'i_kyoka_kaishi_day')); // 許可終了年月日 $option = array("" => "-"); for ($i = date('Y') - 10; $i < date('Y') + 5; $i++) { $option[$i] = sprintf("%d(平成%d年)", $i, $i - 1988); } $form->addElement("select", "kyoka_shuuryou_year", "", $option, array("id" => 'i_kyoka_shuuryou_year')); $option = array("" => "-"); for ($i = 1; $i < 13; $i++) { $option[$i] = $i; } $form->addElement("select", "kyoka_shuuryou_month", "", $option, array("id" => 'i_kyoka_shuuryou_month')); $option = array("" => "-"); for ($i = 1; $i < 32; $i++) { $option[$i] = $i; } $form->addElement("select", "kyoka_shuuryou_day", "", $option, array("id" => 'i_kyoka_shuuryou_day')); /** * 業の区分 */ // 産業廃棄物収集運搬業 $unpan = array(); $unpan[] = $form->createElement("radio", "unpan", NULL, "全て", "all"); $unpan[] = $form->createElement("radio", "unpan", NULL, "積替えを含まない", "no_load"); $unpan[] = $form->createElement("radio", "unpan", NULL, "積替えを含む", "load"); $form->addGroup($unpan, "unpan", "", " ", false); // 産業廃棄物処分業 $shobun = array(); $shobun[] = $form->createElement("radio", "shobun", NULL, "全て", "all"); $shobun[] = $form->createElement("radio", "shobun", NULL, "中間処分のみ", "middle"); $shobun[] = $form->createElement("radio", "shobun", NULL, "最終処分のみ", "last"); $shobun[] = $form->createElement("radio", "shobun", NULL, "中間・最終処分", "middle_last"); $form->addGroup($shobun, "shobun", "", " ", false); // 特別管理産業廃棄物収集運搬業 $tokubetu_unpan = array(); $tokubetu_unpan[] = $form->createElement("radio", "tokubetu_unpan", NULL, "全て", "all"); $tokubetu_unpan[] = $form->createElement("radio", "tokubetu_unpan", NULL, "積替えを含まない", "no_load"); $tokubetu_unpan[] = $form->createElement("radio", "tokubetu_unpan", NULL, "積替えを含む", "load"); $form->addGroup($tokubetu_unpan, "tokubetu_unpan", "", " ", false); // 特別管理産業廃棄物処分業 $tokubetu_shobun = array(); $tokubetu_shobun[] = $form->createElement("radio", "tokubetu_shobun", NULL, "全て", "all"); $tokubetu_shobun[] = $form->createElement("radio", "tokubetu_shobun", NULL, "中間処分のみ", "middle"); $tokubetu_shobun[] = $form->createElement("radio", "tokubetu_shobun", NULL, "最終処分のみ", "last"); $tokubetu_shobun[] = $form->createElement("radio", "tokubetu_shobun", NULL, "中間・最終処分", "middle_last"); $form->addGroup($tokubetu_shobun, "tokubetu_shobun", "", " ", false); /** * ルールの設定 */ // 固有番号のルール $form->addRule("gyousha_koyuu_bangou", "固有番号(数値を入力してください)", "numeric", NULL, "client"); $form->addRule("gyousha_koyuu_bangou", "固有番号(6桁で入力してください)", "rangelength", array(6,6), "client"); // 統一許可番号 $form->addRule("kyoka_bangou", "統一許可番号(数値を入力してください)", "numeric", NULL, "client"); $form->addRule("kyoka_bangou", "数字11桁を入力してください。なお、10桁の許可番号の場合、先頭に0を付けて11桁としてください。", "rangelength", array(11,11), "client"); // 検索ボタンとリセットボタン /* $submit[] = $form->createElement("submit", "search", "検索"); $submit[] = $form->createElement("submit", "reset", "リセット"); $form->addGroup($submit, "submit", null, null); */ /** * validate */ if (!$form->getSubmitValue("reset")) { if ($form->validate()) { $jouken = array(); $form->process('saveJouken', false); $append = getQueryString($jouken); Location("./search_list.php?$append"); exit; } } /** * スマーティで描画 */ //$smarty = new mySmarty(); //require_once("HTML/QuickForm/Renderer/ArraySmarty.php"); //$renderer = new HTML_QuickForm_Renderer_ArraySmarty($smarty); //$form->accept($renderer); //$smarty->assign("form", $renderer->toArray()); //$smarty->assign("error", $error_message); // //$smarty->display("search.html"); $tmpl = new MyTemplate(); require_once("HTML/QuickForm/Renderer/Array.php"); $renderer = new HTML_QuickForm_Renderer_Array(); $form->accept($renderer); $elms = $renderer->toArray(); $formArray = array(); $formArray["javascript"] = $elms["javascript"]; $formArray["attributes"] = $elms["attributes"]; $formArray["requirednote"] = $elms["requirednote"]; $formArray["errors"] = $elms["errors"]; foreach ($elms["elements"] as $elm) { if ($elm["type"] == "group") { $html = ""; foreach ($elm["elements"] as $elm2) { if ($html != "") { $html .= $elm["separator"]; } $html .= $elm2["html"]; } $formArray[$elm["name"]] = $html; } else { $formArray[$elm["name"]] = $elm["html"]; } } $tmpl->form = $formArray; $tmpl->error = $error_message; $tmpl->show("search.html"); /** * POSTされた後でOKだった場合に呼ばれる関数 * セッションに検索条件を保存する。 * @param $value * @return boolean */ function saveJouken($value) { global $jouken; if ($_POST["koyuu_search"]) { //$_SESSION["search_jouken"] = array("gyousha_koyuu_bangou" => $value["gyousha_koyuu_bangou"]); $jouken = array("gyousha_koyuu_bangou" => $value["gyousha_koyuu_bangou"]); } else if ($_POST["kyoka_search"]) { //$_SESSION["search_jouken"] = array("kyoka_bangou" => $value["kyoka_bangou"] ); $jouken = array("kyoka_bangou" => $value["kyoka_bangou"] ); } else if ($_POST["search"]) { unset($value["gyousha_koyuu_bangou"]); unset($value["kyoka_bangou"]); //$_SESSION["search_jouken"] = $value; $jouken = $value; } else { //$_SESSION["search_jouken"] = $value; $jouken = $value; } return true; } /** * セッションに保存できない検索条件を * GETで渡すためのクエリストリングを作成するための関数 */ function getQueryString($jouken) { $str_list = array(); if (isset($jouken["search"])) { $jouken["search"] = "3"; } foreach ((array)$jouken as $key => $val) { if (is_array($val)) { $tmp_list = array(); foreach ($val as $k => $v) { $tmp_list[] = urlencode($key)."[".urlencode($k)."]=".urlencode($v); } $tmp = join("&", $tmp_list); } else { $tmp = urlencode($key) ."=" . urlencode($val); } $str_list[] = $tmp; } $ret = join("&", $str_list); return $ret; } ?>