From a1c925f9c924f55f9dc39f840a9e23a62d4b1af1 Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Tue, 30 Oct 2012 15:38:12 -0400
Subject: [PATCH] Implemented: - Show status messages to clients as long as the datalog is not processed (changes pending...) - missing: - template code in templates other than database list - language entries other than web_database, web_domain, web_database_user
---
interface/lib/classes/db_mysql.inc.php | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index 1a6cc22..5b50efe 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -317,6 +317,28 @@
return true;
}
+
+ //* get the current datalog status for the specified login (or currently logged in user)
+ public function datalogStatus($login = '') {
+ global $app;
+
+ $return = array('count' => 0, 'entries' => array());
+ if($_SESSION['s']['user']['typ'] == 'admin') return $return; // these information should not be displayed to admin users
+
+ if($login == '' && isset($_SESSION['s']['user'])) {
+ $login = $_SESSION['s']['user']['username'];
+ }
+
+ $result = $this->queryAllRecords("SELECT COUNT( * ) AS cnt, sys_datalog.action, sys_datalog.dbtable FROM sys_datalog, server WHERE server.server_id = sys_datalog.server_id AND sys_datalog.user = '" . $this->quote($login) . "' AND sys_datalog.datalog_id > server.updated GROUP BY sys_datalog.dbtable, sys_datalog.action");
+ foreach($result as $row) {
+ if(!$row['dbtable']) continue;
+ $return['entries'][] = array('table' => $row['dbtable'], 'action' => $row['action'], 'count' => $row['cnt'], 'text' => $app->lng('datalog_status_' . $row['action'] . '_' . $row['dbtable']));
+ $return['count'] += 1;
+ }
+ unset($result);
+
+ return $return;
+ }
public function freeResult($query)
--
Gitblit v1.9.1