Files
dostavka_vodi/wp-content/plugins/all-in-one-wp-security-and-firewall/classes/wp-security-base-tasks.php
User A0264400 a766acdc90 first commit
2026-04-01 23:20:16 +03:00

44 lines
1.1 KiB
PHP

<?php
if (!defined('ABSPATH')) {
exit; // Exit if accessed directly.
}
abstract class AIOWPSecurity_Base_Tasks {
/**
* Runs intended various tasks
* Handles single and multi-site (NW activation) cases
*
* @global type $wpdb
*/
public static function run() {
if (is_multisite()) {
global $wpdb;
// check if it is a network activation
// phpcs:ignore WordPress.DB.DirectDatabaseQuery -- PCP warning. Ignore.
$blog_ids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
foreach ($blog_ids as $blog_id) {
switch_to_blog($blog_id);
static::run_for_a_site();
restore_current_blog();
}
} else {
static::run_for_a_site();
}
}
/**
* Run uninstallation task for a single site.
*
* This method must be implemented in child classes.
* Since static abstract methods are not allowed in PHP, we enforce it at runtime.
*
* @throws Exception If not overridden in a child class.
* @return void
*/
protected static function run_for_a_site() {
throw new Exception(
sprintf('%s : Child classes must implement run_for_a_site() method.', get_called_class())
);
}
}