/** * 書き込みログを記録する * * @param string $from タグCVS記録のためにフォーマット済みであること * @param string $mail 同上 * @param string $message 同上 * @param string $ttitle 同上(元々フォーマットの必要なし) * @return boolean */ function _recResLog($from, $mail, $message, $ttitle, $host, $bbs, $key, $rescount) { global $_conf; // 後方互換措置。 // データPHP形式(p2_res_hist.dat.php, タブ区切り)の書き込み履歴を、dat形式(p2_res_hist.dat, <>区切り)に変換する P2Util::transResHistLogPhpToDat(); FileCtl::make_datafile($_conf['p2_res_hist_dat'], $_conf['res_write_perm']); $resnum = ''; if (!empty($_POST['newthread'])) { $resnum = 1; } else { if ($rescount) { $resnum = $rescount + 1; } } $newdata_ar = array($from, $mail, date("y/m/d H:i"), $message, $ttitle, $host, $bbs, $key, $resnum); $newdata = implode('<>', $newdata_ar) . "\n"; // まずタブを全て外して(2chの書き込みではタブは削除される 2004/12/13) $newdata = str_replace("\t", '', $newdata); // <>をタブに変換して //$newdata = str_replace('<>', "\t", $newdata); $done = false; if ($fp = fopen($_conf['p2_res_hist_dat'], 'ab+')) { flock($fp, LOCK_EX); if (false !== fwrite($fp, $newdata)) { $done = true; } flock($fp, LOCK_UN); fclose($fp); } if (!$done) { trigger_error('p2 error: 書き込みログの保存に失敗しました', E_USER_WARNING); return false; } return true; }
//================================================================ // 特殊な前処理 //================================================================ // 削除 if (isset($_POST['submit']) and $_POST['submit'] == $deletemsg_st or isset($_GET['checked_hists'])) { $checked_hists = array(); if (isset($_POST['checked_hists'])) { $checked_hists = $_POST['checked_hists']; } elseif (isset($_GET['checked_hists'])) { $checked_hists = $_GET['checked_hists']; } $checked_hists and deleMsg($checked_hists); } // 古いバージョンの形式であるデータPHP形式(p2_res_hist.dat.php, タブ区切り)の書き込み履歴を、 // dat形式(p2_res_hist.dat, <>区切り)に変換する P2Util::transResHistLogPhpToDat(); //====================================================================== // メイン //====================================================================== $karappoMsgHtml = 'p2 - 書き込み履歴内容は空っぽのようです。'; if (!$_conf['res_write_rec']) { $karappoMsgHtml .= sprintf('<p>現在、書き込み内容ログは記録しない設定になっています。<br>設定は、%sのページで変更可能\です。</p>', P2View::tagA(UriUtil::buildQueryUri('edit_conf_user.php', array(UA::getQueryKey() => UA::getQueryValue())), hs('設定編集'), array('target' => 'subject'))); } // 特殊DAT読み if (!file_exists($_conf['p2_res_hist_dat'])) { P2Util::printSimpleHtml($karappoMsgHtml); exit; } $res_hist_dat_size = filesize($_conf['p2_res_hist_dat']); $logSizeSt = P2Util::getTranslatedUnitFileSize($res_hist_dat_size); $maxLogSize = 0;
/** * 書き込みログを記録する * * @param string $from タグCVS記録のためにフォーマット済みであること * @param string $mail 同上 * @param string $message 同上 * @param string $ttitle 同上(元々フォーマットの必要なし) * @return boolean */ function recResLog($from, $mail, $message, $ttitle, $host, $bbs, $key, $rescount) { global $_conf; // 旧互換措置。 // データPHP形式(p2_res_hist.dat.php, タブ区切り)の書き込み履歴を、dat形式(p2_res_hist.dat, <>区切り)に変換する P2Util::transResHistLogPhpToDat(); $date_and_id = date("y/m/d H:i"); FileCtl::make_datafile($_conf['p2_res_hist_dat'], $_conf['res_write_perm']); $resnum = ''; if (!empty($_POST['newthread'])) { $resnum = 1; } else { if ($rescount) { $resnum = $rescount + 1; } } $newdata = $from . '<>' . $mail . "<>{$date_and_id}<>{$message}<>{$ttitle}<>{$host}<>{$bbs}<>{$key}<>{$resnum}"; // まずタブを全て外して(2chの書き込みではタブは削除される 2004/12/13) $newdata = str_replace("\t", '', $newdata); // <>をタブに変換して //$newdata = str_replace('<>', "\t", $newdata); $cont = $newdata . "\n"; if (false === file_put_contents($_conf['p2_res_hist_dat'], $cont, FILE_APPEND | LOCK_EX)) { trigger_error('p2 error: 書き込みログの保存に失敗しました', E_USER_WARNING); return false; } return true; }