<?php
namespace Nextend\SmartSlider3\Platform\WordPress;
use Nextend\Framework\Request\Request;
use Nextend\SmartSlider3\Install\Install;
use Nextend\SmartSlider3\Install\Tables;
use Nextend\SmartSlider3\Platform\SmartSlider3Platform;
use Nextend\SmartSlider3\SmartSlider3Info;
class HelperInstall {
public function __construct() {
global $wp_version;
if (version_compare($wp_version, '5.1') >= 0) {
add_action('wp_delete_site', array(
$this,
'delete_site'
), 10);
} else {
add_action('delete_blog', array(
$this,
'action_delete_blog'
), 10, 2);
}
}
public function installOrUpgrade() {
if (get_option("n2_ss3_version") != SmartSlider3Info::$completeVersion) {
$this->install();
} else if (Request::$REQUEST->getInt('repairss3') && current_user_can('manage_options') && check_admin_referer('repairss3')) {
$this->install();
Tables::repair();
wp_redirect(SmartSlider3Platform::getAdminUrl());
exit;
}
}
private function install() {
if (Install::install()) {
update_option("n2_ss3_version", SmartSlider3Info::$completeVersion);
return true;
}
return false;
}
public function delete_site($old_site) {
$this->action_delete_blog($old_site->blog_id, true);
}
public function action_delete_blog($blog_id, $drop) {
if ($drop) {
global $wpdb;
$prefix = $wpdb->get_blog_prefix($blog_id);
$wpdb->query('DROP TABLE IF EXISTS ' . $prefix . 'nextend2_image_storage, ' . $prefix . 'nextend2_section_storage;');
$wpdb->query('DROP TABLE IF EXISTS ' . $prefix . 'nextend2_smartslider3_generators, ' . $prefix . 'nextend2_smartslider3_sliders, ' . $prefix . 'nextend2_smartslider3_slides, ' . $prefix . 'nextend2_smartslider3_sliders_xref;');
}
}
}