Sindbad~EG File Manager
<?php
defined( 'ABSPATH' ) or die();
add_action( 'init', 'burst_check_upgrade', 10, 2 );
/**
* Run an upgrade procedure if the version has changed
*/
function burst_check_upgrade() {
// only run upgrade check if cron, or if admin.
if ( ! is_admin() && ! wp_doing_cron() ) {
return;
}
$prev_version = get_option( 'burst-current-version', false );
$new_version = burst_version;
// strip off everything after '#'
if ( strpos( $new_version, '#' ) !== false ) {
$new_version = substr( $new_version, 0, strpos( $new_version, '#' ) );
}
if ( $prev_version === $new_version ) {
return;
} // no upgrade
// add burst capabilities
if ( $prev_version
&& version_compare( $prev_version, '1.1.1', '<' )
) {
burst_add_view_capability();
burst_add_manage_capability();
}
if ( $prev_version
&& version_compare( $prev_version, '1.3.0', '<' ) ) {
if ( is_multisite() ) {
$tour_shown = get_site_option( 'burst_tour_shown_once', false );
} else {
$tour_shown = get_option( 'burst_tour_shown_once', false );
}
if ( $tour_shown ) {
burst_update_option( 'burst_tour_shown_once', $tour_shown );
}
}
// add capability to multisite as well
if ( is_multisite() ) {
if ( $prev_version
&& version_compare( $prev_version, '1.3.4', '<' )
) {
burst_add_view_capability();
burst_add_manage_capability();
}
}
// Version 1.3.5
// - Upgrade to new bounce table
// - Upgrade to remove `event` and `action` columns from `burst_statistics` table
if ( $prev_version
&& version_compare( $prev_version, '1.4.2.1', '<' ) ) {
update_option( 'burst_db_upgrade_bounces', true );
update_option( 'burst_db_upgrade_goals_remove_columns', true );
}
if ( $prev_version
&& version_compare( $prev_version, '1.5.2', '<' ) ) {
update_option( 'burst_db_upgrade_goals_set_conversion_metric', true );
}
if ( $prev_version
&& version_compare( $prev_version, '1.5.3', '<' ) ) {
update_option( 'burst_db_upgrade_strip_domain_names_from_entire_page_url', true );
update_option( 'burst_db_upgrade_empty_referrer_when_current_domain', true );
update_option( 'burst_db_upgrade_drop_user_agent', true );
// remove the endpoint file from the old location
if ( file_exists( ABSPATH . '/burst-statistics-endpoint.php' ) ) {
unlink( ABSPATH . '/burst-statistics-endpoint.php' );
}
}
if ( $prev_version
&& version_compare( $prev_version, '1.6.0', '<' ) ) {
BURST()->summary->restart_update_summary_table_alltime();
}
if ( $prev_version
&& version_compare( $prev_version, '1.6.1', '<' ) ) {
// add the admin to the email reports mailing list
$mailinglist = burst_get_option( 'email_reports_mailinglist' );
if ( ! $mailinglist ) {
$defaults = [
array(
'email' => get_option( 'admin_email' ),
'frequency' => 'monthly',
),
];
burst_update_option( 'email_reports_mailinglist', $defaults );
}
}
if ( $prev_version
&& version_compare( $prev_version, '1.6.1', '<' ) ) {
// add the admin to the email reports mailing list
$mailinglist = burst_get_option( 'email_reports_mailinglist' );
if ( ! $mailinglist ) {
$defaults = [
array(
'email' => get_option( 'admin_email' ),
'frequency' => 'monthly',
),
];
burst_update_option( 'email_reports_mailinglist', $defaults );
}
}
// check if column 'device_id' exists in the table 'burst_statistics'
$is_version_upgrade = $prev_version && version_compare( $prev_version, '1.7.0', '<' );
$lookup_table_incomplete = version_compare( $prev_version, '1.7.1', '=' ) && ! BURST()->db_upgrade->column_exists( 'burst_statistics', 'device_id' );
if ( $lookup_table_incomplete || $is_version_upgrade ) {
update_option( 'burst_last_cron_hit', time(), false );
update_option( 'burst_db_upgrade_create_lookup_tables', true, true ); // this option is used in the tracking, so should autoload until completed
update_option( 'burst_db_upgrade_init_lookup_ids', true, false );
update_option( 'burst_db_upgrade_upgrade_lookup_tables', true, false );
update_option( 'burst_db_upgrade_upgrade_lookup_tables_drop_columns', true, false );
// for each table separately, for fine grained control
update_option( 'burst_db_upgrade_create_lookup_tables_browser', true, false );
update_option( 'burst_db_upgrade_create_lookup_tables_browser_version', true, false );
update_option( 'burst_db_upgrade_create_lookup_tables_platform', true, false );
update_option( 'burst_db_upgrade_create_lookup_tables_device', true, false );
update_option( 'burst_db_upgrade_upgrade_lookup_tables_browser', true, false );
update_option( 'burst_db_upgrade_upgrade_lookup_tables_browser_version', true, false );
update_option( 'burst_db_upgrade_upgrade_lookup_tables_platform', true, false );
update_option( 'burst_db_upgrade_upgrade_lookup_tables_device', true, false );
// drop post_meta feature
update_option( 'burst_db_upgrade_drop_page_id_column', true, false );
wp_schedule_single_event( time() + 300, 'burst_upgrade_iteration' );
$mu_plugin = trailingslashit( WPMU_PLUGIN_DIR ) . 'burst_rest_api_optimizer.php';
if ( file_exists( $mu_plugin ) ) {
unlink( $mu_plugin );
}
}
if ( $prev_version
&& version_compare( $prev_version, '1.7.3', '<' ) ) {
wp_clear_scheduled_hook( 'burst_every_5_minutes' );
update_option( 'burst_db_upgrade_rename_entire_page_url_column', true, false );
update_option( 'burst_db_upgrade_drop_path_from_parameters_column', true, false );
wp_schedule_single_event( time() + 300, 'burst_upgrade_iteration' );
}
do_action( 'burst_upgrade', $prev_version );
update_option( 'burst-current-version', $new_version, false );
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists