source: extensions/nbc_ThemeChanger/main.inc.php @ 10099

Last change on this file since 10099 was 10099, checked in by datajulien, 13 years ago

NBC_ThemeChanger
Version 2.2.0.a
Piwigo 2.2 compatibility upgrade

File size: 2.5 KB
Line 
1<?php
2/*
3Plugin Name: NBC ThemeChanger
4Version: 2.2.0.A
5Description: Permet d'associer à chaque catégorie virtuel ou physique un thème spécifique.
6        ThemeChanger vous permet de spécifier pour chaque catérie un thème différent.
7        Pour les catégories non spécifiées, le thème par défaut s'applique.
8        ThemeChanger allow you to associate for each category a specific theme.
9        For the unspecified categories, the theme by default is applied.
10        ThemeChanger permette di precisare per ogni categoria un tema diverso.
11        Per le categorie non precisato, il tema da difetto è applicato.
12Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=214
13Author: Datajulien
14Author URI: http://morgane.quoirez.com
15*/
16
17define('NBC_ThemeChanger_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
18
19if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
20
21/* Set the administration panel of the plugin */
22
23
24class ThemeChanger
25// Sets the administration panel of the plugin
26{
27        function nbc_ThemeChanger_admin_menu($menu)
28        {
29          array_push($menu,
30                array(
31                  'NAME' => 'ThemeChanger',
32                //  'URL'  => get_admin_plugin_menu_link(NBC_ThemeChanger_PATH.'admin/nbc_ThemeChanger_admin.php')
33                  'URL'  => get_root_url().'admin.php?page=plugin-'.basename(NBC_ThemeChanger_PATH)
34                 // 'URL' =>  get_root_url().'admin.php?page=plugin-'.basename(dirname(__FILE__))
35                )
36          );
37          return $menu;
38        }
39}
40
41$obj = new ThemeChanger();
42
43function change_category_theme()
44{
45  global $template, $page, $user, $conf;
46
47  $conf_nbc_ThemeChanger = isset($conf['nbc_ThemeChanger']) ? explode(";" , $conf['nbc_ThemeChanger']) : array();
48   
49  $category_theme = array();
50 
51  foreach ($conf_nbc_ThemeChanger as $Theme_Cat)
52  {
53    $element_ThemeChanger = explode("," , $Theme_Cat);
54   
55    if ($element_ThemeChanger[0] <> '' and $element_ThemeChanger[1] <> '')
56      $category_theme[$element_ThemeChanger[0]] = $element_ThemeChanger[1];
57  }
58
59  if (isset($page['category']['id']) and isset($category_theme[$page['category']['id']]))
60  {
61        $Defalut_user_theme = $user['theme'];
62        if (realpath(PHPWG_ROOT_PATH.'themes'.'/'.$category_theme[$page['category']['id']]))
63                $user['theme'] = $category_theme[$page['category']['id']];
64
65        $template = new Template(PHPWG_ROOT_PATH.'themes', $user['theme']);
66  }
67}
68
69add_event_handler('get_admin_plugin_menu_links', array(&$obj, 'nbc_ThemeChanger_admin_menu') );
70add_event_handler('loc_end_section_init', 'change_category_theme');
71set_plugin_data($plugin['id'], $obj)
72
73?>
Note: See TracBrowser for help on using the repository browser.