Skip to content

Commit

Permalink
Add option to change default homepage
Browse files Browse the repository at this point in the history
  • Loading branch information
partydragen committed Mar 8, 2024
1 parent fcaa517 commit fe74057
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 27 deletions.
9 changes: 3 additions & 6 deletions custom/panel_templates/Default/core/general_settings.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -98,12 +98,9 @@
<div class="col-md-6">
<label for="inputHomepage">{$HOMEPAGE_TYPE}</label>
<select name="homepage" class="form-control" id="inputHomepage">
<option value="news" {if $HOMEPAGE_VALUE eq 'news' } selected{/if}>
{$HOMEPAGE_NEWS}</option>
<option value="custom" {if $HOMEPAGE_VALUE eq 'custom' } selected{/if}>
{$HOMEPAGE_CUSTOM}</option>
<option value="portal" {if $HOMEPAGE_VALUE eq 'portal' } selected{/if}>
{$HOMEPAGE_PORTAL}</option>
{foreach from=$HOMEPAGE_PAGES item=page}
<option value="{$page.value}" {if $HOMEPAGE_VALUE eq {$page.value} } selected{/if}>{$page.module} - {$page.value}</option>
{/foreach}
</select>
</div>
<div class="col-md-6">
Expand Down
12 changes: 10 additions & 2 deletions index.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,16 @@
require(ROOT_PATH . '/404.php');
} else {
// Homepage
$pages->setActivePage($pages->getPageByURL('/'));
require(ROOT_PATH . '/modules/Core/pages/index.php');
$homepage = $pages->getPageByURL(Settings::get('default_homepage'));
if ($homepage != null) {
$pages->setActivePage($homepage);
require(implode(DIRECTORY_SEPARATOR, [ROOT_PATH, 'modules', $homepage['module'], $homepage['file']]));
} else {
$pages->setActivePage($pages->getPageByURL('/'));
require(ROOT_PATH . '/modules/Core/pages/index.php');
}

Settings::get('default_homepage');
}
die();
}
Expand Down
3 changes: 1 addition & 2 deletions modules/Core/language/en_UK.json
Original file line number Diff line number Diff line change
Expand Up @@ -286,8 +286,7 @@
"admin/header": "Header",
"admin/header_required": "Header is required.",
"admin/home_custom_content": "Home Custom Content",
"admin/homepage_news": "News",
"admin/homepage_type": "Homepage Type",
"admin/default_homepage": "Default Homepage",
"admin/hook_created": "Hook created successfully.",
"admin/hook_deleted": "Hook deleted successfully.",
"admin/hook_edited": "Hook edited successfully",
Expand Down
35 changes: 18 additions & 17 deletions modules/Core/pages/panel/general_settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -110,17 +110,8 @@
$errors = [$e->getMessage()];
}

// Portal
if ($_POST['homepage'] === 'portal') {
$home_type = 'portal';
} else if ($_POST['homepage'] === 'news') {
$home_type = 'news';
} else if ($_POST['homepage'] === 'custom') {
$home_type = 'custom';
}
// TODO allow to select a custom page to use content as homepage

Settings::set('home_type', $home_type);
// Default Homepage
Settings::set('default_homepage', $_POST['homepage']);

// Private profile
Settings::set('private_profile', $_POST['privateProfile'] ? '1' : '0');
Expand Down Expand Up @@ -228,6 +219,18 @@
$displaynames = Settings::get('displaynames');
$method = Settings::get('login_method');

$homepage_pages = [];
foreach ($pages->returnPages() as $key => $page) {
if (str_contains($key, '/panel/') || str_contains($key, '/queries/') || str_contains($key, '/user/')) {
continue;
}

$homepage_pages[] = [
'value' => $key,
'module' => $page['module']
];
}

$smarty->assign([
'PARENT_PAGE' => PARENT_PAGE,
'DASHBOARD' => $language->get('admin', 'dashboard'),
Expand Down Expand Up @@ -257,11 +260,9 @@
'DEFAULT_TIMEZONE' => $language->get('admin', 'default_timezone'),
'DEFAULT_TIMEZONE_LIST' => Util::listTimezones(),
'DEFAULT_TIMEZONE_VALUE' => $timezone,
'HOMEPAGE_TYPE' => $language->get('admin', 'homepage_type'),
'HOMEPAGE_NEWS' => $language->get('admin', 'homepage_news'),
'HOMEPAGE_PORTAL' => $language->get('admin', 'portal'),
'HOMEPAGE_CUSTOM' => $language->get('admin', 'custom_content'),
'HOMEPAGE_VALUE' => Settings::get('home_type'),
'HOMEPAGE_TYPE' => $language->get('admin', 'default_homepage'),
'HOMEPAGE_PAGES' => $homepage_pages,
'HOMEPAGE_VALUE' => Settings::get('default_homepage'),
'USE_FRIENDLY_URLS' => $language->get('admin', 'use_friendly_urls'),
'USE_FRIENDLY_URLS_VALUE' => Config::get('core.friendly'),
'USE_FRIENDLY_URLS_HELP' => $language->get('admin', 'use_friendly_urls_help', [
Expand Down Expand Up @@ -298,7 +299,7 @@
'ENABLE_AUTO_LANGUAGE' => $language->get('admin', 'enable_auto_language'),
'AUTO_LANGUAGE_HELP' => $language->get('admin', 'auto_language_help'),
'REQUIRE_STAFFCP_TFA' => $language->get('admin', 'require_two_factor_for_staffcp'),
'REQUIRE_STAFFCP_TFA_VALUE' => Settings::get('require_staffcp_tfa'),
'REQUIRE_STAFFCP_TFA_VALUE' => Settings::get('require_staffcp_tfa')
]);

$template->onPageLoad();
Expand Down

0 comments on commit fe74057

Please sign in to comment.