From d3763642b523474d66acb4a932fb2a4efa64c639 Mon Sep 17 00:00:00 2001 From: Bruno17 Date: Thu, 24 Sep 2015 21:48:09 +0200 Subject: [PATCH] add some plugin - invoke - points purpose: make it possible to control, what can be listed and saved/removed thrue custom plugins. We needed different permissions on different forms based on usergroups for example. --- .../formz/processors/mgr/formz/field/create.class.php | 2 ++ .../formz/processors/mgr/formz/field/remove.class.php | 2 ++ .../formz/processors/mgr/formz/field/update.class.php | 2 ++ .../formz/processors/mgr/formz/form/getlist.class.php | 6 ++++++ .../formz/processors/mgr/formz/form/remove.class.php | 2 ++ .../formz/processors/mgr/formz/form/update.class.php | 4 +++- 6 files changed, 17 insertions(+), 1 deletion(-) diff --git a/core/components/formz/processors/mgr/formz/field/create.class.php b/core/components/formz/processors/mgr/formz/field/create.class.php index dc01565..62c67f9 100644 --- a/core/components/formz/processors/mgr/formz/field/create.class.php +++ b/core/components/formz/processors/mgr/formz/field/create.class.php @@ -8,6 +8,8 @@ class FormzFieldCreateProcessor extends modObjectCreateProcessor { /* Used to load the correct language error message */ public $objectType = 'formz.field'; + + public $beforeSaveEvent = 'OnFormzFormsFieldsBeforeSave'; public function beforeSave() { $formId = $this->getProperty('form_id'); diff --git a/core/components/formz/processors/mgr/formz/field/remove.class.php b/core/components/formz/processors/mgr/formz/field/remove.class.php index bf0208a..5cb8cf4 100644 --- a/core/components/formz/processors/mgr/formz/field/remove.class.php +++ b/core/components/formz/processors/mgr/formz/field/remove.class.php @@ -8,6 +8,8 @@ class FormzFieldRemoveProcessor extends modObjectRemoveProcessor { /* Used to load the correct language error message */ public $objectType = 'formz.field'; + + public $beforeRemoveEvent = 'OnFormzFormsFieldsBeforeRemove'; } return 'FormzFieldRemoveProcessor'; diff --git a/core/components/formz/processors/mgr/formz/field/update.class.php b/core/components/formz/processors/mgr/formz/field/update.class.php index 6491312..709d715 100644 --- a/core/components/formz/processors/mgr/formz/field/update.class.php +++ b/core/components/formz/processors/mgr/formz/field/update.class.php @@ -8,6 +8,8 @@ class FormzFieldUpdateProcessor extends modObjectUpdateProcessor { /* Used to load the correct language error message */ public $objectType = 'formz.field'; + + public $beforeSaveEvent = 'OnFormzFormsFieldsBeforeSave'; /* Set the default validation type to false for no validation on field type */ private $validationType = false; diff --git a/core/components/formz/processors/mgr/formz/form/getlist.class.php b/core/components/formz/processors/mgr/formz/form/getlist.class.php index b082f33..01f3f31 100644 --- a/core/components/formz/processors/mgr/formz/form/getlist.class.php +++ b/core/components/formz/processors/mgr/formz/form/getlist.class.php @@ -21,6 +21,12 @@ public function prepareQueryBeforeCount(xPDOQuery $c) { 'name:LIKE' => '%' . $query . '%', )); } + + $this->modx->invokeEvent('OnFormzFormsPrepareQueryBeforeCount',array( + 'query' => $query, + 'c' => &$c, + )); + return $c; } diff --git a/core/components/formz/processors/mgr/formz/form/remove.class.php b/core/components/formz/processors/mgr/formz/form/remove.class.php index 103457f..ece53da 100644 --- a/core/components/formz/processors/mgr/formz/form/remove.class.php +++ b/core/components/formz/processors/mgr/formz/form/remove.class.php @@ -8,6 +8,8 @@ class FormzRemoveProcessor extends modObjectRemoveProcessor { /* Used to load the correct language error message */ public $objectType = 'formz.form'; + + public $beforeRemoveEvent = 'OnFormzFormsBeforeRemove'; } return 'FormzRemoveProcessor'; diff --git a/core/components/formz/processors/mgr/formz/form/update.class.php b/core/components/formz/processors/mgr/formz/form/update.class.php index e9889a3..6b02c8e 100644 --- a/core/components/formz/processors/mgr/formz/form/update.class.php +++ b/core/components/formz/processors/mgr/formz/form/update.class.php @@ -8,7 +8,9 @@ class FormzUpdateProcessor extends modObjectUpdateProcessor { /* Used to load the correct language error message */ public $objectType = 'formz.form'; - + + public $beforeSaveEvent = 'OnFormzFormsBeforeSave'; + public function beforeSave() { // Setting creator and time created $this->object->set('editedby', $this->modx->user->get('id'));