<?
/*
 *    IndexUpdater by ToR　　2000/01/20 -完成
 *                           2000/02/27 -タグOnOff、改行を<br>OnOff、デザイン修正他  
 *                           2000/05/06 -過去ログページんぐ、$myfile
 *    <? include("update.php");?>を挿入すると過去3回の履歴を表示します
 *    テーブル用HTMLは自分で作成してください
 *    ﾊﾟｰﾐｯｼｮﾝを606か666にした、空のファイル（new.txt）を作成してください
 *    new.txtにログが残ります
 *    書き込むときは　update.php?put
 */
//---------設定-----------
$logmax  = 365;		//ログ記録最大行
$max     = 10;		//表示件数
$page_def= 10;		//過去ログ何件ずつ
$logfile = "kokuti.txt";	//ログファイル名
$pwd     = "2762";	//パスワード（変更してください
//
$now = gmdate("Y/m/d(D) H:i", time()+9*60*60);//日付のフォーマット

if(phpversion()<"4.1.0") {
  $_SERVER = $HTTP_SERVER_VERS;
  $_POST = $HTTP_POST_VARS;
}
$lines = file($logfile);//ファイルを配列に読み込む
echo "<BODY style='BACKGROUND:#FFFF00'>";
//過去ログ表示時ヘッダです
if($_SERVER['QUERY_STRING']){
  //include("header.php");
  echo "<html><body style='BACKGROUND:#FFFF00'>";
}
if($_SERVER['QUERY_STRING']=="regi"){//ログ書き込み
  if(!isset($_POST['com'])) die("何も入力されてません。");
  $com = $_POST['com'];
  if(get_magic_quotes_gpc()) $com = stripslashes($com);
  if($html) $com = htmlspecialchars($com);
  if(!$br) $com = nl2br($com);  //改行文字の前に<br>を代入する。
  $com = ereg_replace( "[\r\n]",  "", $com);  //\nを文字列から消す。
  $message = "<p>■ ".$now."<br>&nbsp;".$com."</p>\n";
  $fp = fopen ($logfile , "w");		//書き込みモードでオープン
  flock($fp ,LOCK_EX);
  fputs ($fp, "$message");			//先頭に書き込む
  for($i = 0; $i < $logmax; $i++)		//いままでの分を追記
    fputs($fp, $lines[$i]);
  fclose ($fp);	
  echo $message;
  echo "--------更新完了------------";
}
if($_SERVER['QUERY_STRING']=="put"){//更新書き込みフォーム
  $pass = $_POST['pass'];
  if(isset($pass) && $pass != $pwd) die("パスワードが違うよ");

  echo "<table width='100%'><tr><th bgcolor=ffd833>管理モード</font></th></tr></table>\n";
  if (!$pass){
  ?>
<P><center><h4>パスワードを入力して下さい</h4>
<form action="?put" method=POST>
<input type=password name=pass size=8>
<input type=submit value=" 認証"></form></center><hr>
  <?
  }else {
  ?>
<form action="?regi" method=POST><table width=350 align=center>
<tr><td align=center><h4>更新情報をいれてください。</h4></td></tr>
<tr><td align=left>■<? echo $now;?></td><td> </td></tr>
<tr><td colspan=2><textarea name="com" cols="45" rows="5"></textarea></td></tr>
<tr><td> </td><td align=left><input type="checkbox" name="br" value="1">改行を&lt;br&gt;に変換しない<br>
<input type="checkbox" name="html" value="1">HTMLタグを無効にする</td></tr>
<tr><td colspan=2 align=right><input type=submit value=" index更新 "><input type=reset value="clear"></form></td></tr></table><hr>
  <?
  }
}
if(eregi("old",$_SERVER['QUERY_STRING'])){//過去ログ表示部分
  
  echo "<hr size=1><B>俺からの告知</B><br><ul>";
  /*　１ページずつ表示 */
  //?old+3を展開->$page=3
  $page = strstr($_SERVER['QUERY_STRING'], '+');
  if($page){//page=3が設定されたら開始位置は(3-1)*10=20 配列20番目
      $st = ($page-1) * $page_def;//
  }else{
      $page = 1;//最初はpage=1
  }
  for($i = $st; $i < $st+$page_def; $i++){//10件ずつ表示
    echo $lines[$i];
  }

  if (sizeof($lines) > $page_def) {//10件より多いならページング作成
    $pages = ceil(sizeof($lines) / $page_def);//35÷10=3.5 ceil切り上げ 4

    for ($i = 1; $i <= $pages; $i++) {//ログ35行なら4ページ
      if($page == $i){//今表示しているのはﾘﾝｸしない
        $next .= " $i ";
      }else{
        $next .= " <a href=\"update.php?old+$i\">$i</a> ";//他はﾘﾝｸ
    }
  }
  echo "<p>[ Page: $next ]";//[12 3 4]
}

  echo "</ul><br><hr size=1><p align=right><a href=?put>admin</a><br>\n";
}else{//実際の表示部分
  for($i = 0; $i < $max; $i++)
    echo $lines[$i];
  echo "<div align=right><a href=\"update2.php?old\">＞＞</a></div>";
}
if($_SERVER['QUERY_STRING']){//過去ログ表示時ヘッダー
  echo "<hr>";
  //include("foot.php");
  exit;
}
echo "</BODY>";
?>
