source: trunk/admin/themes_installed.php @ 5182

Last change on this file since 5182 was 5153, checked in by plg, 15 years ago

feature 1514: new screen to manage installed themes; activate, deactivate,
delete, set as default.

plugins.class.php was merged back to a state it doesn't manage themes at all.
themes.class.php was created instead, from a duplication of plugins.class.php
and strongly modified then.

feature 1507: the display of available themes is now much more "graphic".

File size: 3.8 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based picture gallery                                  |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008-2009 Piwigo Team                  http://piwigo.org |
6// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
7// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
8// +-----------------------------------------------------------------------+
9// | This program is free software; you can redistribute it and/or modify  |
10// | it under the terms of the GNU General Public License as published by  |
11// | the Free Software Foundation                                          |
12// |                                                                       |
13// | This program is distributed in the hope that it will be useful, but   |
14// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
15// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
16// | General Public License for more details.                              |
17// |                                                                       |
18// | You should have received a copy of the GNU General Public License     |
19// | along with this program; if not, write to the Free Software           |
20// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
21// | USA.                                                                  |
22// +-----------------------------------------------------------------------+
23
24if( !defined("PHPWG_ROOT_PATH") )
25{
26  die ("Hacking attempt!");
27}
28
29include_once(PHPWG_ROOT_PATH.'admin/include/themes.class.php');
30
31$base_url = get_root_url().'admin.php?page='.$page['page'];
32
33$themes = new themes();
34
35// +-----------------------------------------------------------------------+
36// |                          perform actions                              |
37// +-----------------------------------------------------------------------+
38
39if (isset($_GET['action']) and isset($_GET['theme']) and !is_adviser())
40{
41  $page['errors'] = $themes->perform_action($_GET['action'], $_GET['theme']);
42
43  if (empty($page['errors']))
44  {
45    if ($_GET['action'] == 'activate' or $_GET['action'] == 'deactivate')
46    {
47      $template->delete_compiled_templates();
48    }
49    redirect($base_url);
50  }
51}
52
53// +-----------------------------------------------------------------------+
54// |                     start template output                             |
55// +-----------------------------------------------------------------------+
56
57$themes->sort_fs_themes();
58
59$default_theme = get_default_theme();
60
61$db_themes = $themes->get_db_themes();
62$db_theme_ids = array();
63foreach ($db_themes as $db_theme)
64{
65  array_push($db_theme_ids, $db_theme['id']);
66}
67
68$active_themes = array();
69$inactive_themes = array();
70
71foreach($themes->fs_themes as $theme_id => $fs_theme)
72{
73  if ($theme_id == 'default')
74  {
75    continue;
76  }
77
78  if (in_array($theme_id, $db_theme_ids))
79  {
80    if ($theme_id == $default_theme)
81    {
82      $fs_theme['is_default'] = true;
83      array_unshift($active_themes, $fs_theme);
84    }
85    else
86    {
87      array_push($active_themes, $fs_theme);
88    }
89  }
90  else
91  {
92    array_push($inactive_themes, $fs_theme);
93  }
94}
95
96$template->assign(
97    array(
98      'activate_baseurl' => $base_url.'&action=activate&theme=',
99      'deactivate_baseurl' => $base_url.'&action=deactivate&theme=',
100      'set_default_baseurl' => $base_url.'&action=set_default&theme=',
101      'delete_baseurl' => $base_url.'&action=delete&theme=',
102
103      'active_themes' => $active_themes,
104      'inactive_themes' => $inactive_themes,
105    )
106  );
107
108
109$themes->set_tabsheet($page['page']);
110$template->set_filenames(array('themes' => 'themes_installed.tpl'));
111$template->assign_var_from_handle('ADMIN_CONTENT', 'themes');
112?>
Note: See TracBrowser for help on using the repository browser.