豊作祈願)
改 修: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 '該当する生産品がありませんでした。
';
}
}
/*=============================================================================
予約済み生産品の書き出し関数
=============================================================================*/
function writeProductsReserved($productsList){
$itemCnt = 0;
for($i=0;$i '."".' 該当する生産品がありませんでした。 ';
}
}
/*=============================================================================
過去の生産品の書き出し関数
=============================================================================*/
function writeProductsPast($productsList){
$itemCnt = 0;
for($i=0;$i '."".' 該当する生産品がありませんでした。 ';
}
}
/*************************************( End of PHP )*************************************/
?>
'.$productsList[$i]['crop_name'].'
'.PHP_EOL;
echo '
';
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 ' '.$productsList[$i]['crop_name'].'
'.PHP_EOL;
echo '
';
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 ' 🚜お知らせ