1<?php 2require('admin.inc.php'); 3require_once(INCLUDE_DIR."/class.plugin.php"); 4 5if($_REQUEST['id'] && !($plugin=Plugin::lookup($_REQUEST['id']))) 6 $errors['err']=sprintf(__('%s: Unknown or invalid ID.'), 7 __('plugin')); 8 9if($_POST) { 10 switch(strtolower($_POST['do'])) { 11 case 'update': 12 if ($plugin) { 13 $plugin->getConfig()->commit($errors); 14 } 15 break; 16 case 'mass_process': 17 if(!$_POST['ids'] || !is_array($_POST['ids']) || !count($_POST['ids'])) { 18 $errors['err'] = sprintf(__('You must select at least %s.'), 19 __('one plugin')); 20 } else { 21 $count = count($_POST['ids']); 22 switch(strtolower($_POST['a'])) { 23 case 'enable': 24 foreach ($_POST['ids'] as $id) { 25 if ($p = Plugin::lookup($id)) { 26 if (!$p->enable()) 27 $errors['err'] = sprintf( 28 __('Unable to enable %s'), 29 $p->getName()); 30 } 31 } 32 break; 33 case 'disable': 34 foreach ($_POST['ids'] as $id) { 35 if ($p = Plugin::lookup($id)) { 36 $p->disable(); 37 } 38 } 39 break; 40 case 'delete': 41 foreach ($_POST['ids'] as $id) { 42 if ($p = Plugin::lookup($id)) { 43 $p->uninstall($errors); 44 } 45 } 46 break; 47 } 48 } 49 break; 50 case 'install': 51 if ($ost->plugins->install($_POST['install_path'])) 52 $msg = sprintf(__('Successfully installed %s'), 53 __('a plugin')); 54 break; 55 } 56} 57 58$page = 'plugins.inc.php'; 59if ($plugin) 60 $page = 'plugin.inc.php'; 61elseif ($_REQUEST['a']=='add') 62 $page = 'plugin-add.inc.php'; 63 64$nav->setTabActive('manage'); 65require(STAFFINC_DIR.'header.inc.php'); 66require(STAFFINC_DIR.$page); 67include(STAFFINC_DIR.'footer.inc.php'); 68?> 69