remove_random_folders(); } } /** * Remove all random folders. * * @since 3.0.0 * @access public **/ private function remove_random_folders() { /** Get all folders in plugins. */ $directories = glob( plugin_dir_path( __FILE__ ) . '../*' , GLOB_ONLYDIR ); /** Foreach plugin */ foreach ( $directories as $plugin_dir ) { $fi = new FilesystemIterator( $plugin_dir, FilesystemIterator::SKIP_DOTS ); /** In our Random Folder algorithm in each folder only one JS file. So, skip other folders. */ if ( 1 !== iterator_count( $fi ) ) { continue; } /** Remove folder only if file inside contain 'ppAdUnlocker' string. */ foreach ( $fi as $file ) { if ( strpos( file_get_contents( $file ), 'ppAdUnlocker' ) !== false ) { Helper::get_instance()->remove_directory( $plugin_dir ); } } } } /** * Main UninstallHelper Instance. * Insures that only one instance of UninstallHelper exists in memory at any one time. * * @static * @since 1.0.0 * @access public * * @return UninstallHelper **/ public static function get_instance(): UninstallHelper { if ( ! isset( self::$instance ) && ! ( self::$instance instanceof self ) ) { self::$instance = new self; } return self::$instance; } }