fetch(PDO::FETCH_ASSOC)) { Database::exec('UPDATE configtgz_module SET dateline = :mtime WHERE moduleid = :moduleid', ['moduleid' => $row['moduleid'], 'mtime' => filemtime($row['filepath'])]); } } if (!tableHasColumn('configtgz', 'dateline')) { 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 configs ------ // TEMPORARY HACK; Rebuild configs.. move somewhere else? Module::isAvailable('sysconfig'); $list = ConfigModule::getAll(); if ($list === false) { EventLog::warning('Could not regenerate AD/LDAP configs - please do so manually'); } else { foreach ($list as $ad) { if ($ad->needRebuild()) { $ad->generate(false); } } } // Create response for browser responseFromArray($update);