diff --git a/about.php b/about.php index c3958a5ec..e54505e27 100644 --- a/about.php +++ b/about.php @@ -38,33 +38,16 @@ $title= l10n('About Piwigo'); $page['body_id'] = 'theAboutPage'; include(PHPWG_ROOT_PATH.'include/page_header.php'); -/** - * set in ./local/language/en_UK.lang.php (maybe to create) - * for example for clear theme: - $lang['Theme: clear'] = 'This is the clear theme based on yoga template. '. - ' A standard template/theme of PhpWebgallery.'; - * - * Don't forget php tags !!! - * - * Another way is to code it thru the theme itself in ./themeconf.inc.php - */ -@include(PHPWG_ROOT_PATH.'template/'.$user['template']. - '/theme/'.$user['theme'].'/themeconf.inc.php'); - -$template->set_filenames( - array( - 'about'=>'about.tpl', - ) - ); -if ( isset($lang['Theme: '.$user['theme']]) ) -{ - $template->assign( - 'THEME_ABOUT',l10n('Theme: '.$user['theme']) - ); -} +$template->set_filename('about', 'about.tpl'); $template->assign('ABOUT_MESSAGE', load_language('about.html','', array('return'=>true)) ); +$theme_about = load_language('about.html', PHPWG_THEMES_PATH.$user['theme'].'/', array('return' => true)); +if ( $theme_about !== false ) +{ + $template->assign('THEME_ABOUT', $theme_about); +} + $template->pparse('about'); include(PHPWG_ROOT_PATH.'include/page_tail.php'); ?> diff --git a/admin/include/themes.class.php b/admin/include/themes.class.php index 524462306..41ee5f336 100644 --- a/admin/include/themes.class.php +++ b/admin/include/themes.class.php @@ -70,6 +70,8 @@ class themes $crt_db_theme = $this->db_themes_by_id[$theme_id]; } + $file_to_include = PHPWG_THEMES_PATH.'/'.$theme_id.'/admin/maintain.inc.php'; + $errors = array(); switch ($action) @@ -100,14 +102,26 @@ class themes break; } - - $query = " + + if (file_exists($file_to_include)) + { + include($file_to_include); + if (function_exists('theme_activate')) + { + theme_activate($theme_id, $this->fs_themes[$theme_id]['version'], $errors); + } + } + + if (empty($errors)) + { + $query = " INSERT INTO ".THEMES_TABLE." SET id = '".$theme_id."' , version = '".$this->fs_themes[$theme_id]['version']."' , name = '".$this->fs_themes[$theme_id]['name']."' ;"; - pwg_query($query); + pwg_query($query); + } break; case 'deactivate': @@ -150,7 +164,16 @@ SELECT $this->set_default_theme($new_theme); } - + + if (file_exists($file_to_include)) + { + include($file_to_include); + if (function_exists('theme_deactivate')) + { + theme_deactivate($theme_id); + } + } + $query = " DELETE FROM ".THEMES_TABLE." @@ -374,7 +397,13 @@ SELECT .'/images/missing_screenshot.png' ; } - + + $admin_file = $path.'/admin/admin.inc.php'; + if (file_exists($admin_file)) + { + $theme['admin_uri'] = get_root_url().'admin.php?page=theme&theme='.$file; + } + // IMPORTANT SECURITY ! $theme = array_map('htmlspecialchars', $theme); $this->fs_themes[$file] = $theme; diff --git a/admin/theme.php b/admin/theme.php new file mode 100644 index 000000000..88f3a03e3 --- /dev/null +++ b/admin/theme.php @@ -0,0 +1,46 @@ + \ No newline at end of file diff --git a/admin/themes/default/default-layout.css b/admin/themes/default/default-layout.css index 2df864c4b..10c7386d8 100644 --- a/admin/themes/default/default-layout.css +++ b/admin/themes/default/default-layout.css @@ -749,11 +749,12 @@ BODY#thePopuphelpPage { height: 4em; /* legend height (don't set auto to be Gecko friendly)*/ } -.themeBox {display:inline-block; text-align:center; height:180px; background-color:#eee; margin:5px; -moz-border-radius:5px;} +.themeBox {display:inline-table; text-align:center; height:192px; background-color:#eee; margin:5px; -moz-border-radius:5px; overflow:hidden; } .themeBox IMG {border:1px solid white; margin:0 15px;} .themeName {font-size:1.1em; margin:5px 0;} -.themeActions {margin:5px 0; font-size:12px;} +.themeActions {display: table-row; font-size:12px; height: 43px; } +.themeActions DIV {display: table-cell; vertical-align: middle; line-height:18px; } .themeActions A {} #themesContent .themeBox IMG {width:150px; height:120px;} diff --git a/admin/themes/default/template/themes_installed.tpl b/admin/themes/default/template/themes_installed.tpl index 5bb18ae57..9f972486f 100644 --- a/admin/themes/default/template/themes_installed.tpl +++ b/admin/themes/default/template/themes_installed.tpl @@ -13,7 +13,7 @@