豊作祈願) 改 修: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)お知らせ一覧について、内容文章縮小部の表示が編集画面で編集したものと違い、表示が崩れる。 1.記事ヘッダと「続きを読む」リンクはそのまま 2.取得した記事文章の表示文字数制限処理の時に、HTMLタグをすべて削除し、平のテキストにする 3.平のテキストを文字数制限で省略し表示 改 修: *****************************************************************************************/ /*============================================================================= タイムゾーンの設定 =============================================================================*/ date_default_timezone_set('Asia/Tokyo'); /*============================================================================= 自分自身のファイル名取得 =============================================================================*/ $baseFname = basename(__FILE__); /*============================================================================= ライセンス認証クラスの読み込み =============================================================================*/ //ライセンス認証ファイル相対パス $licenseFileName = "./common/license.txt"; include('./common/php/read_binFile.php'); /*============================================================================= 基本情報の読み込み =============================================================================*/ include('./common/php/baseDbName.php'); /*============================================================================= MySQL接続クラスの読み込み =============================================================================*/ include('./common/db/comSetDbLib.php'); /*============================================================================= 今年度取得クラスの読み込み =============================================================================*/ include('./common/php/get_fiscal_year.php'); /*============================================================================= MySQL接続変数宣言 =============================================================================*/ //データベース物理名を変数に格納 $tbl_name = 'm_producer'; $tbl_name_topinfo = 'm_topInfo'; $tbl_name_news = 't_info'; $tbl_name_products = 't_products'; //データベーステーブル名を変数に格納 $tbl_title = '生産者マスターテーブル'; $tbl_title_topinfo = 'トップページ掲載情報マスターテーブル'; $tbl_title_news = 'お知らせテーブル'; $tbl_title_products = '年度別生産計画テーブル'; //データベース種 $KIND = "manage"; $KIND_products = "year"; //データベースインデックス $IDX = ""; //本年度データベースインデックス if(isset($_POST['fiscal_year'])){ $IDX_products = $_POST['fiscal_year']; }else{ $IDX_products = date("Y"); } /*============================================================================= カルーセル書き出しクラスの読み込み =============================================================================*/ include('./common/php/function_writeCarousel.php'); /*============================================================================= セッション開始・初期化 =============================================================================*/ $timeout = 1440; session_time_out($BaseDbName,$tbl_name,$tbl_title,$KIND,$IDX,$baseFname,$debug_flg,$timeout); //セッションタイムアウト(秒)設定 /*============================================================================= Cookie取得 =============================================================================*/ /*-->20221219コメント化 $cookieCnt = 0; foreach ($_COOKIE as $key => $value) { // $_POSTされた会員情報をkeyを変数名としながら一括代入 if(strpos($key,'gkkhj-') !== false){ //豊作祈願見積依頼クッキー $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(); } /*============================================================================= トップページ掲載情報データを取得 =============================================================================*/ $topInfoList = getTopInfo($BaseDbName,$KIND,$IDX,$tbl_name_topinfo,$tbl_title_topinfo); /*============================================================================= MySQL登録されているトップページ掲載情報データを取得する関数 =============================================================================*/ function getTopInfo($BaseDbName,$KIND,$IDX,$tbl_name_topinfo,$tbl_title_topinfo){ //戻り値の初期化 $row_cnt = 0; $resList = array(); //データベースの接続 $con = comDbConnect($BaseDbName,$KIND,$IDX); if($con != null){ $toDate = date("Y-m-d H:i:s"); //登録件数取得 $sql = "SELECT * FROM ".$tbl_name_topinfo; $sql .= " WHERE statusFlag != 0"; $sql .= " AND ('".$toDate."' >= displayStart_date AND '".$toDate."' <= displayEnd_date)"; $sql .= " ORDER BY id ASC"; //クエリーの実行 if($res = comDbQuery($con, $sql)){ while ($row = mysqli_fetch_assoc($res)) { $resList[$row_cnt] = [ 'id' => $row['id'], 'statusFlag' => $row['statusFlag'], 'title' => $row['title'], 'article' => $row['article'], 'image_data' => $row['image_data'], 'update_date' => $row['update_date'], ]; $row_cnt++; } comDbFreeResult($res); }else{ echo "[ERROR]豊作祈願:".$tbl_title_news."照会失敗:".mysqli_error($con)."
"; } //データベースを閉じる comDbClose($con); } //戻り値 return $resList; } /*============================================================================= トップページ掲載情報記事の書き出し関数 =============================================================================*/ function writeTopInfo($topInfoList){ if(count($topInfoList)==0){ return false; }else{ echo '
'.PHP_EOL; echo '
'.PHP_EOL; echo '
🚜'; if(isset($_POST['title_farm_name'])){ echo $_POST['title_farm_name'].'とは'; }else{ echo '〇〇農園とは'; } echo '
'.PHP_EOL; for($i=0;$i'.PHP_EOL; if($topInfoList[$i]['image_data'] != "" && $topInfoList[$i]['image_data'] != "../common/img/no-image.png"){ echo '
'.PHP_EOL; echo ' 64x64 image'.PHP_EOL; echo '
'.PHP_EOL; } echo '
'.$topInfoList[$i]['title'].'
'.PHP_EOL; echo $topInfoList[$i]['article'].PHP_EOL; echo '
'.PHP_EOL; } echo '
'.PHP_EOL; echo ''.PHP_EOL; } } /*============================================================================= お知らせデータを取得 =============================================================================*/ $infomationList = getInfomation($BaseDbName,$KIND,$IDX,$tbl_name_news,$tbl_title_news); /*============================================================================= MySQL登録されているお知らせデータを取得する関数 =============================================================================*/ function getInfomation($BaseDbName,$KIND,$IDX,$tbl_name_news,$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 * FROM ".$tbl_name_news; $sql .= " WHERE (statusFlag != 0 AND statusFlag != 99)"; $sql .= " AND ('".$toDate."' >= displayStart_date AND '".$toDate."' <= displayEnd_date)"; $sql .= " ORDER BY id DESC LIMIT 5"; //クエリーの実行 if($res = comDbQuery($con, $sql)){ while ($row = mysqli_fetch_assoc($res)) { $resList[$row_cnt] = [ 'id' => $row['id'], 'statusFlag' => $row['statusFlag'], '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 writeInfoArticle($infomationList){ 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 '
'.$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 '
更新:'.$update_date.'
'.PHP_EOL; echo '
'.PHP_EOL; } } /*============================================================================= 年度別生産計画テーブルデータを取得 =============================================================================*/ $productsList = getProducts($BaseDbName,$KIND_products,$IDX_products,$tbl_name_products,$tbl_title_products); /*============================================================================= MySQL登録されている年度別生産計画テーブルデータを取得する関数 =============================================================================*/ function getProducts($BaseDbName,$KIND_products,$IDX_products,$tbl_name_products,$tbl_title_products){ //戻り値の初期化 $row_cnt = 0; $resList = array(); //データベースの接続 $con = comDbConnect($BaseDbName,$KIND_products,$IDX_products); if($con != null){ $toDate = date("Y-m-d H:i:s"); //登録件数取得 $sql = "SELECT * FROM ".$tbl_name_products; $sql .= " WHERE release_flg = 1 OR release_flg = 2"; $sql .= " ORDER BY id ASC"; //クエリーの実行 if($res = comDbQuery($con, $sql)){ while ($row = mysqli_fetch_assoc($res)) { $resList[$row_cnt] = [ 'id' => $row['id'], //作物マスタテーブルID 'release_flg' => $row['release_flg'], //公開フラグ(0:未公開、1:公開済、2:販売終了) 'product_id' => $row['product_id'], //生産ID 'crop_id' => $row['crop_id'], //作物ID 'crop_name' => $row['crop_name'], //作物名 'cultivationMethod' => $row['cultivationMethod'], //栽培方法 'producer_id' => $row['producer_id'], //生産者ID 'producer_name' => $row['producer_name'], //生産者名称 'producer_json' => $row['producer_json'], //生産者JSON 'farm_id' => $row['farm_id'], //圃場ID 'farm_name' => $row['farm_name'], //圃場名称 'farm_json' => $row['farm_json'], //圃場JSON 'planning_element_json' => $row['planning_element_json'], //計画要素JSON 'actual_work_json' => $row['actual_work_json'], //実作業要素JSON 'gross_sales' => $row['gross_sales'], //希望売上高(円) 'gross_production' => $row['gross_production'], //総予定生産量 'gross_production_unit' => $row['gross_production_unit'], //総予定生産量単位 'inner_capacity' => $row['inner_capacity'], //1梱包あたりの内容量 'inner_capacity_unit' => $row['inner_capacity_unit'], //1梱包あたりの内容量単位 'packages_num' => $row['packages_num'], //梱包数(予定在庫数) 'packages_num_unit' => $row['packages_num_unit'], //梱包数(予定在庫数)単位 'current_stock' => $row['current_stock'], //梱包数(残り在庫数) 'reference_unit_price' => $row['reference_unit_price'], //参考単価 'decided_unit_price' => $row['decided_unit_price'], //決定単価 'packing_method' => $row['packing_method'], //梱包方法記述 'harvest_guide' => $row['harvest_guide'], //収穫目安', 'crop_class_b' => $row['crop_class_b'], //作物分類(大分類) 'crop_class_m' => $row['crop_class_m'], //作物分類(中分類) 'crop_class_s' => $row['crop_class_s'], //作物分類(小分類) 'seed_name' => $row['seed_name'], //種苗名 'seed_name_kana' => $row['seed_name_kana'], //種苗名(よみがな) 'seed_maker' => $row['seed_maker'], //種苗メーカー 'seed_class' => $row['seed_class'], //種苗分類 'seed_no' => $row['seed_no'], //種苗登録番号 'seed_characteristic' => $row['seed_characteristic'], //特長:果実特性 'seed_resistance' => $row['seed_resistance'], //特長:抵抗性 'seed_sales_time' => $row['seed_sales_time'], //種苗販売時期 'unit_price' => $row['unit_price'], //単価(定価) 'sales_unit' => $row['sales_unit'], //販売単位 'sales_etc' => $row['sales_etc'], //その他 'companion_plants_good' => $row['companion_plants_good'], //コンパニオンプランツ:相性良 'companion_plants_bad' => $row['companion_plants_bad'], //コンパニオンプランツ:相性悪 'image_data' => $row['image_data'], //種苗Base64画像 'note' => $row['note'], //備考 ]; $row_cnt++; } comDbFreeResult($res); }else{ echo "[ERROR]豊作祈願:".$tbl_title_products."照会失敗:".mysqli_error($con)."
"; } //データベースを閉じる comDbClose($con); } //戻り値 return $resList; } /*============================================================================= 予約生産品の書き出し関数 =============================================================================*/ function writeProductsNew($productsList){ $itemCnt = 0; for($i=0;$i'.PHP_EOL; echo '
'.PHP_EOL; echo ' '.$productsList[$i]['seed_maker']." ".$productsList[$i]['seed_name'].''.PHP_EOL; echo '
'.PHP_EOL; if($productsList[$i]['image_data'] !=""){ echo '
Card image cap
'.PHP_EOL; } echo '
'.PHP_EOL; echo '

'.$productsList[$i]['crop_name'].'

'.PHP_EOL; echo '

'."".'

'.PHP_EOL; echo '
'; echo '[収穫目安] '.$productsList[$i]['harvest_guide'].'
'; echo '[梱包方法] '.$productsList[$i]['packing_method'].'
'; echo '[梱包容量] '.$productsList[$i]['inner_capacity'].$productsList[$i]['inner_capacity_unit'].'
'; echo '[単  価] '.number_format($productsList[$i]['decided_unit_price']).'円(税込・送料別)
'; echo '[予定在庫] '.number_format($productsList[$i]['packages_num']).$productsList[$i]['packages_num_unit'].'
'; echo '[残り在庫] '.number_format($productsList[$i]['current_stock']).$productsList[$i]['packages_num_unit'].'
'; echo '

'.PHP_EOL; echo '
'.PHP_EOL; echo ' '.PHP_EOL; echo ' '.PHP_EOL; echo ' '.PHP_EOL; //件数カウント $itemCnt++; } } if($itemCnt == 0){ echo '

該当する生産品がありませんでした。

'; } } /*============================================================================= 予約済み生産品の書き出し関数 =============================================================================*/ function writeProductsReserved($productsList){ $itemCnt = 0; for($i=0;$i'.PHP_EOL; echo '

'.PHP_EOL; echo ' '.$productsList[$i]['seed_maker']." ".$productsList[$i]['seed_name'].''.PHP_EOL; echo '
'.PHP_EOL; if($productsList[$i]['image_data'] !=""){ echo '
Card image cap
'.PHP_EOL; } echo '
'.PHP_EOL; echo '

'.$productsList[$i]['crop_name'].'

'.PHP_EOL; echo '

'."".'

'.PHP_EOL; echo '
'; echo '[収穫目安] '.$productsList[$i]['harvest_guide'].'
'; echo '[梱包方法] '.$productsList[$i]['packing_method'].'
'; echo '[梱包容量] '.$productsList[$i]['inner_capacity'].$productsList[$i]['inner_capacity_unit'].'
'; echo '[単  価] '.number_format($productsList[$i]['decided_unit_price']).'円(税込・送料別)
'; echo '[予定在庫] '.number_format($productsList[$i]['packages_num']).$productsList[$i]['packages_num_unit'].'
'; echo '[残り在庫] '.number_format($productsList[$i]['current_stock']).$productsList[$i]['packages_num_unit'].'
'; echo '

'.PHP_EOL; echo '
'.PHP_EOL; echo ' '.PHP_EOL; echo '
'.PHP_EOL; echo '
'.PHP_EOL; echo ' '.PHP_EOL; echo '
'.PHP_EOL; echo ' '.PHP_EOL; echo '
'.PHP_EOL; echo ' '.PHP_EOL; //件数カウント $itemCnt++; } } if($itemCnt == 0){ echo '

該当する生産品がありませんでした。

'; } } /*============================================================================= 過去の生産品の書き出し関数 =============================================================================*/ function writeProductsPast($productsList){ $itemCnt = 0; for($i=0;$i'.PHP_EOL; echo '

'.PHP_EOL; echo ' '.$productsList[$i]['seed_maker']." ".$productsList[$i]['seed_name'].''.PHP_EOL; echo '
'.PHP_EOL; if($productsList[$i]['image_data'] !=""){ echo '
Card image cap
'.PHP_EOL; } echo '
'.PHP_EOL; echo '

'.$productsList[$i]['crop_name'].'

'.PHP_EOL; echo '

'."".'

'.PHP_EOL; echo '
'; echo '[収穫目安] '.$productsList[$i]['harvest_guide'].'
'; echo '[梱包方法] '.$productsList[$i]['packing_method'].'
'; echo '[梱包容量] '.$productsList[$i]['inner_capacity'].$productsList[$i]['inner_capacity_unit'].'
'; echo '[単  価] '.number_format($productsList[$i]['decided_unit_price']).'円(税込・送料別)
'; echo '[予定在庫] '.number_format($productsList[$i]['packages_num']).$productsList[$i]['packages_num_unit'].'
'; echo '[残り在庫] '.number_format($productsList[$i]['current_stock']).$productsList[$i]['packages_num_unit'].'
'; echo '

'.PHP_EOL; echo '
'.PHP_EOL; echo ' '.PHP_EOL; echo ' '.PHP_EOL; //件数カウント $itemCnt++; } } if($itemCnt == 0){ echo '

該当する生産品がありませんでした。

'; } } /*************************************( End of PHP )*************************************/ ?> 農業支援システム 豊作祈願|受注生産サイト

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