summaryrefslogtreecommitdiffstats
path: root/admin/modules.php
blob: 38466139c42faf36a77c75cd39ac0ccf08c78198 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?php
/*

 Copyright (c) 2001 - 2007 Ampache.org
 All rights reserved.

 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License
 as published by the Free Software Foundation; version 2
 of the License.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

*/

require_once '../lib/init.php';

if (!$GLOBALS['user']->has_access(100)) {
	access_denied();
	exit();
}


/* Always show the header */
show_header(); 

switch ($_REQUEST['action']) { 
	case 'insert_localplay_preferences':
		$type = scrub_in($_REQUEST['type']);
		insert_localplay_preferences($type);
		$url 	= conf('web_path') . '/admin/preferences.php?tab=modules';
		$title 	= _('Module Activated');
		$body	= '';
		show_confirmation($title,$body,$url);
	break;
	case 'confirm_remove_localplay_preferences':
		$type = scrub_in($_REQUEST['type']);
		$url	= conf('web_path') . '/admin/modules.php?action=remove_localplay_preferences&amp;type=' . $type;
		$title	= _('Are you sure you want to remove this module?');
		$body	= '';
		show_confirmation($title,$body,$url,1);
	break;
	case 'remove_localplay_preferences':
		$type = scrub_in($_REQUEST['type']);
		remove_localplay_preferences($type);
		$url	= conf('web_path') . '/admin/preferences.php?tab=modules';
		$title	= _('Module Deactivated');
		$body	= '';
		show_confirmation($title,$body,$url);
	break;
	case 'install_plugin':
		/* Verify that this plugin exists */
		$plugins = Plugin::get_plugins();  
		if (!array_key_exists($_REQUEST['plugin'],$plugins)) { 
			debug_event('plugins','Error: Invalid Plugin: ' . $_REQUEST['plugin'] . ' selected','1'); 
			break;
		}
		$plugin = new Plugin($_REQUEST['plugin']); 
		$plugin->install(); 

		// Don't trust the plugin to this stuff
		User::rebuild_all_preferences(); 
		
		/* Show Confirmation */
		$url	= Config::get('web_path') . '/admin/modules.php?action=show_plugins';
		$title	= _('Plugin Activated'); 
		$body	= '';
		show_confirmation($title,$body,$url); 
	break;
	case 'confirm_uninstall_plugin':
		$plugin = scrub_in($_REQUEST['plugin']); 
		$url	= Config::get('web_path') . '/admin/modules.php?action=uninstall_plugin&amp;plugin=' . $plugin;
		$title	= _('Are you sure you want to remove this plugin?'); 
		$body	= '';
		show_confirmation($title,$body,$url,1); 
	break; 
	case 'uninstall_plugin':
		/* Verify that this plugin exists */
                $plugins = Plugin::get_plugins(); 
                if (!array_key_exists($_REQUEST['plugin'],$plugins)) {
                        debug_event('plugins','Error: Invalid Plugin: ' . $_REQUEST['plugin'] . ' selected','1');
                        break;
                }
                $plugin = new Plugin($_REQUEST['plugin']);
		$plugin->uninstall(); 

		// Don't trust the plugin to do it
		User::rebuild_all_preferences(); 

                /* Show Confirmation */
                $url    = Config::get('web_path') . '/admin/modules.php?action=show_plugins';
                $title  = _('Plugin Deactivated');
                $body   = '';
                show_confirmation($title,$body,$url);
	break;
	case 'upgrade_plugin':

	break;
	case 'show_plugins': 
		$plugins = Plugin::get_plugins(); 	
		show_box_top(_('Plugins')); 
		require_once Config::get('prefix') . '/templates/show_plugins.inc.php'; 
		show_box_bottom(); 
	break;
	case 'show_localplay': 
		$controllers = Localplay::get_controllers(); 
		show_box_top(_('Localplay Controllers')); 
		require_once Config::get('prefix') . '/templates/show_localplay_controllers.inc.php'; 
		show_box_bottom(); 
	break;
	default: 
		// Rien a faire
	break;
} // end switch

show_footer(); 


?>