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

Last change on this file since 14974 was 12652, checked in by cljosse, 12 years ago

[extensions] Autosize fix bug with cmd restore

File size: 20.5 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// +-----------------------------------------------------------------------+
22class autosize_controler {
23 //============================================================
24 /*
25  *  cl_autosize_script_1
26 */
27 static public function cl_autosize_script_1()
28        {
29                global  $template,$user,$conf,$picture ,$page, $cl_plugin ;
30 
31 // header ('X-UA-Compatible: n=7')  ;
32 // header ('X-UA-Compatible: IE=Edge')  ;
33  if(isset($page['body_id']) && $page['body_id'] == 'theAdminPage' ) return ;
34
35    if ('kardon' == $user['theme'] and isset($_GET['slideshow'])) return ;
36     
37    $ma_page=isset($page['body_id'])?$page['body_id']:"" ;
38    if ($ma_page=='thePiwiShackControllerPage') return ;
39
40
41    if (PHPWG_VERSION < 2.2 ) 
42      $file =AUTOSIZE_PATH_ABS.'template/header_2_1.tpl' ;
43    else 
44      $file =AUTOSIZE_PATH_ABS.'template/header_2_2.tpl' ;
45    $template->set_filenames(array('autosize_init_header'=> $file ));
46    $template->set_filenames(array('autosize_init'=>AUTOSIZE_PATH_ABS. "template/conflit.tpl" ) );
47//=================================================================================================
48$DEBUG_autosize = isset($_POST['cl_debug_conflit']) ? $_POST['cl_debug_conflit'] : "false" ;
49$DEBUG_autosize = isset($_GET['cl_debug_conflit']) ? $_GET['cl_debug_conflit'] : $DEBUG_autosize ;
50$DEBUG_autosize = isset($conf['cl_debug_conflit']) ? $conf['cl_debug_conflit'] : $DEBUG_autosize ; 
51//=================================================================================================
52    $autosize_parametres =       cl_autosize_Get_Options() ;                   
53    $theme=$user['theme'];
54    $template->assign(
55      array(   
56        'autosize_parametres' => $autosize_parametres ,
57        'cl_plugins' => $cl_plugin ,
58        'cl_version' => $cl_plugin['version'] ,
59        'name' => $cl_plugin['name'] ,
60        'pamoorama' =>  isset($PAMOORAMICS_PATH)?"true":"false",                                                                 
61        'theme' => $theme  ,
62        'DEBUG_autosize' =>  $DEBUG_autosize ,
63        'AUTOSIZE_PATH' => str_replace("../","",AUTOSIZE_PATH)  ,
64        'AUTOSIZE_PATH_ABS' => AUTOSIZE_PATH_ABS,
65        'Version_pwg' => PHPWG_VERSION       
66         )
67    );
68                $template->concat('cl_conflit_init', $template->parse('autosize_init_header', true));
69                return $template->parse( 'autosize_init', false);
70        }// function cl_autosize_script_1
71 //===========================================================
72 /*
73  * cl_autosize_script_2()
74 */
75 static public function cl_autosize_script_2()
76 {
77           global  $template,$user,$conf,$picture ,$page, $cl_plugin,$known_script ;
78   if ('kardon' == $user['theme'] and isset($_GET['slideshow'])) return ;
79
80                        $AUTOSIZE_PATH = dirname(__FILE__).'/';
81//=================================================================================================
82$DEBUG_autosize = isset($_POST['cl_debug_conflit']) ? $_POST['cl_debug_conflit'] : "false" ;
83$DEBUG_autosize = isset($_GET['cl_debug_conflit']) ? $_GET['cl_debug_conflit'] : $DEBUG_autosize ;
84$DEBUG_autosize = isset($conf['cl_debug_conflit']) ? $conf['cl_debug_conflit'] : $DEBUG_autosize ; 
85//=================================================================================================
86
87
88                        $ma_page=isset($page['body_id'])?$page['body_id']:"" ;
89                        $theme=$user['theme'];
90                        if ($ma_page=='thePiwiShackControllerPage') return ;
91
92
93$img_width=isset($picture['current']['width'])?$picture['current']['width']:480;
94$img_height=isset($picture['current']['height'])?$picture['current']['height']:320;
95
96$img_scaled_width=isset($picture['current']['scaled_width'])?$picture['current']['scaled_width']:480;
97$img_scaled_height=isset($picture['current']['scaled_height'])?$picture['current']['scaled_height']:320;
98
99
100
101
102$src_img_h=isset($_POST['src_img_h'])?$_POST['src_img_h']: $img_width               ;
103$src_img_w= isset($_POST['src_img_w'])?$_POST['src_img_w']:$img_height              ;
104if(isset($_COOKIE['img_w'])){
105$src_img_w=$_COOKIE['img_w'];
106$src_img_h=$_COOKIE['img_h'];
107}
108
109$window_height= isset($_POST['window_height'])?$_POST['window_height']: $img_scaled_height ;
110$window_width= isset($_POST['window_width'])?$_POST['window_width']: $img_scaled_width    ;
111
112
113$size=array(
114            'src_img_h' => $src_img_h,
115            'src_img_w' => $src_img_w,
116            'window_height' =>$window_height,
117            'window_width' => $window_width
118
119          );
120
121                        $template->assign(
122                                        array(
123                                        'cl_version' => $cl_plugin['version'] ,
124                                        'name' => $cl_plugin['name'] ,
125                                        'ma_page' =>    $ma_page,
126                                       
127                                        'theme' => $theme  ,
128                                        'DEBUG_autosize' => $DEBUG_autosize   ,
129                                        'AUTOSIZE_PATH' => AUTOSIZE_PATH,
130          'Size' => $size
131
132                                        )
133                                                );
134
135                        $autoscript="<script type='text/javascript'>
136                        /* cl_autosize_script_2 */
137                        if (typeof (save_framework) == 'function')
138                           save_framework('".$ma_page."');     
139                        </script>";
140         
141
142                $template->append('footer_elements',$autoscript); 
143                return ; 
144 }// function cl_autosize_script_2
145
146        //================================================================
147        /*
148        * cl_autosize_admin
149        */
150        static public function cl_autosize_admin($menu)
151                {
152                global  $lang ;
153                array_push($menu, array('NAME' => 'Autosize',
154                'URL' => get_admin_plugin_menu_link(AUTOSIZE_PATH . 'admin/admin_autosize.php')));
155                return $menu;
156        } //function cl_autosize_admin
157
158    //===============================================================
159        /*
160        *
161        */     
162        static public function cl_autosize_affiche()
163        {
164                global $user, $picture, $template,$page,$known_script;
165                global $content, $element_info;   
166                global $infos_message,$erreur_message;
167                global  $conf,$lang ,$user,$userdata;
168 if ('kardon' == $user['theme'] and isset($_GET['slideshow'])) return ;
169                load_language('plugin.lang', AUTOSIZE_PATH);
170                $AUTOSIZE_PATH = dirname(__FILE__).'/';
171                 if (isset( $page['body_id']) && $page['body_id']=='thePicturePage'  ) {
172                        if ( isset($picture['current'])){       
173                                $autosize_parametres = cl_autosize_Get_Options();
174                                include (AUTOSIZE_PATH."include/affiche.php"); 
175
176       if (PHPWG_VERSION < 2.2 ) 
177                $file =AUTOSIZE_PATH_ABS.'template/picture_2_1.tpl' ;
178        else 
179                $file =AUTOSIZE_PATH_ABS.'template/picture_2_2.tpl' ;
180
181
182
183        $template->set_filenames(array('autosize_content_header'=> $file )); 
184        $template->concat('autosize_content', $template->parse('autosize_content_header', true));   
185                       
186        $template->set_filenames(array('autosize_init_header'=> $file ));
187                                       
188                                if($autosize_parametres->check_icon_v == 'on'){                         
189                                                $template->assign('cl_autosize_button', 
190                                                array(  'cl_autosize_info' => 'cl_autosize_info' ,
191            'cl_autosize_info_1' => 'cl_autosize_info_' , 
192                                                                    'cl_autosize_info_2' => 'cl_autosize_info_2' ,   
193                                                                    'URL' => $_SERVER['REQUEST_URI'] ,
194                                                                    'ICON2' => AUTOSIZE_PATH . 'icons/button-maximize.png',
195                                                                    'ICON' => AUTOSIZE_PATH . 'icons/button-minimize.png'
196                                                                )
197
198                                                        ); 
199                                        $template->set_filenames(array('cl_bp' => $AUTOSIZE_PATH. 'template/picture.tpl'));
200                                        $template->concat('PLUGIN_PICTURE_ACTIONS', $template->parse('cl_bp', true));
201                                }
202                                 $template->set_filenames(
203                                                array('autosize_content'=> $AUTOSIZE_PATH.'template/autosize.tpl')
204                                        );
205                        $template->concat('autosize_content', $template->parse('autosize_content_header', true));               
206      if(isset($conf['go_up_down']) && ($conf['go_up_down']==true) ){
207        $template->set_filenames(array('mes_script' => realpath(AUTOSIZE_PATH).'/template/mes_scripts.tpl') );
208        $template->func_combine_script(array('id'=>'my_script_2',
209        'path'=> AUTOSIZE_PATH.'/js/JScript.js',
210        'require' => 'jquery'),
211        $template->smarty);
212        $template->assign(array( 
213                          'MY_FOOTER_PATH' =>AUTOSIZE_PATH
214                          ));
215                                       
216        $template->parse('mes_script');
217      }     
218       
219       
220       
221        return $template->parse( 'autosize_content', false);
222                                  }
223                }
224
225        } //public function cl_autosize_affiche
226        //===============================================================
227                /*
228        *
229        */
230        static public function cl_autosize_aff_infos_plus()
231                {
232                 global $template,$infos_message,$erreur_message, $user ;
233                 global  $conf,$lang ;
234       
235                 //==============================================================
236                  if (isset($erreur_message))
237                                {       
238                                if ($erreur_message <> "")
239                                        {
240                                                $erreur_message=str_replace("\n",'<br />',$erreur_message) ;
241                                                $template->assign('errors',$erreur_message);
242                                                $erreur_message="";
243                                        }
244                                }
245                  if (isset($infos_message))
246                                {       
247               
248                                if ($infos_message <> "")
249                                        {
250                                                $infos_message=str_replace("\n",'<br />',$infos_message) ;
251                                                $template->assign('infos',$infos_message);
252                                                $infos_message="";
253                                        }
254                                }
255                                //=============================================================
256                return;         
257               
258                } // function cl_autosize_aff_infos_plus
259        //===============================================================
260        /*
261         *
262        */
263        static public function cl_ajuste_data($content){
264                global  $template,$user,$conf,$picture ;
265      global $size;
266                $AUTOSIZE_PATH = realpath(AUTOSIZE_PATH .'/');
267                $userdata=$user;
268                $fields = array( 'maxwidth', 'maxheight' );
269         
270                $ThePicture = $template->get_template_vars('current'); 
271                $data = array();
272         return $content;
273
274                $data['maxwidth'] = $size['src_img_w'];
275                $data['maxheight'] =$size['src_img_h'];
276                $data['user_id'] = $userdata['id'];
277                foreach ($fields as $field)
278                {
279                        if (isset($_POST[$field]))
280                        {
281                                $data[$field] = $_POST[$field];
282                        }
283                }
284       
285                if($data['maxwidth'] != "" )
286                        {
287                        $picture['current']['scaled_width']=$data['maxwidth'];
288                        $picture['current']['scaled_height']=$data['maxheight'];
289                        mass_updates(USER_INFOS_TABLE,
290                                        array('primary' => array('user_id'), 'update' => $fields),
291                                        array($data)); 
292                        }
293                 
294                        return $content;                                                                                 
295                 }
296
297
298/****************************************
299*
300****************************************/
301function Get_Options(&$parametres,$str_index){
302    global $conf ;
303    $m_options=  $conf[$str_index];
304     if(isset($m_options))
305       if ( preg_match("|s:(.*)|", $m_options, $val) )
306        $parametres =  unserialize($conf[$str_index]);
307       else{
308         $parametres=explode(",",$_options);
309        }     
310        //====== par defaut =======================
311         $new_val=false;
312         $def_para=Array();
313
314    $def_para['query'] = 'Qt'  ;
315    $def_para['type'] = 'Ty' ;
316    $def_para['webmaster_height'] = '100%' ;
317    $def_para['webmaster_width'] = '100%' ;
318    $def_para['admin_height'] = '100%'  ;
319    $def_para['admin_width'] =  '100%' ;
320    $def_para['generic_height'] = '100%'  ;
321    $def_para['generic_width'] =  '100%' ;
322
323    $def_para['guest_height'] = '100%'  ;
324    $def_para['guest_width'] =  '100%' ;
325
326    $def_para['normal_height']  =  '100%'  ;
327    $def_para['normal_width'] =  '100%' ;
328
329
330    $def_para['mini_height'] =  '150' ;
331    $def_para['mini_width'] = '300' ;
332
333    $def_para['mini_height2'] =  '150' ;
334    $def_para['mini_width2'] =   '300' ;
335
336    $def_para['echelle_max'] =  '1.0'; 
337    $def_para['marge_basse'] =  '0';
338    $def_para['fade_in'] =   '0';
339    //==================================================
340    $def_para['check_desc_v'] =  "off" ;
341    $def_para['check_icon_v'] =  "off" ;
342    $def_para['check_auto_w'] =   "off" ;
343    $def_para['webmaster_enabled'] =   "off" ;
344    $def_para['admin_enabled'] =   "off" ;
345    $def_para['generic_enabled'] =   "off" ;
346    $def_para['guest_enabled'] =   "off" ;
347    $def_para['normal_enabled'] =   "off" ;
348    //===================================================
349   $para=$def_para;   
350    foreach ($para as $key => $value) {   
351      if( isset($parametres->$key) ){
352         $value=$parametres->$key;         
353      } 
354    if($def_para[$key] =="on" ||$def_para[$key] =="off" ){
355       $val_pg=(isset($_POST[$key]))? ($_POST[$key]=="off"||$_POST[$key]=="on")?$_POST[$key]:"on" : "off" ;
356       $value =(isset($_POST[$key]))? $val_pg : $value ; 
357       $val_pg=(isset($_GET[$key]))? ($_GET[$key]=="off"||$_GET[$key]=="on")?$_GET[$key]:"on" : "off" ;
358       $value =(isset($_GET[$key]))? $val_pg  : $value ; 
359     }else{
360        $value =(isset($_POST[$key]))? $_POST[$key] : $value ; 
361        $value =(isset($_GET[$key]))? $_GET[$key] : $value ; 
362      }
363        unset( $parametres->$key) ;
364        $parametres->$key = $value ;           
365     }   
366    return $parametres ;
367  }
368} // class
369
370/*************************************
371        *
372 *************************************/
373 function cl_autosize_Get_Options()
374  {
375                global $conf,$autosize_parametres; 
376    $autosize_parametres ="";
377 
378 if (!isset($conf['cl_autosize']))  {   
379  $conf['cl_autosize']="";
380  $q = '
381   INSERT INTO '.CONFIG_TABLE.' (param, value, comment)
382   VALUES ("cl_autosize","","Parametres du plugin Autosize")
383  ;';
384  pwg_query($q);
385  }
386 
387 
388
389                $autosize_parametres =  unserialize($conf['cl_autosize']);
390      // $autosize_parametres = autosize_controler::Get_Options($autosize_parametres,'cl_autosize');
391                $autosize_parametres =  cl_autosize_Set_Options();
392                return $autosize_parametres;
393  }
394        /*
395        *
396        */
397function cl_autosize_Set_Options() {
398  global $autosize_parametres;
399//=============================================================================
400$my_para=$autosize_parametres;
401
402
403$my_para->query =(isset($_POST['query'])) ? $_POST['query'] : ((isset($my_para->query )) ? $my_para->query : 'Qt' ) ;
404$my_para->type=(isset($_POST['type']))? $_POST['type']: ((isset($my_para->type)) ? $my_para->type:  'Ty') ;
405
406$my_para->webmaster_height =(isset($_POST['webmaster_height'])) ? $_POST['webmaster_height'] : ((isset($my_para->webmaster_height )) ? $my_para->webmaster_height : '100%' ) ;
407$my_para->webmaster_width=(isset($_POST['webmaster_width']))? $_POST['webmaster_width']: ((isset($my_para->webmaster_width)) ? $my_para->webmaster_width:  '100%') ;
408
409$my_para->admin_height =(isset($_POST['admin_height'])) ? $_POST['admin_height'] : ((isset($my_para->admin_height )) ? $my_para->admin_height : '100%' ) ;
410$my_para->admin_width=(isset($_POST['admin_width']))? $_POST['admin_width']: ((isset($my_para->admin_width)) ? $my_para->admin_width:  '100%') ;
411
412$my_para->generic_height =(isset($_POST['generic_height'])) ? $_POST['generic_height'] : ((isset($my_para->generic_height )) ? $my_para->generic_height : '100%' ) ;
413$my_para->generic_width=(isset($_POST['generic_width']))? $_POST['generic_width']: ((isset($my_para->generic_width)) ? $my_para->generic_width:  '100%') ;
414
415$my_para->guest_height =(isset($_POST['guest_height'])) ? $_POST['guest_height'] : ((isset($my_para->guest_height )) ? $my_para->guest_height : '100%' ) ;
416$my_para->guest_width=(isset($_POST['guest_width']))? $_POST['guest_width']: ((isset($my_para->guest_width)) ? $my_para->guest_width:  '100%') ;
417
418$my_para->normal_height =(isset($_POST['normal_height'])) ? $_POST['normal_height'] : ((isset($my_para->normal_height )) ? $my_para->normal_height : '100%' ) ;
419$my_para->normal_width=(isset($_POST['normal_width']))? $_POST['normal_width']: ((isset($my_para->normal_width)) ? $my_para->normal_width:  '100%') ;
420
421
422$my_para->mini_height =(isset($_POST['mini_height'])) ? $_POST['mini_height'] : ((isset($my_para->mini_height )) ? $my_para->mini_height : '150' ) ;
423$my_para->mini_width=(isset($_POST['mini_width']))? $_POST['mini_width']: ((isset($my_para->mini_width)) ? $my_para->mini_width:  '300') ;
424
425$my_para->mini_height2 =(isset($_POST['mini_height2'])) ? $_POST['mini_height2'] : ((isset($my_para->mini_height2 )) ? $my_para->mini_height2 : '150' ) ;
426$my_para->mini_width2=(isset($_POST['mini_width2']))? $_POST['mini_width2']: ((isset($my_para->mini_width2)) ? $my_para->mini_width2:  '300') ;
427
428$my_para->echelle_max=(isset($_POST['echelle_max']))? $_POST['echelle_max'] : ((isset($my_para->echelle_max)) ? $my_para->echelle_max :  '1.0'); 
429$my_para->marge_basse=(isset($_POST['marge_basse']))? $_POST['marge_basse']: ((isset($my_para->marge_basse)) ? $my_para->marge_basse :  '0');
430$my_para->fade_in=(isset($_POST['fade_in']))? $_POST['fade_in']: ((isset($my_para->fade_in)) ? $my_para->fade_in :  '0');
431
432//===============================================================================       
433
434if ( isset($_POST['submit'] ) && $_POST['submit'] == l10n('cl_autosize_save') )  { 
435                $my_para->check_desc_v = isset($_POST['check_desc_v']) ? $_POST['check_desc_v'] : "off" ;
436                $my_para->check_icon_v = isset($_POST['check_icon_v']) ? $_POST['check_icon_v'] : "off" ;
437                $my_para->check_auto_w = isset($_POST['check_auto_w']) ? $_POST['check_auto_w'] : "off" ;
438
439                $my_para->webmaster_enabled = isset($_POST['webmaster_enabled']) ? $_POST['webmaster_enabled'] : "off" ;
440                $my_para->admin_enabled = isset($_POST['admin_enabled']) ? $_POST['admin_enabled'] : "off" ;
441                $my_para->generic_enabled = isset($_POST['generic_enabled']) ? $_POST['generic_enabled'] : "off" ;
442                $my_para->guest_enabled = isset($_POST['guest_enabled']) ? $_POST['guest_enabled'] : "off" ;
443                $my_para->normal_enabled = isset($_POST['normal_enabled']) ? $_POST['normal_enabled'] : "off" ;
444
445         }else{
446                $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') ; 
447                $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') ; 
448                $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') ; 
449
450
451$my_para->webmaster_enabled = isset($_POST['webmaster_enabled']) ? $_POST['webmaster_enabled'] : ( ( isset($my_para->webmaster_enabled) ) ? $my_para->webmaster_enabled :   'on') ; 
452$my_para->admin_enabled  = isset($_POST['admin_enabled ']) ? $_POST['admin_enabled '] : ( ( isset($my_para->admin_enabled ) ) ? $my_para->admin_enabled :   'on') ; 
453$my_para->generic_enabled = isset($_POST['generic_enabled']) ? $_POST['generic_enabled'] : ( ( isset($my_para->generic_enabled) ) ? $my_para->generic_enabled :   'on') ; 
454$my_para->guest_enabled = isset($_POST['guest_enabled']) ? $_POST['guest_enabled'] : ( ( isset($my_para->guest_enabled) ) ? $my_para->guest_enabled :   'on') ;
455$my_para->normal_enabled = isset($_POST['normal_enabled']) ? $_POST['normal_enabled'] : ( ( isset($my_para->normal_enabled) ) ? $my_para->normal_enabled :   'on') ; 
456
457
458   }
459
460return $my_para;
461}
462        /*
463        *
464        */
465function cl_autosize_sauve_options_inf()
466{
467global $options,$infos_message,$conf,$autosize_parametres  ;
468$infos_message .=l10n("cl_autosize_save_config")."<br>";
469 $autosize_parametres=cl_autosize_Set_Options();
470 if ( isset($autosize_parametres) )     { 
471                $query = '
472                UPDATE '.CONFIG_TABLE.'
473                SET value="'.addslashes(serialize($autosize_parametres)).'"
474                WHERE param = "cl_autosize"
475                LIMIT 1';
476                        pwg_query($query);
477          }
478         
479 }
480
481 function auto_memo_var($variables)
482{
483  ob_start();
484  echo '<pre>';
485  print_r($variables);
486  echo '</pre>';
487  $m= ob_get_contents();
488  ob_end_clean();
489  return $m;           
490}
491   
492
493?>
Note: See TracBrowser for help on using the repository browser.