//****************************************************************************
//**ファイル名 :stdfunc.php
//**タイトル :共通関数
//**作成日 :2004/10/11
//**内容 :共通で利用する関数郡
//**
//**更新履歴******************************************************************
//**変更日 変更者 変更箇所 変更理由と変更内容
//**2003/10/11 立川 OnError エラー発生時の状況を詳細に表示 <<< DBG用 >>>
//**2003/10/11 立川 fff decrared 変数列挙 <<< DBG用 >>>
//**2003/10/20 立川 DispCategoryList カテゴリリストを表示
//**2003/10/20 立川 GetCategoryName カテゴリ名を取得
//**2003/10/20 立川 GetNextCatId 親カテゴリIDから新規IDを取得
//**2003/10/20 立川 GetShopName ショップ名を取得
//****************************************************************************
//****************************************************************************
//** OnError <<エラーハンドラ>>
//** エラーが発生時のエラーメッセージ
//**
//****************************************************************************
if( !defined("c_dbg_mode") ){ define( "c_dbg_mode", "0" ); }
function shutdown()
{
global $db;
if( !is_null( $db ) )
{
DB_Transaction( $db, "ROLLBACK" );
}
}
//register_shutdown_function('shutdown');
function OnError($errno, $errstr, $errfile, $errline)
{
global $db;
//エラーロギング
switch ($errno)
{
case E_ERROR:
$strErrType = "PHP Error: ";
break;
case E_USER_ERROR:
$strErrType = "PHP Error: ";
break;
case E_WARNING:
$strErrType = "PHP Warning: ";
break;
case E_NOTICE:
$strErrType = "PHP Nortice: ";
break;
}
if( $errno == E_ERROR || $errno == E_WARNING || $errno == E_USER_ERROR )
{
if( !is_null( $db ) )
{
DB_Transaction( $db, "ROLLBACK" );
}
$aBacktrace = debug_backtrace();
$intNumBt = count( $aBacktrace );
for( $intCnt = 0 ; $intCnt < $intNumBt ; $intCnt++ )
{
if( $aBacktrace[$intCnt][file] )
{
$strAddErrMes = $strAddErrMes . " in " . $aBacktrace[$intCnt][file];
$strAddErrMes = $strAddErrMes . " on line " . $aBacktrace[$intCnt][line];
}
}
}
if( $errno != E_NOTICE )
{
error_log( $strErrType . $errstr . " " . $errfile . " " . $errline . $strAddErrMes ,0 );
}
//ディスプレイエラー
if( c_dbg_mode == 1 )
{
//デバッグモードの場合のエラーメッセージ
if( mb_strpos( $errstr , "OCIStmtExecute" ) )
{
//DBクエリエラーの場合は別フロー
return;
}
switch ($errno)
{
case E_ERROR:
break;
case E_USER_ERROR:
break;
case E_WARNING:
break;
case E_NOTICE:
return;
break;
}
?>
スクリプトエラー
|
エラー内容
|
: |
ファイル
|
|
発生行
|
|
バックトレース
print_r(debug_backtrace());
?>
|
}
else
{
//フロントモードの場合のエラーメッセージ
switch ($errno)
{
case E_ERROR:
?>
スクリプトエラー。 ご迷惑をお掛けしております。
|
exit;
break;
case E_USER_ERROR:
?>
Uスクリプトエラー。 ご迷惑をお掛けしております。
|
exit;
break;
case E_WARNING:
break;
case E_NOTICE:
break;
}
return;
}
}
set_error_handler( "OnError" );
//**
//*********************************************************
/*********************************************************
//** 認証正当性のチェック
//*********************************************************/
if( isset( $_COOKIE["myneeds_member_id"] ) )
{
if( $_COOKIE["myneeds_member_md"] != md5( "lts" . $_COOKIE["myneeds_member_id"] ) )
{
//md5パターンと一致しなければ、セッションを破棄する
setcookie( "myneeds_member_id" , "" , time() - 3600 , c_CookiePath , c_CookieDom );
header( "Location:" . $_SERVER["PHP_SELF"] );
exit;
}
}
//*********************************************************
function sqldump( $strSQL )
{
global $db;
$oRSMain = DB_query( $db, $strSQL );
$nrows = OCIFetchStatement($oRSMain,$results);
if ( $nrows > 0 ) {
print "\n";
print "\n";
while ( list( $key, $val ) = each( $results ) ) {
print "$key | \n";
}
print "
\n";
for ( $i = 0; $i < $nrows; $i++ ) {
reset($results);
print "\n";
while ( $column = each($results) ) {
$data = $column['value'];
print "$data[$i] | \n";
}
print "
\n";
}
print "
\n";
} else {
echo "データがありません
\n";
}
print "全 $nrows 件
\n";
}
Function fff( $val , $nam = "")
{
static $vmum;
if( $nam == "" )
{
if( "" == $vmum )
{
$vmum = 1;
}
else
{
$vmum++;
}
echo "" ;
echo $vmum;
echo " | ";
var_dump( $val );
echo " |
";
}
else
{
echo "" ;
echo $nam;
echo " | ";
var_dump( $val );
echo " |
";
}
}
//************************************
//** [ペットワン] dept_idからメンバーID(member_id)と記事ID(dp_id)を抽出
//**
Function GetMemDpID( $dept_id, &$member_id, &$dp_id )
{
$intNeedle = strlen( $dept_id ) - 4;
$member_id = substr( $dept_id , 0 , $intNeedle );
$dp_id = (int)substr( $dept_id , $intNeedle );
}
//**
//************************************
//************************************
//** [ペットワン] ID(member_id)と記事ID(dp_id)からdept_idを生成
//**
Function GetDeptID( $member_id, $dp_id )
{
$strDpID = phRight( "0000" . $dp_id , 4 );
return $member_id . $strDpID;
}
//**
//************************************
//************************************
//** [ペットワン] $member_id からブログ情報を抽出
//**
Function GetBlogInfo( $member_id )
{
global $db;
$strSQL = "SELECT blog_name, member_name, imgup_flg FROM blog_info WHERE del_flg = 0 " .
" AND member_id = " . SQLSafeStr( $member_id );
$oRS = DB_query( $db, $strSQL );
if( DB_num_rows( $oRS ) )
{
//データを挿入
$ret = DB_fetch_array( $oRS );
unset( $oRS );
return $ret;
}
else
{
//存在しないか、削除されている
unset( $oRS );
return false;
}
}
//**
//************************************
//************************************
//** [ペットワン] $dept_id から掲示板情報を抽出
//**
Function GetBBSInfo( $dept_id )
{
global $db;
$strSQL = "SELECT dept_name, description FROM bbs_dept WHERE del_flg = 0 " .
" AND dept_id = " . SQLSafeStr( $dept_id );
$oRS = DB_query( $db, $strSQL );
if( DB_num_rows( $oRS ) )
{
//データを挿入
$ret = DB_fetch_array( $oRS );
unset( $oRS );
return $ret;
}
else
{
//存在しないか、削除されている
unset( $oRS );
return false;
}
}
//**
//************************************
//ベンダー名を返す
Function GetVenderName( $strVenderID )
{
global $db;
$strSQL =" SELECT vender_name " .
" FROM vender ";
$strSQL = $strSQL .
" WHERE vender_cd =" . SQLSafeStr( $strVenderID );
$objRS = DB_Query( $db, $strSQL );
$num_rows_RS = DB_Num_Rows($objRS);
If ( 0 != $num_rows_RS )
{
$objRSWrite = DB_Fetch_Array($objRS);
Return $objRSWrite["vender_name"];
}
unset($objRSStore);
}
//ショップ名を返す
Function GetShopName( $strShopID )
{
global $db;
$strSQL =" SELECT store_name " .
" FROM store ";
$strSQL = $strSQL .
" WHERE store_id =" . SQLSafeStr( $strShopID );
$objRS = DB_Query( $db, $strSQL );
$num_rows_RS = DB_Num_Rows($objRS);
If ( 0 != $num_rows_RS )
{
$objRSWrite = DB_Fetch_Array($objRS);
Return $objRSWrite["store_name"];
}
unset($objRSStore);
}
//ショップURLを返す
Function GetShopURL( $strShopID, $blnHttps )
{
global $db;
if( $blnHttps )
{
$strStoreHttp = "store_httpsurl";
}
else
{
$strStoreHttp = "store_httpurl";
}
$strSQL =" SELECT " . $strStoreHttp .
" FROM store ";
$strSQL = $strSQL .
" WHERE store_id =" . SQLSafeStr( $strShopID );
$objRS = DB_Query( $db, $strSQL );
$num_rows_RS = DB_Num_Rows($objRS);
If ( 0 != $num_rows_RS )
{
$objRSWrite = DB_Fetch_Array($objRS);
Return $objRSWrite[$strStoreHttp];
}
unset($objRSStore);
}
//*********************************************************
//** DOG_DEPT_PULL_DOWN( $store_id, [ $cat_id ] )
//** カテゴリプルダウンリスト表示関数
//** 説明:プルダウンコンボ型を出現させる
//** 引数: $store_id ショップID
//** $cat_id デフォルトのカテゴリID(任意)
//**
//*********************************************************
Function DOG_DEPT_PULL_DOWN( $strMallDeptID , $strPost = "mdept" , $all = false )
{
global $db;
$DEPT_PULL_DOWN = "";
echo $DEPT_PULL_DOWN;
}
//****************************************************************************
//*********************************************************
//** GetDogDeptName( $strDeptID, $strLink )
//** カテゴリ階層取得関数
//** 説明:カテゴリIDから、カテゴリまでの階層を取得する
//** 引数: $store_id ショップID
//** $cat_id カテゴリID
//** $link リンク(GET) ex:'./index.php?cat_id='(任意)
//**
//*********************************************************
function GetDogDeptName( $strDeptID, $strLink = null )
{
global $db;
if ( strlen( $strDeptID ) != 4 ) return;
$strSQL = "SELECT dept_id, dept_name FROM dog_dept " .
" WHERE dept_id = " . SQLSafeStr( $strDeptID ) .
" ORDER BY dept_id";
$ORSCatList = DB_query( $db, $strSQL );
$lngNumRows = DB_Num_Rows( $ORSCatList );
if( $lngNumRows )
{
$astrORSCatList = DB_Fetch_Array( $ORSCatList );
$strCatName = $astrORSCatList["dept_name"];
if( !is_null( $strLink ) )
{
//リンクパラメータが存在するならCatIdへのリンクタグをつける
$strCatName = "" . $strCatName . "";
}
return $strCatName;
}
else
{
return false;
}
}
//**
//*********************************************************
//*********************************************************
//** DispCategoryList( $store_id, [ $cat_id ] )
//** カテゴリリスト表示関数
//** 説明:プルダウンコンボ型を出現させる
//** 引数: $store_id ショップID
//** $cat_id デフォルトのカテゴリID(任意)
//**
//*********************************************************
function DispCategoryList( $store_id, $cat=null )
{
global $db;
$strSQL = "SELECT category_id, dept_name FROM category " .
" WHERE store_id = " . SQLSafeStr( $store_id ) .
" AND del_flg = 0 " .
" ORDER BY category_id";
$ORSCatList = DB_query( $db, $strSQL );
$lngNumRows = DB_Num_Rows( $ORSCatList );
if( $lngNumRows )
{
?>