source: extensions/set_plugins/main.inc.php @ 11249

Last change on this file since 11249 was 11249, checked in by cljosse, 13 years ago

[extensions] set_plugins compatiblity with 2.3

File size: 4.4 KB
Line 
1<?php 
2/*
3Version: auto
4Plugin Name: set_plugins
5Plugin URI: http://piwigo.org/ext/extension_view.php?eid=550
6Author: cljosse
7Description: Active/déactive tous les plugins installés.
8*/
9
10// Chech whether we are indeed included by Piwigo.
11if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
12
13// Define the path to our plugin.
14define('SET_PLUGINS_PATH', PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
15load_language('plugin.lang', SET_PLUGINS_PATH);
16// Hook on to an event to show the administration page.
17
18add_event_handler('get_admin_plugin_menu_links', 'set_plugins_admin_menu');
19// Add an entry to the 'Plugins' menu.
20function set_plugins_admin_menu($menu) {
21  array_push(
22    $menu,
23    array(
24      'NAME'  => 'Set_plugins',
25      'URL'   => get_admin_plugin_menu_link(dirname(__FILE__)).'/admin.php'
26    )
27  );
28  return $menu;
29}
30
31add_event_handler('loc_end_page_header','set_plugins_add'); 
32function set_plugins_add() {
33  global $user, $template, $val,$page,$conf;
34  if (!isset($page['body_id'])) return;
35   if (!isset($page['body_id'])) return;
36
37 
38
39 
40  switch($page['body_id']){
41          case  'theAdminPage':     
42      switch($page['page']){
43                    case 'plugins_list':                     
44            if(!isset($template)) return ;     
45             Affiche_set_plugins();
46//============================================================
47                break;
48
49 case 'plugins':         
50 if (!isset($page['tab'])) return;
51 if ($page['tab']!="installed") return ; 
52  Affiche_set_plugins();
53
54        break;
55
56                                //==============================================================================
57                                } 
58                 
59                break;
60
61
62}
63
64       
65return false;
66 }
67
68 
69function Affiche_set_plugins(){
70  global $user, $template, $val,$page,$conf;
71    include_once(SET_PLUGINS_PATH."include/constants.php");       
72    include_once(SET_PLUGINS_PATH.'include/affiche.php');
73    $all_tpl_vars = $template->get_template_vars('plugins');
74 
75    if(!$all_tpl_vars)  return;     
76 
77$val_state="";
78
79if(  isset($_POST['unset_plugins']) || isset($_POST['set_plugins'])  ){
80 if(isset($_POST['unset_plugins'])  ) 
81                    $val_state='inactive';
82      elseif(isset($_POST['set_plugins'])  ) 
83        $val_state='active';
84      $nb=isset($_POST['nb'])?$_POST['nb']:$nb ;
85   
86    if($val_state!=""){ 
87    if($val_state=="activate")
88        $sens ="DESC";
89    else
90        $sens="ASC";
91
92    //==== pré-liste ===
93      $query = 'SELECT *
94                FROM ' . PLUGINS_TABLE . '
95           WHERE `state` NOT LIKE "'.$val_state. '" AND id!="' . "set_plugins" . '"
96            ORDER BY `id` '.$sens.'
97           LIMIT '.$nb.'
98      ';
99          $result = pwg_query($query);
100   
101
102 
103      $query = '
104      UPDATE '.PLUGINS_TABLE.'
105      SET state="'.$val_state.'"
106      WHERE `state` NOT LIKE "'.$val_state. '" AND id!="' . "set_plugins" . '"
107      ORDER BY `id`  '.$sens.'
108       LIMIT '.$nb.'
109      ;';
110
111       pwg_query($query);
112 
113    $data = array();
114    if($result)
115    while ($row = pwg_db_fetch_assoc($result))
116    {
117 
118     $url =  $row['id'] ;$vers= $row['version'];
119      array_push($data, array('plugin' => $url,'version'=>$vers) );
120    }
121     
122      unset ($_POST); 
123        $redirect_url = get_root_url().'admin.php?page='.$_GET['page'];
124         $config=array();
125             $config = array(
126                          'state' => $val_state,
127                          'list'=>$data,
128                          'nb' =>$nb
129                      );
130
131        conf_update_param('set_plugins', pwg_db_real_escape_string(serialize($config)));
132        redirect($redirect_url);
133    }
134}
135 
136
137               $template->set_filenames(
138                array(
139                  'plugin' => dirname(__FILE__).'/admin.tpl'
140                )         
141              );
142              $template->set_filenames(
143              array(    'cl_plugin' => dirname(__FILE__).'/admin.tpl'  )         
144              );
145
146 
147 //===========================================================
148 $header_1='<div class="titlePage">
149  <h2>'.l10n("set_plugins").l10n("Version").": ".$cl_set_plugins_plugin['version'] .'</h2>
150';
151
152              $bpplus=$header_1.$template->parse('cl_plugin', true);
153             
154              $template-> assign('ADMIN_CONTENT',$bpplus); 
155             
156              $bpplus=$template->parse('plugins', true);
157              $template-> concat('ADMIN_CONTENT',$bpplus); 
158
159
160}
161?>
Note: See TracBrowser for help on using the repository browser.