use type ids for config check
This commit is contained in:
parent
1e51b59cf9
commit
ea33f2f5ac
|
@ -60,6 +60,15 @@ This is a list of API changes for all LAM releases.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<h2>6.2 -> 6.3</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Module API
|
||||||
|
<ul>
|
||||||
|
<li>get_configOptions(): $allScopes contains type ids instead of account types</li>
|
||||||
|
<li>check_configOptions(): first parameter contains type ids instead of account types</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
<h2>6.1 -> 6.2</h2>
|
<h2>6.1 -> 6.2</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>No major API changes</li>
|
<li>No major API changes</li>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
use \LAM\PDF\PDFLabelValue;
|
use \LAM\PDF\PDFLabelValue;
|
||||||
use \LAM\PDF\PDFTable;
|
use \LAM\PDF\PDFTable;
|
||||||
use LAM\TYPES\ConfiguredType;
|
use LAM\TYPES\ConfiguredType;
|
||||||
|
use function LAM\TYPES\getScopeFromTypeId;
|
||||||
/*
|
/*
|
||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
|
@ -681,15 +682,20 @@ abstract class baseModule {
|
||||||
* If the input data is invalid the return value is an array that contains subarrays to build StatusMessages ('message type', 'message head', 'message text').
|
* If the input data is invalid the return value is an array that contains subarrays to build StatusMessages ('message type', 'message head', 'message text').
|
||||||
* <br>If no errors occured the function returns an empty array.
|
* <br>If no errors occured the function returns an empty array.
|
||||||
*
|
*
|
||||||
* @param array $scopes list of account types which are used
|
* @param array $typeIds list of account type ids which are used
|
||||||
* @param array $options hash array (option name => value) that contains the input. The option values are all arrays containing one or more elements.
|
* @param array $options hash array (option name => value) that contains the input. The option values are all arrays containing one or more elements.
|
||||||
* @return array list of error messages
|
* @return array list of error messages
|
||||||
*
|
*
|
||||||
* @see baseModule::get_metaData()
|
* @see baseModule::get_metaData()
|
||||||
*/
|
*/
|
||||||
public function check_configOptions($scopes, &$options) {
|
public function check_configOptions($typeIds, &$options) {
|
||||||
$messages = array();
|
$messages = array();
|
||||||
$scopes[] = 'all'; // add checks that are independent of scope
|
// add checks that are independent of scope
|
||||||
|
$scopes = array('all');
|
||||||
|
foreach ($typeIds as $typeId) {
|
||||||
|
$scopes[] = getScopeFromTypeId($typeId);
|
||||||
|
}
|
||||||
|
$scopes = array_unique($scopes);
|
||||||
for ($s = 0; $s < sizeof($scopes); $s++) {
|
for ($s = 0; $s < sizeof($scopes); $s++) {
|
||||||
if (isset($this->meta['config_checks'][$scopes[$s]]) && is_array($this->meta['config_checks'][$scopes[$s]])) {
|
if (isset($this->meta['config_checks'][$scopes[$s]]) && is_array($this->meta['config_checks'][$scopes[$s]])) {
|
||||||
$identifiers = array_keys($this->meta['config_checks'][$scopes[$s]]);
|
$identifiers = array_keys($this->meta['config_checks'][$scopes[$s]]);
|
||||||
|
|
|
@ -360,7 +360,7 @@ function getConfigOptions($scopes) {
|
||||||
/**
|
/**
|
||||||
* Checks if the configuration options are valid
|
* Checks if the configuration options are valid
|
||||||
*
|
*
|
||||||
* @param array $scopes hash array (module name => array(account types))
|
* @param array $scopes hash array (module name => array(account type ids))
|
||||||
* @param array $options hash array containing all options (name => array(...))
|
* @param array $options hash array containing all options (name => array(...))
|
||||||
* @return array list of error messages
|
* @return array list of error messages
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -497,21 +497,11 @@ class imapAccess extends baseModule {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks input values of module settings.
|
* {@inheritDoc}
|
||||||
*
|
* @see baseModule::check_configOptions()
|
||||||
* Calling this method does not require the existence of an enclosing {@link accountContainer}.<br>
|
|
||||||
* <br>
|
|
||||||
* If the input data is invalid the return value is an array that contains subarrays to build StatusMessages ('message type', 'message head', 'message text').
|
|
||||||
* <br>If no errors occured the function returns an empty array.
|
|
||||||
*
|
|
||||||
* @param array $scopes list of account types which are used
|
|
||||||
* @param array $options hash array (option name => value) that contains the input. The option values are all arrays containing one or more elements.
|
|
||||||
* @return array list of error messages
|
|
||||||
*
|
|
||||||
* @see baseModule::get_metaData()
|
|
||||||
*/
|
*/
|
||||||
public function check_configOptions($scopes, &$options) {
|
public function check_configOptions($typeIds, &$options) {
|
||||||
$errors = parent::check_configOptions($scopes, $options);
|
$errors = parent::check_configOptions($typeIds, $options);
|
||||||
if ($options['ImapAccess_ImapAdminPasswordSelect'][0] == 'config') {
|
if ($options['ImapAccess_ImapAdminPasswordSelect'][0] == 'config') {
|
||||||
if (empty($options['ImapAccess_ImapAdminPassword'][0])) {
|
if (empty($options['ImapAccess_ImapAdminPassword'][0])) {
|
||||||
$errors[] = $this->messages['config'][2];
|
$errors[] = $this->messages['config'][2];
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
use \LAM\TYPES\TypeManager;
|
use \LAM\TYPES\TypeManager;
|
||||||
|
use function LAM\TYPES\getScopeFromTypeId;
|
||||||
/*
|
/*
|
||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
|
@ -2026,15 +2027,15 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks input values of module settings.
|
* {@inheritDoc}
|
||||||
*
|
* @see baseModule::check_configOptions()
|
||||||
* @param array $scopes list of account types which are used
|
|
||||||
* @param array $options hash array containing the settings (array('option' => array('value')))
|
|
||||||
* @return array list of error messages
|
|
||||||
*/
|
*/
|
||||||
function check_configOptions($scopes, &$options) {
|
function check_configOptions($typeIds, &$options) {
|
||||||
$return = array();
|
$return = array();
|
||||||
// user settings
|
$scopes = array();
|
||||||
|
foreach ($typeIds as $typeId) {
|
||||||
|
$scopes[] = getScopeFromTypeId($typeId);
|
||||||
|
} // user settings
|
||||||
if (in_array('user', $scopes)) {
|
if (in_array('user', $scopes)) {
|
||||||
if ($options['posixAccount_uidGeneratorUsers'][0] == 'range') {
|
if ($options['posixAccount_uidGeneratorUsers'][0] == 'range') {
|
||||||
// min/maxUID are required, check if they are numeric
|
// min/maxUID are required, check if they are numeric
|
||||||
|
|
|
@ -1016,20 +1016,10 @@ class posixGroup extends baseModule implements passwordService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks input values of module settings.
|
* {@inheritDoc}
|
||||||
*
|
* @see baseModule::check_configOptions()
|
||||||
* Calling this method does not require the existence of an enclosing {@link accountContainer}.<br>
|
|
||||||
* <br>
|
|
||||||
* If the input data is invalid the return value is an array that contains subarrays to build StatusMessages ('message type', 'message head', 'message text').
|
|
||||||
* <br>If no errors occured the function returns an empty array.
|
|
||||||
*
|
|
||||||
* @param array $scopes list of account types which are used
|
|
||||||
* @param array $options hash array (option name => value) that contains the input. The option values are all arrays containing one or more elements.
|
|
||||||
* @return array list of error messages
|
|
||||||
*
|
|
||||||
* @see baseModule::get_metaData()
|
|
||||||
*/
|
*/
|
||||||
public function check_configOptions($scopes, &$options) {
|
public function check_configOptions($typeIds, &$options) {
|
||||||
if ($options['posixGroup_gidGenerator'][0] == 'range') {
|
if ($options['posixGroup_gidGenerator'][0] == 'range') {
|
||||||
$this->meta['config_checks']['group']['posixGroup_minGID'] = array (
|
$this->meta['config_checks']['group']['posixGroup_minGID'] = array (
|
||||||
'type' => 'ext_preg',
|
'type' => 'ext_preg',
|
||||||
|
@ -1065,7 +1055,7 @@ class posixGroup extends baseModule implements passwordService {
|
||||||
'required_message' => $this->messages['windowsIDPoolDN'][0],
|
'required_message' => $this->messages['windowsIDPoolDN'][0],
|
||||||
'error_message' => $this->messages['windowsIDPoolDN'][0]);
|
'error_message' => $this->messages['windowsIDPoolDN'][0]);
|
||||||
}
|
}
|
||||||
return parent::check_configOptions($scopes, $options);
|
return parent::check_configOptions($typeIds, $options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -224,7 +224,7 @@ function checkInput() {
|
||||||
foreach ($types as $type) {
|
foreach ($types as $type) {
|
||||||
$mods = $conf->get_AccountModules($type->getId());
|
$mods = $conf->get_AccountModules($type->getId());
|
||||||
for ($i = 0; $i < sizeof($mods); $i++) {
|
for ($i = 0; $i < sizeof($mods); $i++) {
|
||||||
$scopes[$mods[$i]][] = $type->getScope();
|
$scopes[$mods[$i]][] = $type->getId();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// check options
|
// check options
|
||||||
|
|
Loading…
Reference in New Issue