2004-03-25 07:05:52 +00:00
<? php
2004-10-19 03:03:06 +00:00
require_once ( 'admin.php' );
2004-03-25 07:05:52 +00:00
2004-08-09 07:17:54 +00:00
if ( isset ( $_GET [ 'action' ]) ) {
2004-05-17 20:16:54 +00:00
check_admin_referer ();
2005-07-04 21:53:26 +00:00
2004-03-25 21:04:36 +00:00
if ( 'activate' == $_GET [ 'action' ]) {
2004-08-09 07:17:54 +00:00
$current = get_settings ( 'active_plugins' );
2004-09-26 18:12:12 +00:00
if ( ! in_array ( $_GET [ 'plugin' ], $current )) {
$current [] = trim ( $_GET [ 'plugin' ] );
2005-07-04 21:53:26 +00:00
sort ( $current );
update_option ( 'active_plugins' , $current );
include ( ABSPATH . 'wp-content/plugins/' . trim ( $_GET [ 'plugin' ] ));
do_action ( 'activate_' . trim ( $_GET [ 'plugin' ] ));
2004-09-26 18:12:12 +00:00
}
2004-04-14 19:04:14 +00:00
header ( 'Location: plugins.php?activate=true' );
2005-07-04 21:53:26 +00:00
} else if ( 'deactivate' == $_GET [ 'action' ]) {
2004-08-09 07:17:54 +00:00
$current = get_settings ( 'active_plugins' );
array_splice ( $current , array_search ( $_GET [ 'plugin' ], $current ), 1 ); // Array-fu!
update_option ( 'active_plugins' , $current );
2005-07-04 21:53:26 +00:00
do_action ( 'deactivate_' . trim ( $_GET [ 'plugin' ] ));
2004-04-14 19:04:14 +00:00
header ( 'Location: plugins.php?deactivate=true' );
2004-03-25 21:04:36 +00:00
}
}
2004-04-25 23:10:07 +00:00
$title = __ ( 'Manage Plugins' );
2004-03-25 07:05:52 +00:00
require_once ( 'admin-header.php' );
2004-03-25 08:10:26 +00:00
// Clean up options
2004-08-09 07:17:54 +00:00
// If any plugins don't exist, axe 'em
2004-03-25 08:10:26 +00:00
2004-08-09 07:17:54 +00:00
$check_plugins = get_settings ( 'active_plugins' );
2005-04-04 02:48:18 +00:00
// Sanity check. If the active plugin list is not an array, make it an
// empty array.
if ( ! is_array ( $check_plugins ) ) {
$check_plugins = array ();
update_option ( 'active_plugins' , $check_plugins );
}
// If a plugin file does not exist, remove it from the list of active
// plugins.
2004-03-25 08:10:26 +00:00
foreach ( $check_plugins as $check_plugin ) {
if ( ! file_exists ( ABSPATH . 'wp-content/plugins/' . $check_plugin )) {
2004-08-09 07:17:54 +00:00
$current = get_settings ( 'active_plugins' );
unset ( $current [ $_GET [ 'plugin' ]]);
update_option ( 'active_plugins' , $current );
2004-03-25 08:10:26 +00:00
}
}
2004-03-25 07:05:52 +00:00
?>
2004-04-14 19:04:14 +00:00
2004-05-07 23:56:33 +00:00
<?php if (isset($_GET['activate'])) : ?>
2005-08-08 01:13:22 +00:00
<div id="message" class="updated fade"><p><?php _e('Plugin <strong>activated</strong>.') ?></p>
2004-04-14 19:04:14 +00:00
</div>
<?php endif; ?>
2004-05-07 23:56:33 +00:00
<?php if (isset($_GET['deactivate'])) : ?>
2005-08-08 01:13:22 +00:00
<div id="message" class="updated fade"><p><?php _e('Plugin <strong>deactivated</strong>.') ?></p>
2004-04-14 19:04:14 +00:00
</div>
<?php endif; ?>
2004-03-25 07:05:52 +00:00
<div class="wrap">
2004-04-24 19:46:11 +00:00
<h2><?php _e('Plugin Management'); ?></h2>
2005-08-07 10:45:06 +00:00
<p><?php _e('Plugins extend and expand the functionality of WordPress. Once a plugin is installed, you may activate it or deactivate it here.'); ?></p>
2004-03-25 07:05:52 +00:00
<?php
2004-08-09 07:17:54 +00:00
if ( get_settings('active_plugins') )
$current_plugins = get_settings('active_plugins');
2004-03-25 07:05:52 +00:00
2004-11-26 02:29:45 +00:00
$plugins = get_plugins();
if (empty($plugins)) {
2004-04-24 19:46:11 +00:00
_e("<p>Couldn't open plugins directory or there are no plugins available.</p>"); // TODO: make more helpful
2004-03-25 07:05:52 +00:00
} else {
?>
<table width="100%" cellpadding="3" cellspacing="3">
<tr>
2004-04-24 19:46:11 +00:00
<th><?php _e('Plugin'); ?></th>
<th><?php _e('Version'); ?></th>
<th><?php _e('Description'); ?></th>
<th><?php _e('Action'); ?></th>
2004-03-25 07:05:52 +00:00
</tr>
<?php
2004-05-07 23:56:33 +00:00
$style = '';
2004-11-26 02:29:45 +00:00
foreach($plugins as $plugin_file => $plugin_data) {
2005-03-11 16:53:16 +00:00
$style = ('class="alternate"' == $style|| 'class="alternate active"' == $style) ? '' : 'alternate';
2004-03-25 08:10:26 +00:00
if (!empty($current_plugins) && in_array($plugin_file, $current_plugins)) {
2004-11-29 17:28:53 +00:00
$action = "<a href='plugins.php?action=deactivate&plugin=$plugin_file' title='".__('Deactivate this plugin')."' class='delete'>".__('Deactivate')."</a>";
2005-01-14 20:20:29 +00:00
$plugin_data['Title'] = "<strong>{$plugin_data['Title']}</strong>";
2005-03-11 16:53:16 +00:00
$style .= $style == 'alternate' ? ' active' : 'active';
2004-03-25 08:10:26 +00:00
} else {
2004-11-29 17:28:53 +00:00
$action = "<a href='plugins.php?action=activate&plugin=$plugin_file' title='".__('Activate this plugin')."' class='edit'>".__('Activate')."</a>";
2004-03-25 08:10:26 +00:00
}
2004-12-15 23:09:46 +00:00
$plugin_data['Description'] = wp_kses($plugin_data['Description'], array('a' => array('href' => array(),'title' => array()),'abbr' => array('title' => array()),'acronym' => array('title' => array()),'code' => array(),'em' => array(),'strong' => array()) ); ;
2005-03-11 16:53:16 +00:00
if ($style != '') $style = 'class="' . $style . '"';
2004-03-25 07:05:52 +00:00
echo "
<tr $style>
2005-08-07 10:45:06 +00:00
<td class='name'>{$plugin_data['Title']}</td>
<td class='vers'>{$plugin_data['Version']}</td>
<td class='desc'>{$plugin_data['Description']} <cite>By {$plugin_data['Author']}.</cite></td>
<td class='togl'>$action</td>
2004-03-25 07:05:52 +00:00
</tr>";
}
?>
</table>
<?php
}
?>
2005-05-09 11:37:36 +00:00
2005-08-07 10:45:06 +00:00
<p><?php _e('If something goes wrong with a plugin and you can’t use WordPress, delete or rename that file in the <code>wp-content/plugins</code> directory and it will be automatically deactivated.'); ?></p>
2005-05-09 11:37:36 +00:00
<h2><?php _e('Get More Plugins'); ?></h2>
<p><?php _e('You can find additional plugins for your site in the <a href="http://wordpress.org/extend/plugins/">WordPress plugin directory</a>. To install a plugin you generally just need to upload the plugin file into your <code>wp-content/plugins</code> directory. Once a plugin is uploaded, you may activate it here.'); ?></p>
2004-03-25 07:05:52 +00:00
</div>
<?php
include('admin-footer.php');
2004-11-29 17:28:53 +00:00
?>