diff options
author | Simon Rettberg | 2015-02-06 16:12:45 +0100 |
---|---|---|
committer | Simon Rettberg | 2015-02-06 16:12:45 +0100 |
commit | 161180cdf4e915526bc8d62c0301a09130fbf59e (patch) | |
tree | 3f59fd0da89fe42c2838885eef82b23064cac8a4 /modules | |
parent | Finish config module editing (diff) | |
download | slx-admin-161180cdf4e915526bc8d62c0301a09130fbf59e.tar.gz slx-admin-161180cdf4e915526bc8d62c0301a09130fbf59e.tar.xz slx-admin-161180cdf4e915526bc8d62c0301a09130fbf59e.zip |
Add sshd config module
Diffstat (limited to 'modules')
-rw-r--r-- | modules/sysconfig/addmodule_adauth.inc.php | 4 | ||||
-rw-r--r-- | modules/sysconfig/addmodule_branding.inc.php | 4 | ||||
-rw-r--r-- | modules/sysconfig/addmodule_custommodule.inc.php | 6 | ||||
-rw-r--r-- | modules/sysconfig/addmodule_sshconfig.inc.php | 72 | ||||
-rw-r--r-- | modules/translation.inc.php | 21 |
5 files changed, 95 insertions, 12 deletions
diff --git a/modules/sysconfig/addmodule_adauth.inc.php b/modules/sysconfig/addmodule_adauth.inc.php index 26ca5b79..e39eac40 100644 --- a/modules/sysconfig/addmodule_adauth.inc.php +++ b/modules/sysconfig/addmodule_adauth.inc.php @@ -147,14 +147,14 @@ class AdAuth_Finish extends AddModule_Base $module->setData('bindpw', Request::post('bindpw')); $module->setData('home', Request::post('home')); if ($this->edit !== false) - $ret = $module->update(); + $ret = $module->update($title); else $ret = $module->insert($title); if (!$ret) { Message::addError('value-invalid', 'any', 'any'); $tgz = false; } else { - $tgz = $module->generate(true, NULL, 200); + $tgz = $module->generate($this->edit === false, NULL, 200); } if ($tgz === false) { AddModule_Base::setStep('AdAuth_Start'); // Continues with AdAuth_Start for render() diff --git a/modules/sysconfig/addmodule_branding.inc.php b/modules/sysconfig/addmodule_branding.inc.php index 7fc7abc5..c1c5f6b7 100644 --- a/modules/sysconfig/addmodule_branding.inc.php +++ b/modules/sysconfig/addmodule_branding.inc.php @@ -215,12 +215,12 @@ class Branding_Finish extends AddModule_Base } $module->setData('tmpFile', $tgz); if ($this->edit !== false) - $ret = $module->update(); + $ret = $module->update($title); else $ret = $module->insert($title); if (!$ret) Util::redirect('?do=SysConfig&action=addmodule&step=Branding_Start'); - elseif ($module->generate(true, NULL, 200) === false) + elseif ($module->generate($this->edit === false, NULL, 200) === false) Util::redirect('?do=SysConfig&action=addmodule&step=Branding_Start'); Session::set('logo_tgz', false); Session::set('logo_name', false); diff --git a/modules/sysconfig/addmodule_custommodule.inc.php b/modules/sysconfig/addmodule_custommodule.inc.php index dfa03a19..e3ddeca8 100644 --- a/modules/sysconfig/addmodule_custommodule.inc.php +++ b/modules/sysconfig/addmodule_custommodule.inc.php @@ -113,7 +113,7 @@ class CustomModule_CompressModule extends AddModule_Base $tempfile = Session::get('mod_temp'); if (empty($title) || empty($tempfile) || !file_exists($tempfile)) { Message::addError('empty-field'); - return; + Util::redirect('?do=SysConfig&action=addmodule&step=CustomModule_Start'); } // Recompress using task manager $this->taskId = 'tgzmod' . mt_rand() . '-' . microtime(true); @@ -142,12 +142,12 @@ class CustomModule_CompressModule extends AddModule_Base } $module->setData('tmpFile', $destFile); if ($this->edit !== false) - $ret = $module->update(); + $ret = $module->update($title); else $ret = $module->insert($title); if (!$ret) Util::redirect('?do=SysConfig&action=addmodule&step=CustomModule_Start'); - elseif (!$module->generate(true, NULL, 200)) + elseif (!$module->generate($this->edit === false, NULL, 200)) Util::redirect('?do=SysConfig&action=addmodule&step=CustomModule_Start'); Session::set('mod_temp', false); Session::save(); diff --git a/modules/sysconfig/addmodule_sshconfig.inc.php b/modules/sysconfig/addmodule_sshconfig.inc.php new file mode 100644 index 00000000..e50ca72c --- /dev/null +++ b/modules/sysconfig/addmodule_sshconfig.inc.php @@ -0,0 +1,72 @@ +<?php + +/* + * Wizard for configuring the sshd (client side). + */ + +class SshConfig_Start extends AddModule_Base +{ + + protected function renderInternal() + { + if ($this->edit !== false) { + $data = $this->edit->getData(false) + array( + 'title' => $this->edit->title(), + 'edit' => $this->edit->id(), + 'apl' => $this->edit->getData('allowPasswordLogin') === 'yes' + ); + } else { + $data = array(); + } + Render::addDialog(Dictionary::translate('lang_clientSshConfig'), false, 'sysconfig/sshconfig-start', $data + array( + 'step' => 'SshConfig_Finish', + )); + } + +} + +class SshConfig_Finish extends AddModule_Base +{ + + protected function preprocessInternal() + { + $title = Request::post('title'); + if (empty($title)) { + Message::addError('missing-title'); + return; + } + // Seems ok, create entry + if ($this->edit === false) + $module = ConfigModule::getInstance('SshConfig'); + else + $module = $this->edit; + if ($module === false) { + Message::addError('error-read', 'sshconfig.inc.php'); + Util::redirect('?do=SysConfig&action=addmodule&step=SshConfig_Start'); + } + $module->setData('allowPasswordLogin', Request::post('allowPasswordLogin') === 'yes'); + if (!$module->setData('listenPort', Request::post('listenPort'))) { + Message::addError('value-invalid', 'port', Request::post('listenPort')); + Util::redirect('?do=SysConfig&action=addmodule&step=SshConfig_Start'); + } + if (!$module->setData('publicKey', Request::post('publicKey'))) { + Message::addError('value-invalid', 'pubkey', Request::post('publicKey')); + Util::redirect('?do=SysConfig&action=addmodule&step=SshConfig_Start'); + } + if ($this->edit !== false) + $ret = $module->update($title); + else + $ret = $module->insert($title); + if (!$ret) + Util::redirect('?do=SysConfig&action=addmodule&step=SshConfig_Start'); + elseif (!$module->generate($this->edit === false, NULL, 200)) + Util::redirect('?do=SysConfig&action=addmodule&step=SshConfig_Start'); + // Yay + if ($this->edit !== false) + Message::addSuccess('module-edited'); + else + Message::addSuccess('module-added'); + Util::redirect('?do=SysConfig'); + } + +} diff --git a/modules/translation.inc.php b/modules/translation.inc.php index 4dc2f515..5b8b452a 100644 --- a/modules/translation.inc.php +++ b/modules/translation.inc.php @@ -13,9 +13,6 @@ class Page_Translation extends Page */ private $template = false; private $page = false; - private $update = false; - private $delete = false; - private $tags = false; protected function doPreprocess() { @@ -74,6 +71,14 @@ class Page_Translation extends Page 'tags' => $this->loadSettingsArray() )); break; + case 'config-module': + //renders the hardcoded messages edit page + Render::addTemplate('translation/edit', array( + 'path' => 'config-module', + 'langs' => $langs, + 'tags' => $this->buildTranslationTable('config-module') + )); + break; case 'template': $this->template = Util::safePath($this->template); if ($this->template === false) { @@ -315,8 +320,7 @@ class Page_Translation extends Page } } } - - //finds every JSON tag withing the JSON language files + // Finds every JSON tag withing the JSON language files foreach ($langArray as $lang) { $jsonTags = Dictionary::getArray($path, $lang); if (!is_array($jsonTags)) @@ -333,6 +337,13 @@ class Page_Translation extends Page $tags[$tag]['missing'] --; } } + // Fill the blanks + foreach ($langArray as $lang) { + foreach (array_keys($tags) as $tagName) { + if (!isset($tags[$tagName]['langs'][$lang])) + $tags[$tagName]['langs'][$lang]['lang'] = $lang; + } + } // Finally remove $lang from the keys so mustache will iterate over them via {{#..}} foreach ($tags as &$tag) { $tag['langs'] = array_values($tag['langs']); |