khaihihi
This commit is contained in:
124
wp-content/plugins/breadcrumb-navxt/uninstall.php
Normal file
124
wp-content/plugins/breadcrumb-navxt/uninstall.php
Normal file
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
/**
|
||||
* Breadcrumb NavXT - uninstall script
|
||||
*
|
||||
* uninstall script based on WordPress Uninstall Plugin API
|
||||
*
|
||||
*
|
||||
* Because bcn_admin->uninstall() does not work with WPMU,
|
||||
* an uninstaller class has been written, that encapsulates
|
||||
* the uninstall logic and calls bcn_admin->uninstall()
|
||||
* when applicable.
|
||||
*
|
||||
* @see http://codex.wordpress.org/Migrating_Plugins_and_Themes_to_2.7#Uninstall_Plugin_API
|
||||
* @see http://trac.mu.wordpress.org/ticket/967
|
||||
*
|
||||
* this uninstall.php file was executed multiple times because
|
||||
* breadcrumb navxt (until 3.3) constsisted of two plugins:
|
||||
*
|
||||
* 1.) breadcrumb_navxt_class.php / Core
|
||||
* 2.) breadcrumb_navxt_admin.php / Adminstration Interface
|
||||
*
|
||||
* @author Tom Klingenberg
|
||||
*/
|
||||
/*
|
||||
Copyright 2010-2020 John Havlik (email : john.havlik@mtekk.us)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
//Ensure the uninstall.php file was only called by WordPress and not directly
|
||||
if(!defined('WP_UNINSTALL_PLUGIN'))
|
||||
{
|
||||
//First catches the Apache users
|
||||
header("HTTP/1.0 404 Not Found");
|
||||
//This should catch FastCGI users
|
||||
header("Status: 404 Not Found");
|
||||
die();
|
||||
}
|
||||
require_once(dirname(__FILE__) . '/includes/class.mtekk_adminkit_uninstaller.php');
|
||||
|
||||
/**
|
||||
* Breadcrumb NavXT uninstaller class
|
||||
*
|
||||
* @author Tom Klingenberg
|
||||
*/
|
||||
class bcn_uninstaller extends mtekk_adminKit_uninstaller
|
||||
{
|
||||
protected $unique_prefix = 'bcn';
|
||||
protected $plugin_basename = null;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->plugin_basename = plugin_basename('/breadcrumb-navxt.php');
|
||||
parent::__construct();
|
||||
}
|
||||
/**
|
||||
* Options uninstallation function for legacy
|
||||
*/
|
||||
private function uninstall_legacy()
|
||||
{
|
||||
delete_option($this->unique_prefix . '_options');
|
||||
delete_option($this->unique_prefix . '_options_bk');
|
||||
delete_option($this->unique_prefix . '_version');
|
||||
delete_site_option($this->unique_prefix . '_options');
|
||||
delete_site_option($this->unique_prefix . '_options_bk');
|
||||
delete_site_option($this->unique_prefix . '_version');
|
||||
}
|
||||
/**
|
||||
* uninstall breadcrumb navxt admin plugin
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
private function uninstall_options()
|
||||
{
|
||||
if(version_compare(phpversion(), '5.3.0', '<'))
|
||||
{
|
||||
return $this->uninstall_legacy();
|
||||
}
|
||||
//Grab our global breadcrumb_navxt object
|
||||
global $breadcrumb_navxt;
|
||||
//Load dependencies if applicable
|
||||
if(!class_exists('breadcrumb_navxt'))
|
||||
{
|
||||
require_once($this->_get_plugin_path());
|
||||
}
|
||||
//Initalize $breadcrumb_navxt so we can use it
|
||||
$bcn_breadcrumb_trail = new bcn_breadcrumb_trail();
|
||||
//Let's make an instance of our object takes care of everything
|
||||
$breadcrumb_navxt = new breadcrumb_navxt($bcn_breadcrumb_trail);
|
||||
//Uninstall
|
||||
return $breadcrumb_navxt->uninstall();
|
||||
}
|
||||
|
||||
/**
|
||||
* uninstall method
|
||||
*
|
||||
* @return bool wether or not uninstall did run successfull.
|
||||
*/
|
||||
public function uninstall()
|
||||
{
|
||||
//Only bother to do things if we have something in the database
|
||||
if($this->is_installed())
|
||||
{
|
||||
return $this->uninstall_options();
|
||||
}
|
||||
}
|
||||
|
||||
} /// class bcn_uninstaller
|
||||
|
||||
/*
|
||||
* main
|
||||
*/
|
||||
new bcn_uninstaller();
|
||||
Reference in New Issue
Block a user