豊作祈願) 改 修:2022/11/09 (1)「農産品注文」メニューを「個人向け注文」「業者向け注文」に機能分割するためツールバー改修 改 修:2022/12/19 (1)メニューバーの注文数カウントをJavascript処理へ移行 (2)個人向けと業者向け注文ページを分けるオーダーのため、注文相手を判別する必要あり。 商品購入モーダル<カートに入れる>ボタン押下時に注文元フラグを追加し、 カートページへの戻り先を設定するよう仕様変更。 フラグ:0:業者向け注文、1:個人向け注文 改 修:2023/02/25 (1)デバッグフラグをPHPから取得 改 修:2023/03/21 追加仕様変更により以下の文言変更 (1)「管理者専用サイト」⇒「管理者メニュー」 (2)「管理者専用サイトログイン」⇒「管理者メニューログイン」 (3)「管理者専用サイトログアウト」⇒「管理者メニューログアウト」 改 修:2023/04/25 (1)ヘッダ削除およびパンくずバーの背景色・文字色変更処理をおこなう ・カルーセル部のインクルードおよび実行関数の削除(function_writeCarousel.php、writeCarousel()) ・カルーセル部内で設定していたCSSを分割し読込み(admin-menu.css) ・タイトル設定取得クラスの読み込みを追加(get_mTitle.php) ・パンくずリストの背景色、文字色、行間の書き換え (2)お知らせ一覧ページ(H-004)について、内容文章縮小部の表示が編集画面で編集したものと違い、表示が崩れる。 1.記事ヘッダと「続きを読む」リンクはそのまま 2.取得した記事文章の表示文字数制限処理の時に、HTMLタグをすべて削除し、平のテキストにする 3.平のテキストを文字数制限で省略し表示 改 修: *****************************************************************************************/ /*============================================================================= タイムゾーンの設定 =============================================================================*/ date_default_timezone_set('Asia/Tokyo'); /*============================================================================= 自分自身のファイル名取得 =============================================================================*/ $baseFname = basename(__FILE__); /*============================================================================= ライセンス認証クラスの読み込み =============================================================================*/ //ライセンス認証ファイル相対パス $licenseFileName = "./common/license.txt"; include('./common/php/read_binFile.php'); /*============================================================================= MySQL接続クラスの読み込み =============================================================================*/ include('./common/php/baseDbName.php'); /*============================================================================= MySQL接続変数宣言 =============================================================================*/ //データベース物理名を変数に格納 $tbl_name = 'm_producer'; $tbl_name_tInfo = 't_info'; //データベーステーブル名を変数に格納 $tbl_title = '生産者マスターテーブル'; $tbl_title_news = '生産者マスターテーブル'; //データベース種 $KIND = "manage"; //データベースインデックス $IDX = ""; /*============================================================================= MySQL接続クラスの読み込み =============================================================================*/ include('./common/db/comSetDbLib.php'); /*============================================================================= タイトル設定取得クラスの読み込み =============================================================================*/ include('./common/php/get_mTitle.php'); /*============================================================================= 変数宣言・初期化 =============================================================================*/ if(isset($_GET['yr'])){ $selectYear = $_GET['yr']; if(false !== strpos($selectYear,'-')){ $yearAry = explode("-",$selectYear); }else{ $yearAry = $selectYear; } }else{ $selectYear = null; $yearAry = null; } /*============================================================================= セッション開始・初期化 =============================================================================*/ session_time_out($BaseDbName,$tbl_name,$tbl_title,$KIND,$IDX,$baseFname,$debug_flg,$timeout); //セッションタイムアウト(秒)設定 /*============================================================================= Cookie取得 =============================================================================*/ $cookieCnt = 0; $quoteAry = array(); foreach ($_COOKIE as $key => $value) { // $_POSTされた会員情報をkeyを変数名としながら一括代入 if(strpos($key,'gkkhj-') !== false){ //豊作祈願見積依頼クッキー if(isset($_POST['d_id']) && $_POST['d_id'] == ""){ }else if(isset($_POST['d_id']) && $_POST['d_id'] == $key){ if(isset($_COOKIE[$key])) { setcookie($key, '', time() - 1800, '/'); } }else{ $quoteAry[$cookieCnt] = $key."|".htmlspecialchars($_COOKIE[$key], ENT_QUOTES, 'utf-8'); $cookieCnt++; } } } /*============================================================================= セッションタイムアウト(秒)設定[システム初期値:1440秒(24分)] =============================================================================*/ function session_time_out($BaseDbName,$tbl_name,$tbl_title,$KIND,$IDX,$baseFname,$debug_flg,$timeout = 1440){ session_cache_limiter('nocache'); ini_set('session.gc_maxlifetime', $timeout); session_start(); if(isset($_SESSION['gkkhj_sid'])){ $tmp = $_SESSION; //セッション変数を退避 $_SESSION = array(); //セッション変数を空にする session_destroy(); //セッション破棄 session_id(sha1(uniqid(mt_rand(),true))); //セッションID更新 session_start(); //セッション再開 session_regenerate_id(); $_SESSION = $tmp; //セッション変数引継 if(isset($_SESSION['idle_time']) && $_SESSION['idle_time'] < time()){ $_SESSION = array(); //セッション変数を空にする session_destroy(); //セッション破棄 session_id(sha1(uniqid(mt_rand(),true))); //セッションID更新 session_start(); //セッション再開 session_regenerate_id(); $_SESSION = $tmp; //セッション変数引継 } $_SESSION['idle_time'] = time() + $timeout; //セッションタイムアウトのセッション変数保存 $_SESSION['gkkhj_sid'] = session_id(); //セッションIDのセッション変数保存 //タイトルの取得 //データベース接続 $con = comDbConnect($BaseDbName,$KIND,$IDX); //登録件数取得 $sql = "SELECT producer_name FROM ".$tbl_name; if($res = comDbQuery($con, $sql)){ while ($row=mysqli_fetch_array($res, MYSQLI_ASSOC)){ $_SESSION['producer_name'] = $row['producer_name']; } }else{ $response = "[ERROR]豊作祈願:".$tbl_title."照会失敗:".mysqli_error($con); } //データベースを閉じる comDbClose($con); }else{ if($debug_flg == 0){ //本番時 initSession($baseFname,$timeout); //セッション初期化・終了 }else{ //デバッグ時 //データベース接続 $con = comDbConnect($BaseDbName,$KIND,$IDX); //登録件数取得 $sql = "SELECT producer_name FROM ".$tbl_name; if($res = comDbQuery($con, $sql)){ while ($row=mysqli_fetch_array($res, MYSQLI_ASSOC)){ $_SESSION['producer_name'] = $row['producer_name']; } }else{ $response = "[ERROR]豊作祈願:".$tbl_title."照会失敗:".mysqli_error($con); } //データベースを閉じる comDbClose($con); } } } /*============================================================================= セッション初期化・終了 =============================================================================*/ function initSession($baseFname,$timeout){ //セッションデータの初期化(セッションファイルは破棄されない) foreach($_SESSION as $key){ unset($_SESSION[$key]); } $_SESSION = array(); /*セッションを切断するにはセッションクッキーも削除する (セッション情報だけでなくセッションを破壊する)*/ if(isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-$timeout, '/'); } //最終的にセッションを破壊 session_destroy(); } /*============================================================================= メイン処理 =============================================================================*/ //お知らせデータ件数を取得 $infoYearList = getInfoCount($BaseDbName,$KIND,$IDX,$tbl_name_tInfo,$tbl_title_news); //お知らせデータを取得 $infomationList = getInfomation($BaseDbName,$KIND,$IDX,$tbl_name_tInfo,$tbl_title_news,$selectYear); /*============================================================================= MySQL登録されている例会データ件数を取得する関数 =============================================================================*/ function getInfoCount($BaseDbName,$KIND,$IDX,$tbl_name_tInfo,$tbl_title_news){ //戻り値の初期化 $row_cnt = 0; $resList = array(); //データベースの接続 $con = comDbConnect($BaseDbName,$KIND,$IDX); if($con != null){ $toDate = date("Y-m-d H:i:s"); //登録件数取得 $sql = "SELECT performance_year, count(*) AS cnt FROM ".$tbl_name_tInfo; $sql .= " WHERE (statusFlag != 0 AND statusFlag != 99)"; $sql .= " AND ('".$toDate."' >= displayStart_date AND '".$toDate."' <= displayEnd_date)"; $sql .= " GROUP BY performance_year"; $sql .= " ORDER BY id DESC"; //クエリーの実行 if($res = comDbQuery($con, $sql)){ while ($row = mysqli_fetch_assoc($res)) { $resList[$row_cnt] = [ 'performance_year' => $row['performance_year'], 'cnt' => $row['cnt'] ]; $row_cnt++; } comDbFreeResult($res); }else{ echo "[ERROR]豊作祈願:".$tbl_title_news."照会失敗:".mysqli_error($con)."
"; } //データベースを閉じる comDbClose($con); } //戻り値 return $resList; } /*============================================================================= お知らせインジケーターの書き出し関数 =============================================================================*/ function writeInfoIndicators($infoYearList,$selectYear){ /* 年間リストの作成 */ $yearLineAry = array(); $tmpYear = ""; $cnt = 0; for($i=0;$i最新のお知らせ'.PHP_EOL; $toYear = date('Y'); for($i=0;$i'.$yearLineAry[$i].'年'; if($total > 0){ echo ' '.$total.''; } echo ''.PHP_EOL; } } } /*============================================================================= MySQL登録されているお知らせデータを取得する関数 =============================================================================*/ function getInfomation($BaseDbName,$KIND,$IDX,$tbl_name_tInfo,$tbl_title_news,$selectYear){ if(false === strpos($selectYear,'-')){ $yearAry = $selectYear; }else if($selectYear != null){ $yearAry = explode("-",$selectYear); }else{ $yearAry = null; } //戻り値の初期化 $row_cnt = 0; $resList = array(); //データベースの接続 $con = comDbConnect($BaseDbName,$KIND,$IDX); if($con != null){ $toDate = date("Y-m-d H:i:s"); //登録件数取得 $sql = "SELECT * FROM t_info"; $sql .= " WHERE (statusFlag != 0 AND statusFlag != 99)"; $sql .= " AND ('".$toDate."' >= displayStart_date AND '".$toDate."' <= displayEnd_date)"; if(false === strpos($selectYear,'-') || $yearAry == null ){ $sql .= " ORDER BY id DESC LIMIT 5"; }else{ $sql .= " ORDER BY id DESC"; } //クエリーの実行 if($res = comDbQuery($con, $sql)){ while ($row = mysqli_fetch_assoc($res)) { $datetimeAry = explode(" ",$row['performance_year']); $dateAry = explode(" ",$datetimeAry[0]); if(false === strpos($selectYear,'-') || $yearAry == null ){ $resList[$row_cnt] = [ 'id' => $row['id'], 'statusFlag' => $row['statusFlag'], 'performance_year' => $row['performance_year'], 'title' => $row['title'], 'article' => $row['article'], 'update_date' => $row['update_date'], ]; $row_cnt++; }else{ if(intVal($dateAry[0]) >= intVal($yearAry[0]) && intVal($dateAry[0]) <= intVal($yearAry[0])){ $resList[$row_cnt] = [ 'id' => $row['id'], 'statusFlag' => $row['statusFlag'], 'performance_year' => $row['performance_year'], 'title' => $row['title'], 'article' => $row['article'], 'update_date' => $row['update_date'], ]; $row_cnt++; } } } comDbFreeResult($res); }else{ echo "[ERROR]豊作祈願:".$tbl_title_news."照会失敗:".mysqli_error($con)."
"; } //データベースを閉じる comDbClose($con); } //戻り値 return $resList; } /*============================================================================= お知らせの書き出し関数 =============================================================================*/ function writeInfoList($infomationList){ for($i=0;$i'.$title; if($statusFlag == 2){ //2:予定 echo ' 予定'; }else if($statusFlag == 3){ //3:次回 echo ' 次回'; }else if($statusFlag == 4){ //4:緊急 echo ' 緊急'; }else if($statusFlag == 5){ //5:延期 echo ' 延期'; }else if($statusFlag == 6){ //6:中止 echo ' 中止'; }else if($statusFlag == 9){ //9:終了 echo ' 終了'; } echo ''.PHP_EOL; } } /*============================================================================= お知らせ記事リストの書き出し関数 =============================================================================*/ function writeInfo($infomationList){ if(count($infomationList) == 0){ echo '
  • '.PHP_EOL; echo '
    '.PHP_EOL; echo '
    該当するお知らせはありません
    '.PHP_EOL; echo '
    '.PHP_EOL; echo '
  • '.PHP_EOL; return; } for($i=0;$i'); if(mb_strlen($articleStr) > $limit) { $article = mb_substr($articleStr,0,$limit)."・・・・・・"; }else{ $article = $articleStr; } $tmpDateAry = explode(" ",strVal($infomationList[$i]['update_date'])); $upDateAry = explode("-",strVal($tmpDateAry[0])); $upTimeAry = explode(":",strVal($tmpDateAry[1])); $update_date = $upDateAry[0].'年'.$upDateAry[1].'月'.$upDateAry[2].'日 '.$upTimeAry[0].':'.$upTimeAry[1]; echo '
  • '.PHP_EOL; echo '
    '.PHP_EOL; echo '
    '.$title.''; if($statusFlag == 2){ //2:予定 echo ' 予定'; }else if($statusFlag == 3){ //3:次回 echo ' 次回'; }else if($statusFlag == 4){ //4:緊急 echo ' 緊急'; }else if($statusFlag == 5){ //5:延期 echo ' 延期'; }else if($statusFlag == 6){ //6:中止 echo ' 中止'; }else if($statusFlag == 9){ //9:終了 echo ' 終了'; } echo '
    '.PHP_EOL; echo ' '.$article.PHP_EOL; echo '
    '.PHP_EOL; echo '
    '.PHP_EOL; echo ' 続きを読む >>'.PHP_EOL; echo '
    更新:'.$update_date.'
    '.PHP_EOL; echo '
    '.PHP_EOL; echo '
  • '.PHP_EOL; echo '
    '.PHP_EOL; } } /*************************************( End of PHP )*************************************/ ?> 農業支援システム 豊作祈願|お知らせ一覧
    🚜お知らせ一覧


    農業支援システム 豊作祈願