summaryrefslogtreecommitdiff
path: root/classes/logger/sql.php
blob: 7ee22844e6318c55b20e548270eb27592e1d797c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
class Logger_SQL {

	private $link;

	function __construct() {
		$this->link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
	}

	function log_error($errno, $errstr, $file, $line, $context) {

		if ($errno == E_NOTICE) return false;

		if ($this->link) {
			$errno = db_escape_string($this->link, $errno);
			$errstr = db_escape_string($this->link, $errstr);
			$file = db_escape_string($this->link, $file);
			$line = db_escape_string($this->link, $line);
			$context = db_escape_string($this->link, json_encode($context));

			$owner_uid = $_SESSION["uid"] ? $_SESSION["uid"] : "NULL";

			$result = db_query($this->link,
				"INSERT INTO ttrss_error_log
				(errno, errstr, filename, lineno, context, owner_uid, created_at) VALUES
				($errno, '$errstr', '$file', '$line', '$context', $owner_uid, NOW())");

			return db_affected_rows($this->link, $result) != 0;

		}
		return false;
	}

}
?>