Changeset 11093


Ignore:
Timestamp:
May 29, 2011, 4:04:36 PM (9 years ago)
Author:
cljosse
Message:

[extensions] set_plugins fix bugs on activate

Location:
extensions/set_plugins
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • extensions/set_plugins/admin.php

    r11072 r11093  
    55// Fetch the template.
    66global $template;
    7            $redirect_url = get_root_url().'admin.php?page='.'plugins_list';
    8              redirect($redirect_url);
     7
    98include_once(SET_PLUGINS_PATH."include/constants.php");           
    109include_once(SET_PLUGINS_PATH.'include/affiche.php');
     
    5958
    6059// Assign the template contents to ADMIN_CONTENT
    61 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin');
     60$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin');       
     61  //  $redirect_url = get_root_url().'admin.php?page='.'plugins_list';
     62    //         redirect($redirect_url);
    6263?>
  • extensions/set_plugins/include/affiche.php

    r11074 r11093  
    55if (isset($conf['set_plugins']))
    66$set_plugins_parametres =  unserialize($conf['set_plugins']);
     7
    78if(isset($set_plugins_parametres) && isset($set_plugins_parametres['nb']))
    89    $nb=$set_plugins_parametres['nb'];
     
    1415   $state =$set_plugins_parametres['state'];
    1516
     17 $state=isset($state)?$state:"active";
    1618
    1719$set=isset($_POST['set'])?$_POST['set']:"true";
  • extensions/set_plugins/main.inc.php

    r11074 r11093  
    1515load_language('plugin.lang', SET_PLUGINS_PATH);
    1616// Hook on to an event to show the administration page.
     17
    1718add_event_handler('get_admin_plugin_menu_links', 'set_plugins_admin_menu');
    18 
    1919// Add an entry to the 'Plugins' menu.
    2020function set_plugins_admin_menu($menu) {
     
    2929}
    3030
    31 add_event_handler('loc_after_page_header','set_plugins_add');
     31add_event_handler('loc_end_page_header','set_plugins_add');
    3232function set_plugins_add() {
    33   global $user, $template, $val,$page;
     33  global $user, $template, $val,$page,$conf;
    3434  if (!isset($page['body_id'])) return;
    3535
    3636  switch($page['body_id']){
    37           case  'theAdminPage':
    38    
     37          case  'theAdminPage':     
    3938      switch($page['page']){
    40                     case 'plugins_list':               
    41 
    42 include_once(SET_PLUGINS_PATH."include/constants.php");           
    43 include_once(SET_PLUGINS_PATH.'include/affiche.php');
    44 
    45 $val_state="";
    46 
    47 if(  isset($_POST['unset_plugins']) || isset($_POST['set_plugins'])  ){
    48  if(isset($_POST['unset_plugins'])  )
    49                     $val_state='inactive';
    50       elseif(isset($_POST['set_plugins'])  )
    51         $val_state='active';
    52       $nb=isset($_POST['nb'])?$_POST['nb']:$nb ;
    53    
    54     if($val_state!=""){ 
    55    
    56       $query = 'SELECT *
    57                 FROM ' . PLUGINS_TABLE . '
    58            WHERE `state` NOT LIKE "'.$val_state. '" AND id!="' . "set_plugins" . '"
    59            LIMIT '.$nb.'
    60       ';
    61           $result = pwg_query($query);
    62              
    63       $query = '
    64       UPDATE '.PLUGINS_TABLE.'
    65       SET state="'.$val_state.'"
    66       WHERE `state` NOT LIKE "'.$val_state. '" AND id!="' . "set_plugins" . '"
    67       LIMIT '.$nb.'
    68       ;';
    69 
    70        pwg_query($query);
    71 
    72     $data = array();
    73     if($result)
    74     while ($row = pwg_db_fetch_assoc($result))
    75     {
    76       $url =  $row['id'] ;$vers= $row['version'];
    77       array_push($data, array('plugin' => $url,'version'=>$vers) );
    78     }
    79 
    80       unset ($_POST);
    81         $redirect_url = get_root_url().'admin.php?page='.$_GET['page'];
    82          $config=array();
    83              $config = array(
    84                           'state' => $val_state,
    85                           'list'=>$data,
    86                           'nb' =>$nb
    87                       );
    88 
    89 conf_update_param('set_plugins', pwg_db_real_escape_string(serialize($config)));
    90 
    91         redirect($redirect_url);
    92     }
    93 }
    94                $template->set_filenames(
    95                 array(
    96                   'plugin' => dirname(__FILE__).'/admin.tpl'
    97                 )         
    98               );
    99               $template->set_filenames(
    100               array(    'cl_plugin' => dirname(__FILE__).'/admin.tpl'  )         
    101               );
    102 
    103  
    104               $bpplus=$template->parse('cl_plugin', true);
    105               $template-> assign('ADMIN_CONTENT',$bpplus);
    106               $bpplus=$template->parse('plugins', true);
    107               $template-> concat('ADMIN_CONTENT',$bpplus);
     39                    case 'plugins_list':                     
     40            if(!isset($template)) return ;     
     41             Affiche_set_plugins();
     42//============================================================
    10843                break;
    10944
     
    12257
    12358       
    124 return;
     59return false;
    12560 }
    12661
     62 
     63function Affiche_set_plugins(){
     64  global $user, $template, $val,$page,$conf;
     65    include_once(SET_PLUGINS_PATH."include/constants.php");       
     66    include_once(SET_PLUGINS_PATH.'include/affiche.php');
     67    $all_tpl_vars = $template->get_template_vars('plugins');
     68 
     69    if(!$all_tpl_vars)  return;     
     70 
     71$val_state="";
    12772
     73if(  isset($_POST['unset_plugins']) || isset($_POST['set_plugins'])  ){
     74 if(isset($_POST['unset_plugins'])  )
     75                    $val_state='inactive';
     76      elseif(isset($_POST['set_plugins'])  )
     77        $val_state='active';
     78      $nb=isset($_POST['nb'])?$_POST['nb']:$nb ;
     79   
     80    if($val_state!=""){ 
     81    if($val_state=="activate")
     82        $sens ="DESC";
     83    else
     84        $sens="ASC";
     85
     86    //==== pré-liste ===
     87      $query = 'SELECT *
     88                FROM ' . PLUGINS_TABLE . '
     89           WHERE `state` NOT LIKE "'.$val_state. '" AND id!="' . "set_plugins" . '"
     90            ORDER BY `id` '.$sens.'
     91           LIMIT '.$nb.'
     92      ';
     93          $result = pwg_query($query);
     94   
     95
     96 
     97      $query = '
     98      UPDATE '.PLUGINS_TABLE.'
     99      SET state="'.$val_state.'"
     100      WHERE `state` NOT LIKE "'.$val_state. '" AND id!="' . "set_plugins" . '"
     101      ORDER BY `id`  '.$sens.'
     102       LIMIT '.$nb.'
     103      ;';
     104
     105       pwg_query($query);
     106 
     107    $data = array();
     108    if($result)
     109    while ($row = pwg_db_fetch_assoc($result))
     110    {
     111 
     112     $url =  $row['id'] ;$vers= $row['version'];
     113      array_push($data, array('plugin' => $url,'version'=>$vers) );
     114    }
     115     
     116      unset ($_POST);
     117        $redirect_url = get_root_url().'admin.php?page='.$_GET['page'];
     118         $config=array();
     119             $config = array(
     120                          'state' => $val_state,
     121                          'list'=>$data,
     122                          'nb' =>$nb
     123                      );
     124
     125        conf_update_param('set_plugins', pwg_db_real_escape_string(serialize($config)));
     126        redirect($redirect_url);
     127    }
     128}
     129 
     130
     131               $template->set_filenames(
     132                array(
     133                  'plugin' => dirname(__FILE__).'/admin.tpl'
     134                )         
     135              );
     136              $template->set_filenames(
     137              array(    'cl_plugin' => dirname(__FILE__).'/admin.tpl'  )         
     138              );
     139
     140 
     141 //===========================================================
     142              $bpplus=$template->parse('cl_plugin', true);
     143              $template-> assign('ADMIN_CONTENT',$bpplus);
     144             
     145              $bpplus=$template->parse('plugins', true);
     146              $template-> concat('ADMIN_CONTENT',$bpplus);
     147
     148}
    128149?>
  • extensions/set_plugins/maintain.inc.php

    r11072 r11093  
    1 function plugin_install()
    2 {
    3  global $conf;
     1<?php
     2// +-----------------------------------------------------------------------+
     3// | Piwigo - a PHP based picture gallery                                  |
     4// +-----------------------------------------------------------------------+
     5// | Copyright(C) 2008-2009 Piwigo Team                  http://piwigo.org |
     6// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
     7// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
     8// +-----------------------------------------------------------------------+
     9// | This program is free software; you can redistribute it and/or modify  |
     10// | it under the terms of the GNU General Public License as published by  |
     11// | the Free Software Foundation                                          |
     12// |                                                                       |
     13// | This program is distributed in the hope that it will be useful, but   |
     14// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
     15// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
     16// | General Public License for more details.                              |
     17// |                                                                       |
     18// | You should have received a copy of the GNU General Public License     |
     19// | along with this program; if not, write to the Free Software           |
     20// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
     21// | USA.                                                                  |
     22// +-----------------------------------------------------------------------+
     23if  (!defined('PHPWG_ROOT_PATH')) {  die('Hacking attempt!');}
     24if (!defined('SET_PLUGINS_PATH')) define('SET_PLUGINS_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
    425
    5   if (!isset($conf['set_plugins']))
    6   {
    7    
    8   $q = '
    9     INSERT INTO '.CONFIG_TABLE.' (param, value, comment)
    10     VALUES ("set_plugins","","set_plugins")
    11   ;';
    12   pwg_query($q);
     26
     27function plugin_install(){
     28  global $conf ;
     29
     30   if ( !isset($conf['set_plugins']) ){
     31    plugin_uninstall() ;
     32       $my_para['nb']="5";
     33    $my_para['list']=array();
     34    $my_para['state']="---";
     35 
     36    $set_plugins_values=  pwg_db_real_escape_string(serialize($my_para));
     37 //   conf_update_param('set_plugins', pwg_db_real_escape_string(serialize($config)));
     38
     39    $query = 'INSERT INTO '.CONFIG_TABLE.' (param, value, comment)
     40    VALUES ("set_plugins", "'.$set_plugins_values.'" ,"Parametres du plugin set_plugins");';
     41    pwg_query($query);
    1342  }
    14  
     43}
     44function plugin_uninstall(){
     45    $query = '
     46      DELETE FROM '.CONFIG_TABLE.'
     47      WHERE param="set_plugins"
     48    ;';
     49    pwg_query($query);
     50
     51}
     52
     53function plugin_activate(){
    1554 
    1655}
    1756
     57function plugin_deactivate(){
    1858
    19 
    20 function plugin_uninstall()
    21 {
    22   global $conf;
    23   if (isset($conf['set_plugins']))
    24   {
    25     $q = '
    26       DELETE FROM '.CONFIG_TABLE.'
    27       WHERE param="set_plugins"
    28     ;';
    29     pwg_query($q);
    30     }
    31         // $query = 'DROP TABLE IF EXISTS  '.set_plugins_TABLE.';';
    32   //  pwg_query( $query);
    33  }
    34 
    35 
    36 function plugin_activate() {
    37 // Put anything here that should be executed during activation.
    3859}
    3960
     61?>
Note: See TracChangeset for help on using the changeset viewer.