summaryrefslogtreecommitdiffstats
path: root/modules-available/sysconfig
diff options
context:
space:
mode:
authorSimon Rettberg2016-06-08 18:33:30 +0200
committerSimon Rettberg2016-06-08 18:33:30 +0200
commitffffab643e031524b6fdfe0c39adae1f6c8e9c4d (patch)
tree84e55c5a7ea0e02481b9f44730814ae788f05e12 /modules-available/sysconfig
parent[dashboard] Remove needsSchemaUpdate call (diff)
downloadslx-admin-ffffab643e031524b6fdfe0c39adae1f6c8e9c4d.tar.gz
slx-admin-ffffab643e031524b6fdfe0c39adae1f6c8e9c4d.tar.xz
slx-admin-ffffab643e031524b6fdfe0c39adae1f6c8e9c4d.zip
[install] Implement install scripts for most modules
Diffstat (limited to 'modules-available/sysconfig')
-rw-r--r--modules-available/sysconfig/inc/configmodule/adauth.inc.php6
-rw-r--r--modules-available/sysconfig/inc/configmodule/branding.inc.php6
-rw-r--r--modules-available/sysconfig/inc/configmodule/customodule.inc.php6
-rw-r--r--modules-available/sysconfig/inc/configmodule/ldapauth.inc.php6
-rw-r--r--modules-available/sysconfig/inc/configmodule/sshconfig.inc.php6
-rw-r--r--modules-available/sysconfig/install.inc.php90
6 files changed, 105 insertions, 15 deletions
diff --git a/modules-available/sysconfig/inc/configmodule/adauth.inc.php b/modules-available/sysconfig/inc/configmodule/adauth.inc.php
index a03be43c..180ac717 100644
--- a/modules-available/sysconfig/inc/configmodule/adauth.inc.php
+++ b/modules-available/sysconfig/inc/configmodule/adauth.inc.php
@@ -2,9 +2,9 @@
ConfigModule::registerModule(
ConfigModule_AdAuth::MODID, // ID
- Dictionary::translateFile('config-module', 'adAuth_title'), // Title
- Dictionary::translateFile('config-module', 'adAuth_description'), // Description
- Dictionary::translateFile('config-module', 'group_authentication'), // Group
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'adAuth_title'), // Title
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'adAuth_description'), // Description
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'group_authentication'), // Group
true // Only one per config?
);
diff --git a/modules-available/sysconfig/inc/configmodule/branding.inc.php b/modules-available/sysconfig/inc/configmodule/branding.inc.php
index 479b406c..4a9718d6 100644
--- a/modules-available/sysconfig/inc/configmodule/branding.inc.php
+++ b/modules-available/sysconfig/inc/configmodule/branding.inc.php
@@ -2,9 +2,9 @@
ConfigModule::registerModule(
ConfigModule_Branding::MODID, // ID
- Dictionary::translateFile('config-module', 'branding_title'), // Title
- Dictionary::translateFile('config-module', 'branding_description'), // Description
- Dictionary::translateFile('config-module', 'group_branding'), // Group
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'branding_title'), // Title
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'branding_description'), // Description
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'group_branding'), // Group
true // Only one per config?
);
diff --git a/modules-available/sysconfig/inc/configmodule/customodule.inc.php b/modules-available/sysconfig/inc/configmodule/customodule.inc.php
index 09b621cc..8d1b6bf0 100644
--- a/modules-available/sysconfig/inc/configmodule/customodule.inc.php
+++ b/modules-available/sysconfig/inc/configmodule/customodule.inc.php
@@ -2,9 +2,9 @@
ConfigModule::registerModule(
ConfigModule_CustomModule::MODID, // ID
- Dictionary::translateFile('config-module', 'custom_title'), // Title
- Dictionary::translateFile('config-module', 'custom_description'), // Description
- Dictionary::translateFile('config-module', 'group_generic'), // Group
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'custom_title'), // Title
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'custom_description'), // Description
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'group_generic'), // Group
false, // Only one per config?
100 // Sort order
);
diff --git a/modules-available/sysconfig/inc/configmodule/ldapauth.inc.php b/modules-available/sysconfig/inc/configmodule/ldapauth.inc.php
index 0f386033..ed1a47c3 100644
--- a/modules-available/sysconfig/inc/configmodule/ldapauth.inc.php
+++ b/modules-available/sysconfig/inc/configmodule/ldapauth.inc.php
@@ -2,9 +2,9 @@
ConfigModule::registerModule(
ConfigModule_LdapAuth::MODID, // ID
- Dictionary::translateFile('config-module', 'ldapAuth_title'), // Title
- Dictionary::translateFile('config-module', 'ldapAuth_description'), // Description
- Dictionary::translateFile('config-module', 'group_authentication'), // Group
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'ldapAuth_title'), // Title
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'ldapAuth_description'), // Description
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'group_authentication'), // Group
true // Only one per config?
);
diff --git a/modules-available/sysconfig/inc/configmodule/sshconfig.inc.php b/modules-available/sysconfig/inc/configmodule/sshconfig.inc.php
index b1d58153..8814b86b 100644
--- a/modules-available/sysconfig/inc/configmodule/sshconfig.inc.php
+++ b/modules-available/sysconfig/inc/configmodule/sshconfig.inc.php
@@ -2,9 +2,9 @@
ConfigModule::registerModule(
ConfigModule_SshConfig::MODID, // ID
- Dictionary::translateFile('config-module', 'sshconfig_title'), // Title
- Dictionary::translateFile('config-module', 'sshconfig_description'), // Description
- Dictionary::translateFile('config-module', 'group_sshconfig'), // Group
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'sshconfig_title'), // Title
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'sshconfig_description'), // Description
+ Dictionary::translateFileModule('sysconfig', 'config-module', 'group_sshconfig'), // Group
true // Only one per config?
);
diff --git a/modules-available/sysconfig/install.inc.php b/modules-available/sysconfig/install.inc.php
new file mode 100644
index 00000000..0b7bbc1b
--- /dev/null
+++ b/modules-available/sysconfig/install.inc.php
@@ -0,0 +1,90 @@
+<?php
+
+$res = array();
+
+$res[] = tableCreate('configtgz', "
+ `configid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `title` varchar(200) NOT NULL,
+ `filepath` varchar(255) NOT NULL,
+ `status` enum('OK','OUTDATED','MISSING') NOT NULL DEFAULT 'MISSING',
+ PRIMARY KEY (`configid`)
+");
+
+$res[] = tableCreate('configtgz_module', "
+ `moduleid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `title` varchar(200) NOT NULL,
+ `moduletype` varchar(16) NOT NULL,
+ `filepath` varchar(250) NOT NULL,
+ `contents` text NOT NULL,
+ `version` int(10) unsigned NOT NULL DEFAULT '0',
+ `status` enum('OK','MISSING','OUTDATED') NOT NULL DEFAULT 'MISSING',
+ PRIMARY KEY (`moduleid`),
+ KEY `title` (`title`),
+ KEY `moduletype` (`moduletype`,`title`)
+");
+
+$res[] = tableCreate('configtgz_x_module', "
+ `configid` int(10) unsigned NOT NULL,
+ `moduleid` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`configid`,`moduleid`),
+ KEY `moduleid` (`moduleid`)
+");
+
+
+// Constraints
+if (in_array(UPDATE_DONE, $res)) {
+ Database::exec("ALTER TABLE `configtgz_x_module`
+ ADD CONSTRAINT `configtgz_x_module_ibfk_1` FOREIGN KEY (`configid`) REFERENCES `configtgz` (`configid`) ON DELETE CASCADE,
+ ADD CONSTRAINT `configtgz_x_module_ibfk_2` FOREIGN KEY (`moduleid`) REFERENCES `configtgz_module` (`moduleid`)");
+}
+
+// Update path
+
+// ##### 2014-12-12
+// Rename config modules
+Database::exec("UPDATE configtgz_module SET moduletype = 'Branding' WHERE moduletype = 'BRANDING'");
+Database::exec("UPDATE configtgz_module SET moduletype = 'AdAuth' WHERE moduletype = 'AD_AUTH'");
+Database::exec("UPDATE configtgz_module SET moduletype = 'CustomModule' WHERE moduletype = 'custom'");
+
+// #######################
+// ##### 2015-01-16
+// Extend config module db tables
+tableDropColumn('configtgz_module', 'haschanged');
+if (!tableHasColumn('configtgz_module', 'version')) {
+ if (Database::exec("ALTER TABLE `configtgz_module` ADD `version` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'") === false) {
+ finalResponse(UPDATE_FAILED, 'Could not add version to configtgz_module: ' . Database::lastError());
+ }
+ $res[] = UPDATE_DONE;
+}
+if (!tableHasColumn('configtgz_module', 'status')) {
+ if (Database::exec("ALTER TABLE `configtgz_module` ADD `status` ENUM( 'OK', 'MISSING', 'OUTDATED' ) NOT NULL DEFAULT 'MISSING'") === false) {
+ finalResponse(UPDATE_FAILED, 'Could not add status to configtgz_module: ' . Database::lastError());
+ }
+ $res[] = UPDATE_DONE;
+}
+if (!tableHasColumn('configtgz', 'status')) {
+ if (Database::exec("ALTER TABLE `configtgz` ADD `status` ENUM( 'OK', 'OUTDATED', 'MISSING' ) NOT NULL DEFAULT 'MISSING'") === false) {
+ finalResponse(UPDATE_FAILED, 'Could not add status to configtgz: ' . Database::lastError());
+ }
+ $res[] = UPDATE_DONE;
+}
+
+// ----- rebuild AD configs ------
+// TEMPORARY HACK; Rebuild AD configs.. move somewhere else
+Module::isAvailable('sysconfig');
+$list = array_merge(ConfigModule::getAll('AdAuth'), ConfigModule::getAll('LdapAuth'));
+if ($list === false) {
+ EventLog::warning('Could not regenerate AD/LDAP configs - please do so manually');
+} else {
+ foreach ($list as $ad) {
+ $ad->generate(false);
+ }
+}
+
+// Create response for browser
+
+if (in_array(UPDATE_DONE, $res)) {
+ finalResponse(UPDATE_DONE, 'Tables created successfully');
+}
+
+finalResponse(UPDATE_NOOP, 'Everything already up to date');