summaryrefslogtreecommitdiff
path: root/inc/auth/basic.class.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/auth/basic.class.php')
-rw-r--r--inc/auth/basic.class.php33
1 files changed, 33 insertions, 0 deletions
diff --git a/inc/auth/basic.class.php b/inc/auth/basic.class.php
index c3bb9d32e..c93e3d5c5 100644
--- a/inc/auth/basic.class.php
+++ b/inc/auth/basic.class.php
@@ -90,6 +90,38 @@ class auth_basic {
}
/**
+ * Trigger the AUTH_USERDATA_CHANGE event and call the modification function. [ DO NOT OVERRIDE ]
+ *
+ * You should use this function instead of calling createUser, modifyUser or
+ * deleteUsers directly. The event handlers can prevent the modification, for
+ * example for enforcing a user name schema.
+ *
+ * @author Gabriel Birke <birke@d-scribe.de>
+ * @param string $type Modification type ('create', 'modify', 'delete')
+ * @param array $params Parameters for the createUser, modifyUser or deleteUsers method. The content of this array depends on the modification type
+ * @return mixed Result from the modification function or false if an event handler has canceled the action
+ */
+ function triggerUserMod($type, $params)
+ {
+ $validTypes = array(
+ 'create' => 'createUser',
+ 'modify' => 'modifyUser',
+ 'delete' => 'deleteUsers'
+ );
+ if(empty($validTypes[$type]))
+ return false;
+ $eventdata = array('type' => $type, 'params' => $params, 'modification_result' => null);
+ $evt = new Doku_Event('AUTH_USER_CHANGE', $eventdata);
+ if ($evt->advise_before(true)) {
+ $result = call_user_func_array(array($this, $validTypes[$type]), $params);
+ $evt->data['modification_result'] = $result;
+ }
+ $evt->advise_after();
+ unset($evt);
+ return $result;
+ }
+
+ /**
* Log off the current user [ OPTIONAL ]
*
* Is run in addition to the ususal logoff method. Should
@@ -290,6 +322,7 @@ class auth_basic {
return array();
}
+
/**
* Check Session Cache validity [implement only where required/possible]
*