summaryrefslogtreecommitdiff
path: root/classes/logger/sql.php
blob: a2f4cd32cb7c5b350d363308db13c9d93736fa7e (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
<?php
class Logger_SQL {

	private $pdo;

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

		// separate PDO connection object is used for logging
		if (!$this->pdo) $this->pdo = Db::instance()->pdo_connect();

		if ($this->pdo && get_schema_version() > 117) {

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

			if (DB_TYPE == "mysql")
				$context = substr($context, 0, 65534);

			$sth = $this->pdo->prepare("INSERT INTO ttrss_error_log
				(errno, errstr, filename, lineno, context, owner_uid, created_at) VALUES
				(?, ?, ?, ?, ?, ?, NOW())");
			$sth->execute([$errno, $errstr, $file, $line, $context, $owner_uid]);

			return $sth->rowCount();
		}

		return false;
	}

}