- Bugfix: uninstall function to really remove all settings done in the settings page
- Bugfix: load default settings after plugin is installed git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@919395 b8457f37-d9ea-0310-8a92-e5e31aec5664
This commit is contained in:
parent
a42f55165a
commit
ca2c42eeaa
5 changed files with 29 additions and 46 deletions
|
@ -36,13 +36,6 @@ class Class_Footnotes
|
|||
add_action('init', array($this, 'init'));
|
||||
add_action('admin_init', array($this, 'admin_init'));
|
||||
add_action('admin_menu', array($this, 'admin_menu'));
|
||||
|
||||
/* register hook for activating the plugin */
|
||||
register_activation_hook(__FILE__, array($this, 'activate'));
|
||||
/* register hook for deactivating the plugin */
|
||||
register_deactivation_hook(__FILE__, array($this, 'deactivate'));
|
||||
/* register hook for uninstalling the plugin */
|
||||
register_uninstall_hook(__FILE__, array($this, 'uninstall'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -70,7 +63,21 @@ class Class_Footnotes
|
|||
*/
|
||||
function uninstall()
|
||||
{
|
||||
require_once(dirname(__FILE__) . '/../includes/uninstall.php');
|
||||
/* uninstalling the plugin is only allowed for logged in users */
|
||||
if (!is_user_logged_in()) {
|
||||
wp_die(__('You must be logged in to run this script.', FOOTNOTES_PLUGIN_NAME));
|
||||
}
|
||||
|
||||
/* current user needs the permission to (un)install plugins */
|
||||
if (!current_user_can('install_plugins')) {
|
||||
wp_die(__('You do not have permission to run this script.', FOOTNOTES_PLUGIN_NAME));
|
||||
}
|
||||
|
||||
/*
|
||||
* delete the settings container in the database
|
||||
* @since 1.0.6
|
||||
*/
|
||||
delete_option(FOOTNOTE_SETTINGS_CONTAINER);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -44,6 +44,10 @@ function footnotes_plugin_settings_link($links, $file)
|
|||
function footnotes_filter_options($p_str_OptionsField, $p_arr_DefaultValues, $p_bool_ConvertHtmlChars = true)
|
||||
{
|
||||
$l_arr_Options = get_option($p_str_OptionsField);
|
||||
/* if no settings set yet return default values */
|
||||
if (empty($l_arr_Options)) {
|
||||
return $p_arr_DefaultValues;
|
||||
}
|
||||
/* loop through all keys in the array and filters them */
|
||||
foreach ($l_arr_Options as $l_str_Key => $l_str_Value) {
|
||||
/* removes special chars from the settings value */
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by Stefan Herndler.
|
||||
* User: Stefan
|
||||
* Date: 15.05.14
|
||||
* Time: 16:21
|
||||
* Version: 1.0.6
|
||||
* Since: 1.0
|
||||
*/
|
||||
|
||||
/* check if the wordpress function to uninstall plugins is active */
|
||||
if (!defined('WP_UNINSTALL_PLUGIN')) {
|
||||
header('Status: 403 Forbidden');
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
exit();
|
||||
}
|
||||
|
||||
/*
|
||||
* requires the defines of the plugin
|
||||
* @since 1.0.6
|
||||
*/
|
||||
require_once(dirname(__FILE__) . '/defines.php');
|
||||
|
||||
/* uninstalling the plugin is only allowed for logged in users */
|
||||
if (!is_user_logged_in()) {
|
||||
wp_die(__('You must be logged in to run this script.', FOOTNOTES_PLUGIN_NAME));
|
||||
}
|
||||
|
||||
/* current user needs the permission to (un)install plugins */
|
||||
if (!current_user_can('install_plugins')) {
|
||||
wp_die(__('You do not have permission to run this script.', FOOTNOTES_PLUGIN_NAME));
|
||||
}
|
||||
|
||||
/*
|
||||
* delete the settings container in the database
|
||||
* @since 1.0.6
|
||||
*/
|
||||
delete_option(FOOTNOTE_SETTINGS_CONTAINER);
|
|
@ -67,6 +67,14 @@ if (!function_exists('is_admin')) {
|
|||
exit();
|
||||
}
|
||||
|
||||
/* register hook for activating the plugin */
|
||||
register_activation_hook(__FILE__, array('Class_Footnotes', 'activate'));
|
||||
/* register hook for deactivating the plugin */
|
||||
register_deactivation_hook(__FILE__, array('Class_Footnotes', 'deactivate'));
|
||||
/* register hook for uninstalling the plugin */
|
||||
register_uninstall_hook(__FILE__, array('Class_Footnotes', 'uninstall'));
|
||||
|
||||
|
||||
/* action to locate language and load the wordpress-specific language file */
|
||||
add_action('plugins_loaded', 'footnotes_load_language');
|
||||
|
||||
|
|
|
@ -43,6 +43,8 @@ No, this Plugin has been written from scratch. Of course some inspirations on ho
|
|||
- Update: Setting where the reference container appears on public pages can also be set to the widget area
|
||||
- Add: link to the wordpress.org support page in the plugin main page
|
||||
- Update: Changed plugin URL from GitHub to WordPress
|
||||
- Bugfix: uninstall function to really remove all settings done in the settings page
|
||||
- Bugfix: load default settings after plugin is installed
|
||||
|
||||
= 1.1.0 =
|
||||
- Update: Global styling for the public plugin name
|
||||
|
|
Reference in a new issue