public static function writelog($file, $log) { global $timestamp, $_CHOBITS; $yearmonth = gmdate('Ym', $timestamp + $_CHOBITS['settings']['timeoffset'] * 3600); $logdir = NOWHERE_ROOT . './forumdata/logs/'; $logfile = $logdir . $yearmonth . '_' . $file . '.php'; if (@filesize($logfile) > 2048000) { $dir = opendir($logdir); $length = strlen($file); $maxid = $id = 0; while ($entry = readdir($dir)) { if (GlobalCore::strexists($entry, $yearmonth . '_' . $file)) { $id = intval(substr($entry, $length + 8, -4)); $id > $maxid && ($maxid = $id); } } closedir($dir); $logfilebak = $logdir . $yearmonth . '_' . $file . '_' . ($maxid + 1) . '.php'; @rename($logfile, $logfilebak); } if ($fp = @fopen($logfile, 'a')) { @flock($fp, 2); $log = is_array($log) ? $log : array($log); foreach ($log as $tmp) { fwrite($fp, "<?PHP exit;?>\t" . str_replace(array('<?', '?>'), '', $tmp) . "\n"); } fclose($fp); } }