Skip to content

Commit

Permalink
eliminata cancellazione opzioni in fase di disattivazione
Browse files Browse the repository at this point in the history
Signed-off-by: Giuseppe Foti <[email protected]>
  • Loading branch information
MocioF committed Feb 11, 2024
1 parent 3790b35 commit 17b905e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 14 deletions.
22 changes: 8 additions & 14 deletions admin/class-gcmi-activator.php
Original file line number Diff line number Diff line change
Expand Up @@ -544,13 +544,18 @@ private static function create_all_tables(): void {
* @return void
*/
public static function deactivate( $network_wide ) {
/**
* Tabelle e opzioni vengono eliminate solo in caso di disinstallazione
* Eliminare le opzioni in disattivazione comporta annullamento dei tempi
* dei file remoti e di aggiornamento dati che non sarebbero coerenti
* in caso di riattivazione.
*/
if ( function_exists( 'is_multisite' ) && is_multisite() ) { // le unfiltered view servono solo in caso di multisite.
$sites = self::get_sites_array();
$plugin = GCMI_PLUGIN_BASENAME;
$attivo_su_singolo = self::gcmi_check_if_single_activated( $sites );

if ( true === $network_wide ) {
// se è una disattivazione network wide elimino tutte le views e tutte le table.
if ( 0 === count( $sites ) ) {
// devo dare errore, perché nessuna attivazione è possibile network wide in una rete troppo grande.
$error_network_wide = new WP_Error();
Expand All @@ -570,20 +575,10 @@ public static function deactivate( $network_wide ) {
}
restore_current_blog();
}
// se non è attivato su nessun sito singolo, elimino le tabelle e le opzioni.
if ( false === $attivo_su_singolo ) {
self::unset_gcmi_options();
}
}
} else { // è una disattivazione singola, non devo distruggere le tabelle, nel caso in cui il plugin sia attivo su qualche sito.
gcmi_delete_all_views();
self::destroy_gcmi_cron_job();

// controllo se almeno su un sito il plugin è attivo.
if ( false === $attivo_su_singolo ) {
// se non lo è, elimino le tabelle.
self::unset_gcmi_options();
}
}
} else { // non è multisite.
gcmi_delete_all_views();
Expand Down Expand Up @@ -631,13 +626,12 @@ private static function gcmi_check_if_single_activated( $sites ) {
}

/**
* Deletes options and cronjob
* Deletes and cronjob
*
* @since 1.0.0
* @return void
*/
public static function single_deactivate(): void {
self::unset_gcmi_options();
self::destroy_gcmi_cron_job();
}

Expand Down Expand Up @@ -796,7 +790,7 @@ private static function set_gcmi_options(): void {
* @since 1.0.0
* @return void
*/
private static function unset_gcmi_options(): void {
public static function unset_gcmi_options(): void {
$keys = array_keys( self::$activator_options );
if ( false === is_multisite() ) {
foreach ( $keys as $key ) {
Expand Down
1 change: 1 addition & 0 deletions settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,7 @@ function gcmi_deactivate( $network_wide ) {
function gcmi_uninstall() {
require_once plugin_dir_path( __FILE__ ) . 'admin/class-gcmi-activator.php';
GCMI_Activator::delete_all_tables();
GCMI_Activator::unset_gcmi_options();
}


Expand Down

0 comments on commit 17b905e

Please sign in to comment.