From 865ecc87963dc3b26e66296616eef2a1cc41ac3f Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 25 Oct 2023 12:55:09 +0300 Subject: move to psr-4 autoloader --- classes/Pref_System.php | 225 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 classes/Pref_System.php (limited to 'classes/Pref_System.php') diff --git a/classes/Pref_System.php b/classes/Pref_System.php new file mode 100644 index 000000000..e85c1134d --- /dev/null +++ b/classes/Pref_System.php @@ -0,0 +1,225 @@ +pdo->query("DELETE FROM ttrss_error_log"); + } + + function sendTestEmail(): void { + $mail_address = clean($_REQUEST["mail_address"]); + + $mailer = new Mailer(); + + $rc = $mailer->mail(["to_name" => "", + "to_address" => $mail_address, + "subject" => __("Test message from tt-rss"), + "message" => ("This message confirms that tt-rss can send outgoing mail.") + ]); + + print json_encode(['rc' => $rc, 'error' => $mailer->error()]); + } + + function getphpinfo(): void { + ob_start(); + phpinfo(); + $info = ob_get_contents(); + ob_end_clean(); + + print preg_replace( '%^.*(.*).*$%ms','$1', (string)$info); + } + + private function _log_viewer(int $page, int $severity): void { + $errno_values = []; + + switch ($severity) { + case E_USER_ERROR: + $errno_values = [ E_ERROR, E_USER_ERROR, E_PARSE, E_COMPILE_ERROR ]; + break; + case E_USER_WARNING: + $errno_values = [ E_ERROR, E_USER_ERROR, E_PARSE, E_COMPILE_ERROR, E_WARNING, E_USER_WARNING, E_DEPRECATED, E_USER_DEPRECATED ]; + break; + } + + if (count($errno_values) > 0) { + $errno_qmarks = arr_qmarks($errno_values); + $errno_filter_qpart = "errno IN ($errno_qmarks)"; + } else { + $errno_filter_qpart = "true"; + } + + $offset = self::LOG_PAGE_LIMIT * $page; + + $sth = $this->pdo->prepare("SELECT + COUNT(id) AS total_pages + FROM + ttrss_error_log + WHERE + $errno_filter_qpart"); + + $sth->execute($errno_values); + + if ($res = $sth->fetch()) { + $total_pages = (int)($res["total_pages"] / self::LOG_PAGE_LIMIT); + } else { + $total_pages = 0; + } + + ?> +
+
+ + + + + + + + + + + +
+ + + __("Errors"), + E_USER_WARNING => __("Warnings"), + E_USER_NOTICE => __("Everything") + ], ["onchange"=> "Helpers.EventLog.refresh()"], "severity") ?> +
+
+ +
+ + + + + + + + + + + + pdo->prepare("SELECT + errno, errstr, filename, lineno, created_at, login, context + FROM + ttrss_error_log LEFT JOIN ttrss_users ON (owner_uid = ttrss_users.id) + WHERE + $errno_filter_qpart + ORDER BY + ttrss_error_log.id DESC + LIMIT ". self::LOG_PAGE_LIMIT ." OFFSET $offset"); + + $sth->execute($errno_values); + + while ($line = $sth->fetch()) { + foreach ($line as $k => $v) { $line[$k] = htmlspecialchars($v ?? ''); } + ?> + + + + + + + + +
+ + + +
+
+
+ +
+ +
'> + _log_viewer($page, $severity); + ?> +
+ +
'> +
+ +
+ + + + + +
+ + 1]) ?> + + +
+
+
+
+
'> + + +
+ + run_hooks(PluginHost::HOOK_PREFS_TAB, "prefSystem") ?> +
+