Merge pull request #7211 from MrPetovan/bug/7209-admin-forbidden
Add themed themed error page or login page for /admin[/*]
This commit is contained in:
commit
25433e79d5
2 changed files with 898 additions and 828 deletions
|
@ -6,7 +6,10 @@ use Friendica\BaseModule;
|
||||||
use Friendica\Core\Addon;
|
use Friendica\Core\Addon;
|
||||||
use Friendica\Core\L10n;
|
use Friendica\Core\L10n;
|
||||||
use Friendica\Core\Renderer;
|
use Friendica\Core\Renderer;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\Session;
|
||||||
|
use Friendica\Network\HTTPException\ForbiddenException;
|
||||||
|
|
||||||
|
require_once 'boot.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This abstract module is meant to be extended by all modules that are reserved to administrator users.
|
* This abstract module is meant to be extended by all modules that are reserved to administrator users.
|
||||||
|
@ -35,11 +38,11 @@ abstract class BaseAdminModule extends BaseModule
|
||||||
public static function rawContent()
|
public static function rawContent()
|
||||||
{
|
{
|
||||||
if (!is_site_admin()) {
|
if (!is_site_admin()) {
|
||||||
System::httpExit(403);
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($_SESSION['submanage'])) {
|
if (!empty($_SESSION['submanage'])) {
|
||||||
System::httpExit(403);
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
|
@ -47,21 +50,18 @@ abstract class BaseAdminModule extends BaseModule
|
||||||
|
|
||||||
public static function content()
|
public static function content()
|
||||||
{
|
{
|
||||||
|
$a = self::getApp();
|
||||||
|
|
||||||
if (!is_site_admin()) {
|
if (!is_site_admin()) {
|
||||||
return Login::form();
|
notice(L10n::t('Please login to continue.'));
|
||||||
|
Session::set('return_path', $a->query_string);
|
||||||
|
$a->internalRedirect('login');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($_SESSION['submanage'])) {
|
if (!empty($_SESSION['submanage'])) {
|
||||||
return '';
|
throw new ForbiddenException(L10n::t('Submanaged account can\'t access the administation pages. Please log back in as the master account.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$a = self::getApp();
|
|
||||||
|
|
||||||
// APC deactivated, since there are problems with PHP 5.5
|
|
||||||
//if (function_exists("apc_delete")) {
|
|
||||||
// $toDelete = new APCIterator('user', APC_ITER_VALUE);
|
|
||||||
// apc_delete($toDelete);
|
|
||||||
//}
|
|
||||||
// Header stuff
|
// Header stuff
|
||||||
$a->page['htmlhead'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('admin/settings_head.tpl'), []);
|
$a->page['htmlhead'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('admin/settings_head.tpl'), []);
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue