".$userdata["gname"]." ".$systemname."\n"; ?> \n"; //$val = trim($val); //$val=str_replace("'","",$val); //$val=str_replace("\"","",$val); //$val=str_replace("\\","",$val); //$val = htmlspecialchars($val); //$val = str_replace("\t"," ",$val); //echo "\n"; } echo "アクセス制御コードcketoken2=".$_COOKIE[cketoken].""; echo "
ログイン後無操作状態が一定時間経過したため自動ログアウトされました。引き続きご利用の際には、「再ログイン」をクリックしてください。
もし更新時にこの画面が出た場合は、最後の更新作業は無効となりました。再度ログイン後に改めて更新して下さい。
\n"; echo "\n\n"; exit; } } /*------------------------------------------------------------ * 関数名 : CookieSetup() * 返却値 : Cookie,内部変数 * 引数 : アクセスコード,フラグ(1=ログイン,2=更新) * 説明 : ユーザーIDより、Cookieにアクセスコードと業態コードを書き込む&ユーザー情報をセットする * 使用例 : CookieSetup($accesstoken,1); * 使用例 : CookieSetup( "" ,2); *------------------------------------------------------------ */ Function CookieSetup($accesstoken,$flg){ global $my_con,$timeoutmin,$userdata,$company,$companysetuzoku; //ユーザーマスター、ロールデータの取得 if($flg == 1) { $usermaster = dbselect("tid,companyid,shozokuid,accesscode,name,companyname,infoedit,email","usermaster as u INNER JOIN company USING(companyid)","accesscode='".$accesstoken."' AND sessionid='".$_COOKIE["PHPSESSID"]."'",-1,-1); $roledata = dbselect("userroleid,u.companyid,gyotaiid,kengen","userrole as u INNER JOIN rolemaster USING(roleid,companyid)","tid='".$usermaster[0][0]."'","roleid",-1); } else { //不正アクセス防止アクセスコード作成 mt_srand(microtime()*100000); $accesstoken = md5(uniqid(mt_rand(),1)); //アクセスコード更新 //2012OUT $strsql = "UPDATE usermaster set accesscode = '$accesstoken', updatetime=now(),sessionid='".$_COOKIE["PHPSESSID"]."' where accesscode='".$_COOKIE[cketoken]."' limit 1"; //二重送信時に強制OUTしてしまうため $strsql = "UPDATE usermaster set updatetime=now(),sessionid='".$_COOKIE["PHPSESSID"]."' where accesscode='".$_COOKIE[cketoken]."' limit 1"; $result=mysql_query($strsql,$my_con); mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); //2012OUT $usermaster = dbselect("tid,companyid,shozokuid,accesscode,name,companyname,infoedit,email","usermaster as u INNER JOIN company USING(companyid)","accesscode='".$accesstoken."' AND sessionid='".$_COOKIE["PHPSESSID"]."'",-1,-1); $usermaster = dbselect("tid,companyid,shozokuid,accesscode,name,companyname,infoedit,email","usermaster as u INNER JOIN company USING(companyid)","accesscode='".$_COOKIE[cketoken]."' AND sessionid='".$_COOKIE["PHPSESSID"]."'",-1,-1); $roledata = dbselect("userroleid,u.companyid,gyotaiid,kengen,roleid,startpage","userrole as u INNER JOIN rolemaster USING(roleid,companyid)","tid='".$usermaster[0][0]."'","u.roleid",-1); } setcookie("cketoken",$usermaster[0][3],time() + $timeoutmin); //アクセス防止マーカー // setcookie("ckeselect",$roledata[0][0],time() + $timeoutmin); //ロールID(デフォルトは権限が一番上) // setcookie("testmode"); //テストモード終了 // setcookie("testmode","1",time()+7200); //テストモード開始 //ユーザー情報セット $userdata["tid"] = $usermaster[0][0]; //ユーザーID $userdata["companyid"] = $usermaster[0][1]; //所属会社ID $userdata["shozokuid"] = $usermaster[0][2]; //配送先ID $userdata["name"] = $usermaster[0][4]; //ユーザ名 $userdata["companyname"] = $usermaster[0][5]; //所属会社名 $userdata["infoedit"] = $usermaster[0][6]; //情報掲示板編集権限 $userdata["email"] = $usermaster[0][7]; //Email $userdata["userroleid"] = $roledata[0][0]; //ユーザ名 $userdata["hcompanyid"] = $roledata[0][1]; //本社ID $company = $roledata[0][1].$companysetuzoku; //本社ID=DatabaseTable名 $userdata["gyotaiid"] = $roledata[0][2]; //業態ID $userdata["kengen"] = $roledata[0][3]; //権限 $userdata["roleid"] = $roledata[0][4]; //roleid $userdata["startpage"] = $roledata[0][5]; //startpage 通常0100.phpからの変更 //業態情報 $gdata = dbselect("honbuid,gname,logo,hacchutime,nohinweek,comeinweek","`".$company."gyotai`","gyotaiid='".$userdata["gyotaiid"]."'",-1,-1); $userdata["honbuid"] = $gdata[0][0]; //本部ID $userdata["gname"] = $gdata[0][1]; //業態名 $userdata["logo"] = $gdata[0][2]; //LOGOのURL $userdata["hacchutime"] = $gdata[0][3]; //発注締め時間 $userdata["nohinweek"] = $gdata[0][4]; //納品可能曜日 $userdata["comeinweek"] = $gdata[0][5]; //入荷可能曜日 $sdata = dbselect("shozokuname","`".$company."shozokumaster`","shozokuid='".$userdata[shozokuid]."'",-1,-1); $userdata["shozokuname"] = $sdata[0][0]; //所属名 } /*------------------------------------------------------------ * 関数名 : Numchecker() * 返却値 : 数字 * 引数 : 調べたい数字 * 説明 : 全角数字が指定されたら数値で返す。数値、全角数値以外は0で返す * 使用例 : A = Numchecker($_POST[amount]) +5; *------------------------------------------------------------ */ Function Numchecker($cknumber){ if ($cknumber == "") { //何も無しなら0で返す return 0; } else { $cknumber = mb_convert_kana($cknumber,"n"); if ((int)$cknumber > 0 ) { return (int)$cknumber; //マイナス以外の数字なら数値で返す } else { return 0; //数値でないなら0で返す } } } /*------------------------------------------------------------ * 関数名 : Numchecker2() * 返却値 : 数字 * 引数 : 調べたい数字 * 説明 : 全角数字が指定されたら数値で返す。数値、全角数値以外はNO-MATCHで返す * 使用例 : amout2 = Numchecker2($_POST[amount]); *------------------------------------------------------------ */ Function Numchecker2($cknumber){ if ($cknumber == "") { //何も無しならNO-MATCHで返す return "NO-MATCH"; } else { $cknumber = mb_convert_kana($cknumber,"n"); if ((int)$cknumber >= 0 ) { return $cknumber; //マイナス以外の数字なら数値で返す } elseif ((int)$cknumber < 0 ) { return $cknumber; //マイナス数字なら数値で返す } else { return "NO-MATCH"; //数値でないならNO-MATCHで返す } } } /*------------------------------------------------------------ * 関数名 : Numchecker3() * 返却値 : 文字列 * 引数 : 調べたい数字 * 説明 : 全角数字が指定されたらNUMで返す。数値、全角数値以外はCHRで返す * 使用例 : Numchecker3($_POST[amount]); *------------------------------------------------------------ */ Function Numchecker3($cknumber){ if ($cknumber == "") { //何も無しならCHRで返す return "CHR"; } else { $cknumber = mb_convert_kana($cknumber,"n"); if (is_numeric($cknumber)) { return "NUM"; //数字ならNUMで返す } else { return "CHR"; //数値でないならCHRで返す } } } /*------------------------------------------------------------ * 関数名 : Logout() * 返却値 : HTML * 引数 : なし * 説明 : クッキーをリセットして、index.htmlに戻る * 使用例 : Logout(); *------------------------------------------------------------ */ function Logout(){ global $my_con,$userdata; $strsql = "INSERT INTO loginhistory (kubun,tid,name,kengen,honbu,gyotai,tenpo,logindatetime,ip) values('OUT','".$userdata["tid"]."','".$userdata["name"]."','".$userdata["kengen"]."','".$userdata["honbuid"]."', '".$userdata["gyotaiid"]."','".$userdata["shozokuid"]."',NOW(),'".$_SERVER["REMOTE_ADDR"]."')"; $result=mysql_query($strsql,$my_con); mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); setcookie("testmode"); setcookie("ckeselect"); setcookie("ckeken"); setcookie("ckename"); setcookie("ckehonbu"); setcookie("ckegyotai"); setcookie("cketenpo"); setcookie("ckecenter"); setcookie("ckemaker"); setcookie("ckecompanyid"); setcookie("cketradex"); setcookie("cketenponame"); setcookie("cketcenter"); setcookie("ckeshime"); setcookie("cketoken"); setcookie("testmode"); //テストモード切替 setcookie("ckelead"); //リードタイム設定 setcookie("ckeshime"); //締め時間設定 setcookie("ckecen"); //利用センター設定 setcookie("ckecenterdayexe"); //センター発注締め処理用 15分置きにチェックする setcookie("ckecenterpastdayexe"); //発注締め処理 /* echo "\n"; echo "
"; } /*------------------------------------------------------------ * 関数名 : Menu4() * 返却値 : HTML文字列 * 引数 : ページタイトル * 使用例 : *------------------------------------------------------------ */ Function Menu4($strfilename){ global $functiondata,$userdata; $strfilename = substr(strrchr($strfilename, "/"), 1); if ($userdata["shozokuname"] == $userdata["name"]) { $userloginname = ""; } else { $userloginname = $userdata["shozokuname"]; } $frag=2;$j = 1; FunctionDataSet(); for ($pi = 0; $pi < sizeof($functiondata); $pi++) { if(($pi>0) and ($functiondata[$pi][3] <> $kubun)) { $main .=" \n
▲このページの先頭へ"; echo "
"; echo "
\n"; Switch($selected) { case 0: echo "受注中\n"; break; case 1: echo "1. 受注締め済・受注承認待ち\n"; break; case 2: echo "2. 受注承認済・仮引当待ち\n"; break; case 3: echo "3. 仮引当済・欠品対応待ち\n"; break; case 4: echo "4. 欠品対応済・出荷確定待ち\n "; break; case 5: echo "5. 出荷確定済・引当確定待ち\n"; break; case 6: echo "6. 引当確定済\n"; break; default: echo "7. 出荷確定済\n"; } } /*------------------------------------------------------------ * 関数名 : MakeStatusData() * 返却値 : なし * 引数 : (1) int: 本日からの日付0は本日 * 説明 : $company.statusデータを作成する *------------------------------------------------------------ */ function MakeStatusData( $int) { global $my_con,$company; //DB接続 $int = (int)$int; //14日前からデータを作成する for($str="", $pi=-14; $pi <= $int; $pi++) { $str ="operatedate=DATE_ADD(CURDATE(),INTERVAL $pi DAY)"; //データがなければステータスデータにデータ挿入 $statusdata = dbselect("count(statusid)","`".$company."status`",$str." GROUP BY operatedate",-1,-1); if ((int)$statusdata[0][0]==0) { $strsql ="INSERT INTO `".$company."status` (operatedate,gyotaiid,centerid,picktimes) SELECT DATE_ADD(CURDATE(),INTERVAL $pi DAY),gyotaiid,centerid,picktimes FROM `".$company."shozokumaster` GROUP BY gyotaiid,centerid,picktimes"; $result=mysql_query($strsql,$my_con); Testecho ($strsql); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); } } } /*------------------------------------------------------------ * 関数名 : DataUpdate() * 返却値 : なし * 引数 : (1) str: 対象テーブル名 * 引数 : (2) str: キー項目名 * 引数 : (3) str: キー * 引数 : (4) str: 対象項目名 * 引数 : (5) str: 更新内容 * 説明 : 対象テーブルの指定キーの対象項目を更新する valueには''を使用時につける * 使用例 : DataUpdate("$company.status","statusid",$_POST[id],"grosstime","now()"); *------------------------------------------------------------ */ function DataUpdate( $table, $key, $keyvalue, $columun, $value) { global $my_con; //DB接続 $strsql ="UPDATE `$table` SET `$columun` = $value WHERE `$key`=$keyvalue LIMIT 1"; $result=mysql_query($strsql,$my_con); Testecho ($strsql); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); } /*------------------------------------------------------------ * 関数名 : OperateDateSet() * 返却値 : なし * 引数 : 本日よりの日付0は本日 * 説明 : 発注データに作業日をセットする * 使用例 : OperateDateSet(0); *------------------------------------------------------------ */ function OperateDateSet($intday){ global $HTTP_POST_VARS; global $my_con; global $company; $intday2 = $intday + 1; $strsql = "UPDATE `".$company."ordermain` SET operatedate=DATE_ADD(CURDATE(),INTERVAL $intday DAY) WHERE operatedate is null AND deliverdate=DATE_ADD(CURDATE(),INTERVAL $intday2 DAY)"; $result=@mysql_query($strsql,$my_con); mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); // Testecho ("作業日セットが実施されました。".$errcode." ".$strsql."\n"); #debug } /*------------------------------------------------------------ * 関数名 : PrintMsg() * 返却値 : echo文 * 引数 : エラーメッセージ,OKメッセージ,横幅(pix) * 説明 : エラーメッセージを色つきで表示する * 使用例 : PrintMsg($msgerr,$msgok,200); *------------------------------------------------------------ */ function PrintMsg($err,$ok,$width){ if(strlen($err)>0) { echo "