diff --git a/include/option.php b/include/option.php index 6ba09e8..da59245 100644 --- a/include/option.php +++ b/include/option.php @@ -13,7 +13,7 @@ class MUCD_Option { * @since 0.2.0 */ public static function init_duplicable_option($blogs_value = "no", $network_value = "all") { - $network_blogs = wp_get_sites(array('limit' => MUCD_MAX_NUMBER_OF_SITE)); + $network_blogs = MUCD_Functions::get_sites(array('limit' => MUCD_MAX_NUMBER_OF_SITE)); foreach( $network_blogs as $blog ){ $blog_id = $blog['blog_id']; add_blog_option( $blog_id, 'mucd_duplicable', $blogs_value); @@ -26,7 +26,7 @@ public static function init_duplicable_option($blogs_value = "no", $network_valu * @since 0.2.0 */ public static function delete_duplicable_option() { - $network_blogs = wp_get_sites(array('limit' => MUCD_MAX_NUMBER_OF_SITE)); + $network_blogs = MUCD_Functions::get_sites(array('limit' => MUCD_MAX_NUMBER_OF_SITE)); foreach( $network_blogs as $blog ){ $blog_id = $blog['blog_id']; delete_blog_option( $blog_id, 'mucd_duplicable'); @@ -40,7 +40,7 @@ public static function delete_duplicable_option() { * @param array $blogs list of blogs we want the option set to "yes" */ public static function set_duplicable_option($blogs) { - $network_blogs = wp_get_sites(array('limit' => MUCD_MAX_NUMBER_OF_SITE)); + $network_blogs = MUCD_Functions::get_sites(array('limit' => MUCD_MAX_NUMBER_OF_SITE)); foreach( $network_blogs as $blog ){ if(in_array($blog['blog_id'], $blogs)) { update_blog_option( $blog['blog_id'], 'mucd_duplicable', "yes"); diff --git a/lib/functions.php b/lib/functions.php index 0ef98a0..7cc04d9 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -83,8 +83,7 @@ public static function is_duplicable($blog_id) { */ public static function get_site_list() { $site_list = array(); - - $network_blogs = wp_get_sites(array('limit' => MUCD_MAX_NUMBER_OF_SITE)); + $network_blogs = MUCD_Functions::get_sites(array('limit' => MUCD_MAX_NUMBER_OF_SITE)); foreach( $network_blogs as $blog ){ if (MUCD_Functions::is_duplicable($blog['blog_id']) && MUCD_SITE_DUPLICATION_EXCLUDE != $blog['blog_id']) { $site_list[] = $blog; @@ -173,5 +172,17 @@ public static function get_network( $network_id ) { return false; } + public static function get_sites( $args = array() ) { + if(version_compare(get_bloginfo('version'), '4.6', '>=')) { + $sites = get_sites($args); + foreach($sites as $key => $site) { + $sites[$key] = (array) $site; + } + return $sites; + } else { + return wp_get_sites( $args ); + } + } + } } \ No newline at end of file diff --git a/logs/.gitkeep b/logs/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/multisite-clone-duplicator.php b/multisite-clone-duplicator.php index 41db7c3..f756365 100644 --- a/multisite-clone-duplicator.php +++ b/multisite-clone-duplicator.php @@ -3,12 +3,12 @@ * Plugin Name: MultiSite Clone Duplicator * Plugin URI: http://wordpress.org/plugins/multisite-clone-duplicator/ * Description: Clones an existing site into a new one in a multisite installation : copies all the posts, settings and files - * Author: Julien OGER, Pierre DARGHAM, GLOBALIS media systems + * Author: Julien OGER, Pierre DARGHAM, David DAUGREILH, GLOBALIS media systems * Author URI: https://github.com/pierre-dargham/multisite-clone-duplicator * - * Version: 1.3.2 - * Requires at least: 3.5.0 - * Tested up to: 4.1.2 + * Version: 1.3.3 + * Requires at least: 4.0.0 + * Tested up to: 4.7.0 */ // Block direct requests diff --git a/readme.txt b/readme.txt index 2873964..3f3e142 100644 --- a/readme.txt +++ b/readme.txt @@ -1,9 +1,9 @@ === MultiSite Clone Duplicator === -Contributors: pdargham, julienog, globalis +Contributors: pdargham, julienog, daviddaug, globalis Tags: duplicate, clone, copy, duplication, duplicator, factory, multisite, site, blog, network, wpmu, new blog -Requires at least: 3.5.0 -Tested up to: 4.1.2 -Stable tag: 1.3.2 +Requires at least: 4.0.0 +Tested up to: 4.7.0 +Stable tag: 1.3.3 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -91,6 +91,9 @@ As of now, following languages are supported : English (en_US), French (fr_FR), == Changelog == += 1.3.3 = +* Bugfix : Compatibility : WordPress 4.7 (wp_get_sites was deprecated) + = 1.3.2 = * Bugfix : Check on admin referer broke some admin page diff --git a/template/network_admin_network_settings.php b/template/network_admin_network_settings.php index 2f87216..4b2a97a 100644 --- a/template/network_admin_network_settings.php +++ b/template/network_admin_network_settings.php @@ -11,7 +11,7 @@ MUCD_MAX_NUMBER_OF_SITE)); + $network_blogs = MUCD_Functions::get_sites(array('limit' => MUCD_MAX_NUMBER_OF_SITE)); echo '