Move admin/features to src/Module
- Add Module\Admin\Features class - Add route for admin/features - Add features admin aside menu entry - Move templates/admin/settings_features.tpl to templates/admin/features.tpl - Remove admin_page_features and admin_page_features_post from mod/admin.php
This commit is contained in:
parent
f3f055758c
commit
446cb905e4
|
@ -111,9 +111,6 @@ function admin_post(App $a)
|
|||
}
|
||||
$return_path = 'admin/themes/' . $theme . (!empty($_GET['mode']) ? '?mode=' . $_GET['mode'] : '');
|
||||
break;
|
||||
case 'features':
|
||||
admin_page_features_post($a);
|
||||
break;
|
||||
case 'logs':
|
||||
admin_page_logs_post($a);
|
||||
break;
|
||||
|
@ -228,9 +225,6 @@ function admin_content(App $a)
|
|||
case 'themes':
|
||||
$o = admin_page_themes($a);
|
||||
break;
|
||||
case 'features':
|
||||
$o = admin_page_features($a);
|
||||
break;
|
||||
case 'logs':
|
||||
$o = admin_page_logs($a);
|
||||
break;
|
||||
|
@ -1672,90 +1666,6 @@ function admin_page_viewlogs(App $a)
|
|||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Prosesses data send by the features admin page
|
||||
*
|
||||
* @param App $a
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
function admin_page_features_post(App $a)
|
||||
{
|
||||
BaseModule::checkFormSecurityTokenRedirectOnError('/admin/features', 'admin_manage_features');
|
||||
|
||||
Logger::log('postvars: ' . print_r($_POST, true), Logger::DATA);
|
||||
|
||||
$features = Feature::get(false);
|
||||
|
||||
foreach ($features as $fname => $fdata) {
|
||||
foreach (array_slice($fdata, 1) as $f) {
|
||||
$feature = $f[0];
|
||||
$feature_state = 'feature_' . $feature;
|
||||
$featurelock = 'featurelock_' . $feature;
|
||||
|
||||
if (!empty($_POST[$feature_state])) {
|
||||
$val = intval($_POST[$feature_state]);
|
||||
} else {
|
||||
$val = 0;
|
||||
}
|
||||
Config::set('feature', $feature, $val);
|
||||
|
||||
if (!empty($_POST[$featurelock])) {
|
||||
Config::set('feature_lock', $feature, $val);
|
||||
} else {
|
||||
Config::delete('feature_lock', $feature);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$a->internalRedirect('admin/features');
|
||||
return; // NOTREACHED
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Subpage for global additional feature management
|
||||
*
|
||||
* This functin generates the subpage 'Manage Additional Features'
|
||||
* for the admin panel. At this page the admin can set preferences
|
||||
* for the user settings of the 'additional features'. If needed this
|
||||
* preferences can be locked through the admin.
|
||||
*
|
||||
* The returned string contains the HTML code of the subpage 'Manage
|
||||
* Additional Features'
|
||||
*
|
||||
* @param App $a
|
||||
* @return string
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
function admin_page_features(App $a)
|
||||
{
|
||||
if (($a->argc > 1) && ($a->getArgumentValue(1) === 'features')) {
|
||||
$arr = [];
|
||||
$features = Feature::get(false);
|
||||
|
||||
foreach ($features as $fname => $fdata) {
|
||||
$arr[$fname] = [];
|
||||
$arr[$fname][0] = $fdata[0];
|
||||
foreach (array_slice($fdata, 1) as $f) {
|
||||
$set = Config::get('feature', $f[0], $f[3]);
|
||||
$arr[$fname][1][] = [
|
||||
['feature_' . $f[0], $f[1], $set, $f[2], [L10n::t('Off'), L10n::t('On')]],
|
||||
['featurelock_' . $f[0], L10n::t('Lock feature %s', $f[1]), (($f[4] !== false) ? "1" : ''), '', [L10n::t('Off'), L10n::t('On')]]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('admin/settings_features.tpl');
|
||||
$o = Renderer::replaceMacros($tpl, [
|
||||
'$form_security_token' => BaseModule::getFormSecurityToken("admin_manage_features"),
|
||||
'$title' => L10n::t('Manage Additional Features'),
|
||||
'$features' => $arr,
|
||||
'$submit' => L10n::t('Save Settings'),
|
||||
]);
|
||||
|
||||
return $o;
|
||||
}
|
||||
}
|
||||
|
||||
function admin_page_server_vital()
|
||||
{
|
||||
// Fetch the host-meta to check if this really is a vital server
|
||||
|
|
|
@ -124,6 +124,7 @@ class Router
|
|||
$collector->addRoute(['GET', 'POST'], '/addons' , Module\Admin\Addons\Index::class);
|
||||
$collector->addRoute(['GET', 'POST'], '/addons/{addon}' , Module\Admin\Addons\Details::class);
|
||||
|
||||
$collector->addRoute(['GET', 'POST'], '/features' , Module\Admin\Features::class);
|
||||
$collector->addRoute(['GET'] , '/federation' , Module\Admin\Federation::class);
|
||||
|
||||
$collector->addRoute(['GET', 'POST'], '/themes' , Module\Admin\Themes\Index::class);
|
||||
|
|
79
src/Module/Admin/Features.php
Normal file
79
src/Module/Admin/Features.php
Normal file
|
@ -0,0 +1,79 @@
|
|||
<?php
|
||||
|
||||
namespace Friendica\Module\Admin;
|
||||
|
||||
use Friendica\Content\Feature;
|
||||
use Friendica\Core\Config;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Logger;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Module\BaseAdminModule;
|
||||
|
||||
class Features extends BaseAdminModule
|
||||
{
|
||||
public static function post()
|
||||
{
|
||||
parent::post();
|
||||
|
||||
parent::checkFormSecurityTokenRedirectOnError('/admin/features', 'admin_manage_features');
|
||||
|
||||
$features = Feature::get(false);
|
||||
|
||||
foreach ($features as $fname => $fdata) {
|
||||
foreach (array_slice($fdata, 1) as $f) {
|
||||
$feature = $f[0];
|
||||
$feature_state = 'feature_' . $feature;
|
||||
$featurelock = 'featurelock_' . $feature;
|
||||
|
||||
if (!empty($_POST[$feature_state])) {
|
||||
$val = intval($_POST[$feature_state]);
|
||||
} else {
|
||||
$val = 0;
|
||||
}
|
||||
Config::set('feature', $feature, $val);
|
||||
|
||||
if (!empty($_POST[$featurelock])) {
|
||||
Config::set('feature_lock', $feature, $val);
|
||||
} else {
|
||||
Config::delete('feature_lock', $feature);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self::getApp()->internalRedirect('admin/features');
|
||||
}
|
||||
|
||||
public static function content()
|
||||
{
|
||||
parent::content();
|
||||
|
||||
$a = self::getApp();
|
||||
|
||||
if (($a->argc > 1) && ($a->getArgumentValue(1) === 'features')) {
|
||||
$arr = [];
|
||||
$features = Feature::get(false);
|
||||
|
||||
foreach ($features as $fname => $fdata) {
|
||||
$arr[$fname] = [];
|
||||
$arr[$fname][0] = $fdata[0];
|
||||
foreach (array_slice($fdata, 1) as $f) {
|
||||
$set = Config::get('feature', $f[0], $f[3]);
|
||||
$arr[$fname][1][] = [
|
||||
['feature_' . $f[0], $f[1], $set, $f[2], [L10n::t('Off'), L10n::t('On')]],
|
||||
['featurelock_' . $f[0], L10n::t('Lock feature %s', $f[1]), (($f[4] !== false) ? "1" : ''), '', [L10n::t('Off'), L10n::t('On')]]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('admin/features.tpl');
|
||||
$o = Renderer::replaceMacros($tpl, [
|
||||
'$form_security_token' => parent::getFormSecurityToken("admin_manage_features"),
|
||||
'$title' => L10n::t('Manage Additional Features'),
|
||||
'$features' => $arr,
|
||||
'$submit' => L10n::t('Save Settings'),
|
||||
]);
|
||||
|
||||
return $o;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -56,6 +56,7 @@ abstract class BaseAdminModule extends BaseModule
|
|||
'users' => ['admin/users' , L10n::t('Users') , 'users'],
|
||||
'addons' => ['admin/addons' , L10n::t('Addons') , 'addons'],
|
||||
'themes' => ['admin/themes' , L10n::t('Themes') , 'themes'],
|
||||
'features' => ['admin/features' , L10n::t('Additional features') , 'features'],
|
||||
'tos' => ['admin/tos' , L10n::t('Terms of Service') , 'tos'],
|
||||
]],
|
||||
];
|
||||
|
|
Loading…
Reference in a new issue