header("Content-Type: text/html; charset=EUC-JP");
require_once("../common/function.php");
include("init.php");
session_register("sLoginFlg"); // ログインフラグ
session_register("sGalleryLog"); // ログファイル
session_register("sHostName"); // ホスト名
session_register("sGalleryId"); // ID
// 管理者モード
if( $_GET["login"]==1 ){
f_ChkPass();
}else if( $_GET["logout"]==1 ){
$_SESSION["sLoginFlg"] = false;
}
if($_GET["mode"]=="ins"){
f_InsLog();
}else if($_GET["mode"]=="del"){
f_DelLog();
}else{
// ログデータ取得
f_GetLog();
// HTML表示
f_ShowHtml();
}
//****************************************
// 『ログインチェック』
//****************************************
function f_ChkPass(){
global $gInit;
if(gf_IsNull($_POST["admin_pass"])){
gf_ErrPage("管理者用パスワードを入力してください", "");
}
if($gInit["admin_pass"] != $_POST["admin_pass"]){
gf_ErrPage("管理者用パスワードが違います", "");
}
setcookie("admin_pass", $_POST["admin_pass"], time()+259200);
$_SESSION["sLoginFlg"] = true;
}
//****************************************
// 『ログインサート』
//****************************************
function f_InsLog(){
global $gInit;
// 値が入っていなかったら
if( count($_POST)==0 ){
gf_ErrPage("値が取得できませんでした", ADMIN_MAIL);
}
// ログファイル取得
$wFileName = $gInit["log_file"];
if(!file_exists($wFileName)){
gf_ErrPage("GALLERYログファイルが見つかりません", ADMIN_MAIL);
}
// 読み込み
$wFp = @fopen($wFileName,"rb") or gf_ErrPage("GALLERYログファイルが見つかりません", ADMIN_MAIL);
flock($wFp, LOCK_EX);
$wFileVal = fread($wFp, 999999);
flock($wFp, LOCK_UN);
fclose ($wFp);
$wTitle = ereg_replace(",", "‚", StripSlashes($_POST["title"]));
$wTitle = ereg_replace("\[", "[", $wTitle);
$wTitle = ereg_replace("\]","]",$wTitle);
for( $i=1; $i<=10; $i++ ){
$wBuf = f_UpdImg("img_".$i,$i);
if(!gf_IsNull($wBuf)){
if(!gf_IsNull($wImgPath)){ $wImgPath .= ","; }
$wImgPath .= $wBuf;
}
}
$wFileVal = ereg_replace("(\n|\r|\r\n)", "\n", $wFileVal);
$wFileVal = date("YmdHis").",".$wTitle.",".$wImgPath."\n".$wFileVal;
// 書込み
$wFp = @fopen($wFileName, "w") or gf_ErrPage("GALLERY書き込み時にエラーが発生しました", ADMIN_MAIL);
flock($wFp, LOCK_EX);
fputs($wFp, $wFileVal);
flock($wFp, LOCK_UN);
fclose($wFp);
session_unregister("sGalleryLog");
header("Location: gallery.php?id=".$_GET["id"]);
}
//****************************************
// ファイルアップロード
//****************************************
function f_UpdImg($pFieldName,$pNo){
if( $_FILES[$pFieldName]["name"] == "" ){
return "";
}
$wPath_parts = pathinfo($_FILES[$pFieldName]["name"]);
$wNewFileName = date("ymdHis")."_".$pNo.".".$wPath_parts["extension"];
if(!eregi(".jpg|.jpeg|.gif|.png", $wNewFileName)){
gf_ErrPage("画像形式は【jpg】【gif】【png】でお願いします", "");
}
// ファイルをサーバーに保存
copy($_FILES[$pFieldName]["tmp_name"], "gallery_img/".$wNewFileName);
return "gallery_img/".$wNewFileName;
}
//****************************************
// 『ログデータ削除』
//****************************************
function f_DelLog(){
global $sLinksLog, $gInit;
// 値が入っていなかったら
if( count($_POST)==0 ){
gf_ErrPage("値が取得できませんでした", ADMIN_MAIL);
}
// ログファイル取得
$wFileName = $gInit["log_file"];
if(!file_exists($wFileName)){
gf_ErrPage("GALLERYログファイルが見つかりません", ADMIN_MAIL);
}
// 読み込み
$wFp = @fopen($wFileName,"rb") or gf_ErrPage("GALLERYログファイルが見つかりません", ADMIN_MAIL);
flock($wFp, LOCK_EX);
$wFileVal = fread($wFp, filesize($wFileName));
flock($wFp, LOCK_UN);
fclose ($wFp);
for( $i=0; $i= 2 ) @unlink(ereg_replace("(\n|\r|\r\n)", "", $_SESSION["sGalleryLog"][$_POST["hid_no"]][$i]));
}
$wDelVal = ereg_replace("\(","%28",$wDelVal);
$wDelVal = ereg_replace("\)","%29",$wDelVal);
$wDelVal = ereg_replace("\*","%2a",$wDelVal);
$wDelVal = ereg_replace("\+","%2b",$wDelVal);
$wFileVal = ereg_replace("\(","%28",$wFileVal);
$wFileVal = ereg_replace("\)","%29",$wFileVal);
$wFileVal = ereg_replace("\*","%2a",$wFileVal);
$wFileVal = ereg_replace("\+","%2b",$wFileVal);
$wFileVal = ereg_replace($wDelVal."(\n|\r|\r\n)", "", $wFileVal);
$wFileVal = ereg_replace("%28","(",$wFileVal);
$wFileVal = ereg_replace("%29",")",$wFileVal);
$wFileVal = ereg_replace("%2a","*",$wFileVal);
$wFileVal = ereg_replace("%2b","+",$wFileVal);
$wFileVal = ereg_replace("(\n|\r|\r\n)", "\n", $wFileVal);
// 書込み
$wFp = @fopen($wFileName, "w") or gf_ErrPage("GALLERY削除時にエラーが発生しました", ADMIN_MAIL);
flock($wFp, LOCK_EX);
fputs($wFp, $wFileVal);
flock($wFp, LOCK_UN);
fclose($wFp);
session_unregister("sGalleryLog");
header("Location: gallery.php?id=".$_GET["id"]);
}
//****************************************
// 『ログデータ取得』
//****************************************
function f_GetLog(){
global $gInit;
// セッション削除
if( $_SESSION["sGalleryId"] != $_GET["id"] or $_SESSION["sHostName"] != $_SERVER["HTTP_HOST"] ){
session_unregister("sGalleryLog");
session_unregister("sLoginFlg");
$_SESSION["sGalleryId"] = $_GET["id"];
$_SESSION["sHostName"] = $_SERVER["HTTP_HOST"];
}
// ログファイル
$wFileName = $gInit["log_file"];
if(!file_exists($wFileName)){
$wFp = @fopen($wFileName,"w") or gf_ErrPage("GALLERYログファイル作成時にエラーが発生しました", ADMIN_MAIL);
fclose($wFp);
chmod ( $wFileName, 0606);
}
// ログのバックアップ
gf_LogBackUp($wFileName);
if(!is_array($_SESSION["sGalleryLog"])){
$_SESSION["sGalleryLog"] = "";
// ログファイルオープン
$i = 0;
$wFp = @fopen ($wFileName, "rb") or gf_ErrPage("GALLERYログファイルが見つかりません", ADMIN_MAIL);
flock($wFp, LOCK_EX);
while (!feof($wFp)) {
$wBuf = fgets($wFp, 4096);
$wBuf = ereg_replace("\n", "", $wBuf);
if(!gf_IsNull($wBuf)){
$_SESSION["sGalleryLog"][$i] = split(",",$wBuf);
$i++;
}
}
flock($wFp, LOCK_UN);
fclose ($wFp);
if(!gf_IsNull($_SESSION["sGalleryLog"])){
usort($_SESSION["sGalleryLog"], 'sort_by_regist_date');
}
}
}
//********************************
// ソート条件
//********************************
function sort_by_regist_date($p1, $p2) {
if ($p1[0] == $p2[0]) return 0;
return ($p1[0] > $p2[0]) ? -1 : 1;
}
//********************************
// html表示
//********************************
function f_ShowHtml(){
global $gInit, $gImgPath;
?>