'index.php?route=/preferences/manage',
'text' => __('Manage your settings'),
'active' => $route === '/preferences/manage',
]
) . "\n";
/* Second authentication factor */
$content .= Generator::getHtmlTab(
[
'link' => 'index.php?route=/preferences/twofactor',
'text' => __('Two-factor authentication'),
'active' => $route === '/preferences/twofactor',
]
) . "\n";
$content .= self::displayTabsWithIcon();
return '
' .
$template->render(
'list/unordered',
[
'id' => 'topmenu2',
'class' => 'user_prefs_tabs',
'content' => $content,
]
) . '
';
}
/**
* @return string
*/
protected static function displayTabsWithIcon(): string
{
$form_param = $_GET['form'] ?? null;
$tabs_icons = [
'Features' => 'b_tblops',
'Sql' => 'b_sql',
'Navi' => 'b_select',
'Main' => 'b_props',
'Import' => 'b_import',
'Export' => 'b_export',
];
$route = $_GET['route'] ?? $_POST['route'] ?? '';
$content = null;
foreach (UserFormList::getAll() as $formset) {
$formset_class = UserFormList::get($formset);
$tab = [
'link' => 'index.php?route=/preferences/forms',
'text' => $formset_class::getName(),
'icon' => $tabs_icons[$formset],
'active' => $route === '/preferences/forms' && $formset === $form_param,
];
$content .= Generator::getHtmlTab($tab, ['form' => $formset]) . "\n";
}
return $content;
}
/**
* @return string|null
*/
protected static function displayConfigurationSavedMessage(): ?string
{
// show "configuration saved" message and reload navigation panel if needed
if (! empty($_GET['saved'])) {
return Message::rawSuccess(__('Configuration has been saved.'))
->getDisplay();
}
return null;
}
/**
* @param Relation $relation Relation instance
*
* @return string|null
*/
protected static function sessionStorageWarning(Relation $relation): ?string
{
// warn about using session storage for settings
$cfgRelation = $relation->getRelationsParam();
if (! $cfgRelation['userconfigwork']) {
$msg = __(
'Your preferences will be saved for current session only. Storing them '
. 'permanently requires %sphpMyAdmin configuration storage%s.'
);
$msg = Sanitize::sanitizeMessage(
sprintf($msg, '[doc@linked-tables]', '[/doc]')
);
return Message::notice($msg)
->getDisplay();
}
return null;
}
}