100, //書き込み可能文字数 'logMax' => 1000, //log保存行数 'viewMax' => 20, //表示件数 'headerRow' => 1, //ログファイルから読み込んだ配列の内、headerとして先頭に書き込む(残す)行数 'footerRow' => 1, //ログファイルから読み込んだ配列の内、footerとして終端に書き込む(残す)行数 'logFileAdd' => 'msg_', //ログファイル名に付く接頭語 'logFileExt' => '.php', //ログファイルの拡張子 '.html' '.php' など 'tLimitMin' => 1, //ページ表示毎の書込み有効期間(最短秒数) 'tLimitMax' => 3600, //ページ表示毎の書込み有効期間(最長秒数) 'chkey' => 'changed', //※要変更:簡易改竄チェックキー。任意の文字列に変更 'ckExpireDays' => 150, //クッキー(NameやColor)の保持期限日数 'ckDir' => '', //クッキー有効範囲(ディレクトリ) example.com/foo/ 配下で有効にしたいなら '/foo/' を指定 'name' => '', //デフォルトのName 'surl' => '', 'logfile' => '', 'tms' => 0, 'ia' => 0, 'ldc' => '', 'iac' => '', 'chc' => '' ); protected static $color = array( //カラー名称 コード 'Black' => 'Black', 'Gray' => 'Gray', 'Lime' => 'Lime', 'Aqua' => 'Aqua', 'Blue' => 'Blue', 'Fuchsia' => 'Fuchsia', 'Orange' => '#ffa500', 'Pink' => '#ffc0cb', '#000000' => '#000000', '#408040' => '#408040', '#ff80ff' => '#ff80ff', '#40a0a0' => '#40a0a0', 'silver' => 'silver', 'brown' => 'brown', 'green' => 'green', 'purple' => 'purple', 'skyblue' => 'skyblue', 'crimson' => 'crimson', 'indigo' => 'indigo', 'navy' => 'navy', 'mediumorchid' => 'mediumorchid', 'palevioletred' => 'palevioletred', 'turquoise' => 'turquoise', 'yellowgreen' => 'yellowgreen', 'slateblue' => 'slateblue', 'lightsalmon' => 'lightsalmon', 'goldenrod' => 'goldenrod', 'darkkhaki' => 'darkkhaki', 'deeppink' => 'deeppink', 'darkgoldenrod' => 'darkgoldenrod', 'けーこ' => '8080ff', 'ひろきち' => 'midnightblue', 'うぉ' => 'orange', 'Boz' => 'blueviolet', 'ようこ' => 'fuchsia', 'kota' => 'red', ); //ログデータ表示 前 に追加されるテキスト protected static function Header() { $shm = &self::$shm; return <<
Name : {$shm['colorcode']}   NameとColorを記憶
Message :

TEXTEND; } //ログデータ表示 後 に追加されるテキスト protected static function Footer() { $shm = &self::$shm; return << 過去ログ -miscmix.PHP- TEXTEND; } protected static function MessageFormat( &$name, &$msg, &$color = '') { //日付書式 $date = gmdate( 'y/m/d H:i', time()+(3600*9)); $ca = self::ColorHF( $color); //ログ書式(書き換える場合、文章内の["]を[\"]に変えないといけない事を忘れずに) $rtnData = "{$ca['head']}{$name} >> {$msg} -{$date}-{$ca['foot']}
"; return $rtnData. "\r\n"; } //-------設定終わり------- protected static function ColorList() { $shm = &self::$shm; if( array_key_exists( $_COOKIE['color'], self::$color) != false) $cs[$_COOKIE['color']] = ' selected'; foreach( self::$color as $k => &$v) { $c .= ""; } $shm['colorcode'] = "\r\n  Color : "; } protected static function ColorHF( &$c) { $cl = &self::$color[$c]; return ($c != '')? array( 'head' => "", 'foot' => '') : array( 'head' => '', 'foot' => ''); } protected static function NameSet() { $shm = &self::$shm; $shm['surl'] = htmlspecialchars( ((getenv('REQUEST_URI') != '')? getenv('REQUEST_URI') : getenv('PHP_SELF')), ENT_QUOTES, 'Shift_JIS'); $su = &$shm['surl']; $basename = ( (strrpos($su,'/') + 1) != strlen($su) )? basename( $su, '.'.pathinfo( $su, PATHINFO_EXTENSION)) : 'index'; $shm['logfile'] = $shm['logFileAdd']. $basename. $shm['logFileExt']; } protected static function DataCheck() { $shm = &self::$shm; $shld = base_convert( $_POST['shld'], 36, 10); $t = &$shm['tms']; $aLang = getenv('HTTP_ACCEPT_LANGUAGE'); $chc = self::KeyGen( sprintf( '%0x', $shld ^ $shm['ia'])); if( ($chc != $_POST['shch']) || ($shm['iac'] != $_POST['shia']) || ($_POST['shld'] == '') || (($shld + $shm['tLimitMax']) < $t) || (($shld + $shm['tLimitMin']) > $t) || ($aLang === false) || ((strpos($aLang,'ja') === false) && (strpos($_POST['shmessage'],'\1@\2', $message); //URL アンカー付け $message = preg_replace( '{(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)}', '\1\2', $message); $message = self::MessageFormat( $name, $message, $color); $fp = @fopen( $shm['logfile'], 'w') or exit( $shm['logfile'].'が開けません'); for( $i = 0 ; $i < $shm['headerRow'] ; $i++) { fputs( $fp, $lines[$i]); //先頭に書き込む header部 } fputs( $fp, $message); $shm['logMax'] = ($shm['logMax'] >= count($lines))? count($lines) - $shm['footerRow'] : $shm['logMax']; for( $i = $shm['headerRow'] ; $i < $shm['logMax'] ; $i++) { fputs( $fp, $lines[$i]); //既存ログを書き込む } for( $i = count($lines) - $shm['footerRow'] ; $i < count($lines) ; $i++) { fputs( $fp, $lines[$i]); //終端に書き込む footer部 } fclose( $fp); if( $_POST['keepnc'] == 'enable') { $cet = time() + (86400 * $shm['ckExpireDays']); setcookie( 'shname', $_POST['shname'], $cet, $shm['ckDir']); setcookie( 'color', $_POST['color'], $cet, $shm['ckDir']); } $httphost = getenv( 'HTTP_HOST'); if( headers_sent() == false) { header( "Location: http://".$httphost.$shm['surl']); exit; } else { return <<< RETURNEND 送信が完了しました。
自動で画面が切り替わらない場合は ココ をクリックしてください。
RETURNEND; } } } } return ShortMessage::Generate(); ?> ねす [snowboarding club]
簡易掲示板 1

NES in facebook

NES in mixi

九州道
中国道