Commit 73ae7426 authored by Henning Leutz's avatar Henning Leutz 🥋

Merge branch 'dev'

parents ffa5bdbb 6f82aca9
...@@ -11,7 +11,7 @@ QUI::$Ajax->registerFunction( ...@@ -11,7 +11,7 @@ QUI::$Ajax->registerFunction(
); );
if (!QUI::conf('mail', 'admin_mail') || QUI::conf('mail', 'admin_mail') === '') { if (!QUI::conf('mail', 'admin_mail') || QUI::conf('mail', 'admin_mail') === '') {
QUI::getMessagesHandler()->addAttention( QUI::getMessagesHandler()->addError(
QUI::getLocale()->get('quiqqer/quiqqer', 'message.missing.admin.mail') QUI::getLocale()->get('quiqqer/quiqqer', 'message.missing.admin.mail')
); );
} }
......
...@@ -30,10 +30,36 @@ QUI::$Ajax->registerFunction( ...@@ -30,10 +30,36 @@ QUI::$Ajax->registerFunction(
if ($Config) { if ($Config) {
$config = \array_merge_recursive($config, $Config->toArray()); $config = \array_merge_recursive($config, $Config->toArray());
} }
// hidden fields
// dont show this in the frontend
if (\strpos($file, 'quiqqer/quiqqer/admin/settings/conf.xml') !== false) {
unset($config['db']);
unset($config['openssl']);
unset($config['globals']['salt']);
unset($config['globals']['saltlength']);
unset($config['globals']['cms_dir']);
unset($config['globals']['var_dir']);
unset($config['globals']['usr_dir']);
unset($config['globals']['opt_dir']);
unset($config['globals']['rootuser']);
unset($config['globals']['root']);
if (empty($config['globals']['nonce'])) {
$nonce = \QUI\Security\Password::generateRandom(10);
$Config->setValue('globals', 'nonce', $nonce);
$Config->save();
$config['globals']['nonce'] = $nonce;
}
}
} }
return $config; return $config;
}, },
['file'], ['file'],
'Permission::checkAdminUser' 'Permission::checkSU'
); );
...@@ -78,6 +78,20 @@ QUI::$Ajax->registerFunction( ...@@ -78,6 +78,20 @@ QUI::$Ajax->registerFunction(
if (isset($params['db'])) { if (isset($params['db'])) {
unset($params['db']); unset($params['db']);
} }
// nonce check
if (empty($params['globals']['nonce'])) {
throw new QUI\Exception('Could not save QUIQQER config');
}
$currentNonce = $params['globals']['nonce'];
$oldNonce = QUI::conf('globals', 'nonce');
if ($currentNonce !== $oldNonce) {
throw new QUI\Exception('Could not save QUIQQER config');
}
unset($params['globals']['nonce']);
} }
QUI\Utils\Text\XML::setConfigFromXml($file, $params); QUI\Utils\Text\XML::setConfigFromXml($file, $params);
......
...@@ -9,11 +9,7 @@ QUI::getEvents()->fireEvent('adminRequest'); ...@@ -9,11 +9,7 @@ QUI::getEvents()->fireEvent('adminRequest');
$qui_path = URL_OPT_DIR.'bin/qui/'; $qui_path = URL_OPT_DIR.'bin/qui/';
$qui_extend = URL_OPT_DIR.'bin/qui/extend/'; $qui_extend = URL_OPT_DIR.'bin/qui/extend/';
$config = []; $config = QUI::backendGuiConfigs();
$config['globals'] = QUI::conf('globals');
$config['gui'] = QUI::conf('gui');
$config['permissions'] = QUI::conf('permissions');
$Project = null; $Project = null;
try { try {
......
...@@ -112,6 +112,9 @@ ...@@ -112,6 +112,9 @@
<type><![CDATA[string]]></type> <type><![CDATA[string]]></type>
<defaultvalue>php</defaultvalue> <defaultvalue>php</defaultvalue>
</conf> </conf>
<conf name="nonce">
<type><![CDATA[string]]></type>
</conf>
</section> </section>
<section name="auth_settings"> <section name="auth_settings">
...@@ -416,6 +419,7 @@ ...@@ -416,6 +419,7 @@
<option value="404">404 - Not Found</option> <option value="404">404 - Not Found</option>
</select> </select>
<input type="hidden" conf="globals.nonce" label="false" />
</settings> </settings>
<settings title="templateengine" name="templateengine"> <settings title="templateengine" name="templateengine">
......
...@@ -515,6 +515,28 @@ class QUI ...@@ -515,6 +515,28 @@ class QUI
return self::$Conf->get($section, $key); return self::$Conf->get($section, $key);
} }
/**
* @return array
*/
public static function backendGuiConfigs()
{
$config = [];
$config['globals'] = QUI::conf('globals');
$config['gui'] = QUI::conf('gui');
$config['permissions'] = QUI::conf('permissions');
unset($config['globals']['salt']);
unset($config['globals']['saltlength']);
unset($config['globals']['rootuser']);
unset($config['globals']['cms_dir']);
unset($config['globals']['var_dir']);
unset($config['globals']['usr_dir']);
unset($config['globals']['opt_dir']);
return $config;
}
/** /**
* Returns all available languages * Returns all available languages
* *
......
...@@ -2629,7 +2629,8 @@ ...@@ -2629,7 +2629,8 @@
<de><![CDATA[Kompletten Cache leeren]]></de> <de><![CDATA[Kompletten Cache leeren]]></de>
</locale> </locale>
<locale name="quiqqer.settings.cache.clear.complete.confirm.information"> <locale name="quiqqer.settings.cache.clear.complete.confirm.information">
<de><![CDATA[Durch das Leeren des kompletten QUIQQER Caches können ggf. größere Datenmengen gelöscht werden, deren Neuerstellung eine längere Zeit benötigt. Dies kann dazu führen, dass Ihre Website in diesem Zeitraum erheblich langsamer ist.]]></de> <de>
<![CDATA[Durch das Leeren des kompletten QUIQQER Caches können ggf. größere Datenmengen gelöscht werden, deren Neuerstellung eine längere Zeit benötigt. Dies kann dazu führen, dass Ihre Website in diesem Zeitraum erheblich langsamer ist.]]></de>
</locale> </locale>
<locale name="quiqqer.settings.cache.clear.complete.confirm.text"> <locale name="quiqqer.settings.cache.clear.complete.confirm.text">
<de><![CDATA[Sind Sie sicher, dass der komplette QUIQQER Cache gelöscht werden soll?]]></de> <de><![CDATA[Sind Sie sicher, dass der komplette QUIQQER Cache gelöscht werden soll?]]></de>
...@@ -4234,8 +4235,8 @@ Hinweis: Wenn QUIQQER als GIT Repository installiert ist, existiert keine MD5 Su ...@@ -4234,8 +4235,8 @@ Hinweis: Wenn QUIQQER als GIT Repository installiert ist, existiert keine MD5 Su
</locale> </locale>
<locale name="message.missing.admin.mail"> <locale name="message.missing.admin.mail">
<de><![CDATA[ <de><![CDATA[
Hinweis: Bitte stelle eine Adminmail ein. Hinweis: Bitte stelle eine Administrations-E-Mail ein unter Einstellungen -> System -> E-Mail.
Bei etwaigen Fehlern kann QUIQQER darüber informieren. So kann QUIQQER dich bei Fehlern informieren.
]]></de> ]]></de>
</locale> </locale>
</groups> </groups>
......
...@@ -4088,8 +4088,8 @@ Note: If QUIQQER is installed as GIT repository, no MD5 summary file exists. ...@@ -4088,8 +4088,8 @@ Note: If QUIQQER is installed as GIT repository, no MD5 summary file exists.
</locale> </locale>
<locale name="message.missing.admin.mail"> <locale name="message.missing.admin.mail">
<en><![CDATA[ <en><![CDATA[
Note: Please set up an adminmail. Note: Please set an administration e-mail under Settings -> System -> E-Mail.
QUIQQER can inform you about any errors. On this way QUIQQER can inform you about errors.
]]></en> ]]></en>
</locale> </locale>
</groups> </groups>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment