"); // データの区切り文字 //define( "PRIORITY_FILE", "priority.php"); // 優先スレッドファイル define( "THREAD_FILE", "thread.php"); // スレッドの順位を保存するファイル define( "THREAD_DATA_FORM", "iID<>sFileName<>sDay<>sTime<>sTitle<>iRes<>etc"); define( "LOG_DATA_FORM" , "iID<>sDay<>sTime<>sName<>sMail<>sMsg<>sIP<>sAgent<>etc"); define( "TOPLINK_DATA_FORM", "iID<>sURL<>sTitle<>etc"); // 初期設定 require("./init.php"); // 関数定義 require("./function.php"); // 各種変数の取得 if( !ini_get('register_globals')) { $aTypeList = array('GET','POST','COOKIE','SESSION','SERVER'); foreach( $aTypeList as $sType) { if( @count(${'HTTP_' . $sType . '_VARS'}) > 0) { extract(${'HTTP_' . $sType . '_VARS'}, EXTR_OVERWRITE); } } } // HTMLヘッダー部分表示関数 function EchoHeader() { $sResult = "
\n"; return( $sResult); } // HTMLトップのリンク欄 function EchoTopLink() { global $fAdmin, $gShowAdminCheck; $sResult = EchoLinkSite(); if( $gShowAdminCheck == 1){ if( $fAdmin == 0){ $sResult .= " [ 管理者モード ]\n"; } else{ $sResult .= " [ Logoff ]\n"; } } return( $sResult); } // 新規スレ作成フォーム function EchoNewThreadForm() { global $Like_2ch; @$aTempLog = GetFileLog( ATENTION_TXT); $sResult = "" . PAGE_TITLE . "
\n"; $sResult .= EchoTopLink() . "
"; return( $sResult); } // HTMLフッター部分表示関数 function EchoFooter() { $sResult = "
\n"; $sResult .= "[ Suteki-BBS(PHP Edition) ver" . VER . " "; $sResult .= "Copyright(C) woodtail@素敵工房 ]\n"; $sResult .= "
スレッドタイトル | (必須) |
名前 | (必須) |
E-Mail | |
コメント (必須) | |
\n"; $sResult = "
"; }else{ $sResult .= ""; } } } else // 対象のスレッドデータの無い場合 { $sResult = "\n"; $sResult .= "" . $cTitle->sTitle . " 【 " . $cTitle->iRes . " 】"; if( $fAdmin == 1) { $sResult .= " [ iID . "\">編集する ] "; if( $cTitle->etc == 0){ $sResult .= "[ iID . "\">非表示にする ]"; }else{ $sResult .= "[ iID . "\">閲覧可能にする ]"; } } if( !CmpStr( "normal", $mode)){ $sResult .= "
" . EchoOverLog(); }else{ $sResult .= "
"; }else{ $sResult .= "
\n"; } if( $iViewMode == "") { if( !CmpStr( "only", $mode)){ $sResult .= EncodingLine( $aTempLog[ 0], $cTitle->iID); $sDumy = array_shift( $aTempLog); $iStart = sizeof( $aTempLog) - $iView; $iEnd = sizeof( $aTempLog); }else{ $sResult .= EncodingLine( $aTempLog[ 0], $cTitle->iID); } if( $iStart < 0){ $iStart = 0; } }else{ $iStart = $iViewMode; $iEnd = $iViewMode + $iView; if( !CmpStr( "only", $mode)){ if( $iViewMode != 0){ $sResult .= EncodingLine( $aTempLog[ 0], $cTitle->iID); } } if( $iEnd > sizeof( $aTempLog)){ $iEnd = sizeof( $aTempLog); } if( $iStart > sizeof( $aTempLog)){ // 開始位置範囲外 $iStart = sizeof( $aTempLog) - $iView; $sDumy = array_shift( $aTempLog); } } for( $i=$iStart; $i<$iEnd; $i++){ $sResult .= EncodingLine( $aTempLog[ $i], $cTitle->iID); } if( $cTitle->iRes >= VIEW_LOG_MAX){ $sResult .= EchoMenu( $sTemp, VIEW_LOG_SINGLE, 1) . "\n"; $sResult .= "" . $cTitle->sTitle . " 【 " . $cTitle->iRes . " 】"; if( $fAdmin == 1) { $sResult .= " [ iID . "\">編集する ] "; if( $cTitle->etc == 0){ $sResult .= "[ iID . "\">非表示にする ]"; }else{ $sResult .= "[ iID . "\">閲覧可能にする ]"; } } if( !CmpStr( "normal", $mode)){ $sResult .= "
"; } return( $sResult); } // HTMLスレッド部分表示関数 function EchoThread( $aTemp) { global $gThread, $gShowThread; // レスも表示するスレッド数,,表示するスレッドの数 $cTemp = new ThreadLog; $sResult = "
"; }else{ $sResult .= "
\n"; } $sResult .= "このスレッドはデータが無いか破損している恐れがあります。
\n"; if( $gShowThread > sizeof( $aTemp)){ $iEnd = sizeof( $aTemp); }else{ $iEnd = $gShowThread; } if( SHOW_LAST_UPDATE ){ $sResult .= "最終更新日時 : " . date( "Y\/m\/d\ H\:i", filemtime( THREAD_FILE)) . "
"; } for( $i=0; $i<$iEnd; $i++){ $cTemp->sProtLine = $aTemp[ $i]; $cTemp->GetLine(); if( $i < $gThread){ if( $cTemp->etc == 1){ $sResult .= "iID . "\">" . trim($i+1) . ": " . $cTemp->sTitle . " (" . $cTemp->iRes . ") \n"; }else{ $sResult .= "iID . "\">" . trim($i+1) . ": " . $cTemp->sTitle . " (" . $cTemp->iRes . ") \n"; } }else{ // $sResult .= "iID . "\">" . trim($i+1) . ": " . $cTemp->sTitle . " (" . $cTemp->iRes . ") \n"; $sResult .= "iID . "\">" . trim($i+1) . ": " . $cTemp->sTitle . " (" . $cTemp->iRes . ") \n"; } } // if( !($gShowThread > sizeof( $aTemp))){ $sResult .= "
"; // }else{ // $sResult .= "
"; // } $sResult .= "新規スレを作成"; return( $sResult); } // スレッド単独表示時とかの表示メニュー function EchoMenu( $sTemp, $iView, $etc) { $cThreadTemp = new ThreadLog; $cThreadTemp->sProtLine = $sTemp; $cThreadTemp->GetLine(); if( $etc == 1){ $sResult = "
TOPに戻る "; }else{ $sResult = "
TOPに戻る "; } $sResult .= "iID . "\">全部読む "; $iPage = (int)(($cThreadTemp->iRes - 1) / $iView); for( $i=0; $i<$iPage+1; $i++){ if( (($i+1) * $iView) > $cThreadTemp->iRes){ $iEnd = $cThreadTemp->iRes; }else{ $iEnd = ($i+1) * $iView; } $iStart = $i * $iView; // $sResult .= "iID . "&start=" . $iStart . "\">" . ( $iStart+1) . "-" . $iEnd . " "; $sResult .= "iID . "&start=" . $iStart . "\">" . ( $iStart+1) . "- "; } if( $cThreadTemp->iRes < $iView){ $sResult .= "iID . "\">最新" . $cThreadTemp->iRes . ""; }else{ $sResult .= "iID . "\">最新" . $iView . ""; } $sResult .= " スレッド名:" . $cThreadTemp->sTitle . "\n"; return( $sResult); } // クラス定義 Class Base // データの基本形、メンバ関数。これを継承したりして作っても可。 { /* "iID<>sDay<>sTime<>sName<>sMail<>sMsg<>sIP<>sAgent<>etc" */ var $sProtLine; // これに通常のデータを代入すれ。 var $aFormName; var $iFormSize; function Base() // コンストラクタ〜ん { @$this->aFormName = aSplitStr( LOG_DATA_FORM, SPLITER); // これを可変変数で使うのじゃ ex: $this->{$aFormName[ int]} = STR $this->iFormSize = sizeof( $this->aFormName); // 一応データの数も返せるようにします } function GetLine() // $sProtLineの1行を分解して可変変数に代入。 { @$aTemp = aSplitStr( $this->sProtLine, SPLITER); for( $i=0; $i < $this->iFormSize; $i++){ $this->{ $this->aFormName[ $i]} = $aTemp[ $i]; } } function FormMarge() // SPLITERで、メンバー変数を繋いじゃいます。 { for( $i=0; $i < $this->iFormSize; $i++){ $aTemp[ $i] = $this->{ $this->aFormName[ $i]}; } // $sResult = sMargeStr( $aTemp, SPLITER); $sResult = implode( SPLITER, $aTemp); return( $sResult); } } Class ThreadLog extends Base { function ThreadLog() // コンストラクタ { @$this->aFormName = aSplitStr( THREAD_DATA_FORM, SPLITER); $this->iFormSize = sizeof( $this->aFormName); } } Class TopLink extends Base { function TopLink() // コンストラクタ { @$this->aFormName = aSplitStr( TOPLINK_DATA_FORM, SPLITER); $this->iFormSize = sizeof( $this->aFormName); } } /* --- メイン処理 -------------------------------------------------------- */ if( $_GET["mode"] != null){ $mode = $_GET["mode"]; $num = $_GET["num"]; $start = $_GET["start"]; $point = $_GET["point"]; }else{ $mode = $_POST["mode"]; $num = $_POST["num"]; $start = $_POST["start"]; $point = $_POST["point"]; } $sName = $_POST["sName"]; $sMsg = $_POST["sMsg"]; $sMail = $_POST["sMail"]; //$hide = $_POST["hide"]; $jschk = $_POST["jschk"]; $sPass = $_POST["sPass"]; $cTemp = new Base; $cThreadTemp = new ThreadLog; $fErr = TRUE; // 何らかのエラーフラグ $sErrlog = ""; // 何らかのメッセージ $fJoin = 0; // Memberか否か。 $fAdmin = 0; // 管理者権限 $sShowLog = ""; $gAgent = SetAgent(); // if( $gAgent == 1){ // $mode = "i" . $mode; // } $Like_2ch_admin_pass = $_COOKIE["Like_2ch_admin_pass"]; $Like_2ch_pass = $_COOKIE["Like_2ch_pass"]; if( CmpStr( ADMIN_PASS, $Like_2ch_admin_pass)){ $fAdmin = 1; $fJoin = 1; } if( $gPassUse == 1){ if( CmpStr( MEMBER_COOKIE, $Like_2ch_pass)){ $fJoin = 1; } }else{ $fJoin = 1; } // 管理者のチェック if( $fAdmin == 0){ if( CmpStr( "admin", $mode)) { if( CmpStr( $sPass, ADMIN_PASS)) { // 今日のおやつはクッキーですよ(取り合えず賞味期限は1時間) setcookie( "Like_2ch_admin_pass", ADMIN_PASS, time() + (ADMIN_TIME)); $Like_2ch_admin_pass = ADMIN_PASS; $mode = "normal"; $fjoin = 1; $fAdmin = 1; }else{ $sShowLog = "
パスワードが違います。もう一度入力してください。
\n"; $mode = "adlogon"; } } if( CmpStr( "adlogon", $mode)){ $sShowLog .= EchoAdminForm(); } if( CmpStr( "adlogoff", $mode)){ $mode = "normal"; } }else{ if( CmpStr( "adlogoff", $mode)) { setcookie( "Like_2ch_admin_pass", ADMIN_PASS, time() - (3600)); $mode = "normal"; $fAdmin = 0; //$fJoin = 1; } } // 閲覧者のチェック if( $fJoin == 0){ if( CmpStr( "join", $mode)) { if( CmpStr( $sPass, MEMBER_PASS)) { // 明日もおやつはクッキーですよ setcookie( "Like_2ch_pass", MEMBER_COOKIE, time() + (MEMBER_TIME)); $Like_2ch_pass = MEMBER_COOKIE; $mode = "normal"; $fJoin = 1; }else{ $sShowLog = "
パスワードが違います。もっかい。
パスワードを忘れた場合、管理者に聞きましょう。
\n"; $mode = ""; } } if( $mode == ""){ $sShowLog .= EchoJoinForm(); } } $gHead = EchoHeader(); $gFoot = EchoFooter(); if( $fJoin == 1){ // 表示モードの入れ子 if( $view == ""){ $gViewLog = VIEW_LOG_MAIN; }else{ $gViewLog = $view; } if( $mode == ""){ $mode = "normal"; } // スレッドが何も無いときの処理 if( CmpStr( "normal", $mode) or CmpStr( "thread", $mode) or CmpStr( "all", $mode) or CmpStr( "single", $mode) or CmpStr( "only", $mode)){ if( !file_exists( THREAD_FILE)){ $mode = "nothing"; WriteLog( "", THREAD_FILE); }else{ @$aTemp = GetFileLog( THREAD_FILE); if( $aTemp[0] == ""){ $mode = "nothing"; } } } // スレッド一覧表示 if( CmpStr( "thread", $mode)) { @$aTemp = DelThread( GetFileLog( THREAD_FILE)); $sShowLog .= "
TOPに戻る
\n"; for( $i=0; $isProtLine = $aTemp[ $i]; $cThreadTemp->GetLine(); $sTemp = ""; if( ( $i!=0) &&(( $i%10)==0)){ $sShowLog .= "
"; } if( $fAdmin == 1){ if( $cThreadTemp->etc == 0){ $sTemp .= "[ iID . "\">非表示化 ]"; }else{ $sTemp .= "[ iID . "\">表示化 ]"; } } if( SHOW_THREAD_UPDATE ){ if( file_exists( $cThreadTemp->sFileName . ".php")){ $sTemp .= " [" . date( "Y\/m\/d - H\:i", filemtime( $cThreadTemp->sFileName . ".php")) . "] "; }else{ $sTemp .= " [ - -- unknow -- - ] "; } } $sShowLog .= ($i+1) . $sTemp . " iID . "\">" . $cThreadTemp->sTitle . " (" . $cThreadTemp->iRes . ")
\n"; } } // スレッド全部表示 if( CmpStr( "all", $mode)) { if( $view == ""){ $gViewLog = VIEW_LOG_SINGLE; }else{ $gViewLog = $view; } @$aTemp = GetFileLog( THREAD_FILE); $sTemp = aCmpLog( "iID", $num, $aTemp); $cThreadTemp->sProtLine = $sTemp[ 0]; $cThreadTemp->GetLine(); if( $cThreadTemp->etc == 1){ $sShowLog .= "
そんなスレッドはありません。
\n"; }else{ // ログ全部表示 $sShowLog .= EchoMenu( $cThreadTemp->sProtLine, $gViewLog, 0) . EchoLog( $cThreadTemp->sProtLine, $cThreadTemp->iRes, 0, 0) . EchoMenu( $cThreadTemp->sProtLine, $gViewLog, 0); } } // スレッド単独表示 if( CmpStr( "single", $mode)) { if( $view == ""){ $gViewLog = VIEW_LOG_SINGLE; }else{ $gViewLog = $view; } @$aTemp = GetFileLog( THREAD_FILE); $sTemp = aCmpLog( "iID", $num, $aTemp); $cThreadTemp->sProtLine = $sTemp[ 0]; $cThreadTemp->GetLine(); if( $cThreadTemp->etc == 1){ $sShowLog .= "
そんなスレッドはありません。
\n"; }else{ // 指定範囲のログ表示 $sShowLog .= EchoMenu( $cThreadTemp->sProtLine, $gViewLog, 0) . EchoLog( $cThreadTemp->sProtLine, $gViewLog, 0, $start) . EchoMenu( $cThreadTemp->sProtLine, $gViewLog, 0); } } // スレッド内記事一件表示 if( CmpStr( "only", $mode)) { if( $view == ""){ $gViewLog = VIEW_LOG_SINGLE; }else{ $gViewLog = $view; } @$aTemp = GetFileLog( THREAD_FILE); $sTemp = aCmpLog( "iID", $num, $aTemp); $cThreadTemp->sProtLine = $sTemp[ 0]; $cThreadTemp->GetLine(); $start = $start - 1; if( $start < 0){ $start = 0; } if( $cThreadTemp->etc == 1){ $sShowLog .= "
そんなスレッドはありません。
\n"; }else{ // 指定範囲のログ表示 $sShowLog .= EchoMenu( $cThreadTemp->sProtLine, $gViewLog, 0) . EchoLog( $cThreadTemp->sProtLine, 1, 0, $start) . EchoMenu( $cThreadTemp->sProtLine, $gViewLog, 0); } } // レスつけ。 if( CmpStr( "send", $mode)) { // 名前チェック if( $sName == ""){ if( UNKNOW_NAME_STAT == 0){ $sName = UNKNOW_NAME_VALUE; }else{ $sErrlog .= " 名前 "; $fErr = FALSE; } } // コメントチェック if( $sMsg == ""){ $sErrlog .= " メッセージ "; $fErr = FALSE; } // 入力メッセージ量チェック if( REG_LOG_MAX != 0){ if( strlen( $sMsg) > REG_LOG_MAX){ // ここに書き込み量が多すぎたらエラーを吐く処理。 } } if ( !(preg_match( "/(\x82[\x9F-\xF2])|(\x83[\x40-\x96])/", $sMsg))){ echo "good bye :p"; $fErr = FALSE; exit; } if( eregi( "on", $hide)){ $fErr = FALSE; exit; } /* if( eregi( ".info", $sMsg)){ echo "good bye :p"; $fErr = FALSE; exit; } if( eregi( "href=", $sMsg)){ echo "good bye :p"; $fErr = FALSE; exit; } if( eregi( "ymra", $sMsg)){ echo "good bye :p"; $fErr = FALSE; exit; } */ if( eregi( "url=", $sMsg)){ echo "good bye :p"; $fErr = FALSE; exit; } if( !($fErr)){ $mode = "normal"; $sShowLog = "
" . $sErrlog . "が未記入です。
もう一度入力して下さい。
"; }else{ //iID<>sFileName<>sDay<>sTime<>sTitle<>iRes<>etc @$aTemp = GetFileLog( THREAD_FILE); $sTemp = aCmpLog( "iID", $num, $aTemp); $cThreadTemp->sProtLine = $sTemp[ 0]; $cThreadTemp->GetLine(); if( $sTemp == ""){ $sShowLog .= "
そんなスレッドはありません。
\n"; }else{ if( $cThreadTemp->iRes >= VIEW_LOG_MAX){ $sShowLog = "
" . EchoOverLog(); }else{ $cThreadTemp->iRes++; $sTempFileName = $cThreadTemp->sFileName; // クッキーを食べましょう setcookie( "Like_2ch", "$sName", time() + (USER_TIME)); if( $gPassUse == 1){ setcookie( "Like_2ch_pass", MEMBER_COOKIE, time() + (MEMBER_TIME)); } // 新規書き込み時(名前変更時)の初回クッキー対策 //$Like_2ch = "$sName"; $sTemp = $cThreadTemp->FormMarge() . "\r\n"; /* ここにsageの処理及び、レスがついたスレッドを一番上に。 */ // sageならスレッド順位を変えない。 $fSageTemp = 0; if( SAGE_TYPE == "YES"){ if( strtolower( $sMail) == "sage"){ $fSageTemp = 1; } }elseif( SAGE_TYPE == "ADMIN"){ if( $fAdmin == 1){ $fSageTemp = 1; }else{ if( strtolower( $sMail) == "sage"){ $fSageTemp = 1; } } }elseif( SAGE_TYPE == "ADMIN_UP"){ $fSageTemp = 1; if( $fAdmin == 1){ $fSageTemp = 0; } }else{ $fSageTemp = 0; } if( $fSageTemp == 1){ if( sizeof( $aTemp) == 1){ // $aResultTemp = array_merge( $sTemp, $aTemp[ 0]); $aResultTemp = $sTemp; }else{ for( $i=0; $isProtLine = $aTemp[ $i]; $cThreadTemp->GetLine(); if( $cThreadTemp->iID == $num){ $aResultTemp[ $i] = $sTemp; }else{ $aResultTemp[ $i] = $aTemp[ $i]; } } } }else{ if( sizeof( $aTemp) == 1){ // $aResultTemp = array_merge( $sTemp, $aTemp[ 0]); $aResultTemp = $sTemp; }else{ for( $i=0,$j=0; $i sProtLine = $aTemp[ $i]; $cThreadTemp->GetLine(); if( $cThreadTemp->iID == $num){ }else{ $aResultTemp[ $j] = $aTemp[ $i]; $j++; } } $aResultTemp = array_merge( (array)$sTemp, (array)$aResultTemp); } } if( !WriteLog( $aResultTemp, THREAD_FILE)){ echo "File Open Error! Try Again later"; exit; } // iID<>sDay<>sTime<>sName<>sMail<>sMsg<>sIP<>sAgent<>etc @$aTemp = GetFileLog( $sTempFileName . ".php"); $iID = sizeof( $aTemp); $sDay = date("Y")."/".date("m")."/".date("d")."(".date("D").")"; $sTime = date("H").":".date("i"); $sIP = getenv("REMOTE_ADDR"); $sAgent = getenv("HTTP_USER_AGENT"); $etc = 0; for( $i=0; $i<$cTemp->iFormSize; $i++){ $cTemp->{$cTemp->aFormName[$i]} = sEncodeStr( ${$cTemp->aFormName[$i]}); } $sTemp = $cTemp->FormMarge() . "\r\n"; $aTemp = array_merge( (array)$aTemp, (array)$sTemp); if( !WriteLog( $aTemp, $sTempFileName . ".php")){ echo "File Open Error! Try Again later"; exit; } $mode = "addcomplate"; } } } } // 新規スレ登録 if( CmpStr( "treg", $mode)) { // echo $_POST["jschk"]; if( $_POST["jschk"] != 1){ $fErr = FALSE; // echo $_POST["jschk"]; exit; } // タイトルチェック if( $sTitle == ""){ $sErrlog .= " スレッドタイトル "; $fErr = FALSE; } // 名前チェック if( $sName == ""){ $sErrlog .= " 名前 "; $fErr = FALSE; } // コメントチェック if( $sMsg == ""){ $sErrlog .= " メッセージ "; $fErr = FALSE; } // 入力メッセージ量チェック if( REG_LOG_MAX != 0){ if( strlen( $sMsg) > REG_LOG_MAX){ // ここに書き込み量が多すぎたらエラーを吐く処理。 } } if ( !(preg_match( "/(\x82[\x9F-\xF2])|(\x83[\x40-\x96])/", $sMsg))){ echo "good bye :p"; $fErr = FALSE; exit; } if( !($fErr)){ $sErrlog = "
" . $sErrlog . "が未記入です。
もう一度入力して下さい。
"; $mode = "new"; }else{ $sIP = getenv("REMOTE_ADDR"); $sAgent = getenv("HTTP_USER_AGENT"); $sDay = date("Y")."/".date("m")."/".date("d")."(".date("D").")"; $sTime = date("H").":".date("i"); $sTitle = sEncodeStr( $sTitle); // クッキーを食べましょう setcookie( "Like_2ch", "$sName", time() + (USER_TIME)); if( $gPassUse == 1){ setcookie( "Like_2ch_pass", MEMBER_COOKIE, time() + (MEMBER_TIME)); } // 新規書き込み時(名前変更時)の初回クッキー対策 //$Like_2ch = "$sName"; //iID<>sFileName<>sDay<>sTime<>sTitle<>iRes<>etc @$aTemp = GetFileLog( THREAD_FILE); $sFileName = str_pad( trim( sizeof( $aTemp)), 5, "0", STR_PAD_LEFT); $sTemp = trim( sizeof( $aTemp)) . "<>" . $sFileName . "<>"; $sTemp .= $sDay . "<>" . $sTime . "<>" . $sTitle . "<>1<>0\r\n"; if( sizeof( $aTemp) != 0){ @$aTemp = aInsertLine( $sTemp, $aTemp, -1); }else{ $aTemp = $sTemp; } if( !WriteLog( $aTemp, THREAD_FILE)){ echo "File Open Error! Try Again later"; exit; } //iID<>sDay<>sTime<>sName<>sMail<>sMsg<>sIP<>sAgent<>etc $iID = 0; for( $i=0; $i<$cTemp->iFormSize; $i++){ $cTemp->{$cTemp->aFormName[$i]} = sEncodeStr( ${$cTemp->aFormName[$i]}); } $sTemp = $cTemp->FormMarge() . "\r\n"; //echo $sTemp; if( !WriteLog( $sTemp, $sFileName . ".php")){ echo "File Open Error! Try Again later"; exit; } $mode = "addcomplate"; } } // 発言内容変更(登録) if( CmpStr( "modreg", $mode)) { if( $fAdmin == 1 ) { // 名前チェック if( $sName == ""){ $sErrlog .= " 名前 "; $fErr = FALSE; } // コメントチェック if( $sMsg == ""){ $sErrlog .= " メッセージ "; $fErr = FALSE; } if( !($fErr)){ $sErrlog = "
" . $sErrlog . "が未記入です。
もう一度入力して下さい。
"; $mode = "msgmod"; }else{ @$aTemp = GetFileLog( THREAD_FILE); $sTemp = aCmpLog( "iID", $num, $aTemp); $cThreadTemp->sProtLine = $sTemp[ 0]; $cThreadTemp->GetLine(); @$aTempLog = GetFileLog( $cThreadTemp->sFileName . ".php"); $cTemp->sProtLine = $aTempLog[ $point]; $cTemp->GetLine(); // iID<>sDay<>sTime<>sName<>sMail<>sMsg<>sIP<>sAgent<>etc @$aTemp = GetFileLog( $sTempFileName . ".php"); $iID = $cTemp->iID; $sDay = date("Y")."/".date("m")."/".date("d")."(".date("D").")"; $sTime = date("H").":".date("i"); $sIP = getenv("REMOTE_ADDR"); $sAgent = getenv("HTTP_USER_AGENT"); $etc = $cTemp->etc; for( $i=0; $i<$cTemp->iFormSize; $i++){ $cTemp->{$cTemp->aFormName[$i]} = sEncodeStr( ${$cTemp->aFormName[$i]}); } $sTemp = $cTemp->FormMarge() . "\r\n"; $aTempLog[ $point] = $sTemp; if( !WriteLog( $aTempLog, $cThreadTemp->sFileName . ".php")){ echo "File Open Error! Try Again later"; exit; } $mode = "addcomplate"; } } } // 発言内容変更 if( CmpStr( "msgmod", $mode)) { if( $fAdmin == 1) { @$aTemp = GetFileLog( THREAD_FILE); $sTemp = aCmpLog( "iID", $num, $aTemp); $cThreadTemp->sProtLine = $sTemp[ 0]; $cThreadTemp->GetLine(); @$aTempLog = GetFileLog( $cThreadTemp->sFileName . ".php"); $cTemp->sProtLine = $aTempLog[ $point]; $cTemp->GetLine(); $sShowLog = $sErrlog . EchoModifyForm( $cTemp->sProtLine, $cThreadTemp->sProtLine); } } // 発言削除(1件) if( CmpStr( "msgdel", $mode)) { if( $fAdmin == 1 ) { @$aTemp = GetFileLog( THREAD_FILE); $sTemp = aCmpLog( "iID", $num, $aTemp); $cThreadTemp->sProtLine = $sTemp[ 0]; $cThreadTemp->GetLine(); @$aTempLog = GetFileLog( $cThreadTemp->sFileName . ".php"); $cTemp->sProtLine = $aTempLog[ $point]; $cTemp->GetLine(); $cTemp->etc = abs( $cTemp->etc - 1); // for( $i=0; $i<$cTemp->iFormSize; $i++){ // $cTemp->{$cTemp->aFormName[$i]} = ${$cTemp->aFormName[$i]}; // $cTemp->{$cTemp->aFormName[$i]} = sEncodeStr( ${$cTemp->aFormName[$i]}); // } $sTemp = $cTemp->FormMarge() . "\r\n"; $aTempLog[ $point] = $sTemp; if( !WriteLog( $aTempLog, $cThreadTemp->sFileName . ".php")){ echo "File Open Error! Try Again later"; exit; } $mode = "addcomplate"; } } // スレッドあぼーん機能(不可視状態設定) if( CmpStr( "thredel", $mode)) { if( $fAdmin == 1) { @$aTemp = GetFileLog( THREAD_FILE); $sTemp = aCmpLog( "iID", $num, $aTemp); $cThreadTemp->sProtLine = $sTemp[ 0]; for( $i=0; $isProtLine == $aTemp[ $i]){ $iAbonePoint = $i; } } $cThreadTemp->GetLine(); $cThreadTemp->etc = abs( $cThreadTemp->etc - 1); $aTemp[ $iAbonePoint] = $cThreadTemp->FormMarge() . "\r\n"; if( !WriteLog( $aTemp, THREAD_FILE)){ echo "File Open Error! Try Again later"; exit; } $mode = "addcomplate"; } } // スレタイ編集登録 if( CmpStr( "titlereg", $mode)) { if( $fAdmin == 1) { // 名前チェック if( $sTitle == ""){ $sErrlog .= " スレッドタイトル "; $fErr = FALSE; } if( !($fErr)){ $sErrlog = "
" . $sErrlog . "が未記入です。
もう一度入力して下さい。
"; $mode = "titlemod"; }else{ @$aTemp = GetFileLog( THREAD_FILE); $sTemp = aCmpLog( "iID", $num, $aTemp); $cThreadTemp->sProtLine = $sTemp[ 0]; $cThreadTemp->GetLine(); for( $i=0; $isProtLine == $aTemp[ $i]){ $iAbonePoint = $i; } } $iID = $iID; $sFileName = $sFileName; $sDay = date("Y")."/".date("m")."/".date("d")."(".date("D").")"; $sTime = date("H").":".date("i"); $iRes = $iRes; $etc = $etc; for( $i=0; $i<$cThreadTemp->iFormSize; $i++){ $cThreadTemp->{$cThreadTemp->aFormName[$i]} = sEncodeStr( ${$cThreadTemp->aFormName[$i]}); } $sTemp = $cThreadTemp->FormMarge() . "\r\n"; $aTemp[ $iAbonePoint] = $sTemp; if( !WriteLog( $aTemp, THREAD_FILE)){ echo "File Open Error! Try Again later"; exit; } $mode = "addcomplate"; } } } // スレタイ編集機能 if( CmpStr( "titlemod", $mode)) { if( $fAdmin == 1) { @$aTemp = GetFileLog( THREAD_FILE); $sTemp = aCmpLog( "iID", $num, $aTemp); $cThreadTemp->sProtLine = $sTemp[ 0]; //$cThreadTemp->GetLine(); $sShowLog = EchoTitleModifyForm( $cThreadTemp->sProtLine, ""); } } // 登録確認画面 if( CmpStr( "addcomplate", $mode)) { $sShowLog = "
書き込みが終了しました。
[Return to Top]\n"; } // 新規スレ作成モード if( CmpStr( "new", $mode)) { $sShowLog = $sErrlog . EchoNewThreadForm(); } // 通常表示モード if( CmpStr( "normal", $mode)) { @$aTemp = DelThread( GetFileLog( THREAD_FILE)); $sShowLog .= EchoThread( $aTemp); if( $gThread > sizeof( $aTemp)){ $iEnd = sizeof( $aTemp); }else{ $iEnd = $gThread; } for( $i=0; $i<$iEnd; $i++){ $cThreadTemp->sProtLine = $aTemp[ $i]; $cThreadTemp->GetLine(); $sShowLog .= EchoLog( $cThreadTemp->sProtLine, $gViewLog, $i, 0); } } if( CmpStr( "nothing", $mode)) { $sShowLog = "
新規スレを作成
スレッドが一つもありません。スレッドを作成して下さい。
\n"; } } // 表示モードの入れ子(閉) EchoLine( $gHead); // HTMLヘッダー表示 EchoLine( $sShowLog); // メイン部分 EchoLine( $gFoot); // HTMLフッター表示 ?>