From d3d6dfc0321f5162d0e7f6673f451d4ebc3489eb Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Sat, 20 May 2017 10:55:26 +0200 Subject: [PATCH] new type API --- lam/docs/devel/upgrade.htm | 4 ++++ lam/lib/baseModule.inc | 4 +++- lam/lib/modules.inc | 2 +- lam/lib/modules/account.inc | 21 +++++-------------- lam/lib/modules/inetOrgPerson.inc | 4 ++-- lam/lib/modules/kolabGroup.inc | 4 ++-- lam/lib/modules/posixAccount.inc | 4 ++-- lam/lib/modules/posixGroup.inc | 4 ++-- lam/lib/modules/pykotaGroup.inc | 4 ++-- lam/lib/modules/pykotaUser.inc | 4 ++-- lam/lib/modules/quota.inc | 19 ++++------------- lam/lib/modules/sambaGroupMapping.inc | 30 +++++---------------------- 12 files changed, 34 insertions(+), 70 deletions(-) diff --git a/lam/docs/devel/upgrade.htm b/lam/docs/devel/upgrade.htm index f1a1bd8c..58d79540 100644 --- a/lam/docs/devel/upgrade.htm +++ b/lam/docs/devel/upgrade.htm @@ -19,6 +19,7 @@ + @@ -69,6 +70,9 @@ This is a list of API changes for all LAM releases.
  • getManagedAttributes()
  • getLDAPAliases()
  • +
  • get_uploadColumns()
    +
  • +
  • baseType->doUploadPostActions(): new parameter $selectedModules
  • diff --git a/lam/lib/baseModule.inc b/lam/lib/baseModule.inc index 096dd106..dad7c4f2 100644 --- a/lam/lib/baseModule.inc +++ b/lam/lib/baseModule.inc @@ -1,6 +1,7 @@ ) * * @param array $selectedModules list of selected account modules + * @param ConfiguredType $type account type * @return array column list * * @see baseModule::get_metaData() */ - public function get_uploadColumns($selectedModules) { + public function get_uploadColumns($selectedModules, &$type) { if (isset($this->meta['upload_columns'])) return $this->meta['upload_columns']; else return array(); } diff --git a/lam/lib/modules.inc b/lam/lib/modules.inc index 033df605..d48ee514 100644 --- a/lam/lib/modules.inc +++ b/lam/lib/modules.inc @@ -455,7 +455,7 @@ function getUploadColumns(&$type, $selectedModules) { $return = array(); for ($i = 0; $i < sizeof($selectedModules); $i++) { $module = moduleCache::getModule($selectedModules[$i], $type->getScope()); - $return[$selectedModules[$i]] = $module->get_uploadColumns($selectedModules); + $return[$selectedModules[$i]] = $module->get_uploadColumns($selectedModules, $type); } return $return; } diff --git a/lam/lib/modules/account.inc b/lam/lib/modules/account.inc index 29a2ca37..256f43d0 100644 --- a/lam/lib/modules/account.inc +++ b/lam/lib/modules/account.inc @@ -248,22 +248,11 @@ class account extends baseModule { } /** - * Returns an array containing all input columns for the file upload. - * - * Syntax: - *
    array( - *
    string: name, // fixed non-translated name which is used as column name (should be of format: _) - *
    string: description, // short descriptive name - *
    string: help, // help ID - *
    string: example, // example value - *
    boolean: required // true, if user must set a value for this column - *
    ) - * - * @param array $selectedModules list of selected account modules - * @return array column list - */ - function get_uploadColumns($selectedModules) { - $return = parent::get_uploadColumns($selectedModules); + * {@inheritDoc} + * @see baseModule::get_uploadColumns() + */ + function get_uploadColumns($selectedModules, &$type) { + $return = parent::get_uploadColumns($selectedModules, $type); if (!in_array('posixAccount', $selectedModules)) { $return[] = array( 'name' => 'account_uid', diff --git a/lam/lib/modules/inetOrgPerson.inc b/lam/lib/modules/inetOrgPerson.inc index 7eaf32b0..5c40b5d3 100644 --- a/lam/lib/modules/inetOrgPerson.inc +++ b/lam/lib/modules/inetOrgPerson.inc @@ -2136,8 +2136,8 @@ class inetOrgPerson extends baseModule implements passwordService { * {@inheritDoc} * @see baseModule::getManagedAttributes() */ - function get_uploadColumns($selectedModules) { - $return = parent::get_uploadColumns($selectedModules); + function get_uploadColumns($selectedModules, &$type) { + $return = parent::get_uploadColumns($selectedModules, $type); // cn and uid for upload (only if posixAccount is not selected) if (!$this->isUnixActive($selectedModules)) { $return[] = array( diff --git a/lam/lib/modules/kolabGroup.inc b/lam/lib/modules/kolabGroup.inc index 00b2299c..c63c8b7e 100644 --- a/lam/lib/modules/kolabGroup.inc +++ b/lam/lib/modules/kolabGroup.inc @@ -331,8 +331,8 @@ class kolabGroup extends baseModule { * {@inheritDoc} * @see baseModule::getManagedAttributes() */ - function get_uploadColumns($selectedModules) { - $return = parent::get_uploadColumns($selectedModules); + function get_uploadColumns($selectedModules, &$type) { + $return = parent::get_uploadColumns($selectedModules, $type); if ($this->manageMail($selectedModules)) { $return[] = array( 'name' => 'kolabGroup_mail', diff --git a/lam/lib/modules/posixAccount.inc b/lam/lib/modules/posixAccount.inc index 9ab71512..ab15570d 100644 --- a/lam/lib/modules/posixAccount.inc +++ b/lam/lib/modules/posixAccount.inc @@ -2106,8 +2106,8 @@ class posixAccount extends baseModule implements passwordService { * {@inheritDoc} * @see baseModule::getManagedAttributes() */ - function get_uploadColumns($selectedModules) { - $return = parent::get_uploadColumns($selectedModules); + function get_uploadColumns($selectedModules, &$type) { + $return = parent::get_uploadColumns($selectedModules, $type); if (($this->get_scope() == 'user') && $this->manageCn($selectedModules)) { array_unshift($return['upload_columns'], array( 'name' => 'posixAccount_cn', diff --git a/lam/lib/modules/posixGroup.inc b/lam/lib/modules/posixGroup.inc index f4cc3cce..3aea99f4 100644 --- a/lam/lib/modules/posixGroup.inc +++ b/lam/lib/modules/posixGroup.inc @@ -55,8 +55,8 @@ class posixGroup extends baseModule implements passwordService { * {@inheritDoc} * @see baseModule::getManagedAttributes() */ - function get_uploadColumns($selectedModules) { - $return = parent::get_uploadColumns($selectedModules); + function get_uploadColumns($selectedModules, &$type) { + $return = parent::get_uploadColumns($selectedModules, $type); if ($this->manageCnAndDescription($selectedModules)) { array_unshift($return, array( diff --git a/lam/lib/modules/pykotaGroup.inc b/lam/lib/modules/pykotaGroup.inc index 9a9199a5..6b15bcd7 100644 --- a/lam/lib/modules/pykotaGroup.inc +++ b/lam/lib/modules/pykotaGroup.inc @@ -379,8 +379,8 @@ class pykotaGroup extends baseModule { * {@inheritDoc} * @see baseModule::getManagedAttributes() */ - function get_uploadColumns($selectedModules) { - $return = parent::get_uploadColumns($selectedModules); + function get_uploadColumns($selectedModules, &$type) { + $return = parent::get_uploadColumns($selectedModules, $type); if ($this->isUnixOrGonInactive($selectedModules)) { $return[] = array( 'name' => 'pykotaGroup_cn', diff --git a/lam/lib/modules/pykotaUser.inc b/lam/lib/modules/pykotaUser.inc index 0b8904d5..b70fdd30 100644 --- a/lam/lib/modules/pykotaUser.inc +++ b/lam/lib/modules/pykotaUser.inc @@ -733,8 +733,8 @@ class pykotaUser extends baseModule { * {@inheritDoc} * @see baseModule::getManagedAttributes() */ - function get_uploadColumns($selectedModules) { - $return = parent::get_uploadColumns($selectedModules); + function get_uploadColumns($selectedModules, &$type) { + $return = parent::get_uploadColumns($selectedModules, $type); if ($this->manageUid($selectedModules)) { $return[] = array( 'name' => 'pykotaUser_uid', diff --git a/lam/lib/modules/quota.inc b/lam/lib/modules/quota.inc index a9a4a14d..804aa433 100644 --- a/lam/lib/modules/quota.inc +++ b/lam/lib/modules/quota.inc @@ -655,21 +655,10 @@ class quota extends baseModule { } /** - * Returns an array containing all input columns for the file upload. - * - * Syntax: - *
    array( - *
    string: name, // fixed non-translated name which is used as column name (should be of format: _) - *
    string: description, // short descriptive name - *
    string: help, // help ID - *
    string: example, // example value - *
    boolean: required // true, if user must set a value for this column - *
    ) - * - * @param array $selectedModules list of selected account modules - * @return array column list - */ - function get_uploadColumns($selectedModules) { + * {@inheritDoc} + * @see baseModule::get_uploadColumns() + */ + function get_uploadColumns($selectedModules, &$type) { $this->initQuotas(); if (!isset($this->quota) || !is_array($this->quota)) return array(); $return = array(); diff --git a/lam/lib/modules/sambaGroupMapping.inc b/lam/lib/modules/sambaGroupMapping.inc index 8844784c..22936fda 100644 --- a/lam/lib/modules/sambaGroupMapping.inc +++ b/lam/lib/modules/sambaGroupMapping.inc @@ -213,31 +213,11 @@ class sambaGroupMapping extends baseModule { } /** - * Returns an array containing all input columns for the file upload. - * - * Calling this method does not require the existence of an enclosing {@link accountContainer}.
    - *
    - * This funtion returns an array which contains subarrays which represent an upload column. - * Syntax of column arrays: - *
    - *
    array( - *
    string: name, // fixed non-translated name which is used as column name (should be of format: _) - *
    string: description, // short descriptive name - *
    string: help, // help ID - *
    string: example, // example value - *
    string: values, // possible input values (optional) - *
    string: default, // default value (optional) - *
    boolean: required // true, if user must set a value for this column - *
    boolean: unique // true if all values of this column must be different values (optional, default: "false") - *
    ) - * - * @param array $selectedModules list of selected account modules - * @return array column list - * - * @see baseModule::get_metaData() - */ - public function get_uploadColumns($selectedModules) { - $return = parent::get_uploadColumns($selectedModules); + * {@inheritDoc} + * @see baseModule::get_uploadColumns() + */ + public function get_uploadColumns($selectedModules, &$type) { + $return = parent::get_uploadColumns($selectedModules, $type); $domains = $this->getDomains(); $domainNames = array(); for ($i = 0; $i < sizeof($domains); $i++) $domainNames[] = $domains[$i]->name;