From 4733dbf95c5ea062c9adca2ea8dd364833cc4e0a Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Sun, 25 Mar 2012 10:48:39 +0000 Subject: [PATCH] support for dynamic self service options --- lam/lib/baseModule.inc | 3 ++- lam/lib/html.inc | 2 +- lam/lib/selfService.inc | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lam/lib/baseModule.inc b/lam/lib/baseModule.inc index 860f8aae..16d43f1e 100644 --- a/lam/lib/baseModule.inc +++ b/lam/lib/baseModule.inc @@ -1271,12 +1271,13 @@ abstract class baseModule { * and save settings. We recommend to use the module name as prefix for them * (e.g. posixAccount_homeDirectory) to avoid naming conflicts. * + * @param selfServiceProfile $profile currently edited profile * @return htmlElement meta HTML object * * @see baseModule::get_metaData() * @see htmlElement */ - public function getSelfServiceSettings() { + public function getSelfServiceSettings($profile) { if (isset($this->meta['selfServiceSettings'])) { return $this->meta['selfServiceSettings']; } diff --git a/lam/lib/html.inc b/lam/lib/html.inc index a1f513f7..208127d5 100644 --- a/lam/lib/html.inc +++ b/lam/lib/html.inc @@ -2164,7 +2164,7 @@ class htmlHiddenInput extends htmlElement { */ function generateHTML($module, $input, $values, $restricted, &$tabindex, $scope) { echo ''; - return array(); + return array($this->name => 'hidden'); } } diff --git a/lam/lib/selfService.inc b/lam/lib/selfService.inc index 3c0b8609..8262fce1 100644 --- a/lam/lib/selfService.inc +++ b/lam/lib/selfService.inc @@ -237,14 +237,15 @@ function isSelfServiceProfileWritable($name, $scope) { * Returns a hash array (module name => elements) of all module options for the configuration page. * * @param string $scope account type +* @param selfServiceProfile $profile currently edited profile * @return array configuration options */ -function getSelfServiceSettings($scope) { +function getSelfServiceSettings($scope, $profile) { $return = array(); $modules = getAvailableModules($scope); for ($i = 0; $i < sizeof($modules); $i++) { $m = new $modules[$i]($scope); - $return[$modules[$i]] = $m->getSelfServiceSettings(); + $return[$modules[$i]] = $m->getSelfServiceSettings($profile); } return $return; }