From 84c110647b84fc29fb8443d088c710ba8ecf42fe Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 21 Mar 2019 13:48:57 +0100 Subject: [sysconfig] Remember last modified date, show as tooltip --- modules-available/sysconfig/install.inc.php | 57 ++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 14 deletions(-) (limited to 'modules-available/sysconfig/install.inc.php') diff --git a/modules-available/sysconfig/install.inc.php b/modules-available/sysconfig/install.inc.php index 3e99b777..f402f217 100644 --- a/modules-available/sysconfig/install.inc.php +++ b/modules-available/sysconfig/install.inc.php @@ -1,16 +1,17 @@ fetch(PDO::FETCH_ASSOC)) { + Database::exec('UPDATE configtgz_module SET dateline = :mtime WHERE moduleid = :moduleid', + ['moduleid' => $row['moduleid'], 'mtime' => filemtime($row['filepath'])]); + } +} +if (!tableHasColumn('dateline', 'configtgz')) { + if (Database::exec("ALTER TABLE `configtgz` ADD `dateline` int(10) unsigned NOT NULL DEFAULT '0'") === false) { + finalResponse(UPDATE_FAILED, 'Could not add dateline to configtgz: ' . Database::lastError()); + } + $update[] = UPDATE_DONE; + // Infer from latest module (since module injection by slx-admin modules would alter the timestamp) + $res = Database::simpleQuery('SELECT c.configid, Max(m.dateline) AS dateline FROM configtgz c + INNER JOIN configtgz_x_module cxm USING (configid) + INNER JOIN configtgz_module m USING (moduleid) + GROUP BY configid'); + while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + Database::exec('UPDATE configtgz SET dateline = :mtime WHERE configid = :configid', + ['configid' => $row['configid'], 'mtime' => $row['dateline']]); + } } -// ----- rebuild AD configs ------ +// ----- rebuild configs ------ // TEMPORARY HACK; Rebuild configs.. move somewhere else? Module::isAvailable('sysconfig'); $list = ConfigModule::getAll(); @@ -95,4 +124,4 @@ if ($list === false) { } // Create response for browser -responseFromArray($res); +responseFromArray($update); -- cgit v1.2.3-55-g7522