source: extensions/Random_Header/main.inc.php @ 7414

Last change on this file since 7414 was 7414, checked in by repie38, 13 years ago

fix error message for the new option (not in conf) while upgrade from 2.1.2
the new option will be ineffective until an update of conf

File size: 3.9 KB
Line 
1<?php
2/*
3Plugin Name: Random Header
4Version: 2.1.2
5Description: Random Header allow you to show in the header a random picture from the choosen categorie, as a normal image, or as a background
6Plugin URI: http://piwigo.org/ext/extension_view.php?eid=188
7Author: repie38
8Author URI:
9*/
10
11if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
12DEFINE('RH_VERSION','v2.1.2');
13define('RH_PATH' , PHPWG_PLUGINS_PATH . basename(dirname(__FILE__)) . '/');
14
15class RandomHeader
16{
17        var $rh_config;
18       
19        function load_config()
20    { 
21                global $conf;
22                $this->rh_config = unserialize($conf['Random_Header']);
23                foreach (get_pwg_themes() as $pwg_templateID => $pwg_template) {
24               
25                        if (empty($this->rh_config[$pwg_templateID]['selected_cat']))  {
26
27                                $this->rh_config[$pwg_templateID]['selected_cat'] = '0';
28                $this->rh_config[$pwg_templateID]['active_on_picture']='off';
29                                $this->rh_config[$pwg_templateID]['head_css']='';
30                                $this->rh_config[$pwg_templateID]['img_css']='';
31                                $this->rh_config[$pwg_templateID]['mode_background']='off';
32                                $this->rh_config[$pwg_templateID]['concat_before'] ='off' ;
33                                $this->rh_config[$pwg_templateID]['concat_after'] ='off' ;
34                                $this->rh_config[$pwg_templateID]['root_link'] ='off' ;
35
36                $this->save_config();
37                }
38                        if (!isset($this->rh_config[$pwg_templateID]['root_link'])) $this->rh_config[$pwg_templateID]['root_link']='off';
39
40                }
41        }
42       
43    function save_config()
44        {
45                $query = '
46                                        UPDATE '.CONFIG_TABLE.'
47                                        SET value = "'.addslashes(serialize($this->rh_config)).'"
48                                        WHERE param = "Random_Header"
49                                        ;';
50                pwg_query($query);
51               
52                load_conf_from_db();
53        }
54       
55        function plugin_admin_menu($menu)
56        {
57                array_push($menu,array(
58                                'NAME' => 'Random Header',
59                                'URL'  => get_admin_plugin_menu_link(dirname(__FILE__).'/admin/rh_admin.php')));
60                return $menu;
61        }
62       
63        function randombanner(){
64                global $page;
65                global $template;
66                global $conf;
67                global $user;
68               
69                $usertheme=$user['theme'] ;
70               
71                if (isset($this->rh_config[$usertheme])){
72                if ( !defined('IN_ADMIN') && isset($page['body_id']) && ($page['body_id']!='thePicturePage' || $this->rh_config[$usertheme]['active_on_picture']=='on') ) {
73
74                        $result = pwg_query('SELECT '.IMAGES_TABLE.'.path  FROM '.IMAGES_TABLE.' , '.IMAGE_CATEGORY_TABLE.' WHERE '.IMAGES_TABLE.'.`id` = '.IMAGE_CATEGORY_TABLE.'.`image_id` AND '.IMAGE_CATEGORY_TABLE.'.category_id = ' . $this->rh_config[$usertheme]['selected_cat'] . ' ORDER BY RAND() LIMIT 0,1');
75                        if (mysql_num_rows($result) > 0) {
76                                $toto = mysql_fetch_row($result);
77
78                                if ($this->rh_config[$usertheme]['mode_background']=='on') {
79                                        $template->append('head_elements','<style>#theHeader{background: url('.$toto[0].') no-repeat;'. $this->rh_config[$usertheme]['head_css'] .'}</style>');
80                                }
81                                else {
82                                        if ($this->rh_config[$usertheme]['img_css']!='' || $this->rh_config[$usertheme]['head_css']!='')
83                                                $template->append('head_elements','<style>#theHeader{'. $this->rh_config[$usertheme]['head_css'] .'}#theHeader #RandomImage{'. $this->rh_config[$usertheme]['img_css'] .'}</style>');
84                                        $page['page_banner'] = ($this->rh_config[$usertheme]['concat_before']=='on') ? $conf['page_banner'] : '';
85                                        $page['page_banner'].= ($this->rh_config[$usertheme]['root_link']=='on') ? '<a href="'.PHPWG_ROOT_PATH.'" title="'.l10n('Home').'">'    : '';
86                                        $page['page_banner'].= '<img id="RandomImage" src="'.$toto[0].'">';
87                                        $page['page_banner'].= ($this->rh_config[$usertheme]['root_link']=='on') ? '</a>'       : '';
88                                        $page['page_banner'].= ($this->rh_config[$usertheme]['concat_after']=='on') ? $conf['page_banner'] : '';
89                                }
90                        }
91                }}
92        }
93
94}
95
96$obj = new RandomHeader();
97$obj->load_config();
98add_event_handler('loc_begin_page_header', array(&$obj, 'randombanner') );
99add_event_handler('get_admin_plugin_menu_links', array(&$obj, 'plugin_admin_menu') );
100set_plugin_data($plugin['id'], $obj)
101
102
103?>
Note: See TracBrowser for help on using the repository browser.