start(); //共通サブルーチンの読み込み require("common.sub"); //フォームからポストされた情報を保存する isset($_POST["reset"]) ? $reset = true : $reset = false; isset($_POST["kensakuText"]) ? $kensaku = true : $kensaku = false; isset($_POST["password"]) ? $ninsyou = true : $ninsyou = false; isset($_POST["sortOrder"]) ? $sortOrder = true : $sortOrder = false; if($kensaku == true){ $kensakuType = $_POST["kensakuType"]; //[AND]、[OR]の取得 isset($_POST["kensakuMode"]) ? $kensakuMode = $_POST["kensakuMode"] : null; //[全検索]、[この検索結果以下から検索]の取得 // $_SESSION["kensakuText"] = $_POST["kensakuText"]; //検索条件文字列の取得 $_SESSION["kensakuText"] = htmlspecialchars($_POST["kensakuText"]); //検索条件文字列の取得 } //画面モード判定のフラグ(false:一般モード true:管理モード) if(isset($_SESSION["kanriMode"]) == false){ $_SESSION["kanriMode"] = false; } //新規データ登録画面で行った処理結果(false:未登録 true:新規登録を行った) if(isset($_SESSION["sinkiTouroku"]) == false){ $_SESSION["sinkiTouroku"] = false; } //返信画面で行った処理結果(false:未登録 true:登録を行った) if(isset($_SESSION["hensinResult"]) == false){ $_SESSION["hensinResult"] = false; } //編集画面で行った処理結果(null:未処理 完了メッセージ文字列:変更・削除を行った) if(isset($_SESSION["hensyuu"]) == false){ $_SESSION["hensyuu"] = null; } //表示ページの保存エリア if(isset($_SESSION["page"]) == false){ $_SESSION["page"] = "all"; } //アップロード件数保存エリア if(isset($_SESSION["countUpload"]) == false){ $_SESSION["countUpload"] = 0; } //CSVデータ新規登録、修正、削除、返信コメントを行ったか判断するフラグ //全件表示のときに新しくデータを取得するかどうかの判断に使用する if(isset($_SESSION["flagUpdate"]) == false){ $_SESSION["flagUpdate"] = false; } //ページ設定データの保存エリア if(isset($_SESSION["pageData"]) == false){ readPageFile($_SESSION["pageData"]); } //フォーム設定データの保存エリア if(isset($_SESSION["formData"]) == false){ readFormFile($_SESSION["formData"]); } if($_POST["gaibuform"] == 1){ $_SESSION["firstLoad"] = true;readCsvData();} //検索対象項目を保存する isset($_POST["tourokuNo"]) ? $_SESSION["condition"]["tourokuNo"] = $_POST["tourokuNo"] : $_SESSION["condition"]["tourokuNo"] = null; foreach($_SESSION["formData"] as $form){ //チェックボックス、リストボックスの複数選択の場合はname属性に[]がついているのでそれを取り払らう $itemName = ( strpos($form[1],"[]") === false ? $form[1] : substr($form[1],0,strlen($form[1])-2)); isset($_POST[$itemName]) ? $_SESSION["condition"][$itemName] = $_POST[$itemName] : $_SESSION["condition"][$itemName] = null; } //リセットボタンが押されたとき //初めて画面が開いたとき //アップロードのとき(登録したデータを画面に表示するので検索条件を初期化する) //新規データ登録画面からデータを登録して戻ってきたとき(登録したデータを画面に表示するので検索条件を初期化する) //各種検索条件などを初期化する if($reset == true || isset($_SESSION["firstLoad"]) == false || $_SESSION["countUpload"] > 0 || $_SESSION["sinkiTouroku"] == true){ $_SESSION["and"] = "checked"; $_SESSION["or"] = null; $_SESSION["all"] = "checked"; $_SESSION["siborikomi"] = null; $_SESSION["kensakuText"] = null; //検索対象項目の初期化 $_SESSION["condition"]["tourokuNo"] = null; foreach($_SESSION["formData"] as $form){ $itemName = ( strpos($form[1],"[]") === false ? $form[1] : substr($form[1],0,strlen($form[1])-2)); $_SESSION["condition"][$itemName] = null; } $_SESSION["csvArray"] = array(); $_SESSION["csvTotalCount"] = "---"; //画面がすでに一回開いているかチェックするためのフラグ if(isset($_SESSION["firstLoad"]) == false){ $_SESSION["firstLoad"] = true; } //初めて画面が開いたとき、リセットボタンが押されたとき、データをあらかじめ全件表示する $kensaku = true; $kensakuType = "and"; $_SESSION["page"] = "all"; //ページ設定データの取得 readPageFile($_SESSION["pageData"]); //フォーム設定データの保存エリア readFormFile($_SESSION["formData"]); //セッション単位のソート設定保存エリア if(isset($_SESSION["sort"]) == false){ $_SESSION["sort"] = $_SESSION["pageData"]["sort"]; } if(isset($_SESSION["sortItem"]) == false){ $_SESSION["sortItem"] = $_SESSION["pageData"]["sortItem"]; } } //ページ番号のリンクが押されたとき、そのページ番号を保存する if(isset($_GET["page"]) == true){ $_SESSION["page"] = $_GET["page"]; } //編集ボタンが押されたとき、編集画面に移動する if(count($_SESSION["csvArray"]) > 0){ foreach($_SESSION["csvArray"] as $csv){ if(isset($_POST["hensyuu" . $csv["tourokuNo"]]) == true){ header("Location: hensyuu.php?" . SID . "&tourokuNo=" . $csv["tourokuNo"]); exit; } } } //認証ボタンが押されたとき、認証チェックを行う if($ninsyou == true){ //パスワードのチェックを行う $_SESSION["kanriMode"] = checkPassword($_POST["password"]); if($_SESSION["kanriMode"] == true && count($_SESSION["csvArray"]) > 0){ $_SESSION["page"] = "all"; //CSVファイルから全データを取り込み件数も取得する readCsvData(); //検索条件によりデータを絞り込む $_SESSION["csvArray"] = checkData(); $_SESSION["flagUpdate"] = true; } } //「一般モードに戻る」リンクが押されたとき、一般モードに戻る if(isset($_GET["normalMode"]) == true){ $_SESSION["page"] = "all"; $_SESSION["kanriMode"] = false; if(count($_SESSION["csvArray"]) > 0){ //CSVファイルから全データを取り込み件数も取得する //ただし一般モードの場合には削除データは取得しない readCsvData(); //検索条件によりデータを絞り込む $_SESSION["csvArray"] = checkData(); $_SESSION["flagUpdate"] = true; } } //検索ボタンが押されたとき、各種検索条件などをセッションに保存する if($kensaku == true){ $_SESSION["page"] = "all"; if($kensakuType == "and"){ $_SESSION["and"] = "checked"; $_SESSION["or"] = null; }else{ $_SESSION["and"] = null; $_SESSION["or"] = "checked"; } $count = count($_SESSION["csvArray"]); //検索済みのデータがあり、[全検索・この検索結果から検索]のラジオボタンが画面に表示されているときのみ if($count > 0){ if($kensakuMode == "all"){ $_SESSION["all"] = "checked"; $_SESSION["siborikomi"] = null; }else{ $_SESSION["all"] = null; $_SESSION["siborikomi"] = "checked"; } } if($_SESSION["all"] == "checked"){ //CSVファイルから全データを取り込み件数も取得する //ただし一般モードの場合には削除データは取得しない readCsvData(); } //検索条件によりデータを絞り込む $_SESSION["csvArray"] = checkData(); $_SESSION["flagUpdate"] = true; } //編集画面から保存・削除で戻ってきたとき //新規登録のとき //アップロードしたとき(1件以上アップロードできたとき) //コメントを返信したとき //フォームで列数を変えなかったとき //再検索して表示し直す if($_SESSION["hensyuu"] != null || $_SESSION["countUpload"] > 0 || $_SESSION["sinkiTouroku"] == true || $_SESSION["hensinResult"] == true || $_SESSION["formResult"] == true){ //新規登録、アップロードのときは、全件表示で表示し直す if($_SESSION["sinkiTouroku"] == true || $_SESSION["countUpload"] > 0){ $_SESSION["sinkiTouroku"] = false; $_SESSION["page"] = "all"; $_SESSION["countUpload"] = 0; } if($_SESSION["hensinResult"] == false){ //CSVファイルから全データを取り込み件数も取得する //ただし一般モードの場合には削除データは取得しない readCsvData(); //検索条件によりデータを絞り込む $_SESSION["csvArray"] = checkData(); } //「1件のデータが見つかりました。」などのメッセージは不要なので初期化する $msg = null; $_SESSION["hensinResult"] = false; $_SESSION["flagUpdate"] = true; } //並び替えボタンが押されたとき、表示データの並び替えを行う if($sortOrder == true){ $_SESSION["sortItem"] = $_POST["sortItem"]; $_SESSION["sort"] = $_POST["sort"]; $_SESSION["page"] = "all"; //ページ設定の情報を元にデータをソートする usort($_SESSION["csvArray"], "cmp"); $_SESSION["flagUpdate"] = true; } ?>