public function p($message, $file = null, $line = null)
{
$res = true;
$time_diff_str = '';
if (!empty($this->_prev_exec_time)) {
$time_diff = $this->_microtime_float() - $this->_prev_exec_time;
if ($time_diff < 1) {
$time_diff_str = $this->_sec2time($time_diff);
}
}
$details = (empty($this->_current_ip) ? '' : $this->_current_ip . ' - ') . (!empty($file) ? basename($file) . ' (line ' . $line . ')' : '');
if (!empty($details)) {
$details = ' ***** ' . $details . ' *****';
}
$message = '[' . date('d-M-Y H:i:s') . '] ' . $time_diff_str . $details . "\n\n" . $message . "\n\n";
$new_file = file_exists($this->filename) ? false : true;
$fh = @fopen($this->filename, 'a');
if ($fh !== false && is_resource($fh)) {
@flock($fh, LOCK_EX);
if (!@fwrite($fh, $message)) {
$this->err_message = "Cannot write to file ({$this->filename})";
error_log($this->err_message . ' in ' . __FILE__ . ' on line ' . __LINE__, 0);
$res = false;
}
@flock($fh, LOCK_UN);
@fclose($fh);
if ($new_file) {
chmod($this->filename, 0777);
}
} else {
$this->err_message = 'Cannot open file (' . $this->filename . ')' . ' in ' . __FILE__ . ' on line ' . __LINE__ . ' for save message: ' . "\n" . $message;
error_log($this->err_message, 0);
$res = false;
}
$this->_prev_exec_time = $this->_microtime_float();
return $res;
}