Fixed admin caching issues

This commit is contained in:
Matias Griese
2019-06-14 12:19:31 +03:00
parent 4be66fd382
commit c74cc716e9
3 changed files with 29 additions and 1 deletions

View File

@@ -5,6 +5,7 @@
* Require Grav v1.7 * Require Grav v1.7
* Use PSR-4 for plugin classes * Use PSR-4 for plugin classes
* Added support for Twig 2.11 (compatible with Twig 1.40+) * Added support for Twig 2.11 (compatible with Twig 1.40+)
# v1.9.5 # v1.9.5
## mm/dd/2019 ## mm/dd/2019
@@ -13,7 +14,9 @@
* Display error message if GPM class fails to initialize * Display error message if GPM class fails to initialize
* Better append/prepend logic that was breaking some layouts * Better append/prepend logic that was breaking some layouts
* Default `backups` to an array if used outside of tools * Default `backups` to an array if used outside of tools
1. [](#bugfix)
* Fixed admin caching issues
# v1.9.4 # v1.9.4
## 05/09/2019 ## 05/09/2019

View File

@@ -2,6 +2,7 @@
namespace Grav\Plugin\Admin; namespace Grav\Plugin\Admin;
use Grav\Common\Cache;
use Grav\Common\Config\Config; use Grav\Common\Config\Config;
use Grav\Common\Data\Data; use Grav\Common\Data\Data;
use Grav\Common\Filesystem\Folder; use Grav\Common\Filesystem\Folder;
@@ -1018,6 +1019,8 @@ class AdminBaseController
} }
} }
Cache::clearCache('invalidate');
$this->admin->json_response = [ $this->admin->json_response = [
'status' => 'success', 'status' => 'success',
'message' => $this->admin::translate('PLUGIN_ADMIN.REMOVE_SUCCESSFUL') 'message' => $this->admin::translate('PLUGIN_ADMIN.REMOVE_SUCCESSFUL')

View File

@@ -175,6 +175,8 @@ class AdminController extends AdminBaseController
$config = $this->grav['config']; $config = $this->grav['config'];
$config->reload(); $config->reload();
Cache::clearCache('invalidate');
return true; return true;
} }
@@ -711,6 +713,8 @@ class AdminController extends AdminBaseController
$this->post = ['_redirect' => 'plugins']; $this->post = ['_redirect' => 'plugins'];
$this->admin->setMessage($this->admin::translate('PLUGIN_ADMIN.SUCCESSFULLY_ENABLED_PLUGIN'), 'info'); $this->admin->setMessage($this->admin::translate('PLUGIN_ADMIN.SUCCESSFULLY_ENABLED_PLUGIN'), 'info');
Cache::clearCache('invalidate');
return true; return true;
} }
@@ -739,6 +743,8 @@ class AdminController extends AdminBaseController
$this->post = ['_redirect' => 'plugins']; $this->post = ['_redirect' => 'plugins'];
$this->admin->setMessage($this->admin::translate('PLUGIN_ADMIN.SUCCESSFULLY_DISABLED_PLUGIN'), 'info'); $this->admin->setMessage($this->admin::translate('PLUGIN_ADMIN.SUCCESSFULLY_DISABLED_PLUGIN'), 'info');
Cache::clearCache('invalidate');
return true; return true;
} }
@@ -779,6 +785,8 @@ class AdminController extends AdminBaseController
$this->admin->setMessage($this->admin::translate('PLUGIN_ADMIN.SUCCESSFULLY_CHANGED_THEME'), 'info'); $this->admin->setMessage($this->admin::translate('PLUGIN_ADMIN.SUCCESSFULLY_CHANGED_THEME'), 'info');
Cache::clearCache('invalidate');
return true; return true;
} }
@@ -1344,7 +1352,11 @@ class AdminController extends AdminBaseController
if ($obj) { if ($obj) {
// Event to manipulate data before saving the object // Event to manipulate data before saving the object
$this->grav->fireEvent('onAdminSave', new Event(['object' => &$obj])); $this->grav->fireEvent('onAdminSave', new Event(['object' => &$obj]));
$obj->save($reorder); $obj->save($reorder);
Cache::clearCache('invalidate');
$this->admin->setMessage($this->admin::translate('PLUGIN_ADMIN.SUCCESSFULLY_SAVED'), 'info'); $this->admin->setMessage($this->admin::translate('PLUGIN_ADMIN.SUCCESSFULLY_SAVED'), 'info');
$this->grav->fireEvent('onAdminAfterSave', new Event(['object' => $obj])); $this->grav->fireEvent('onAdminAfterSave', new Event(['object' => $obj]));
} }
@@ -1443,6 +1455,8 @@ class AdminController extends AdminBaseController
$page->save(); $page->save();
Cache::clearCache('invalidate');
$this->grav->fireEvent('onAdminAfterSave', new Event(['page' => $page])); $this->grav->fireEvent('onAdminAfterSave', new Event(['page' => $page]));
// Enqueue message and redirect to new location. // Enqueue message and redirect to new location.
@@ -1601,7 +1615,11 @@ class AdminController extends AdminBaseController
$aPage->filter(); $aPage->filter();
$this->grav->fireEvent('onAdminSave', new Event(['page' => &$aPage])); $this->grav->fireEvent('onAdminSave', new Event(['page' => &$aPage]));
$aPage->save(); $aPage->save();
Cache::clearCache('invalidate');
$this->grav->fireEvent('onAdminAfterSave', new Event(['page' => $aPage])); $this->grav->fireEvent('onAdminAfterSave', new Event(['page' => $aPage]));
} }
@@ -2088,6 +2106,8 @@ class AdminController extends AdminBaseController
return false; return false;
} }
Cache::clearCache('invalidate');
// Add metadata if needed // Add metadata if needed
$include_metadata = Grav::instance()['config']->get('system.media.auto_metadata_exif', false); $include_metadata = Grav::instance()['config']->get('system.media.auto_metadata_exif', false);
$basename = str_replace(['@3x', '@2x'], '', pathinfo($filename, PATHINFO_BASENAME)); $basename = str_replace(['@3x', '@2x'], '', pathinfo($filename, PATHINFO_BASENAME));
@@ -2201,6 +2221,8 @@ class AdminController extends AdminBaseController
} }
} }
Cache::clearCache('invalidate');
if (!$found) { if (!$found) {
$this->admin->json_response = [ $this->admin->json_response = [
'status' => 'error', 'status' => 'error',