14 Commits

Author SHA1 Message Date
ogrecooper dc172ce3b1 Merge pull request 'Support for WP Rocket' (#2) from wp-rocket into main
Reviewed-on: #2
2026-04-28 13:27:51 +00:00
Cooper Dalrymple 478eb5d23a Push to 1.0.2 2026-04-28 08:23:59 -05:00
Cooper Dalrymple 09945a659a Update packages 2026-04-28 08:21:15 -05:00
Cooper Dalrymple d77542b6af Update plugin framework 2026-04-28 08:20:52 -05:00
Cooper Dalrymple 2b52afd929 Ignore mac files 2026-04-28 08:20:44 -05:00
Cooper Dalrymple 7d6c38f86c Initial attempt 2026-02-02 09:39:37 -06:00
Cooper Dalrymple 9a1f3a0c87 Minor package update 2025-12-16 16:26:26 -06:00
Cooper Dalrymple ad1f64ad77 package-lock update to 1.0.1 2025-12-09 18:02:07 -06:00
Cooper Dalrymple 395e3f3c39 Update version to 1.0.1 2025-12-09 18:01:24 -06:00
ogrecooper 551ee45db1 Merge pull request 'Update plugin-framework to fix Singleton conflict' (#1) from framework-update into main
Reviewed-on: #1
2025-12-09 23:56:16 +00:00
Cooper Dalrymple c48fdd86ed Update plugin-framework to fix Singleton conflict 2025-12-09 17:54:51 -06:00
Cooper Dalrymple 33fb0456a1 Fix image encoding issue during packaging 2025-10-29 14:03:28 -05:00
Cooper Dalrymple 79aa3c4a7b Add files into subdirectory of package 2025-10-29 13:53:16 -05:00
Cooper Dalrymple 83a959fe65 Update plugin-framework to fix singleton namespace issue 2025-10-29 13:38:49 -05:00
9 changed files with 161 additions and 90 deletions
+2
View File
@@ -1,3 +1,5 @@
vendor
node_modules
*.zip
ogre-suspension
.DS_Store
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://getcomposer.org/schema.json",
"name": "cleverogre/ogre-suspension",
"version": "1.0.0",
"version": "1.0.2",
"title": "OgreSuspension",
"description": "OgreSuspension will lock down a WordPress instance with a custom suspension page and prevent access to the admin dashboard. Use with caution!",
"author": "CleverOgre",
Generated
+4 -4
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "7e20dd4d5ed03d04d9ecb241e18fece9",
"content-hash": "3a78139f030c6dac77aa2a70a922d9da",
"packages": [
{
"name": "cleverogre/plugin-framework",
@@ -12,7 +12,7 @@
"source": {
"type": "git",
"url": "git@git.cleverogre.com:cleverogre/plugin-framework.git",
"reference": "92cc8ca502cf952e8ecf5657f99455e6e2eb52bc"
"reference": "6ba78008013665151d0ffecb94d732baa522caec"
},
"require": {
"froger-me/wp-package-updater": "^1.4.0",
@@ -53,7 +53,7 @@
"Plugin",
"WordPress"
],
"time": "2025-10-29T17:25:50+00:00"
"time": "2026-04-28T13:19:19+00:00"
}
],
"packages-dev": [],
@@ -66,5 +66,5 @@
"prefer-lowest": false,
"platform": {},
"platform-dev": {},
"plugin-api-version": "2.6.0"
"plugin-api-version": "2.9.0"
}
+31 -3
View File
@@ -16,7 +16,10 @@ const NAME = path.basename(__dirname);
// Clean Tasks
gulp.task('clean-package', () => {
return gulp.src(`${NAME}.zip`, {
return gulp.src([
`${NAME}.zip`,
`${NAME}`
], {
read: false,
allowEmpty: true,
}).pipe(clean());
@@ -31,7 +34,7 @@ gulp.task(
// Package Tasks
gulp.task('package', () => {
gulp.task('package-copy', () => {
return gulp.src([
'assets/**/*',
'inc/**/*',
@@ -43,13 +46,38 @@ gulp.task('package', () => {
'readme.txt'
], {
base: './',
allowEmpty: true
allowEmpty: true,
encoding: false,
})
.pipe(filter((file) => !file.path.includes('/node_modules')))
.pipe(gulp.dest(`./${NAME}/`));
});
gulp.task('package-zip', () => {
return gulp.src(`${NAME}/**/*`, {
base: './',
encoding: false,
})
.pipe(zip(`${NAME}.zip`))
.pipe(gulp.dest('./'));
});
gulp.task('package-clean', () => {
return gulp.src(`${NAME}`, {
read: false,
allowEmpty: true,
}).pipe(clean());
});
gulp.task(
'package',
gulp.series(
'package-copy',
'package-zip',
'package-clean'
)
);
// Default Tasks
gulp.task(
+33
View File
@@ -0,0 +1,33 @@
<?php
/**
* @package ogre-suspension
* @author cleverogre
* @version 1.0.2
* @since 1.0.2
*/
namespace Ogre\Suspension\Integration;
use Ogre\Singleton;
use Ogre\Suspension as Plugin;
defined('ABSPATH') || exit;
final class WPRocket {
use Singleton;
protected function __construct() {
add_filter('do_rocket_generate_caching_files', '__return_false');
register_activation_hook(Plugin::get_file(), [$this, 'clean_cache']);
}
public function clean_cache() {
if (!function_exists('rocket_clean_domain')) return false;
// Purge entire WP Rocket cache
rocket_clean_domain();
}
}
WPRocket::instance();
+2 -1
View File
@@ -3,7 +3,7 @@
Plugin Name: OgreSuspension
Plugin URI: https://git.cleverogre.com/cleverogre/ogre-suspension
Description: OgreSuspension will lock down a WordPress instance with a custom suspension page and prevent access to the admin dashboard. Use with caution!
Version: 1.0.0
Version: 1.0.2
Author: CleverOgre
Author URI: https://cleverogre.com/
Text Domain: ogre-suspension
@@ -26,6 +26,7 @@ final class Suspension extends Plugin {
'inc/class-redirect.php',
'inc/class-admin.php',
'inc/class-template.php',
'inc/integrations/class-wp-rocket.php',
]);
}
+80 -79
View File
@@ -1,12 +1,12 @@
{
"name": "cleverogre/ogre-suspension",
"version": "1.0.0",
"version": "1.0.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cleverogre/ogre-suspension",
"version": "1.0.0",
"version": "1.0.1",
"license": "GPL-3.0+",
"devDependencies": {
"gulp": "^5.0.0",
@@ -58,13 +58,13 @@
"license": "MIT"
},
"node_modules/@types/node": {
"version": "24.9.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz",
"integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==",
"version": "25.6.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
"integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~7.16.0"
"undici-types": "~7.19.0"
}
},
"node_modules/@types/vinyl": {
@@ -340,9 +340,9 @@
}
},
"node_modules/b4a": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz",
"integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==",
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz",
"integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==",
"dev": true,
"license": "Apache-2.0",
"peerDependencies": {
@@ -377,9 +377,9 @@
"license": "MIT"
},
"node_modules/bare-events": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.1.tgz",
"integrity": "sha512-oxSAxTS1hRfnyit2CL5QpAOS5ixfBjj6ex3yTNvXyY/kE719jQ/IjuESJBK2w5v4wwQRAHGseVJXx9QBYOtFGQ==",
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz",
"integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==",
"dev": true,
"license": "Apache-2.0",
"peerDependencies": {
@@ -485,14 +485,13 @@
}
},
"node_modules/brace-expansion": {
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz",
"integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
"balanced-match": "^1.0.0"
}
},
"node_modules/braces": {
@@ -572,15 +571,15 @@
}
},
"node_modules/call-bind": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
"integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz",
"integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.0",
"es-define-property": "^1.0.0",
"get-intrinsic": "^1.2.4",
"call-bind-apply-helpers": "^1.0.2",
"es-define-property": "^1.0.1",
"get-intrinsic": "^1.3.0",
"set-function-length": "^1.2.2"
},
"engines": {
@@ -1427,9 +1426,9 @@
}
},
"node_modules/fastq": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
"integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
"version": "1.20.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
"integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -1678,7 +1677,7 @@
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"deprecated": "Glob versions prior to v9 are no longer supported",
"deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -1756,6 +1755,30 @@
"node": ">= 10.13.0"
}
},
"node_modules/glob/node_modules/brace-expansion": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz",
"integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"node_modules/glob/node_modules/minimatch": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
"integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
"engines": {
"node": "*"
}
},
"node_modules/global-modules": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
@@ -2471,9 +2494,9 @@
}
},
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz",
"integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3196,16 +3219,19 @@
}
},
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"version": "9.0.9",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
"brace-expansion": "^2.0.2"
},
"engines": {
"node": "*"
"node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/mixin-deep": {
@@ -3247,32 +3273,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/multimatch/node_modules/brace-expansion": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/multimatch/node_modules/minimatch": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/mute-stdout": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz",
@@ -3661,9 +3661,9 @@
}
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
"integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3951,12 +3951,13 @@
"license": "ISC"
},
"node_modules/resolve": {
"version": "1.22.11",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
"integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
"version": "1.22.12",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz",
"integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==",
"dev": true,
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"is-core-module": "^2.16.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
@@ -4375,9 +4376,9 @@
}
},
"node_modules/spdx-license-ids": {
"version": "3.0.22",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
"integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
"version": "3.0.23",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz",
"integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==",
"dev": true,
"license": "CC0-1.0"
},
@@ -4491,9 +4492,9 @@
}
},
"node_modules/streamx": {
"version": "2.23.0",
"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz",
"integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==",
"version": "2.25.0",
"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz",
"integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4622,9 +4623,9 @@
}
},
"node_modules/text-decoder": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz",
"integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==",
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz",
"integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -4795,9 +4796,9 @@
}
},
"node_modules/undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
"version": "7.19.2",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
"integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==",
"dev": true,
"license": "MIT"
},
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://www.schemastore.org/package.json",
"name": "cleverogre/ogre-suspension",
"version": "1.0.0",
"version": "1.0.2",
"title": "OgreSuspension",
"description": "OgreSuspension will lock down a WordPress instance with a custom suspension page and prevent access to the admin dashboard. Use with caution!",
"author": "CleverOgre",
+7 -1
View File
@@ -3,7 +3,7 @@ Contributors: ogrecooper, cleverogre
Tested up to: 6.8.3
Requires at least: 5.0
Requires PHP: 8.0
Version: 1.0.0
Version: 1.0.2
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Copyright: CleverOgre
@@ -28,5 +28,11 @@ If you don't know what plugin you have downloaded, please contact [CleverOgre](t
== Changelog ==
= 1.0.2 - 2026-04-28 =
* Added automatic WP Rocket cache clearing
= 1.0.1 - 2025-12-09 =
* Fix Singleton trait conflict
= 1.0.0 - 2025-10-29 =
* Initial release