%PDF- %PDF-
Direktori : /var/www/renta.eco-n-tech.co.uk/wp-content/plugins/Archive/classes/package/ |
Current File : /var/www/renta.eco-n-tech.co.uk/wp-content/plugins/Archive/classes/package/class.pack.multisite.php |
<?php defined("ABSPATH") or die(""); if (!defined('DUPLICATOR_PRO_VERSION')) { exit; } // Exit if accessed directly class DUP_PRO_Multisite { public $FilterSites = array(); protected $tablesFilters = null; public function getDirsToFilter() { if (!empty($this->FilterSites)) { $path_arr = array(); $wp_content_dir = str_replace("\\", "/", WP_CONTENT_DIR); foreach ($this->FilterSites as $site_id) { if ($site_id == 1) { if (DUP_PRO_MU::getGeneration() == DUP_PRO_MU_Generations::ThreeFivePlus) { $uploads_dir = $wp_content_dir . '/uploads'; foreach (scandir($uploads_dir) as $node) { $fullpath = $uploads_dir . '/' . $node; if ($node == '.' || $node == '.htaccess' || $node == '..') { continue; } if (is_dir($fullpath)) { if ($node != 'sites') { $path_arr[] = $fullpath; } } } } else { $path_arr[] = $wp_content_dir . '/uploads'; } } else { if (file_exists($wp_content_dir . '/uploads/sites/' . $site_id)) { $path_arr[] = $wp_content_dir . '/uploads/sites/' . $site_id; } if (file_exists($wp_content_dir . '/blogs.dir/' . $site_id)) { $path_arr[] = $wp_content_dir . '/blogs.dir/' . $site_id; } } } return $path_arr; } else { return array(); } } public function getTablesToFilter() { if (is_null($this->tablesFilters)) { global $wpdb; $this->tablesFilters = array(); if (!empty($this->FilterSites)) { $prefixes = array(); foreach ($this->FilterSites as $site_id) { $prefix = $wpdb->get_blog_prefix($site_id); if ($site_id == 1) { $default_tables = array( 'commentmeta', 'comments', 'links', //'options', include always options table 'postmeta', 'posts', 'terms', 'term_relationships', 'term_taxonomy', 'termmeta', ); foreach ($default_tables as $tb) { $this->tablesFilters[] = $prefix . $tb; } } else { $prefixes[] = $prefix; } } if (count($prefixes)) { $prefixes = array_map('preg_quote', $prefixes); // no delimiter needed in preg_quote $regex = '^(' . implode('|', $prefixes) . ').+'; $sql_query = "SHOW TABLES WHERE Tables_in_" . esc_sql(DB_NAME) . " REGEXP '" . esc_sql($regex) . "'"; DUP_PRO_Log::trace('TABLE QUERY PREFIX FILTER: ' . $sql_query); $sub_tables = $wpdb->get_col($sql_query); $this->tablesFilters = array_merge($this->tablesFilters, $sub_tables); } } DUP_PRO_Log::traceObject('TABLES TO FILTERS:', $this->tablesFilters); } return $this->tablesFilters; } }