source: extensions/Autosize/autosize.inc.php @ 10695

Last change on this file since 10695 was 10561, checked in by cljosse, 14 years ago

[extensions] autosize compatiblity with gmaps(Version 1.3.0a)

File size: 15.9 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based picture gallery                                  |
4// | Autosize                                                              |
5// +-----------------------------------------------------------------------+
6// | Copyright(C) 2010      cljosse                                        |
7// +-----------------------------------------------------------------------+
8// | This program is free software; you can redistribute it and/or modify  |
9// | it under the terms of the GNU General Public License as published by  |
10// | the Free Software Foundation                                          |
11// |                                                                       |
12// | This program is distributed in the hope that it will be useful, but   |
13// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
14// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
15// | General Public License for more details.                              |
16// |                                                                       |
17// | You should have received a copy of the GNU General Public License     |
18// | along with this program; if not, write to the Free Software           |
19// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
20// | USA.                                                                  |
21// +-----------------------------------------------------------------------+
22if (!defined('AUTOSIZE_PATH')) 
23define(
24  'AUTOSIZE_PATH',
25   PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'
26);
27if (!defined('ROOT_URL')) 
28define(  'ROOT_URL',  get_root_url().'/' );
29
30$AUTOSIZE_PATH_ABS=str_replace('\\','/',dirname(__FILE__) );
31if (!defined('AUTOSIZE_PATH_ABS')) 
32define(
33  'AUTOSIZE_PATH_ABS',   $AUTOSIZE_PATH_ABS."/"
34);
35
36
37class autosize_controler {
38 //============================================================
39 /*
40  *  cl_autosize_script_1
41 */
42 static public function cl_autosize_script_1()
43        {
44                global  $template,$user,$conf,$picture ,$page, $cl_plugin ;
45    if(isset($page['body_id']) &&       $page['body_id'] == 'theAdminPage' ) return ;
46    if ('kardon' == $user['theme'] and isset($_GET['slideshow'])) return ;
47     
48    $ma_page=isset($page['body_id'])?$page['body_id']:"" ;
49    if ($ma_page=='thePiwiShackControllerPage') return ;
50
51
52    if (PHPWG_VERSION < 2.2 ) 
53      $file =AUTOSIZE_PATH_ABS.'template/header_2_1.tpl' ;
54    else 
55      $file =AUTOSIZE_PATH_ABS.'template/header_2_2.tpl' ;
56    $template->set_filenames(array('autosize_init_header'=> $file ));
57    $template->set_filenames(array('autosize_init'=>AUTOSIZE_PATH_ABS. "template/conflit.tpl" ) );     
58
59    $DEBUG = isset($conf['cl_debug_conflit']) ? $conf['cl_debug_conflit'] : "false" ; 
60    $autosize_parametres =       cl_autosize_Get_Options() ;                   
61    $theme=$user['theme'];
62    $template->assign(
63      array(   
64        'autosize_parametres' => $autosize_parametres ,
65        'cl_plugins' => $cl_plugin ,
66        'cl_version' => $cl_plugin['version'] ,
67        'name' => $cl_plugin['name'] ,
68                                                                         
69        'theme' => $theme  ,
70        'DEBUG' => $DEBUG   ,
71        'AUTOSIZE_PATH' => str_replace("../","",AUTOSIZE_PATH)  ,
72        'AUTOSIZE_PATH_ABS' => AUTOSIZE_PATH_ABS,
73        'Version_pwg' => PHPWG_VERSION
74         )
75    );
76                $template->concat('cl_conflit_init', $template->parse('autosize_init_header', true));
77                return $template->parse( 'autosize_init', false);
78        }// function cl_autosize_script_1
79 //===========================================================
80 /*
81  * cl_autosize_script_2
82 */
83 static public function cl_autosize_script_2()
84 {
85           global  $template,$user,$conf,$picture ,$page, $cl_plugin,$known_script ;
86     if ('kardon' == $user['theme'] and isset($_GET['slideshow'])) return ;
87
88                        $my_path = dirname(__FILE__).'/';
89                        $DEBUG =  isset($conf['cl_debug_conflit']) ? $conf['cl_debug_conflit'] : "false"  ; 
90                        $ma_page=isset($page['body_id'])?$page['body_id']:"" ;
91                        $theme=$user['theme'];
92                        if ($ma_page=='thePiwiShackControllerPage') return ;
93                       
94                        $template->assign(
95                                        array(
96                                        'cl_version' => $cl_plugin['version'] ,
97                                        'name' => $cl_plugin['name'] ,
98                                        'ma_page' =>    $ma_page,
99                                       
100                                        'theme' => $theme  ,
101                                        'DEBUG' => $DEBUG   ,
102                                        'AUTOSIZE_PATH' => AUTOSIZE_PATH
103                                        )
104                                                );
105                                                 
106                        $autoscript="<script type='text/javascript'>
107                        /* cl_autosize_script_2 */
108                        if (typeof (save_framework) == 'function')
109                           save_framework('".$ma_page."');
110                        </script>";
111         
112            $autoscript .="<input id='ret_autosize'  type='hidden' value='' />";
113            $autoscript .="<input id='src_img_h'  type='hidden' value='' />";
114            $autoscript .="<input id='src_img_w'   type='hidden' value='' />";
115            $autoscript .="<input id='window_height'  type='hidden' value='' />";
116            $autoscript .="<input id='window_width'   type='hidden' value='' />";
117             $autoscript .='<div id="Debug6"  align=center style="display:none"></div>';
118                $template->append('footer_elements',$autoscript); 
119                return ; 
120 }// function cl_autosize_script_2
121
122        //================================================================
123        /*
124        * cl_autosize_admin
125        */
126        static public function cl_autosize_admin($menu)
127                {
128                global  $lang ;
129                array_push($menu, array('NAME' => 'Autosize',
130                'URL' => get_admin_plugin_menu_link(AUTOSIZE_PATH . 'admin/admin_autosize.php')));
131                return $menu;
132        } //function cl_autosize_admin
133
134    //===============================================================
135        /*
136        *
137        */     
138        static public function cl_autosize_affiche()
139        {
140                global $user, $picture, $template,$page,$known_script;
141                global $content, $element_info;   
142                global $infos_message,$erreur_message;
143                global  $conf,$lang ,$user,$userdata;
144    if ('kardon' == $user['theme'] and isset($_GET['slideshow'])) return ;
145                load_language('lang', AUTOSIZE_PATH);
146                $my_path = dirname(__FILE__).'/';
147                 if (isset( $page['body_id']) && $page['body_id']=='thePicturePage'  ) {
148                        if ( isset($picture['current'])){       
149                                $autosize_parametres = cl_autosize_Get_Options();
150                                include (AUTOSIZE_PATH."include/affiche.php"); 
151
152       if (PHPWG_VERSION < 2.2 ) 
153                $file =AUTOSIZE_PATH_ABS.'template/picture_2_1.tpl' ;
154        else 
155                $file =AUTOSIZE_PATH_ABS.'template/picture_2_2.tpl' ;
156
157
158
159        $template->set_filenames(array('autosize_content_header'=> $file )); 
160
161         
162       if (PHPWG_VERSION < 2.2 ) 
163                $file =AUTOSIZE_PATH_ABS.'template/header_2_1.tpl' ;
164        else 
165                $file =AUTOSIZE_PATH_ABS.'template/header_2_2.tpl' ;
166
167                $template->set_filenames(array('autosize_content_header2'=> $file )); 
168                $template->concat('autosize_content', $template->parse('autosize_content_header2', true));   
169                       
170        $template->set_filenames(array('autosize_init_header'=> $file ));
171                                       
172                                if($autosize_parametres->check_icon_v == 'on'){                         
173                                                $template->assign('cl_autosize_button', 
174                                                array(  'cl_autosize_info' => 'cl_autosize_info' ,
175                                                                'cl_autosize_info_2' => 'cl_autosize_info_2' ,   
176                                                                'URL' => $_SERVER['REQUEST_URI'] ,
177                                                                'ICON2' => AUTOSIZE_PATH . 'icons/button-maximize.png',
178                                                                'ICON' => AUTOSIZE_PATH . 'icons/button-minimize.png'
179                                                                )
180
181                                                        ); 
182                                        $template->set_filenames(array('cl_bp' => $my_path. 'template/picture.tpl'));
183                                        $template->concat('PLUGIN_PICTURE_ACTIONS', $template->parse('cl_bp', true));
184                                }
185                                 $template->set_filenames(
186                                                array('autosize_content'=> $my_path.'template/autosize.tpl')
187                                        );
188                        $template->concat('autosize_content', $template->parse('autosize_content_header', true));                                                                               
189                                return $template->parse( 'autosize_content', false);
190                                  }
191                }
192
193        } //public function cl_autosize_affiche
194        //===============================================================
195                /*
196        *
197        */
198        static public function cl_autosize_aff_infos_plus()
199                {
200                 global $template,$infos_message,$erreur_message, $user ;
201                 global  $conf,$lang ;
202       
203                 //==============================================================
204                  if (isset($erreur_message))
205                                {       
206                                if ($erreur_message <> "")
207                                        {
208                                                $erreur_message=str_replace("\n",'<br />',$erreur_message) ;
209                                                $template->assign('errors',$erreur_message);
210                                                $erreur_message="";
211                                        }
212                                }
213                  if (isset($infos_message))
214                                {       
215               
216                                if ($infos_message <> "")
217                                        {
218                                                $infos_message=str_replace("\n",'<br />',$infos_message) ;
219                                                $template->assign('infos',$infos_message);
220                                                $infos_message="";
221                                        }
222                                }
223                                //=============================================================
224                return;         
225               
226                } // function cl_autosize_aff_infos_plus
227        //===============================================================
228        /*
229         *
230        */
231        static public function cl_ajuste_data($content){
232                global  $template,$user,$conf,$picture ;
233                $my_path = realpath(AUTOSIZE_PATH .'/');
234                $userdata=$user;
235                $fields = array( 'maxwidth', 'maxheight' );
236         
237                $ThePicture = $template->get_template_vars('current'); 
238                $data = array();
239         return $content;
240
241                $data['maxwidth'] = '1200';
242                $data['maxheight'] ='250';
243                $data['user_id'] = $userdata['id'];
244                foreach ($fields as $field)
245                {
246                        if (isset($_POST[$field]))
247                        {
248                                $data[$field] = $_POST[$field];
249                        }
250                }
251       
252                if($data['maxwidth'] != "" )
253                        {
254                        $picture['current']['scaled_width']=$data['maxwidth'];
255                        $picture['current']['scaled_height']=$data['maxheight'];
256                        mass_updates(USER_INFOS_TABLE,
257                                        array('primary' => array('user_id'), 'update' => $fields),
258                                        array($data)); 
259                        }
260                 
261                        return $content;                                                                                 
262                 }
263
264} // class
265
266
267        /*
268        *
269        */
270 function cl_autosize_Get_Options()
271  {
272                global $conf,$autosize_parametres; 
273                $autosize_parametres =  unserialize($conf['cl_autosize']);
274                $autosize_parametres =  cl_autosize_Set_Options();
275                return $autosize_parametres;
276  }
277        /*
278        *
279        */
280function cl_autosize_Set_Options()
281  {
282
283  global $autosize_parametres;
284//=============================================================================
285$my_para=$autosize_parametres;
286
287$my_para->query =(isset($_POST['query'])) ? $_POST['query'] : ((isset($my_para->query )) ? $my_para->query : 'Qt' ) ;
288$my_para->type=(isset($_POST['type']))? $_POST['type']: ((isset($my_para->type)) ? $my_para->type:  'Ty') ;
289
290$my_para->webmaster_height =(isset($_POST['webmaster_height'])) ? $_POST['webmaster_height'] : ((isset($my_para->webmaster_height )) ? $my_para->webmaster_height : '100%' ) ;
291$my_para->webmaster_width=(isset($_POST['webmaster_width']))? $_POST['webmaster_width']: ((isset($my_para->webmaster_width)) ? $my_para->webmaster_width:  '100%') ;
292
293$my_para->admin_height =(isset($_POST['admin_height'])) ? $_POST['admin_height'] : ((isset($my_para->admin_height )) ? $my_para->admin_height : '100%' ) ;
294$my_para->admin_width=(isset($_POST['admin_width']))? $_POST['admin_width']: ((isset($my_para->admin_width)) ? $my_para->admin_width:  '100%') ;
295
296$my_para->generic_height =(isset($_POST['generic_height'])) ? $_POST['generic_height'] : ((isset($my_para->generic_height )) ? $my_para->generic_height : '100%' ) ;
297$my_para->generic_width=(isset($_POST['generic_width']))? $_POST['generic_width']: ((isset($my_para->generic_width)) ? $my_para->generic_width:  '100%') ;
298
299$my_para->guest_height =(isset($_POST['guest_height'])) ? $_POST['guest_height'] : ((isset($my_para->guest_height )) ? $my_para->guest_height : '100%' ) ;
300$my_para->guest_width=(isset($_POST['guest_width']))? $_POST['guest_width']: ((isset($my_para->guest_width)) ? $my_para->guest_width:  '100%') ;
301
302$my_para->normal_height =(isset($_POST['normal_height'])) ? $_POST['normal_height'] : ((isset($my_para->normal_height )) ? $my_para->normal_height : '100%' ) ;
303$my_para->normal_width=(isset($_POST['normal_width']))? $_POST['normal_width']: ((isset($my_para->normal_width)) ? $my_para->normal_width:  '100%') ;
304
305
306$my_para->mini_height =(isset($_POST['mini_height'])) ? $_POST['mini_height'] : ((isset($my_para->mini_height )) ? $my_para->mini_height : '150' ) ;
307$my_para->mini_width=(isset($_POST['mini_width']))? $_POST['mini_width']: ((isset($my_para->mini_width)) ? $my_para->mini_width:  '300') ;
308
309$my_para->mini_height2 =(isset($_POST['mini_height2'])) ? $_POST['mini_height2'] : ((isset($my_para->mini_height2 )) ? $my_para->mini_height2 : '150' ) ;
310$my_para->mini_width2=(isset($_POST['mini_width2']))? $_POST['mini_width2']: ((isset($my_para->mini_width2)) ? $my_para->mini_width2:  '300') ;
311
312$my_para->echelle_max=(isset($_POST['echelle_max']))? $_POST['echelle_max'] : ((isset($my_para->echelle_max)) ? $my_para->echelle_max :  '1.0'); 
313$my_para->marge_basse=(isset($_POST['marge_basse']))? $_POST['marge_basse']: ((isset($my_para->marge_basse)) ? $my_para->marge_basse :  '0');
314$my_para->fade_in=(isset($_POST['fade_in']))? $_POST['fade_in']: ((isset($my_para->fade_in)) ? $my_para->fade_in :  '0');
315
316//===============================================================================       
317
318if ( isset($_POST['submit'] ) && $_POST['submit'] == l10n('cl_autosize_save') )  { 
319                $my_para->check_desc_v = isset($_POST['check_desc_v']) ? $_POST['check_desc_v'] : "off" ;
320                $my_para->check_icon_v = isset($_POST['check_icon_v']) ? $_POST['check_icon_v'] : "off" ;
321                $my_para->check_auto_w = isset($_POST['check_auto_w']) ? $_POST['check_auto_w'] : "off" ;
322
323                $my_para->webmaster_enabled = isset($_POST['webmaster_enabled']) ? $_POST['webmaster_enabled'] : "off" ;
324                $my_para->admin_enabled = isset($_POST['admin_enabled']) ? $_POST['admin_enabled'] : "off" ;
325                $my_para->generic_enabled = isset($_POST['generic_enabled']) ? $_POST['generic_enabled'] : "off" ;
326                $my_para->guest_enabled = isset($_POST['guest_enabled']) ? $_POST['guest_enabled'] : "off" ;
327                $my_para->normal_enabled = isset($_POST['normal_enabled']) ? $_POST['normal_enabled'] : "off" ;
328
329         }else{
330                $my_para->check_desc_v = isset($_POST['check_desc_v']) ? $_POST['check_desc_v'] : ( ( isset($my_para->check_desc_v) ) ? $my_para->check_desc_v :   'off') ; 
331                $my_para->check_icon_v = isset($_POST['check_icon_v']) ? $_POST['check_icon_v'] : ( ( isset($my_para->check_icon_v) ) ? $my_para->check_icon_v :   'off') ; 
332                $my_para->check_auto_w = isset($_POST['check_auto_w']) ? $_POST['check_auto_w'] : ( ( isset($my_para->check_auto_w) ) ? $my_para->check_auto_w :   'off') ; 
333
334
335$my_para->webmaster_enabled = isset($_POST['webmaster_enabled']) ? $_POST['webmaster_enabled'] : ( ( isset($my_para->webmaster_enabled) ) ? $my_para->webmaster_enabled :   'on') ; 
336$my_para->admin_enabled  = isset($_POST['admin_enabled ']) ? $_POST['admin_enabled '] : ( ( isset($my_para->admin_enabled ) ) ? $my_para->admin_enabled :   'on') ; 
337$my_para->generic_enabled = isset($_POST['generic_enabled']) ? $_POST['generic_enabled'] : ( ( isset($my_para->generic_enabled) ) ? $my_para->generic_enabled :   'on') ; 
338$my_para->guest_enabled = isset($_POST['guest_enabled']) ? $_POST['guest_enabled'] : ( ( isset($my_para->guest_enabled) ) ? $my_para->guest_enabled :   'on') ;
339$my_para->normal_enabled = isset($_POST['normal_enabled']) ? $_POST['normal_enabled'] : ( ( isset($my_para->normal_enabled) ) ? $my_para->normal_enabled :   'on') ; 
340
341
342   }
343
344return $my_para;
345}
346        /*
347        *
348        */
349function cl_autosize_sauve_options_inf()
350{
351global $options,$infos_message,$conf,$autosize_parametres  ;
352$infos_message .=l10n("cl_autosize_save_config")."<br>";
353 $autosize_parametres=cl_autosize_Set_Options();
354
355 if ( isset($autosize_parametres) )
356        {
357 
358                $query = '
359                UPDATE '.CONFIG_TABLE.'
360                SET value="'.addslashes(serialize($autosize_parametres)).'"
361                WHERE param = "cl_autosize"
362                LIMIT 1';
363                        pwg_query($query);
364          }
365         
366 }
367
368 function auto_memo_var($variables)
369{
370  ob_start();
371  echo '<pre>';
372  print_r($variables);
373  echo '</pre>';
374  $m= ob_get_contents();
375  ob_end_clean();
376  return $m;           
377}
378   
379
380?>
Note: See TracBrowser for help on using the repository browser.