summaryrefslogtreecommitdiffstats
path: root/modules-available/sysconfig/inc
diff options
context:
space:
mode:
authorSimon Rettberg2019-03-21 13:48:57 +0100
committerSimon Rettberg2019-03-21 13:48:57 +0100
commit84c110647b84fc29fb8443d088c710ba8ecf42fe (patch)
tree953f30dfbb2fcb0f5ad1ec4c7f68f667bdded94f /modules-available/sysconfig/inc
parent[serversetup-bwlp-ipxe] Fix stdbootentry edit; fix duplicate id in html (diff)
downloadslx-admin-84c110647b84fc29fb8443d088c710ba8ecf42fe.tar.gz
slx-admin-84c110647b84fc29fb8443d088c710ba8ecf42fe.tar.xz
slx-admin-84c110647b84fc29fb8443d088c710ba8ecf42fe.zip
[sysconfig] Remember last modified date, show as tooltip
Diffstat (limited to 'modules-available/sysconfig/inc')
-rw-r--r--modules-available/sysconfig/inc/configmodule.inc.php26
-rw-r--r--modules-available/sysconfig/inc/configtgz.inc.php10
2 files changed, 25 insertions, 11 deletions
diff --git a/modules-available/sysconfig/inc/configmodule.inc.php b/modules-available/sysconfig/inc/configmodule.inc.php
index b6db9c4f..cc6b31f5 100644
--- a/modules-available/sysconfig/inc/configmodule.inc.php
+++ b/modules-available/sysconfig/inc/configmodule.inc.php
@@ -15,6 +15,10 @@ abstract class ConfigModule
private $moduleArchive = false;
private $moduleTitle = false;
private $moduleStatus = false;
+ /**
+ * @var int
+ */
+ private $dateline = 0;
private $currentVersion = 0;
/**
* @var false|array Data of module, false if not initialized
@@ -110,6 +114,7 @@ abstract class ConfigModule
$instance->moduleId = $dbRow['moduleid'];
$instance->moduleTitle = $dbRow['title'];
$instance->moduleStatus = $dbRow['status'];
+ $instance->dateline = $dbRow['dateline'];
if ($instance->moduleVersion() > $instance->currentVersion) {
$instance->markFailed();
}
@@ -140,9 +145,9 @@ abstract class ConfigModule
public static function getAll($moduleType = false)
{
if ($moduleType === false) {
- $ret = Database::simpleQuery("SELECT moduleid, title, moduletype, filepath, contents, version, status FROM configtgz_module");
+ $ret = Database::simpleQuery("SELECT moduleid, title, moduletype, filepath, contents, version, status, dateline FROM configtgz_module");
} else {
- $ret = Database::simpleQuery("SELECT moduleid, title, moduletype, filepath, contents, version, status FROM configtgz_module "
+ $ret = Database::simpleQuery("SELECT moduleid, title, moduletype, filepath, contents, version, status, dateline FROM configtgz_module "
. " WHERE moduletype = :moduletype", array('moduletype' => $moduleType));
}
if ($ret === false)
@@ -290,13 +295,14 @@ abstract class ConfigModule
return false;
$this->moduleTitle = $title;
// Insert
- Database::exec("INSERT INTO configtgz_module (title, moduletype, filepath, contents, version, status) "
- . " VALUES (:title, :type, '', :contents, :version, :status)", array(
+ Database::exec("INSERT INTO configtgz_module (title, moduletype, filepath, contents, version, status, dateline) "
+ . " VALUES (:title, :type, '', :contents, :version, :status, :now)", array(
'title' => $title,
'type' => $this->moduleType(),
'contents' => json_encode($this->moduleData),
'version' => 0,
- 'status' => 'MISSING'
+ 'status' => 'MISSING',
+ 'now' => time(),
));
$this->moduleId = Database::lastInsertId();
if (!is_numeric($this->moduleId))
@@ -324,12 +330,13 @@ abstract class ConfigModule
if (!$this->validateConfig())
return false;
// Update
- Database::exec("UPDATE configtgz_module SET title = :title, contents = :contents, status = :status "
+ Database::exec("UPDATE configtgz_module SET title = :title, contents = :contents, status = :status, dateline = :now "
. " WHERE moduleid = :moduleid LIMIT 1", array(
'moduleid' => $this->moduleId,
'title' => $title,
'contents' => json_encode($this->moduleData),
- 'status' => 'OUTDATED'
+ 'status' => 'OUTDATED',
+ 'now' => time(),
));
return true;
}
@@ -463,6 +470,11 @@ abstract class ConfigModule
)) !== false;
}
+ public function dateline_s()
+ {
+ return Util::prettyTime($this->dateline);
+ }
+
################# Callbacks ##############
/**
diff --git a/modules-available/sysconfig/inc/configtgz.inc.php b/modules-available/sysconfig/inc/configtgz.inc.php
index 7b042cdb..374cb5e0 100644
--- a/modules-available/sysconfig/inc/configtgz.inc.php
+++ b/modules-available/sysconfig/inc/configtgz.inc.php
@@ -75,10 +75,11 @@ class ConfigTgz
$this->modules[] = $row;
}
// Update name
- Database::exec("UPDATE configtgz SET title = :title, status = :status WHERE configid = :configid LIMIT 1", array(
+ Database::exec("UPDATE configtgz SET title = :title, status = :status, dateline = :now WHERE configid = :configid LIMIT 1", array(
'configid' => $this->configId,
'title' => $title,
- 'status' => 'OUTDATED'
+ 'status' => 'OUTDATED',
+ 'now' => time(),
));
return true;
}
@@ -277,10 +278,11 @@ class ConfigTgz
do {
$instance->file = CONFIG_TGZ_LIST_DIR . '/config-' . Util::sanitizeFilename($instance->configTitle) . '-' . mt_rand() . '-' . time() . '.tgz';
} while (file_exists($instance->file));
- Database::exec("INSERT INTO configtgz (title, filepath, status) VALUES (:title, :filepath, :status)", array(
+ Database::exec("INSERT INTO configtgz (title, filepath, status, dateline) VALUES (:title, :filepath, :status, :now)", array(
'title' => $instance->configTitle,
'filepath' => $instance->file,
- 'status' => 'MISSING'
+ 'status' => 'MISSING',
+ 'now' => time(),
));
$instance->configId = Database::lastInsertId();
$instance->modules = array();