wpdb = $wpdb; } /** * @return string */ public static function getMigrationArchive() { // we need zlib to use gzencode function if (extension_loaded('zlib')) { return self::MIGRATION_ARCHIVE.'.tar.gz'; } else { return self::MIGRATION_ARCHIVE.'.zip'; } } /** * @return string */ public static function get_tmp_dir() { $sys_tmp_dir = sys_get_temp_dir(); if (!TENWEB_MIGRATION_DEBUG && is_dir($sys_tmp_dir)) { $tmp_dir = $sys_tmp_dir . "/10web_tmp"; } else{ $tmp_dir = self::get_uploads_dir() . "/10web_tmp"; } if (!is_dir($tmp_dir)) { mkdir($tmp_dir); } return $tmp_dir; } /** * @param $delete_db_options * * function for removing files, if something goes wrong */ public static function role_back($delete_db_options = true) { self::recursive_remove_dir(self::get_tmp_dir()); if($delete_db_options === true){ self::role_back_db(); } } public static function role_back_db() { delete_site_transient('tenweb_subdomain'); delete_site_transient('tenweb_migrate_live'); delete_site_transient('tenweb_migrate_domain_id'); delete_site_transient('tenweb_migrate_region'); delete_site_transient('tenweb_tp_domain_name'); } public static function get_uploads_dir() { $uploads_dir = wp_upload_dir(); return $uploads_dir["basedir"]; } public static function recursive_remove_dir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != "." && $object != "..") { if (is_dir($dir."/".$object)) rmdir($dir."/".$object); else unlink($dir."/".$object); } } rmdir($dir); } } } }