豊作祈願)
改 修:2022/10/31
(1)管理者用トレーサビリティ閲覧メニューを[生産記録]に追加
(2)同画面は生産品ID選択可能とし、選択により表示する
改 修:2022/11/01
(1)[決算処理]に追加[雇人費][専従者給与]の内訳入力画面を追加
改 修:2022/11/09
(1)「農産品注文」メニューを「個人向け注文」「業者向け注文」に機能分割するためツールバー改修
改 修:2022/11/21
(1)「個人向け注文」ページへのリンク追加
改 修:2023/02/28
(1)製品ライセンス認証機能追加
改 修:2023/03/21
追加仕様変更により以下の文言変更、ボタン追加
(1)「管理者専用サイト」⇒「管理者メニュー」
(2)「管理者専用サイトログイン」⇒「管理者メニューログイン」
(3)「管理者専用サイトログアウト」⇒「管理者メニューログアウト」
(4)「会員メニューに戻る」⇒「管理者メニューに戻る」
(5)生産計画メニュー「新規生産品の登録・公開」⇒「新規生産品の新規作成・追加・編集」
(6)生産計画メニュー<新規登録>⇒<新規作成>
(7)生産計画メニュー<確認・編集>⇒<追加・編集>
(8)「(別途オプション購入が必要な機能が含まれます)」を削除
改 修:2023/04/03
(1)生産日誌・経過観察の作業時間帯設定機能追加
改 修:2023/04/29
(1)説明文の変更(「20230428時点完了or未完リスト-エクセル.xlsx」)
「生産記録」タブは、生産品単位での生産日誌(作業記録)の入力や消費者向けに生産品ごとのQRコード発行、生産日誌・経過観察の作業時間帯の設定を行います。
改 修:2023/05/26
(1)損益分岐計算書シミュレーション勘定科目(備考欄の設定)メニューの追加
改 修:
*****************************************************************************************/
/*=============================================================================
タイムゾーンの設定
=============================================================================*/
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');
/*=============================================================================
POST情報の取得
=============================================================================*/
//選択タブ情報の取得
if(isset($_GET['tbno'])){
$tbno = $_GET['tbno'];
}else
if(isset($_POST['tbno'])){
$tbno = $_POST['tbno'];
}else{
$tbno = "";
}
$_POST['tbno'] = $tbno;
//echo "tbno:".$tbno."
";
$_POST['authority'] = null;
/*=============================================================================
MySQL接続変数宣言
=============================================================================*/
if(isset($_POST['mid']) && isset($_POST['mpw'])){
$mid = $_POST['mid'];
$mpw = $_POST['mpw'];
//データベース物理名を変数に格納
$tbl_name = 'm_producer';
//データベーステーブル名を変数に格納
$tbl_title = '生産者マスタテーブル';
//データベース種
$KIND = "manage";
//データベースインデックス
$IDX = "";
}else{
$mid = "";
$mpw = "";
//データベース物理名を変数に格納
$tbl_name = '';
//データベーステーブル名を変数に格納
$tbl_title = '';
//データベース種
$KIND = "";
//データベースインデックス
$IDX = "";
}
/*=============================================================================
セッション開始・初期化
=============================================================================*/
session_time_out($BaseDbName,$tbl_name,$tbl_title,$KIND,$IDX,$baseFname,$tbno,$mid,$mpw,$debug_flg,$timeout); //セッションタイムアウト(秒)設定
/*=============================================================================
セッションタイムアウト(秒)設定[システム初期値:1440秒(24分)]
=============================================================================*/
function session_time_out($BaseDbName,$tbl_name,$tbl_title,$KIND,$IDX,$baseFname,$tbno,$mid,$mpw,$debug_flg,$timeout = 1440){
session_cache_limiter('nocache');
session_start();
if(isset($_SESSION['gkkhj_sid']) && $tbno == ""){
//ログアウト処理
//セッションデータの初期化(セッションファイルは破棄されない)
foreach($_SESSION as $key){
unset($_SESSION[$key]);
}
$_SESSION = array();
/*セッションを切断するにはセッションクッキーも削除する
(セッション情報だけでなくセッションを破壊する)*/
if(isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-$timeout, '/');
}
//最終的にセッションを破壊
session_destroy();
//echo "
(2)セッションあり、タブ指定なし(ログアウト)";
}else
if(isset($_SESSION['gkkhj_sid']) && $tbno != ""){
session_regenerate_id(true); //セッションID更新
$_SESSION['idle_time'] = time() + $timeout; //セッションタイムアウトのセッション変数保存
$_SESSION['gkkhj_sid'] = session_id(); //セッションIDのセッション変数保存
setcookie(session_name(),session_id(),time()+$timeout);
//echo "
(3)セッションあり(ログイン継続)";
}else{
//未ログインの場合
if($mid != "" && $mpw != ""){
//echo "
(1-1)セッションなし、未ログイン";
//データベース接続
$con = comDbConnect($BaseDbName,$KIND,$IDX);
$sql = "SELECT ";
$sql .= "authority,"; //生産者権限(0:保存、1:代表生産者、2:一般権限、3:ゲスト権限、9:マスタ権限、99:停止)
$sql .= "producer_id,"; //生産者(ログイン)ID
$sql .= "AES_DECRYPT(UNHEX(producer_pw),'GkkHjPwkey') AS producer_pw,"; //生産者パスワード
$sql .= "lname,"; //生産者氏名(姓)
$sql .= "fname,"; //生産者氏名(名)
$sql .= "producer_name,"; //生産農家名称
$sql .= "AES_DECRYPT(UNHEX(email),'GkkHjEmailkey') AS email"; //Eメールアドレス(半角)
$sql .= " FROM ".$tbl_name;
$sql .= " WHERE producer_id = '".$mid."'";
//行数カウント変数初期化
$rowcnt = 0;
if($res = comDbQuery($con, $sql)){
$rowcnt = comDbGetNumRows($res);
//echo "rowcnt=".$rowcnt."
";
if($rowcnt == 0){
initSession($baseFname,$timeout); //セッション初期化・終了
//echo "
[該当なし]id:".$mid."、pw:".$mpw."なし
";
}else{
while ($row=mysqli_fetch_array($res, MYSQLI_ASSOC)){
//echo "producer_pw:".$row['producer_pw']."、mpw:".$mpw."
";
if($row['producer_pw'] == $mpw){
$_SESSION['authority'] = $row['authority']; //生産者区分(0:保存、1:代表生産者、2:一般権限、3:ゲスト権限、9:マスタ権限、99:停止)
$_POST['authority'] = $row['authority']; //生産者区分(0:保存、1:代表生産者、2:一般権限、3:ゲスト権限、9:マスタ権限、99:停止)
//echo "S-authority:".$_SESSION['authority']."、R-authority:".$row['authority'];
$_SESSION['producer_id'] = $row['producer_id']; //生産者(ログイン)ID
$_SESSION['producer_pw'] = $row['producer_pw']; //生産者パスワード
$_SESSION['lname'] = $row['lname']; //生産者氏名(姓)
$_SESSION['fname'] = $row['fname']; //生産者氏名(名)
$_SESSION['producer_name'] = $row['producer_name']; //生産農家名称
$_SESSION['email'] = $row['email']; //Eメールアドレス(半角)
}
}
session_regenerate_id(true); //セッションID更新
$_SESSION['idle_time'] = time() + $timeout; //セッションタイムアウトのセッション変数保存
$_SESSION['gkkhj_sid'] = session_id(); //セッションIDのセッション変数保存
setcookie(session_name(),session_id(),time()+$timeout);
//echo "
セッション:".$_SESSION['gkkhj_sid']."、S_authority:".$_SESSION['authority']."
";
//一般権限の場合は作業入力用ページへ遷移
if(isset($_SESSION['authority']) && ($_SESSION['authority'] == 1 || $_SESSION['authority'] == 2 || $_SESSION['authority'] == 9)){
//一般権限の場合は作業入力用ページへ遷移
if($_SESSION['authority'] == 2){
session_write_close();
header('Location: ./work-diary-producer.html');
exit();
//echo "
リダイレクト:work-diary-producer.html
";
}else
//一般権限の場合は作業入力用ページへ遷移
if($_SESSION['authority'] == 0 || $_SESSION['authority'] == 3 || $_SESSION['authority'] == 99){
initSession($baseFname,$timeout); //セッション初期化・終了
//echo "
(1-1-2)セッションなし、ログイン(一般権限)";
}
}else{
initSession($baseFname,$timeout); //セッション初期化・終了
//echo "
(1-1-3)セッションなし、ログイン(権限なし)";
}
}
}else{
initSession($baseFname,$timeout); //セッション初期化・終了
//echo "
(1-1-4)セッションなし、ログイン(権限なし)";
}
//データベースを閉じる
comDbClose($con);
}else
if($tbno != ""){
//echo "
(1-2)セッションなし、ログイン(権限なし)、tbnoあり";
/*
//一時的なセキュリティ回避
session_regenerate_id(true); //セッションID更新
$_SESSION['authority'] = 1; //生産者区分(0:保存、1:代表生産者、2:一般権限2、3:ゲスト権限、9:マスタ権限、99:停止)
setcookie(session_name(),session_id(),time()+$timeout);
$_SESSION['idle_time'] = time() + $timeout; //セッションタイムアウトのセッション変数保存
$_SESSION['gkkhj_sid'] = session_id(); //セッションIDのセッション変数保存
*/
}else{
//echo "
(1-3)セッションなし、ログイン(権限なし)、tbnoなし";
}
}
}
/*=============================================================================
カルーセル書き出しクラスの読み込み
=============================================================================*/
include('../common/php/function_writeLoginCarousel.php');
/*=============================================================================
セッション初期化・終了
=============================================================================*/
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();
//トップページへ遷移
header('Location: ../index.html');
exit();
}
/*************************************( End of PHP )*************************************/
?>