1 | <?php |
---|
2 | //================================================================================================= |
---|
3 | global $conf ; |
---|
4 | global $list_visible, $val_state,$liste_plugins,$nb,$infos_message,$erreur_message,$page; |
---|
5 | |
---|
6 | if (isset($conf['set_plugins'])) |
---|
7 | $set_plugins_parametres = unserialize($conf['set_plugins']); |
---|
8 | |
---|
9 | $nb="10"; |
---|
10 | if(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.'&plugin='.'%s'.'&pwg_token='.get_pwg_token(); |
---|
62 | //======================================================= |
---|
63 | $liste_plugins = array(); |
---|
64 | |
---|
65 | foreach($liste as $liste_id => $liste_plugin) { |
---|
66 | $liste_plugins[]= $liste_plugin['plugin'] ; |
---|
67 | } |
---|
68 | |
---|
69 | //========================================================== |
---|
70 | $liste_tpl=array(); |
---|
71 | |
---|
72 | foreach($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 | //================================================================ |
---|
123 | if (!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 | //================================================================ |
---|
142 | function 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 | ?> |
---|