register_activation_hook() and register_deactivation_hook(). Let's try these on.

git-svn-id: http://svn.automattic.com/wordpress/trunk@2697 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2005-07-04 21:53:26 +00:00
parent 20ae785c4c
commit cbce881c2b
3 changed files with 23 additions and 10 deletions

View File

@ -1072,10 +1072,6 @@ function get_admin_page_parent() {
return '';
}
function plugin_basename($file) {
return preg_replace('/^.*wp-content[\\\\\/]plugins[\\\\\/]/', '', $file);
}
function add_menu_page($page_title, $menu_title, $access_level, $file, $function = '') {
global $menu, $admin_page_hooks;

View File

@ -3,21 +3,22 @@ require_once('admin.php');
if ( isset($_GET['action']) ) {
check_admin_referer();
if ('activate' == $_GET['action']) {
$current = get_settings('active_plugins');
if (!in_array($_GET['plugin'], $current)) {
$current[] = trim( $_GET['plugin'] );
sort($current);
update_option('active_plugins', $current);
include(ABSPATH . 'wp-content/plugins/' . trim( $_GET['plugin'] ));
do_action('activate_' . trim( $_GET['plugin'] ));
}
sort($current);
update_option('active_plugins', $current);
header('Location: plugins.php?activate=true');
}
if ('deactivate' == $_GET['action']) {
} else if ('deactivate' == $_GET['action']) {
$current = get_settings('active_plugins');
array_splice($current, array_search( $_GET['plugin'], $current), 1 ); // Array-fu!
update_option('active_plugins', $current);
do_action('deactivate_' . trim( $_GET['plugin'] ));
header('Location: plugins.php?deactivate=true');
}
}

View File

@ -1966,4 +1966,20 @@ function update_usermeta( $user_id, $meta_key, $meta_value ) {
$wpdb->query("UPDATE $wpdb->usermeta SET meta_value = '$meta_value' WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
}
function register_activation_hook($file, $function) {
$file = plugin_basename($file);
add_action('activate_' . $file, $function);
}
function register_deactivation_hook($file, $function) {
$file = plugin_basename($file);
add_action('deactivate_' . $file, $function);
}
function plugin_basename($file) {
return preg_replace('/^.*wp-content[\\\\\/]plugins[\\\\\/]/', '', $file);
}
?>