Changeset 3670394
- Timestamp:
- 08/28/2026 01:06:31 PM (2 months ago)
- Location:
- ads-destroyer
- Files:
-
- 89 added
- 8 edited
-
tags/1.0.35 (added)
-
tags/1.0.35/ads-destroyer.php (added)
-
tags/1.0.35/build (added)
-
tags/1.0.35/build/css (added)
-
tags/1.0.35/build/css/admin-settings-style.min.css (added)
-
tags/1.0.35/build/css/style.min.css (added)
-
tags/1.0.35/build/js (added)
-
tags/1.0.35/build/js/admin-settings.js (added)
-
tags/1.0.35/build/js/app.js (added)
-
tags/1.0.35/composer.json (added)
-
tags/1.0.35/languages (added)
-
tags/1.0.35/languages/ads-destroyer-dev-readme-ru.po (added)
-
tags/1.0.35/languages/ads-destroyer.pot (added)
-
tags/1.0.35/readme.txt (added)
-
tags/1.0.35/src (added)
-
tags/1.0.35/src/Admin (added)
-
tags/1.0.35/src/Admin/AdminBarController.php (added)
-
tags/1.0.35/src/Admin/AssetsManager.php (added)
-
tags/1.0.35/src/Admin/InlineCssGenerator.php (added)
-
tags/1.0.35/src/Admin/MenuAnchorService.php (added)
-
tags/1.0.35/src/Admin/NoticeIdManager.php (added)
-
tags/1.0.35/src/Admin/OutputBufferService.php (added)
-
tags/1.0.35/src/Admin/RestApiController.php (added)
-
tags/1.0.35/src/Admin/ReviewNoticeManager.php (added)
-
tags/1.0.35/src/Admin/RulesListTable.php (added)
-
tags/1.0.35/src/Core (added)
-
tags/1.0.35/src/Core/PageContext.php (added)
-
tags/1.0.35/src/Core/Plugin.php (added)
-
tags/1.0.35/src/Core/ServiceContainer.php (added)
-
tags/1.0.35/src/Domain (added)
-
tags/1.0.35/src/Domain/XPathEngine.php (added)
-
tags/1.0.35/src/Logging (added)
-
tags/1.0.35/src/Logging/Logger.php (added)
-
tags/1.0.35/src/Security (added)
-
tags/1.0.35/src/Security/CapabilitiesService.php (added)
-
tags/1.0.35/src/Security/NonceService.php (added)
-
tags/1.0.35/src/Settings (added)
-
tags/1.0.35/src/Settings/OptionsRepository.php (added)
-
tags/1.0.35/src/Settings/SettingsPage.php (added)
-
tags/1.0.35/uninstall.php (added)
-
tags/1.0.35/vendor (added)
-
tags/1.0.35/vendor/autoload.php (added)
-
tags/1.0.35/vendor/composer (added)
-
tags/1.0.35/vendor/composer/ClassLoader.php (added)
-
tags/1.0.35/vendor/composer/InstalledVersions.php (added)
-
tags/1.0.35/vendor/composer/LICENSE (added)
-
tags/1.0.35/vendor/composer/autoload_classmap.php (added)
-
tags/1.0.35/vendor/composer/autoload_namespaces.php (added)
-
tags/1.0.35/vendor/composer/autoload_psr4.php (added)
-
tags/1.0.35/vendor/composer/autoload_real.php (added)
-
tags/1.0.35/vendor/composer/autoload_static.php (added)
-
tags/1.0.35/vendor/composer/installed.json (added)
-
tags/1.0.35/vendor/composer/installed.php (added)
-
tags/1.0.35/vendor/composer/platform_check.php (added)
-
tags/1.0.35/vendor/masterminds (added)
-
tags/1.0.35/vendor/masterminds/html5 (added)
-
tags/1.0.35/vendor/masterminds/html5/CREDITS (added)
-
tags/1.0.35/vendor/masterminds/html5/LICENSE.txt (added)
-
tags/1.0.35/vendor/masterminds/html5/README.md (added)
-
tags/1.0.35/vendor/masterminds/html5/RELEASE.md (added)
-
tags/1.0.35/vendor/masterminds/html5/UPGRADING.md (added)
-
tags/1.0.35/vendor/masterminds/html5/bin (added)
-
tags/1.0.35/vendor/masterminds/html5/bin/entities.php (added)
-
tags/1.0.35/vendor/masterminds/html5/composer.json (added)
-
tags/1.0.35/vendor/masterminds/html5/src (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5 (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Elements.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Entities.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Exception.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/InstructionProcessor.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/CharacterReference.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/EventHandler.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/FileInputStream.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/InputStream.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/ParseError.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/README.md (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/Scanner.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/StringInputStream.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/TreeBuildingRules.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Serializer (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Serializer/README.md (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Serializer/RulesInterface.php (added)
-
tags/1.0.35/vendor/masterminds/html5/src/HTML5/Serializer/Traverser.php (added)
-
trunk/ads-destroyer.php (modified) (2 diffs)
-
trunk/languages/ads-destroyer.pot (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/src/Admin/OutputBufferService.php (modified) (3 diffs)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_real.php (modified) (2 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ads-destroyer/trunk/ads-destroyer.php
r3668815 r3670394 6 6 * Author: Wp Ai Factory 7 7 * Author URI: https://wp-aifactory.com 8 * Version: 1.0.3 48 * Version: 1.0.35 9 9 * Requires PHP: 7.4 10 10 * Requires at least: 6.0 … … 23 23 define('ADSD_PLUGIN_FILE', __FILE__); 24 24 define('ADSD_PLUGIN_DIR', __DIR__); 25 define('ADSD_PLUGIN_VERSION', '1.0.3 4');25 define('ADSD_PLUGIN_VERSION', '1.0.35'); 26 26 27 27 if (!defined('ADSD_PLUGIN_URL')) { -
ads-destroyer/trunk/languages/ads-destroyer.pot
r3668815 r3670394 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: AdsDestroyer – clean admin panel & white label 1.0.3 4\n"5 "Project-Id-Version: AdsDestroyer – clean admin panel & white label 1.0.35\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ads-destroyer\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -
ads-destroyer/trunk/readme.txt
r3668815 r3670394 2 2 Contributors: wpaifactory, alexkovalevv 3 3 Author: wpaifactory 4 Author URI: https://wp-aifactory.com /adsdestroyer-disable-admin-ads-wordpress-plugin/4 Author URI: https://wp-aifactory.com 5 5 Tags: admin-notices, hide-notices, white-label, admin-cleanup, dashboard 6 6 Requires at least: 6.0 7 7 Tested up to: 7.1 8 8 Requires PHP: 7.4 9 Stable tag: 1.0.3 49 Stable tag: 1.0.35 10 10 License: GPLv2 or later 11 11 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 169 169 == Changelog == 170 170 171 = 1.0.35 = 172 - Fixed plugin installation from ZIP archives getting stuck while unpacking when AdsDestroyer rules are active 173 - Excluded streaming updater screens and incomplete HTML documents from server-side parsing 174 171 175 = 1.0.34 = 172 176 - Added verified compatibility with PHP 7.4 through PHP 8.4 and WordPress 7.1 -
ads-destroyer/trunk/src/Admin/OutputBufferService.php
r3668815 r3670394 24 24 25 25 /** 26 * Admin screens skipped because the HTML5 parser reflows their markup. 27 * 28 * WordPress emits unbalanced `div` tags there; browsers tolerate it, the 29 * parser "fixes" it and the layout breaks. Such pages are handled entirely 30 * client-side instead. 26 * Admin screens skipped because server-side HTML processing breaks them. 27 * 28 * `options-general.php` emits unbalanced `div` tags; browsers tolerate it, 29 * the HTML5 parser "fixes" it and the layout breaks. `update.php` and 30 * `update-core.php` stream installer progress via show_message(), which 31 * force-flushes all output buffers mid-page; processing that partial HTML 32 * prematurely closes the document and the rest of the install output never 33 * renders. Such pages are handled entirely client-side instead. 31 34 * 32 35 * @var array<string> 33 36 */ 34 private const EXCLUDED_PAGES = ['options-general.php' ];37 private const EXCLUDED_PAGES = ['options-general.php', 'update.php', 'update-core.php']; 35 38 36 39 /** … … 79 82 */ 80 83 public function process_output(string $content): string { 81 if (!$this->is_html_document($content) ) {84 if (!$this->is_html_document($content) || !$this->is_complete_document($content)) { 82 85 return $content; 83 86 } … … 191 194 192 195 /** 196 * Check that the buffered content is a finished HTML document. 197 * 198 * Streaming screens (the plugin installer, importers) force-flush output 199 * buffers mid-page via wp_ob_end_flush_all(). Running the HTML5 parser on 200 * such a fragment would close `body`/`html` prematurely and hide everything 201 * WordPress prints afterwards, so partial documents pass through untouched. 202 * 203 * @param string $content Buffered output. 204 * @return bool True when the document has a closing html tag. 205 */ 206 private function is_complete_document(string $content): bool { 207 return stripos(substr($content, -512), '</html>') !== false; 208 } 209 210 /** 193 211 * Check if selection mode is active. 194 212 * -
ads-destroyer/trunk/vendor/autoload.php
r3668815 r3670394 23 23 require_once __DIR__ . '/composer/autoload_real.php'; 24 24 25 return ComposerAutoloaderInit 2a6c415e4ab781bdf15f5266cae27cc7::getLoader();25 return ComposerAutoloaderInitcd3a330b1d8a3fdf84e9747795dac2d8::getLoader(); -
ads-destroyer/trunk/vendor/composer/autoload_real.php
r3668815 r3670394 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 2a6c415e4ab781bdf15f5266cae27cc75 class ComposerAutoloaderInitcd3a330b1d8a3fdf84e9747795dac2d8 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 2a6c415e4ab781bdf15f5266cae27cc7', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInitcd3a330b1d8a3fdf84e9747795dac2d8', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 2a6c415e4ab781bdf15f5266cae27cc7', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInitcd3a330b1d8a3fdf84e9747795dac2d8', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit 2a6c415e4ab781bdf15f5266cae27cc7::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInitcd3a330b1d8a3fdf84e9747795dac2d8::getInitializer($loader)); 33 33 34 34 $loader->register(true); -
ads-destroyer/trunk/vendor/composer/autoload_static.php
r3668815 r3670394 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 2a6c415e4ab781bdf15f5266cae27cc77 class ComposerStaticInitcd3a330b1d8a3fdf84e9747795dac2d8 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( … … 73 73 { 74 74 return \Closure::bind(function () use ($loader) { 75 $loader->prefixLengthsPsr4 = ComposerStaticInit 2a6c415e4ab781bdf15f5266cae27cc7::$prefixLengthsPsr4;76 $loader->prefixDirsPsr4 = ComposerStaticInit 2a6c415e4ab781bdf15f5266cae27cc7::$prefixDirsPsr4;77 $loader->classMap = ComposerStaticInit 2a6c415e4ab781bdf15f5266cae27cc7::$classMap;75 $loader->prefixLengthsPsr4 = ComposerStaticInitcd3a330b1d8a3fdf84e9747795dac2d8::$prefixLengthsPsr4; 76 $loader->prefixDirsPsr4 = ComposerStaticInitcd3a330b1d8a3fdf84e9747795dac2d8::$prefixDirsPsr4; 77 $loader->classMap = ComposerStaticInitcd3a330b1d8a3fdf84e9747795dac2d8::$classMap; 78 78 79 79 }, null, ClassLoader::class); -
ads-destroyer/trunk/vendor/composer/installed.php
r3668815 r3670394 4 4 'pretty_version' => 'dev-main', 5 5 'version' => 'dev-main', 6 'reference' => ' a00d9334211c7867e93c7ab5aa3f78ade8307f22',6 'reference' => '7a91f3fede98c5d295321dd92365fb64c67c20bc', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-main', 15 15 'version' => 'dev-main', 16 'reference' => ' a00d9334211c7867e93c7ab5aa3f78ade8307f22',16 'reference' => '7a91f3fede98c5d295321dd92365fb64c67c20bc', 17 17 'type' => 'wordpress-plugin', 18 18 'install_path' => __DIR__ . '/../../',
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)