source: extensions/set_plugins/include/affiche.php @ 11276

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

[extensions] set_plugins Storing the state of the fields

File size: 5.4 KB
Line 
1<?php 
2//=================================================================================================
3global $conf ; 
4global $list_visible, $val_state,$liste_plugins,$nb,$infos_message,$erreur_message,$page;
5
6if (isset($conf['set_plugins']))
7$set_plugins_parametres =  unserialize($conf['set_plugins']);
8
9$nb="10";
10if(isset($set_plugins_parametres) && isset($set_plugins_parametres['nb']))
11    $nb=$set_plugins_parametres['nb'];
12    $nb=isset($_POST['nb'])?$_POST['nb']:$nb ;   
13
14    $liste=array();
15  if(isset($set_plugins_parametres['list']))
16    $liste=$set_plugins_parametres['list'];
17    $liste=isset($_POST['liste'])?$_POST['liste']:$liste ;   
18
19  $state="active";
20  if(isset($set_plugins_parametres['state']))
21   $state =$set_plugins_parametres['state'];
22   $state=isset($_POST['state'])?$_POST['state']:$state ;   
23
24   $list_visible="on,on,on,on";
25     if(isset($set_plugins_parametres['list_visible']))
26      $list_visible =$set_plugins_parametres['list_visible'];
27      $list_visible=(isset($_POST['list_visible']))?$_POST['list_visible']:$list_visible ;
28
29  $set=isset($_POST['set'])?$_POST['set']:"true";
30
31   $liste_plugins=$set=isset($_POST['liste_plugins'])?$_POST['liste_plugins']:$liste;
32
33
34
35 
36
37 if (isset($_POST['set']) || isset($_POST['list_visible']) || isset($_POST['nb'])){
38    save_config();
39 }
40  $template->assign( array( 
41                    'nb' => $nb,
42                    'state' => $state ,
43                    'set' => $set,                     
44                    'cl_plugins' => $cl_set_plugins_plugin ,
45                    'cl_version' => $cl_set_plugins_plugin['version'] ,
46                    'name' => $cl_set_plugins_plugin['name'] ,
47                    'Version_pwg' => PHPWG_VERSION,
48                    'SET_PLUGINS_PATH' => SET_PLUGINS_PATH,
49                    'list_visible' => $list_visible
50                                                                                        )
51                                                                        );               
52                 
53            $plugins = new plugins();
54            $plugins->sort_fs_plugins('name');
55            $plugins->get_merged_extensions();
56            $plugins->get_incompatible_plugins();
57            $merged_plugins = false;
58
59            $redirect_url = get_root_url().'admin.php?page='.$_GET['page'];
60            $base_url = get_root_url().'admin.php?page='.$page['page'];
61            $action_url = $base_url.'&amp;plugin='.'%s'.'&amp;pwg_token='.get_pwg_token();
62 //=======================================================
63$liste_plugins = array();
64
65foreach($liste as $liste_id => $liste_plugin) {
66    $liste_plugins[]=   $liste_plugin['plugin'] ;
67}
68
69//==========================================================
70$liste_tpl=array();
71
72foreach($plugins->fs_plugins as $plugin_id => $fs_plugin) {   
73//==== test si $plugin_id fait partie de $liste_plugins ============== 
74    $key = array_search($plugin_id, $liste_plugins,false); 
75
76    if ($key!== false){
77    $key = array_search($plugin_id, $liste_plugins); 
78
79      $tpl_plugin = array(
80        'NAME' => $fs_plugin['name'],
81        'VISIT_URL' => $fs_plugin['uri'],
82        'VERSION' => $fs_plugin['version'],
83        'DESC' => $fs_plugin['description'],
84        'AUTHOR' => $fs_plugin['author'],
85        'AUTHOR_URL' => @$fs_plugin['author uri'],
86        'U_ACTION' => sprintf($action_url, $plugin_id),
87        'INCOMPATIBLE' => isset($_SESSION['incompatible_plugins'][$plugin_id]),
88        );
89
90      if (isset($plugins->db_plugins_by_id[$plugin_id]))
91      {
92        $tpl_plugin['STATE'] = $plugins->db_plugins_by_id[$plugin_id]['state'];
93      }
94      else
95      {
96        $tpl_plugin['STATE'] = 'uninstalled';
97      }
98   
99     if(isset($_SESSION['merged_extensions']))
100      if (isset($fs_plugin['extension']) and in_array($fs_plugin['extension'], $_SESSION['merged_extensions']))
101      {
102        switch($tpl_plugin['STATE'])
103        {
104          case 'active': $plugins->perform_action('deactivate', $plugin_id);
105          case 'inactive': $plugins->perform_action('uninstall', $plugin_id);
106        }
107        $tpl_plugin['STATE'] = 'merged';
108        $tpl_plugin['DESC'] = l10n('THIS PLUGIN IS NOW PART OF PIWIGO CORE! DELETE IT NOW.');
109        $merged_plugins = true;
110      }
111   
112 // $template->append('plugins', $tpl_plugin);
113$liste_tpl[]=  $tpl_plugin ;
114  }
115}           
116                    $template->assign( array( 
117                                'liste_plugins' => $liste_tpl
118                         
119                                                                                        )
120                                                                        );             
121
122//================================================================
123if (!isset($infos_message)){
124                  $infos_message = "";
125                }                 
126                if  ($infos_message != "")  {
127                   array_push($page['infos'],  $infos_message);
128                   $infos_message="";
129                 }
130                if (!isset($erreur_message)){
131                  $erreur_message = "";
132                }               
133                if  ($erreur_message != "")  {
134       
135                  array_push($page['errors'], $erreur_message);
136                  $erreur_message="";
137       
138                 
139                 }               
140                 
141//================================================================
142function save_config(){
143  global $list_visible, $val_state,$liste_plugins,$nb,$page ;
144  global $infos_message;
145  $infos_message=l10n("save_config");
146  $config=array();
147  $config = array(
148                'list_visible' => $list_visible,
149                'state' => $val_state,
150                'list'=>$liste_plugins,
151                'nb' =>$nb
152            );
153        conf_update_param('set_plugins', pwg_db_real_escape_string(serialize($config)));
154    }
155//==========================================================================================
156?>
Note: See TracBrowser for help on using the repository browser.