summaryrefslogtreecommitdiffstats
path: root/modules-available/sysconfig/inc
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/sysconfig/inc')
-rw-r--r--modules-available/sysconfig/inc/configtgz.inc.php19
1 files changed, 19 insertions, 0 deletions
diff --git a/modules-available/sysconfig/inc/configtgz.inc.php b/modules-available/sysconfig/inc/configtgz.inc.php
index ba48c7ed..c03d1c5e 100644
--- a/modules-available/sysconfig/inc/configtgz.inc.php
+++ b/modules-available/sysconfig/inc/configtgz.inc.php
@@ -198,6 +198,25 @@ class ConfigTgz
* Static part
*/
+ /**
+ * Marks all modules as outdated and triggers generate()
+ * on each one. This mostly makes sense to call if a global module
+ * that is injected via a hook has changed.
+ */
+ public static function rebuildAllConfigs()
+ {
+ Database::exec("UPDATE configtgz SET status = :status", array(
+ 'status' => 'OUTDATED'
+ ));
+ $res = Database::simpleQuery("SELECT configid FROM configtgz");
+ while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
+ $module = self::get($row['configid']);
+ if ($module !== false) {
+ $module->generate();
+ }
+ }
+ }
+
public static function insert($title, $moduleIds)
{
if (!is_array($moduleIds))