Added several new onAdminAfter...() events for 3rd party interaction

This commit is contained in:
Andy Miller
2016-12-07 05:46:43 -07:00
parent 6b9d7f41a9
commit bd87afd3e5
2 changed files with 17 additions and 2 deletions

View File

@@ -3,6 +3,7 @@
1. [](#new) 1. [](#new)
* Added a new `permissions` form field, used in the user profile to simplify editing permissions * Added a new `permissions` form field, used in the user profile to simplify editing permissions
* Added several new `onAdminAfter...()` events to allow for more 3rd party plugin interaction
1. [](#bugfix) 1. [](#bugfix)
* Updated admin-user-details to allow longer user names in the sidebar [#879](https://github.com/getgrav/grav-plugin-admin/issues/879) * Updated admin-user-details to allow longer user names in the sidebar [#879](https://github.com/getgrav/grav-plugin-admin/issues/879)
* Redirect to a 404 page when accessing nonexistent plugins and themes [#880](https://github.com/getgrav/grav-plugin-admin/issues/880) * Redirect to a 404 page when accessing nonexistent plugins and themes [#880](https://github.com/getgrav/grav-plugin-admin/issues/880)

View File

@@ -370,10 +370,13 @@ class AdminController extends AdminBaseController
} }
$orderOfNewFolder = $this->getNextOrderInFolder($path); $orderOfNewFolder = $this->getNextOrderInFolder($path);
$new_path = $path . '/' . $orderOfNewFolder . '.' . $data['folder'];
Folder::create($path . '/' . $orderOfNewFolder . '.' . $data['folder']); Folder::create($new_path);
Cache::clearCache('standard'); Cache::clearCache('standard');
$this->grav->fireEvent('onAdminAfterSaveAs', new Event(['path' => $new_path]));
$this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_SAVED'), 'info'); $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_SAVED'), 'info');
$multilang = $this->isMultilang(); $multilang = $this->isMultilang();
@@ -532,7 +535,7 @@ class AdminController extends AdminBaseController
$this->grav->fireEvent('onAdminSave', new Event(['object' => &$obj])); $this->grav->fireEvent('onAdminSave', new Event(['object' => &$obj]));
$obj->save($reorder); $obj->save($reorder);
$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]));
} }
if ($this->view != 'pages') { if ($this->view != 'pages') {
@@ -1480,6 +1483,8 @@ class AdminController extends AdminBaseController
return false; return false;
} }
$this->grav->fireEvent('onAdminAfterAddMedia', new Event(['page' => $page]));
$this->admin->json_response = [ $this->admin->json_response = [
'status' => 'success', 'status' => 'success',
'message' => $this->admin->translate('PLUGIN_ADMIN.FILE_UPLOADED_SUCCESSFULLY') 'message' => $this->admin->translate('PLUGIN_ADMIN.FILE_UPLOADED_SUCCESSFULLY')
@@ -1550,6 +1555,8 @@ class AdminController extends AdminBaseController
} }
} }
$this->grav->fireEvent('onAdminAfterDelMedia', new Event(['page' => $page]));
$this->admin->json_response = [ $this->admin->json_response = [
'status' => 'success', 'status' => 'success',
'message' => $this->admin->translate('PLUGIN_ADMIN.FILE_DELETED') . ': ' . $filename 'message' => $this->admin->translate('PLUGIN_ADMIN.FILE_DELETED') . ': ' . $filename
@@ -1749,6 +1756,9 @@ class AdminController extends AdminBaseController
$page->header($header); $page->header($header);
$page->save(); $page->save();
$this->grav->fireEvent('onAdminAfterSave', new Event(['page' => $page]));
// Enqueue message and redirect to new location. // Enqueue message and redirect to new location.
$this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_COPIED'), 'info'); $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_COPIED'), 'info');
$this->setRedirect($redirect); $this->setRedirect($redirect);
@@ -1871,6 +1881,8 @@ class AdminController extends AdminBaseController
Folder::delete($page->path()); Folder::delete($page->path());
} }
$this->grav->fireEvent('onAdminAfterDelete', new Event(['page' => $page]));
Cache::clearCache('standard'); Cache::clearCache('standard');
// Set redirect to either referrer or pages list. // Set redirect to either referrer or pages list.
@@ -1954,6 +1966,8 @@ class AdminController extends AdminBaseController
$aPage->validate(); $aPage->validate();
$aPage->filter(); $aPage->filter();
$aPage->save(); $aPage->save();
$this->grav->fireEvent('onAdminAfterSave', new Event(['page' => $obj]));
} }
$this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_SWITCHED_LANGUAGE'), 'info'); $this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_SWITCHED_LANGUAGE'), 'info');