管理画面表示をテーマprofessional固定にする
提供: GeeklogJpWiki
CASE Geeklog1.5、1.6, 1.7
以下のハックにより,管理画面表示が自動的にテーマprofessionalに切り替わります。テーマをおもいっきり個性的なレイアウトにしたときなどでも,管理画面のレイアウトで困ることがありません。
lib-common.php
Search Set theme! and add 7 lines bellow.
before
// Set theme
// Need to modify this code to check if theme was cached in user cookie. That
// way if user logged in and set theme and then logged out we would still know
// which theme to show them.
$usetheme = '';
if( isset( $_POST['usetheme'] ))
{
$usetheme = COM_sanitizeFilename($_POST['usetheme'], true);
}
if( !empty( $usetheme ) && is_dir( $_CONF['path_themes'] . $usetheme ))
{
$_CONF['theme'] = $usetheme;
$_CONF['path_layout'] = $_CONF['path_themes'] . $_CONF['theme'] . '/';
$_CONF['layout_url'] = $_CONF['site_url'] . '/layout/' . $_CONF['theme'];
}
else if( $_CONF['allow_user_themes'] == 1 )
{
if( isset( $_COOKIE[$_CONF['cookie_theme']] ) && empty( $_USER['theme'] ))
{
$theme = COM_sanitizeFilename($_COOKIE[$_CONF['cookie_theme']], true);
if( is_dir( $_CONF['path_themes'] . $theme ))
{
$_USER['theme'] = $theme;
}
}
if( !empty( $_USER['theme'] ))
{
if( is_dir( $_CONF['path_themes'] . $_USER['theme'] ))
{
$_CONF['theme'] = $_USER['theme'];
$_CONF['path_layout'] = $_CONF['path_themes'] . $_CONF['theme'] . '/';
$_CONF['layout_url'] = $_CONF['site_url'] . '/layout/' . $_CONF['theme'];
}
else
{
$_USER['theme'] = $_CONF['theme'];
}
}
}
after:
// Set theme
// Need to modify this code to check if theme was cached in user cookie. That
// way if user logged in and set theme and then logged out we would still know
// which theme to show them.
$usetheme = '';
if( isset( $_POST['usetheme'] ))
{
$usetheme = COM_sanitizeFilename($_POST['usetheme'], true);
}
if( !empty( $usetheme ) && is_dir( $_CONF['path_themes'] . $usetheme ))
{
$_CONF['theme'] = $usetheme;
$_CONF['path_layout'] = $_CONF['path_themes'] . $_CONF['theme'] . '/';
$_CONF['layout_url'] = $_CONF['site_url'] . '/layout/' . $_CONF['theme'];
}
else if( $_CONF['allow_user_themes'] == 1 )
{
if( isset( $_COOKIE[$_CONF['cookie_theme']] ) && empty( $_USER['theme'] ))
{
$theme = COM_sanitizeFilename($_COOKIE[$_CONF['cookie_theme']], true);
if( is_dir( $_CONF['path_themes'] . $theme ))
{
$_USER['theme'] = $theme;
}
}
if( !empty( $_USER['theme'] ))
{
if( is_dir( $_CONF['path_themes'] . $_USER['theme'] ))
{
$_CONF['theme'] = $_USER['theme'];
$_CONF['path_layout'] = $_CONF['path_themes'] . $_CONF['theme'] . '/';
$_CONF['layout_url'] = $_CONF['site_url'] . '/layout/' . $_CONF['theme'];
}
else
{
$_USER['theme'] = $_CONF['theme'];
}
}
}
// If admin URL, change professional theme ---->
if( strpos( $_SERVER['PHP_SELF'], '/admin/' ) !== false ){
$_CONF['theme'] = 'professional';
$_CONF['path_layout'] = $_CONF['path_themes'] . $_CONF['theme'] . '/';
$_CONF['layout_url'] = $_CONF['site_url'] . '/layout/' . $_CONF['theme'];
}
// If admin URL, change professional theme <----