source: extensions/pwgCumulus/include/pwgCumulusContent.class.php @ 23680

Last change on this file since 23680 was 21469, checked in by nikrou, 12 years ago

Make plugin compatible with piwigo 2.5

File size: 5.2 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | pwgCumulus  - a plugin for Piwigo                                     |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2009-2013 Nicolas Roudaire        http://www.nikrou.net  |
6// +-----------------------------------------------------------------------+
7// | This program is free software; you can redistribute it and/or modify  |
8// | it under the terms of the GNU General Public License version 2 as     |
9// | published by  the Free Software Foundation                            |
10// |                                                                       |
11// | This program is distributed in the hope that it will be useful, but   |
12// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
13// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
14// | General Public License for more details.                              |
15// |                                                                       |
16// | You should have received a copy of the GNU General Public License     |
17// | along with this program; if not, write to the Free Software           |
18// | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,            |
19// | MA 02110-1301 USA                                                     |
20// +-----------------------------------------------------------------------+
21
22class pwgCumulusContent
23{
24  public function __construct($config) {
25    $this->plugin_config = $config;
26  }
27
28  public function loc_begin_page_header() {
29    global $template;
30
31    if (!empty($_GET['display_mode']) && $_GET['display_mode']=='cumulus') {
32      $template->assign('display_mode', 'cumulus');
33    }
34
35    $template->set_filenames(array('tags'=> PWG_CUMULUS_PLUGIN_TEMPLATE . '/tags.tpl'));
36       
37    $template->assign('PWG_CUMULUS_SWF', PWG_CUMULUS_PLUGIN_SWF);
38    $template->assign('PWG_CUMULUS_IMGS', PWG_CUMULUS_PLUGIN_IMGS);
39
40    $template->assign('PWG_CUMULUS_WIDTH', $this->plugin_config->pwg_cumulus_width);
41    $template->assign('PWG_CUMULUS_HEIGHT', $this->plugin_config->pwg_cumulus_height);
42    $template->assign('PWG_CUMULUS_HREF', get_root_url().'tags.php?display_mode=cumulus');
43
44    $template->assign('PWG_CUMULUS_MODE_TRANSPARENT', $this->plugin_config->pwg_cumulus_mode_transparent);
45    $template->assign('PWG_CUMULUS_BGCOLOR', $this->plugin_config->pwg_cumulus_bgcolor);
46    $template->assign('PWG_CUMULUS_COLOR1', '0x'.$this->plugin_config->pwg_cumulus_color1);
47    $template->assign('PWG_CUMULUS_COLOR2', '0x'.$this->plugin_config->pwg_cumulus_color2);
48    $template->assign('PWG_CUMULUS_HICOLOR', '0x'.$this->plugin_config->pwg_cumulus_hicolor);
49
50    if (!empty($template->smarty->_tpl_vars['tags'])) {
51      foreach ($template->smarty->_tpl_vars['tags'] as $key => &$tag) {
52        $tag['display_name'] = urlencode($tag['name']);
53        $tag['size'] = $this->plugin_config->pwg_cumulus_coeff * $tag['level'];
54      }
55    }
56  }
57
58  public function blockmanager_register_blocks($menu_ref_arr) {
59    if (!$this->plugin_config->pwg_cumulus_in_main_menu) {
60      return;
61    }
62    $menu = &$menu_ref_arr[0];
63    if ($menu->get_id() != 'menubar') {
64      return;
65    }
66    $menu->register_block(new RegisteredBlock('mbCumulus', 'Cumulus', 'piwigo'));
67  }
68
69
70  public function blockmanager_apply($menu_ref_arr) {
71    global $template;
72
73    if (!$this->plugin_config->pwg_cumulus_in_main_menu) {
74      return;
75    }
76
77    load_language('plugin.lang', PWG_CUMULUS_PLUGIN_LANG);
78
79    $menu = &$menu_ref_arr[0];
80    if ($menu->get_id() != 'menubar') {
81      return;
82    }
83
84    include_once(PHPWG_ROOT_PATH.'include/block.class.php');
85
86    if (($mbCumulus = $menu->get_block('mbTags'))!==null) {
87      if (empty($mbCumulus->data)) {
88        return;
89      }
90      if ($this->plugin_config->position_order!=null 
91          && $this->plugin_config->position_block_id!=null) {
92        $related_block = $menu->get_block($this->plugin_config->position_block_id);
93        if ($this->plugin_config->position_order=='after') {
94          $mbCumulus->set_position($related_block->get_position()+1);
95        } else {
96          $mbCumulus->set_position($related_block->get_position()-1);
97        }
98      }
99
100      $template->assign('PWG_CUMULUS_SWF', PWG_CUMULUS_PLUGIN_SWF);
101      $template->assign('PWG_CUMULUS_IMGS', PWG_CUMULUS_PLUGIN_IMGS);
102     
103      $template->assign('PWG_CUMULUS_WIDTH', $this->plugin_config->pwg_cumulus_width);
104      $template->assign('PWG_CUMULUS_HEIGHT', $this->plugin_config->pwg_cumulus_height);
105      $template->assign('PWG_CUMULUS_MODE_TRANSPARENT', $this->plugin_config->pwg_cumulus_mode_transparent);
106      $template->assign('PWG_CUMULUS_BGCOLOR', $this->plugin_config->pwg_cumulus_bgcolor);
107      $template->assign('PWG_CUMULUS_COLOR1', '0x'.$this->plugin_config->pwg_cumulus_color1);
108      $template->assign('PWG_CUMULUS_COLOR2', '0x'.$this->plugin_config->pwg_cumulus_color2);
109      $template->assign('PWG_CUMULUS_HICOLOR', '0x'.$this->plugin_config->pwg_cumulus_hicolor);
110      foreach ($mbCumulus->data as &$tag) {
111        $tag['size'] = $this->plugin_config->pwg_cumulus_coeff * $tag['level'];
112        if (!empty($tag['U_ADD'])) {
113          $tag['URL'] = $tag['U_ADD'];
114        }
115      }
116      $template->assign('PWG_CUMULUS_TAGS', $mbCumulus->data);
117      $mbCumulus->template = PWG_CUMULUS_PLUGIN_TEMPLATE . '/menubar_tags.tpl';
118    }
119  }
120}
Note: See TracBrowser for help on using the repository browser.