Changeset 3457609
- Timestamp:
- 02/10/2026 01:01:39 AM (7 weeks ago)
- Location:
- security-ninja
- Files:
-
- 774 added
- 2 deleted
- 4 edited
-
tags/5.261 (deleted)
-
tags/5.263 (deleted)
-
tags/5.265 (added)
-
tags/5.265/class-wf-sn-tests.php (added)
-
tags/5.265/css (added)
-
tags/5.265/css/images (added)
-
tags/5.265/css/images/ajax-loader.gif (added)
-
tags/5.265/css/images/dots32.gif (added)
-
tags/5.265/css/images/index.php (added)
-
tags/5.265/css/index.php (added)
-
tags/5.265/css/min (added)
-
tags/5.265/css/min/index.php (added)
-
tags/5.265/css/min/sn-style-pro__premium_only-min.css (added)
-
tags/5.265/css/min/sn-style.css (added)
-
tags/5.265/css/sn-style.scss (added)
-
tags/5.265/images (added)
-
tags/5.265/images/ajax-loader.gif (added)
-
tags/5.265/images/core-scanner.jpg (added)
-
tags/5.265/images/event-log.jpg (added)
-
tags/5.265/images/firewall.jpg (added)
-
tags/5.265/images/index.php (added)
-
tags/5.265/images/malware-scanner.jpg (added)
-
tags/5.265/images/plugin-icon.png (added)
-
tags/5.265/images/scheduler.jpg (added)
-
tags/5.265/images/security-ninja-logo.png (added)
-
tags/5.265/images/sn-logo.svg (added)
-
tags/5.265/images/whitelabel.jpg (added)
-
tags/5.265/includes (added)
-
tags/5.265/includes/10k-most-common.txt (added)
-
tags/5.265/includes/brute-force-dictionary.txt (added)
-
tags/5.265/includes/class-wf-sn-crypto.php (added)
-
tags/5.265/includes/class-wf-sn-free-render.php (added)
-
tags/5.265/includes/class-wf-sn-utils.php (added)
-
tags/5.265/includes/country-codes.php (added)
-
tags/5.265/includes/index.php (added)
-
tags/5.265/includes/sidebar.php (added)
-
tags/5.265/index.php (added)
-
tags/5.265/js (added)
-
tags/5.265/js/index.php (added)
-
tags/5.265/js/min (added)
-
tags/5.265/js/min/index.php (added)
-
tags/5.265/js/min/manual-vuln-scan-min.js (added)
-
tags/5.265/js/min/sn-common-min.js (added)
-
tags/5.265/js/min/sn-common-min.js.map (added)
-
tags/5.265/js/min/sn-global-min.js (added)
-
tags/5.265/js/min/sn-jquery-plugins-min.js (added)
-
tags/5.265/js/sn-common-min.js (added)
-
tags/5.265/js/sn-global.js (added)
-
tags/5.265/js/sn-jquery-plugins-min.js (added)
-
tags/5.265/js/sn-jquery-plugins.js (added)
-
tags/5.265/languages (added)
-
tags/5.265/languages/index.php (added)
-
tags/5.265/languages/security-ninja.pot (added)
-
tags/5.265/modules (added)
-
tags/5.265/modules/cloud-firewall (added)
-
tags/5.265/modules/cloud-firewall/admin (added)
-
tags/5.265/modules/cloud-firewall/admin/templates (added)
-
tags/5.265/modules/cloud-firewall/class-sn-geolite-integration.php (added)
-
tags/5.265/modules/cloud-firewall/class-sn-geolocation.php (added)
-
tags/5.265/modules/cloud-firewall/class-wf-sn-security-utils.php (added)
-
tags/5.265/modules/cloud-firewall/cloud-firewall.php (added)
-
tags/5.265/modules/cloud-firewall/css (added)
-
tags/5.265/modules/cloud-firewall/css/index.php (added)
-
tags/5.265/modules/cloud-firewall/css/wf-sn-cf-min.css (added)
-
tags/5.265/modules/cloud-firewall/css/wf-sn-cf.css (added)
-
tags/5.265/modules/cloud-firewall/index.php (added)
-
tags/5.265/modules/cloud-firewall/js (added)
-
tags/5.265/modules/cloud-firewall/js/index.php (added)
-
tags/5.265/modules/cloud-firewall/js/wf-sn-cf-min.js (added)
-
tags/5.265/modules/cloud-firewall/js/wf-sn-cf.js (added)
-
tags/5.265/modules/cloud-firewall/select2 (added)
-
tags/5.265/modules/cloud-firewall/select2/.editorconfig (added)
-
tags/5.265/modules/cloud-firewall/select2/.github (added)
-
tags/5.265/modules/cloud-firewall/select2/.github/CONTRIBUTING.md (added)
-
tags/5.265/modules/cloud-firewall/select2/.github/FUNDING.yml (added)
-
tags/5.265/modules/cloud-firewall/select2/.github/ISSUE_TEMPLATE.md (added)
-
tags/5.265/modules/cloud-firewall/select2/.github/PULL_REQUEST_TEMPLATE.md (added)
-
tags/5.265/modules/cloud-firewall/select2/.github/stale.yml (added)
-
tags/5.265/modules/cloud-firewall/select2/.github/workflows (added)
-
tags/5.265/modules/cloud-firewall/select2/.github/workflows/docs-deploy.yml (added)
-
tags/5.265/modules/cloud-firewall/select2/.github/workflows/main.yml (added)
-
tags/5.265/modules/cloud-firewall/select2/.github/workflows/package-deploy.yml (added)
-
tags/5.265/modules/cloud-firewall/select2/.gitignore (added)
-
tags/5.265/modules/cloud-firewall/select2/.jshintignore (added)
-
tags/5.265/modules/cloud-firewall/select2/.jshintrc (added)
-
tags/5.265/modules/cloud-firewall/select2/css (added)
-
tags/5.265/modules/cloud-firewall/select2/css/select2.css (added)
-
tags/5.265/modules/cloud-firewall/select2/css/select2.min.css (added)
-
tags/5.265/modules/cloud-firewall/select2/js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/af.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/ar.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/az.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/bg.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/bn.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/bs.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/ca.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/cs.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/da.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/de.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/dsb.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/el.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/en.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/es.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/et.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/eu.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/fa.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/fi.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/fr.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/gl.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/he.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/hi.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/hr.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/hsb.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/hu.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/hy.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/id.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/is.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/it.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/ja.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/ka.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/km.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/ko.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/lt.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/lv.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/mk.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/ms.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/nb.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/ne.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/nl.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/pl.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/ps.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/pt-BR.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/pt.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/ro.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/ru.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/sk.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/sl.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/sq.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/sr-Cyrl.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/sr.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/sv.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/th.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/tk.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/tr.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/uk.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/vi.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/zh-CN.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/i18n/zh-TW.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/select2.full.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/select2.full.min.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/select2.js (added)
-
tags/5.265/modules/cloud-firewall/select2/js/select2.min.js (added)
-
tags/5.265/modules/cloud-firewall/tabs (added)
-
tags/5.265/modules/cloud-firewall/tabs/index.php (added)
-
tags/5.265/modules/cloud-firewall/tabs/login-protection.php (added)
-
tags/5.265/modules/cloud-firewall/tabs/settings.php (added)
-
tags/5.265/modules/core-scanner (added)
-
tags/5.265/modules/core-scanner/core-scanner.php (added)
-
tags/5.265/modules/core-scanner/css (added)
-
tags/5.265/modules/core-scanner/css/index.php (added)
-
tags/5.265/modules/core-scanner/css/wf-sn-core-min.css (added)
-
tags/5.265/modules/core-scanner/css/wf-sn-core.css (added)
-
tags/5.265/modules/core-scanner/index.php (added)
-
tags/5.265/modules/core-scanner/js (added)
-
tags/5.265/modules/core-scanner/js/index.php (added)
-
tags/5.265/modules/core-scanner/js/wf-sn-core-min.js (added)
-
tags/5.265/modules/core-scanner/js/wf-sn-core-min.js.map (added)
-
tags/5.265/modules/core-scanner/js/wf-sn-core.js (added)
-
tags/5.265/modules/dashboard-widget (added)
-
tags/5.265/modules/dashboard-widget/class-wf-sn-dashboard-widget.php (added)
-
tags/5.265/modules/dashboard-widget/css (added)
-
tags/5.265/modules/dashboard-widget/css/dashboard-widget.css (added)
-
tags/5.265/modules/dashboard-widget/css/index.php (added)
-
tags/5.265/modules/dashboard-widget/css/min (added)
-
tags/5.265/modules/dashboard-widget/css/min/dashboard-widget-min.css (added)
-
tags/5.265/modules/dashboard-widget/css/min/index.php (added)
-
tags/5.265/modules/dashboard-widget/index.php (added)
-
tags/5.265/modules/events-logger (added)
-
tags/5.265/modules/events-logger/css (added)
-
tags/5.265/modules/events-logger/css/dataTables.jqueryui.min.css (added)
-
tags/5.265/modules/events-logger/css/index.php (added)
-
tags/5.265/modules/events-logger/css/jquery.dataTables.min.css (added)
-
tags/5.265/modules/events-logger/css/wf-sn-el-min.css (added)
-
tags/5.265/modules/events-logger/css/wf-sn-el.css (added)
-
tags/5.265/modules/events-logger/events-logger.php (added)
-
tags/5.265/modules/events-logger/images (added)
-
tags/5.265/modules/events-logger/images/back_disabled.png (added)
-
tags/5.265/modules/events-logger/images/back_enabled.png (added)
-
tags/5.265/modules/events-logger/images/back_enabled_hover.png (added)
-
tags/5.265/modules/events-logger/images/forward_disabled.png (added)
-
tags/5.265/modules/events-logger/images/forward_enabled.png (added)
-
tags/5.265/modules/events-logger/images/forward_enabled_hover.png (added)
-
tags/5.265/modules/events-logger/images/index.php (added)
-
tags/5.265/modules/events-logger/images/sort_asc.png (added)
-
tags/5.265/modules/events-logger/images/sort_asc_disabled.png (added)
-
tags/5.265/modules/events-logger/images/sort_both.png (added)
-
tags/5.265/modules/events-logger/images/sort_desc.png (added)
-
tags/5.265/modules/events-logger/images/sort_desc_disabled.png (added)
-
tags/5.265/modules/events-logger/index.php (added)
-
tags/5.265/modules/events-logger/js (added)
-
tags/5.265/modules/events-logger/js/index.php (added)
-
tags/5.265/modules/events-logger/js/jquery.dataTables.min.js (added)
-
tags/5.265/modules/events-logger/js/wf-sn-el-min.js (added)
-
tags/5.265/modules/events-logger/js/wf-sn-el.js (added)
-
tags/5.265/modules/events-logger/sn-el-modules.php (added)
-
tags/5.265/modules/file-viewer (added)
-
tags/5.265/modules/file-viewer/class-secnin-file-viewer.php (added)
-
tags/5.265/modules/file-viewer/index.php (added)
-
tags/5.265/modules/index.php (added)
-
tags/5.265/modules/login-protection (added)
-
tags/5.265/modules/overview (added)
-
tags/5.265/modules/overview/class-wf-sn-overview-tab.php (added)
-
tags/5.265/modules/overview/index.php (added)
-
tags/5.265/modules/settings (added)
-
tags/5.265/modules/settings/class-wf-sn-settings.php (added)
-
tags/5.265/modules/settings/index.php (added)
-
tags/5.265/modules/vulnerabilities (added)
-
tags/5.265/modules/vulnerabilities/class-wf-sn-vu.php (added)
-
tags/5.265/modules/vulnerabilities/index.php (added)
-
tags/5.265/modules/vulnerabilities/js (added)
-
tags/5.265/modules/vulnerabilities/js/index.php (added)
-
tags/5.265/modules/vulnerabilities/js/manual-vuln-scan.js (added)
-
tags/5.265/modules/vulnerabilities/js/min (added)
-
tags/5.265/modules/vulnerabilities/js/min/index.php (added)
-
tags/5.265/modules/vulnerabilities/js/min/manual-vuln-scan-min.js (added)
-
tags/5.265/readme.txt (added)
-
tags/5.265/security-ninja.php (added)
-
tags/5.265/sn-tests-description.php (added)
-
tags/5.265/vendor (added)
-
tags/5.265/vendor/autoload.php (added)
-
tags/5.265/vendor/bin (added)
-
tags/5.265/vendor/chillerlan (added)
-
tags/5.265/vendor/chillerlan/php-qrcode (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/LICENSE-ASL-2.0 (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/LICENSE-MIT (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/NOTICE (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/README.md (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/composer.json (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/BitBuffer.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/ECICharset.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/EccLevel.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/GDLuminanceSource.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/GF256.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/GenericGFPoly.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/IMagickLuminanceSource.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/LuminanceSourceAbstract.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/LuminanceSourceInterface.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/MaskPattern.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/Mode.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Common/Version.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/AlphaNum.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/Byte.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/ECI.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/Hanzi.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/Kanji.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/Number.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/QRCodeDataException.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/QRData.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/QRDataModeAbstract.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/QRDataModeInterface.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Data/ReedSolomonEncoder.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Decoder (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Decoder/Binarizer.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Decoder/BitMatrix.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Decoder/Decoder.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Decoder/DecoderResult.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Decoder/QRCodeDecoderException.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Decoder/ReedSolomonDecoder.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Detector (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Detector/AlignmentPattern.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Detector/AlignmentPatternFinder.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Detector/Detector.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Detector/FinderPattern.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Detector/FinderPatternFinder.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Detector/GridSampler.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Detector/PerspectiveTransform.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Detector/QRCodeDetectorException.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Detector/ResultPoint.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRCodeOutputException.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QREps.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRFpdf.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRGdImage.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRGdImageBMP.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRGdImageGIF.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRGdImageJPEG.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRGdImagePNG.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRGdImageWEBP.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRImage.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRImagick.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRMarkup.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRMarkupHTML.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRMarkupSVG.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QROutputAbstract.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QROutputInterface.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRString.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRStringJSON.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/Output/QRStringText.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/QRCode.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/QRCodeException.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/QROptions.php (added)
-
tags/5.265/vendor/chillerlan/php-qrcode/src/QROptionsTrait.php (added)
-
tags/5.265/vendor/chillerlan/php-settings-container (added)
-
tags/5.265/vendor/chillerlan/php-settings-container/LICENSE (added)
-
tags/5.265/vendor/chillerlan/php-settings-container/README.md (added)
-
tags/5.265/vendor/chillerlan/php-settings-container/composer.json (added)
-
tags/5.265/vendor/chillerlan/php-settings-container/rules-magic-access.neon (added)
-
tags/5.265/vendor/chillerlan/php-settings-container/src (added)
-
tags/5.265/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php (added)
-
tags/5.265/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php (added)
-
tags/5.265/vendor/collizo4sky (added)
-
tags/5.265/vendor/collizo4sky/persist-admin-notices-dismissal (added)
-
tags/5.265/vendor/collizo4sky/persist-admin-notices-dismissal/CHANGES.md (added)
-
tags/5.265/vendor/collizo4sky/persist-admin-notices-dismissal/README.md (added)
-
tags/5.265/vendor/collizo4sky/persist-admin-notices-dismissal/composer.json (added)
-
tags/5.265/vendor/collizo4sky/persist-admin-notices-dismissal/dismiss-notice.js (added)
-
tags/5.265/vendor/collizo4sky/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php (added)
-
tags/5.265/vendor/composer (added)
-
tags/5.265/vendor/composer/ClassLoader.php (added)
-
tags/5.265/vendor/composer/InstalledVersions.php (added)
-
tags/5.265/vendor/composer/LICENSE (added)
-
tags/5.265/vendor/composer/autoload_classmap.php (added)
-
tags/5.265/vendor/composer/autoload_files.php (added)
-
tags/5.265/vendor/composer/autoload_namespaces.php (added)
-
tags/5.265/vendor/composer/autoload_psr4.php (added)
-
tags/5.265/vendor/composer/autoload_real.php (added)
-
tags/5.265/vendor/composer/autoload_static.php (added)
-
tags/5.265/vendor/composer/installed.json (added)
-
tags/5.265/vendor/composer/installed.php (added)
-
tags/5.265/vendor/composer/platform_check.php (added)
-
tags/5.265/vendor/dasprid (added)
-
tags/5.265/vendor/dasprid/enum (added)
-
tags/5.265/vendor/dasprid/enum/LICENSE (added)
-
tags/5.265/vendor/dasprid/enum/README.md (added)
-
tags/5.265/vendor/dasprid/enum/composer.json (added)
-
tags/5.265/vendor/dasprid/enum/src (added)
-
tags/5.265/vendor/dasprid/enum/src/AbstractEnum.php (added)
-
tags/5.265/vendor/dasprid/enum/src/EnumMap.php (added)
-
tags/5.265/vendor/dasprid/enum/src/Exception (added)
-
tags/5.265/vendor/dasprid/enum/src/Exception/CloneNotSupportedException.php (added)
-
tags/5.265/vendor/dasprid/enum/src/Exception/ExceptionInterface.php (added)
-
tags/5.265/vendor/dasprid/enum/src/Exception/ExpectationException.php (added)
-
tags/5.265/vendor/dasprid/enum/src/Exception/IllegalArgumentException.php (added)
-
tags/5.265/vendor/dasprid/enum/src/Exception/MismatchException.php (added)
-
tags/5.265/vendor/dasprid/enum/src/Exception/SerializeNotSupportedException.php (added)
-
tags/5.265/vendor/dasprid/enum/src/Exception/UnserializeNotSupportedException.php (added)
-
tags/5.265/vendor/dasprid/enum/src/NullValue.php (added)
-
tags/5.265/vendor/freemius (added)
-
tags/5.265/vendor/freemius/wordpress-sdk (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/LICENSE.txt (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/account.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/add-ons.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/affiliation.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/checkout.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/clone-resolution.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/common.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/connect.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/debug.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/dialog-boxes.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/gdpr-optin-notice.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/optout.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/admin/plugins.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/customizer.css (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/css/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/img (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/img/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/img/plugin-icon.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/img/security-ninja.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/img/theme-icon.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/jquery.form.js (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/nojquery.ba-postmessage.js (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/postmessage.js (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/14fb1bd5b7c41648488b06147f50a0dc.svg (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/178afa6030e76635dbe835e111d2c507.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/27b5a722a5553d9de0170325267fccec.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/4375c4a3ddc6f637c2ab9a2d7220f91e.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/45da596e2b512ffc3bb638baaf0fdc4e.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/a34e046aee1702a5690679750a7f4d0f.svg (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/b09d0b38b627c2fa564d050f79f2f064.svg (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/c03f665db27af43971565560adfba594.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/cb5fc4f6ec7ada72e986f6e7dde365bf.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/d65812c447b4523b42d59018e1c0bb53.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/f3aac72a8e63997d6bb888f816457e9b.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/fde48e4609a6ddc11d639fc2421f2afd.png (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/freemius-pricing.js (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/assets/js/pricing/freemius-pricing.js.LICENSE.txt (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/config.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-freemius-abstract.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-freemius.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-admin-notices.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-api.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-garbage-collector.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-hook-snapshot.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-lock.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-logger.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-options.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-plugin-updater.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-security.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-storage.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/class-fs-user-lock.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/customizer (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/customizer/class-fs-customizer-support-section.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/customizer/class-fs-customizer-upsell-control.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/customizer/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/debug (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/debug/class-fs-debug-bar-panel.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/debug/debug-bar-start.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/debug/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-affiliate-terms.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-affiliate.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-billing.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-entity.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-payment.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-info.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-license.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-plan.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-tag.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-pricing.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-scope-entity.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-site.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-subscription.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/class-fs-user.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/entities/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/fs-core-functions.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/fs-essential-functions.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/fs-html-escaping-functions.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/fs-plugin-info-dialog.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/l10n.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-admin-menu-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-admin-notice-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-cache-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-checkout-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-clone-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-contact-form-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-debug-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-gdpr-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-key-value-storage.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-license-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-option-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-permission-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-plan-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/class-fs-plugin-manager.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/managers/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/ArgumentNotExistException.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/EmptyArgumentException.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/Exception.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/InvalidArgumentException.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/OAuthException.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/FreemiusBase.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/FreemiusWordPress.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/LICENSE.txt (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/sdk/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/supplements (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/supplements/fs-essential-functions-1.1.7.1.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/supplements/fs-essential-functions-2.2.1.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/supplements/fs-migration-2.5.1.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/includes/supplements/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-cs_CZ.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-da_DK.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-de_DE.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-es_ES.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-fr_FR.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-he_IL.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-hu_HU.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-it_IT.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-ja.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-nl_NL.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-ru_RU.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-ta.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius-zh_CN.mo (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/freemius.pot (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/languages/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/require.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/start.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account/billing.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account/partials (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account/partials/activate-license-button.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account/partials/addon.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account/partials/deactivate-license-button.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account/partials/disconnect-button.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account/partials/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account/partials/site.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/account/payments.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/add-ons.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/add-trial-to-pricing.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/admin-notice.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/ajax-loader.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/api-connectivity-message-js.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/auto-installation.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/checkout (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/checkout.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/checkout/frame.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/checkout/process-redirect.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/checkout/redirect.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/clone-resolution-js.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/connect (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/connect.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/connect/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/connect/permission.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/connect/permissions-group.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/contact.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/debug (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/debug.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/debug/api-calls.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/debug/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/debug/logger.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/debug/plugins-themes-sync.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/debug/scheduled-crons.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/email.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/affiliation.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/data-debug-mode.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/deactivation (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/deactivation/contact.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/deactivation/form.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/deactivation/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/deactivation/retry-skip.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/email-address-update.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/license-activation.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/optout.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/premium-versions-upgrade-handler.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/premium-versions-upgrade-metadata.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/resend-key.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/subscription-cancellation.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/trial-start.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/forms/user-change.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/gdpr-optin-js.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/js (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/js/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/js/jquery.content-change.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/js/open-license-activation.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/js/permissions.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/js/style-premium-theme.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/partials (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/partials/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/partials/network-activation.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/plugin-icon.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/plugin-info (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/plugin-info/description.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/plugin-info/features.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/plugin-info/index.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/plugin-info/screenshots.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/pricing.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/secure-https-header.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/sticky-admin-notice-js.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/tabs-capture-js.php (added)
-
tags/5.265/vendor/freemius/wordpress-sdk/templates/tabs.php (added)
-
tags/5.265/vendor/khanamiryan (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/.gitignore (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/LICENSE-ASL-2.0 (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/LICENSE-MIT (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/README.md (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/composer.json (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/ecs.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Binarizer.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/BinaryBitmap.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/ChecksumException.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/AbstractEnum.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/BitArray.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/BitMatrix.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/BitSource.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/CharacterSetECI.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/DecoderResult.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/DefaultGridSampler.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/Detector (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/Detector/MathUtils.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/Detector/MonochromeRectangleDetector.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/DetectorResult.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/GlobalHistogramBinarizer.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/GridSampler.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/HybridBinarizer.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/PerspectiveTransform.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/Reedsolomon (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/Reedsolomon/GenericGF.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/Reedsolomon/GenericGFPoly.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/Reedsolomon/ReedSolomonDecoder.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/Reedsolomon/ReedSolomonException.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Common/customFunctions.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/FormatException.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/GDLuminanceSource.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/IMagickLuminanceSource.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/LuminanceSource.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/NotFoundException.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/PlanarYUVLuminanceSource.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/QrReader.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder/BitMatrixParser.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder/DataBlock.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder/DataMask.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder/DecodedBitStreamParser.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder/Decoder.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder/ErrorCorrectionLevel.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder/FormatInformation.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder/Mode.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder/QRCodeDecoderMetaData.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Decoder/Version.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Detector (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Detector/AlignmentPattern.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Detector/AlignmentPatternFinder.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Detector/Detector.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Detector/FinderPattern.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Detector/FinderPatternFinder.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/Detector/FinderPatternInfo.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Qrcode/QRCodeReader.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/RGBLuminanceSource.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Reader.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/ReaderException.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/Result.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/lib/ResultPoint.php (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/phpunit.xml.dist (added)
-
tags/5.265/vendor/khanamiryan/qrcode-detector-decoder/rector.php (added)
-
tags/5.265/vendor/marc-mabe (added)
-
tags/5.265/vendor/marc-mabe/php-enum (added)
-
tags/5.265/vendor/marc-mabe/php-enum/LICENSE.txt (added)
-
tags/5.265/vendor/marc-mabe/php-enum/README.md (added)
-
tags/5.265/vendor/marc-mabe/php-enum/composer.json (added)
-
tags/5.265/vendor/marc-mabe/php-enum/src (added)
-
tags/5.265/vendor/marc-mabe/php-enum/src/Enum.php (added)
-
tags/5.265/vendor/marc-mabe/php-enum/src/EnumMap.php (added)
-
tags/5.265/vendor/marc-mabe/php-enum/src/EnumSerializableTrait.php (added)
-
tags/5.265/vendor/marc-mabe/php-enum/src/EnumSet.php (added)
-
tags/5.265/vendor/marc-mabe/php-enum/stubs (added)
-
tags/5.265/vendor/marc-mabe/php-enum/stubs/Stringable.php (added)
-
tags/5.265/vendor/paragonie (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/LICENSE.txt (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/README.md (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/composer.json (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/Base32.php (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/Base32Hex.php (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/Base64.php (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/Base64DotSlash.php (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/Base64DotSlashOrdered.php (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/Base64UrlSafe.php (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/Binary.php (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/EncoderInterface.php (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/Encoding.php (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/Hex.php (added)
-
tags/5.265/vendor/paragonie/constant_time_encoding/src/RFC4648.php (added)
-
tags/5.265/vendor/paragonie/random_compat (added)
-
tags/5.265/vendor/paragonie/random_compat/LICENSE (added)
-
tags/5.265/vendor/paragonie/random_compat/composer.json (added)
-
tags/5.265/vendor/paragonie/random_compat/dist (added)
-
tags/5.265/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey (added)
-
tags/5.265/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc (added)
-
tags/5.265/vendor/paragonie/random_compat/lib (added)
-
tags/5.265/vendor/paragonie/random_compat/lib/byte_safe_strings.php (added)
-
tags/5.265/vendor/paragonie/random_compat/lib/cast_to_int.php (added)
-
tags/5.265/vendor/paragonie/random_compat/lib/error_polyfill.php (added)
-
tags/5.265/vendor/paragonie/random_compat/lib/random.php (added)
-
tags/5.265/vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php (added)
-
tags/5.265/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php (added)
-
tags/5.265/vendor/paragonie/random_compat/lib/random_bytes_libsodium.php (added)
-
tags/5.265/vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php (added)
-
tags/5.265/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php (added)
-
tags/5.265/vendor/paragonie/random_compat/lib/random_int.php (added)
-
tags/5.265/vendor/phpseclib (added)
-
tags/5.265/vendor/phpseclib/bcmath_compat (added)
-
tags/5.265/vendor/phpseclib/bcmath_compat/LICENSE.md (added)
-
tags/5.265/vendor/phpseclib/bcmath_compat/README.md (added)
-
tags/5.265/vendor/phpseclib/bcmath_compat/composer.json (added)
-
tags/5.265/vendor/phpseclib/bcmath_compat/lib (added)
-
tags/5.265/vendor/phpseclib/bcmath_compat/lib/bcmath.php (added)
-
tags/5.265/vendor/phpseclib/bcmath_compat/src (added)
-
tags/5.265/vendor/phpseclib/bcmath_compat/src/BCMath.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib (added)
-
tags/5.265/vendor/phpseclib/phpseclib/AUTHORS (added)
-
tags/5.265/vendor/phpseclib/phpseclib/BACKERS.md (added)
-
tags/5.265/vendor/phpseclib/phpseclib/LICENSE (added)
-
tags/5.265/vendor/phpseclib/phpseclib/README.md (added)
-
tags/5.265/vendor/phpseclib/phpseclib/SECURITY.md (added)
-
tags/5.265/vendor/phpseclib/phpseclib/appveyor.yml (added)
-
tags/5.265/vendor/phpseclib/phpseclib/composer.json (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/RSA.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/TripleDES.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Crypt/Twofish.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/File (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/File/ANSI.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/File/ASN1 (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/File/ASN1.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/File/ASN1/Element.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/File/X509.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Math (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Net (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Net/SCP.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP/Stream.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Net/SSH1.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/System (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/System/SSH (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent/Identity.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php (added)
-
tags/5.265/vendor/phpseclib/phpseclib/phpseclib/openssl.cnf (added)
-
tags/5.265/vendor/typisttech (added)
-
tags/5.265/vendor/typisttech/imposter (added)
-
tags/5.265/vendor/typisttech/imposter-plugin (added)
-
tags/5.265/vendor/typisttech/imposter-plugin/LICENSE (added)
-
tags/5.265/vendor/typisttech/imposter-plugin/README.md (added)
-
tags/5.265/vendor/typisttech/imposter-plugin/composer.json (added)
-
tags/5.265/vendor/typisttech/imposter-plugin/composer.lock (added)
-
tags/5.265/vendor/typisttech/imposter-plugin/src (added)
-
tags/5.265/vendor/typisttech/imposter-plugin/src/AutoloadMerger.php (added)
-
tags/5.265/vendor/typisttech/imposter-plugin/src/ImposterPlugin.php (added)
-
tags/5.265/vendor/typisttech/imposter-plugin/src/Transformer.php (added)
-
tags/5.265/vendor/typisttech/imposter/LICENSE (added)
-
tags/5.265/vendor/typisttech/imposter/README.md (added)
-
tags/5.265/vendor/typisttech/imposter/composer.json (added)
-
tags/5.265/vendor/typisttech/imposter/composer.lock (added)
-
tags/5.265/vendor/typisttech/imposter/src (added)
-
tags/5.265/vendor/typisttech/imposter/src/ArrayUtil.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/Config.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/ConfigCollection.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/ConfigCollectionFactory.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/ConfigCollectionInterface.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/ConfigFactory.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/ConfigInterface.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/Filesystem.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/FilesystemInterface.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/Imposter.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/ImposterFactory.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/ImposterInterface.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/ProjectConfig.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/ProjectConfigInterface.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/StringUtil.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/Transformer.php (added)
-
tags/5.265/vendor/typisttech/imposter/src/TransformerInterface.php (added)
-
trunk/modules/vulnerabilities/class-wf-sn-vu.php (modified) (16 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/security-ninja.php (modified) (1 diff)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
security-ninja/trunk/modules/vulnerabilities/class-wf-sn-vu.php
r3451093 r3457609 6 6 die( 'Please don\'t open this file directly!' ); 7 7 } 8 define( 'WF_SN_VU_OPTIONS_NAME', 'wf_sn_vu_settings_group' );9 define( 'WF_SN_VU_OPTIONS_KEY', 'wf_sn_vu_settings' );10 define( 'WF_SN_VU_OUTDATED', 'wf_sn_vu_outdated' );11 8 class Wf_Sn_Vu { 12 9 public static $options = null; … … 456 453 // Handle 304 Not Modified. 457 454 if ( 304 === $response_code ) { 458 // No body processing needed, don't touch file, don't update validators.455 // No body processing needed, don't update file content; update validators and touch file so "Last Updated" UI reflects check time. 459 456 if ( $validators ) { 460 457 self::save_file_validators( … … 475 472 '' 476 473 ); 474 } 475 // Touch local JSONL file so get_vulnerabilities_last_modified() shows a recent "Last Updated". 476 require_once ABSPATH . 'wp-admin/includes/file.php'; 477 global $wp_filesystem; 478 if ( !empty( $wp_filesystem ) || WP_Filesystem() ) { 479 $upload_dir = wp_upload_dir(); 480 $file_path = $upload_dir['basedir'] . "/security-ninja/vulns/{$type}_vulns.jsonl"; 481 if ( $wp_filesystem->exists( $file_path ) ) { 482 $wp_filesystem->touch( $file_path ); 483 } 477 484 } 478 485 $result_info['success'] = true; … … 689 696 * @version v1.0.0 Tuesday, July 25th, 2023. 690 697 * @version v1.0.1 Monday, April 1st, 2024. 691 * @return mixed 692 */ 693 public static function load_vulnerabilities() { 698 * @param bool $bypass_cache If true, read from disk and refresh the per-request cache (e.g. after updating files). 699 * @return mixed Object with plugins, themes, wordpress arrays, or false on failure. 700 */ 701 public static function load_vulnerabilities( $bypass_cache = false ) { 702 static $cached = null; 703 if ( !$bypass_cache && null !== $cached ) { 704 return $cached; 705 } 694 706 require_once ABSPATH . 'wp-admin/includes/file.php'; 695 707 // More efficient to require_once at the top if not already included elsewhere … … 720 732 } 721 733 } 722 return(object) $data;723 // Convert back to object if needed for compatibility734 $cached = (object) $data; 735 return $cached; 724 736 } 725 737 … … 769 781 } 770 782 return trailingslashit( $upload_dir['basedir'] ) . 'security-ninja/vulns/' . $filenames[$type]; 771 }772 773 /**774 * Stream vulnerability JSONL records line-by-line.775 *776 * This avoids loading large files into memory. Intended for local files in the uploads directory.777 * Yields nothing if the file path is invalid, the file is missing, or the file is not readable.778 *779 * @since v5.263780 * @param string $file_path Absolute local file path.781 * @return \Generator Yields each decoded JSON object as an array.782 */783 private static function stream_jsonl_records( $file_path ) {784 if ( empty( $file_path ) || !is_string( $file_path ) ) {785 return;786 }787 if ( !is_file( $file_path ) || !is_readable( $file_path ) ) {788 return;789 }790 $handle = fopen( $file_path, 'rb' );791 if ( false === $handle ) {792 return;793 }794 try {795 while ( ($line = fgets( $handle )) !== false ) {796 $line = trim( $line );797 if ( '' === $line ) {798 continue;799 }800 $decoded = json_decode( $line, true );801 if ( is_array( $decoded ) ) {802 (yield $decoded);803 }804 }805 } finally {806 if ( is_resource( $handle ) ) {807 fclose( $handle );808 }809 }810 }811 812 /**813 * Count valid JSONL records in a file without loading it into memory.814 *815 * @since v5.263816 * @param string $file_path Absolute local file path.817 * @return int Count of valid JSONL records.818 */819 private static function count_jsonl_records( $file_path ) {820 $count = 0;821 try {822 foreach ( self::stream_jsonl_records( $file_path ) as $record ) {823 ++$count;824 }825 } catch ( \Throwable $e ) {826 return 0;827 }828 return $count;829 783 } 830 784 … … 889 843 } 890 844 self::ensure_vulns_directory(); 891 $oldcount = false;892 $newcount = false;893 845 $old_data = self::load_vulnerabilities(); 894 $oldcount = 0; 895 if ( $old_data ) { 896 $oldcount = self::return_known_vuln_count(); 897 } 846 $oldcount = ( $old_data ? count( $old_data->plugins ) + count( $old_data->themes ) + count( $old_data->wordpress ) : 0 ); 847 $download_results = array(); 898 848 foreach ( self::$api_urls as $type => $url ) { 899 849 // Use conditional GET to download file. 900 850 $result = self::download_vuln_file_with_conditional_get( $type, $url ); 901 // Result is handled within download_vuln_file_with_conditional_get(). 902 // Continue to next file regardless of result. 903 } 904 $newcount = self::return_known_vuln_count(); 851 $download_results[$type] = $result; 852 } 853 // Log summary when all three types returned 304 (no updates needed). 854 $all_304 = count( $download_results ) === 3; 855 foreach ( $download_results as $result ) { 856 if ( !is_array( $result ) || empty( $result['status_code'] ) || 304 !== (int) $result['status_code'] ) { 857 $all_304 = false; 858 break; 859 } 860 } 861 if ( $all_304 && secnin_fs()->can_use_premium_code__premium_only() ) { 862 wf_sn_el_modules::log_event( 863 'security_ninja', 864 'vulnerabilities_update', 865 __( 'Checked for updates to the vulnerability list; no updates needed.', 'security-ninja' ), 866 '' 867 ); 868 } 869 $new_data = self::load_vulnerabilities( true ); 870 // Bypass cache so we see the newly downloaded files. 871 $newcount = ( $new_data ? count( $new_data->plugins ) + count( $new_data->themes ) + count( $new_data->wordpress ) : 0 ); 872 if ( $new_data ) { 873 update_option( 'wf_sn_known_vuln_db_counts', array( 874 'plugins' => count( $new_data->plugins ), 875 'themes' => count( $new_data->themes ), 876 'wordpress' => count( $new_data->wordpress ), 877 ), false ); 878 } 905 879 if ( $oldcount && $newcount ) { 906 880 $diff = $newcount - $oldcount; … … 1032 1006 if ( count( array_filter( $x, 'is_array' ) ) > 0 ) { 1033 1007 return true; 1034 }1035 return false;1036 }1037 1038 /**1039 * Convert an object to an array.1040 *1041 * @author Lars Koudal1042 * @since v0.0.11043 * @version v1.0.0 Friday, January 1st, 2021.1044 * @param mixed $object The object to convert1045 * @return mixed1046 */1047 public static function object_to_array_map( $object_var ) {1048 if ( !is_object( $object_var ) && !is_array( $object_var ) ) {1049 return $object_var;1050 }1051 return array_map( array(__NAMESPACE__ . '\\wf_sn_vu', 'object_to_array'), (array) $object_var );1052 }1053 1054 /**1055 * Check if a value exists in the array/object.1056 *1057 * @author Lars Koudal1058 * @since v0.0.11059 * @version v1.0.0 Friday, January 1st, 2021.1060 * @param mixed $needle The value that you are searching for1061 * @param mixed $haystack The array/object to search1062 * @param boolean $strict Whether to use strict search or not1063 * @return boolean1064 */1065 public static function search_for_value( $needle, $haystack, $strict = true ) {1066 $haystack = self::object_to_array( $haystack );1067 if ( is_array( $haystack ) ) {1068 if ( self::is_multi_array( $haystack ) ) {1069 // Multidimensional array1070 foreach ( $haystack as $subhaystack ) {1071 if ( self::search_for_value( $needle, $subhaystack, $strict ) ) {1072 return true;1073 }1074 }1075 } elseif ( array_keys( $haystack ) !== range( 0, count( $haystack ) - 1 ) ) {1076 // Associative array1077 foreach ( $haystack as $key => $val ) {1078 if ( $needle === $val && !$strict ) {1079 return true;1080 } elseif ( $needle === $val && $strict ) {1081 return true;1082 }1083 }1084 return false;1085 } elseif ( $needle === $haystack && !$strict ) {1086 // Normal array1087 return true;1088 } elseif ( $needle === $haystack && $strict ) {1089 return true;1090 }1091 1008 } 1092 1009 return false; … … 1278 1195 $lookup_id = 0; 1279 1196 try { 1280 $ wp_file_path = self::get_vuln_jsonl_file_path( 'wordpress');1281 if ( empty( $wp_file_path ) || !is_file( $wp_file_path ) || !is_readable( $wp_file_path) ) {1197 $data = self::load_vulnerabilities(); 1198 if ( !$data || !isset( $data->wordpress ) ) { 1282 1199 self::ensure_vulns_directory(); 1283 1200 wp_schedule_single_event( time(), 'secnin_update_vuln_list' ); 1284 1201 } else { 1285 foreach ( self::stream_jsonl_records( $wp_file_path )as $wpvuln ) {1202 foreach ( $data->wordpress as $wpvuln ) { 1286 1203 if ( empty( $wpvuln['versionEndExcluding'] ) || empty( $wpvuln['CVE_ID'] ) ) { 1287 1204 continue; … … 1388 1305 } 1389 1306 1390 /**1391 * Returns the number of known vulnerabilities1392 *1393 * @author Lars Koudal1394 * @author Unknown1395 * @since v0.0.11396 * @version v1.0.0 Tuesday, July 6th, 2021.1397 * @version v1.0.1 Monday, April 1st, 2024.1398 * @return mixed1399 */1400 public static function return_known_vuln_count() {1401 $plugin_file = self::get_vuln_jsonl_file_path( 'plugins' );1402 $themes_file = self::get_vuln_jsonl_file_path( 'themes' );1403 $wordpress_file = self::get_vuln_jsonl_file_path( 'wordpress' );1404 $plugin_vulns_count = ( $plugin_file ? self::count_jsonl_records( $plugin_file ) : 0 );1405 $theme_vulns_count = ( $themes_file ? self::count_jsonl_records( $themes_file ) : 0 );1406 $wp_vulns_count = ( $wordpress_file ? self::count_jsonl_records( $wordpress_file ) : 0 );1407 $total = $plugin_vulns_count + $theme_vulns_count + $wp_vulns_count;1408 if ( 0 === $total ) {1409 $any_missing = false;1410 foreach ( array($plugin_file, $themes_file, $wordpress_file) as $path ) {1411 if ( !empty( $path ) && (!is_file( $path ) || !is_readable( $path )) ) {1412 $any_missing = true;1413 break;1414 }1415 }1416 if ( $any_missing ) {1417 self::ensure_vulns_directory();1418 wp_schedule_single_event( time(), 'secnin_update_vuln_list' );1419 }1420 }1421 return $total;1422 }1423 1424 1307 public static function get_vuln_details() { 1425 $plugin_file = self::get_vuln_jsonl_file_path( 'plugins' ); 1426 $themes_file = self::get_vuln_jsonl_file_path( 'themes' ); 1427 $wordpress_file = self::get_vuln_jsonl_file_path( 'wordpress' ); 1308 $counts = get_option( 'wf_sn_known_vuln_db_counts', false ); 1309 if ( is_array( $counts ) && isset( $counts['plugins'], $counts['themes'], $counts['wordpress'] ) ) { 1310 return array( 1311 'plugins' => (int) $counts['plugins'], 1312 'themes' => (int) $counts['themes'], 1313 'wordpress' => (int) $counts['wordpress'], 1314 ); 1315 } 1316 // Option not set yet. Do not load files; wait for update_vuln_list() to populate. 1428 1317 return array( 1429 'plugins' => ( $plugin_file ? self::count_jsonl_records( $plugin_file ) : 0 ),1430 'themes' => ( $themes_file ? self::count_jsonl_records( $themes_file ) : 0 ),1431 'wordpress' => ( $wordpress_file ? self::count_jsonl_records( $wordpress_file ) : 0 ),1318 'plugins' => 0, 1319 'themes' => 0, 1320 'wordpress' => 0, 1432 1321 ); 1433 }1434 1435 /**1436 * Helper method to count vulnerabilities in a more abstract way1437 *1438 * @author Unknown1439 * @since v0.0.11440 * @version v1.0.0 Monday, April 1st, 2024.1441 * @param mixed $vuln_type1442 * @return mixed1443 */1444 private static function count_vulns( $vuln_type ) {1445 return ( isset( $vuln_type ) ? count( $vuln_type ) : 0 );1446 1322 } 1447 1323 … … 1497 1373 self::update_vuln_list(); 1498 1374 } 1499 $plugin_file = self::get_vuln_jsonl_file_path( 'plugins' ); 1500 $themes_file = self::get_vuln_jsonl_file_path( 'themes' ); 1501 $wordpress_file = self::get_vuln_jsonl_file_path( 'wordpress' ); 1502 $plugin_vulns_count = ( $plugin_file ? self::count_jsonl_records( $plugin_file ) : 0 ); 1503 $theme_vulns_count = ( $themes_file ? self::count_jsonl_records( $themes_file ) : 0 ); 1504 $wp_vulns_count = ( $wordpress_file ? self::count_jsonl_records( $wordpress_file ) : 0 ); 1375 $vuln_details = self::get_vuln_details(); 1376 $plugin_vulns_count = $vuln_details['plugins']; 1377 $theme_vulns_count = $vuln_details['themes']; 1378 $wp_vulns_count = $vuln_details['wordpress']; 1505 1379 $total_vulnerabilities = $plugin_vulns_count + $wp_vulns_count + $theme_vulns_count; 1506 1380 } … … 1706 1580 $current_time = time(); 1707 1581 $time_diff = human_time_diff( $timestamp, $current_time ); 1708 // Check if file is outdated (older than 2 days)1709 $ two_days_ago = $current_time - 2* 24 * 60 * 60;1710 $is_outdated = $timestamp < $ two_days_ago;1582 // Check if file is outdated (older than 1 day) 1583 $one_day_ago = $current_time - 1 * 24 * 60 * 60; 1584 $is_outdated = $timestamp < $one_day_ago; 1711 1585 // If the timestamp is in the future or very recent, show appropriate message 1712 1586 if ( $timestamp > $current_time ) { … … 1976 1850 $installed_set = array_fill_keys( array_keys( $plugin_slug_map ), true ); 1977 1851 } 1978 foreach ( self::stream_jsonl_records( $file_path ) as $decoded_line ) { 1852 $data = self::load_vulnerabilities(); 1853 $plugin_records = ( $data && isset( $data->plugins ) ? $data->plugins : array() ); 1854 foreach ( $plugin_records as $decoded_line ) { 1979 1855 ++$scan_stats['lines_processed']; 1980 1856 if ( !isset( $decoded_line['slug'] ) ) { … … 2039 1915 'stats' => $scan_stats, 2040 1916 ); 2041 }2042 2043 /**2044 * Convert memory limit string to bytes2045 *2046 * @param string $val Memory limit string (e.g., '256M', '1G')2047 * @return int Memory limit in bytes2048 */2049 private static function return_bytes( $val ) {2050 $val = trim( $val );2051 $last = strtolower( $val[strlen( $val ) - 1] );2052 $val = (int) $val;2053 switch ( $last ) {2054 case 'g':2055 $val *= 1024;2056 case 'm':2057 $val *= 1024;2058 case 'k':2059 $val *= 1024;2060 }2061 return $val;2062 1917 } 2063 1918 … … 2377 2232 $ignored_set = array_fill_keys( $ignored_slugs, true ); 2378 2233 } 2379 foreach ( self::stream_jsonl_records( $file_path ) as $decoded_line ) { 2234 $data = self::load_vulnerabilities(); 2235 $theme_records = ( $data && isset( $data->themes ) ? $data->themes : array() ); 2236 foreach ( $theme_records as $decoded_line ) { 2380 2237 ++$scan_stats['lines_processed']; 2381 2238 if ( !isset( $decoded_line['slug'] ) ) { … … 2706 2563 $error_count = 0; 2707 2564 $errors = array(); 2565 $results = array(); 2708 2566 // Download all vulnerability files using conditional GET. 2709 2567 foreach ( self::$api_urls as $file_type => $api_url ) { 2710 2568 $result = self::download_vuln_file_with_conditional_get( $file_type, $api_url ); 2569 $results[$file_type] = $result; 2711 2570 if ( $result && isset( $result['success'] ) && $result['success'] ) { 2712 2571 ++$success_count; -
security-ninja/trunk/readme.txt
r3451093 r3457609 6 6 License URI: https://www.gnu.org/licenses/gpl-3.0.html 7 7 Requires at least: 4.7 8 Tested up to: 6.9 9 Stable tag: 5.26 48 Tested up to: 6.9.1 9 Stable tag: 5.265 10 10 Requires PHP: 7.4 11 11 12 WordPress security plugin with a **basic firewall/WAF (free)**, vulnerability scanning, and core integrity checks — with optional Pro malware scanning and advanced WAF controls.12 WordPress security plugin with free basic firewall/WAF, vulnerability scanning, and 50+ core integrity checks. 13 13 14 14 == Description == … … 333 333 == Changelog == 334 334 335 = 5.265 = 336 * 2026-02-09 337 * Tested up to WP 6.9.1 338 * FIX: Issues with 2FA for some user. 339 * IMPROVED: Vulnerability list updating faster and consume less memory. 340 335 341 = 5.264 = 336 342 * 2026-01-31 -
security-ninja/trunk/security-ninja.php
r3451093 r3457609 6 6 Description: Check your site for security vulnerabilities and get precise suggestions for corrective actions on passwords, user accounts, file permissions, database security, version hiding, plugins, themes, security headers and other security aspects. 7 7 Author: WP Security Ninja 8 Version: 5.26 48 Version: 5.265 9 9 Author URI: https://wpsecurityninja.com/ 10 10 License: GPLv3 -
security-ninja/trunk/vendor/composer/installed.php
r3451093 r3457609 4 4 'pretty_version' => 'dev-master', 5 5 'version' => 'dev-master', 6 'reference' => ' 3801a96cc9a8761ed43c2113f7e43fba98c9753f',6 'reference' => '1dce507ca2f2360d8ac6dd12cef0d4573c3c471d', 7 7 'type' => 'library', 8 8 'install_path' => __DIR__ . '/../../', … … 149 149 'pretty_version' => 'dev-master', 150 150 'version' => 'dev-master', 151 'reference' => ' 3801a96cc9a8761ed43c2113f7e43fba98c9753f',151 'reference' => '1dce507ca2f2360d8ac6dd12cef0d4573c3c471d', 152 152 'type' => 'library', 153 153 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.