- 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('init', array($this, 'init'));
|
||||||
add_action('admin_init', array($this, 'admin_init'));
|
add_action('admin_init', array($this, 'admin_init'));
|
||||||
add_action('admin_menu', array($this, 'admin_menu'));
|
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()
|
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)
|
function footnotes_filter_options($p_str_OptionsField, $p_arr_DefaultValues, $p_bool_ConvertHtmlChars = true)
|
||||||
{
|
{
|
||||||
$l_arr_Options = get_option($p_str_OptionsField);
|
$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 */
|
/* loop through all keys in the array and filters them */
|
||||||
foreach ($l_arr_Options as $l_str_Key => $l_str_Value) {
|
foreach ($l_arr_Options as $l_str_Key => $l_str_Value) {
|
||||||
/* removes special chars from the settings 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();
|
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 */
|
/* action to locate language and load the wordpress-specific language file */
|
||||||
add_action('plugins_loaded', 'footnotes_load_language');
|
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
|
- 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
|
- Add: link to the wordpress.org support page in the plugin main page
|
||||||
- Update: Changed plugin URL from GitHub to WordPress
|
- 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 =
|
= 1.1.0 =
|
||||||
- Update: Global styling for the public plugin name
|
- Update: Global styling for the public plugin name
|
||||||
|
|
Reference in a new issue