mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-05-15 18:15:27 +02:00
Add some class properties type & coments and clean errors detected by PHPstan (level 2)
This commit is contained in:
parent
8a02680114
commit
bbde10bbf0
|
@ -2,14 +2,17 @@ stages:
|
||||||
- tests
|
- tests
|
||||||
|
|
||||||
tests:
|
tests:
|
||||||
image: composer
|
image:
|
||||||
|
name: brenard/ldapsaisie:dev
|
||||||
|
entrypoint: ["/bin/sh", "-c"]
|
||||||
stage: tests
|
stage: tests
|
||||||
rules:
|
rules:
|
||||||
- changes:
|
- changes:
|
||||||
- src/*
|
- src/*
|
||||||
script:
|
script:
|
||||||
- composer install
|
- composer install
|
||||||
- ./vendor/bin/phpstan analyse --no-interaction --configuration=phpstan.neon --error-format=junit > tests-report.xml
|
- service slapd start
|
||||||
|
- ./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report.xml
|
||||||
artifacts:
|
artifacts:
|
||||||
when: always
|
when: always
|
||||||
paths:
|
paths:
|
||||||
|
|
15
.phpstan/config.neon
Normal file
15
.phpstan/config.neon
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
parameters:
|
||||||
|
level: 2
|
||||||
|
paths:
|
||||||
|
- ../src
|
||||||
|
excludePaths:
|
||||||
|
- ../src/local
|
||||||
|
- ../src/tmp
|
||||||
|
bootstrapFiles:
|
||||||
|
- ../src/includes/core.php
|
||||||
|
- init.php
|
||||||
|
typeAliases:
|
||||||
|
LSformat: 'string'
|
||||||
|
universalObjectCratesClasses:
|
||||||
|
- LSsearchEntry
|
||||||
|
- LSurlRequest
|
10
.phpstan/init.php
Normal file
10
.phpstan/init.php
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
require 'Net/LDAP2.php';
|
||||||
|
require 'Console/Table.php';
|
||||||
|
require 'Zxcvbn/autoload.php';
|
||||||
|
require '/usr/share/php/phpseclib/autoload.php';
|
||||||
|
require 'CAS.php';
|
||||||
|
|
||||||
|
spl_autoload_register(array('LSsession', 'loadLSclass'));
|
||||||
|
LSsession :: initialize();
|
78
composer.lock
generated
Normal file
78
composer.lock
generated
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
{
|
||||||
|
"_readme": [
|
||||||
|
"This file locks the dependencies of your project to a known state",
|
||||||
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
|
"This file is @generated automatically"
|
||||||
|
],
|
||||||
|
"content-hash": "37f736b754e8e0455f279bf0da013262",
|
||||||
|
"packages": [],
|
||||||
|
"packages-dev": [
|
||||||
|
{
|
||||||
|
"name": "phpstan/phpstan",
|
||||||
|
"version": "1.9.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/phpstan/phpstan.git",
|
||||||
|
"reference": "d03bccee595e2146b7c9d174486b84f4dc61b0f2"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/d03bccee595e2146b7c9d174486b84f4dc61b0f2",
|
||||||
|
"reference": "d03bccee595e2146b7c9d174486b84f4dc61b0f2",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.2|^8.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"phpstan/phpstan-shim": "*"
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"phpstan",
|
||||||
|
"phpstan.phar"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"description": "PHPStan - PHP Static Analysis Tool",
|
||||||
|
"keywords": [
|
||||||
|
"dev",
|
||||||
|
"static analysis"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/phpstan/phpstan/issues",
|
||||||
|
"source": "https://github.com/phpstan/phpstan/tree/1.9.4"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/ondrejmirtes",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/phpstan",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2022-12-17T13:33:52+00:00"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"aliases": [],
|
||||||
|
"minimum-stability": "stable",
|
||||||
|
"stability-flags": [],
|
||||||
|
"prefer-stable": false,
|
||||||
|
"prefer-lowest": false,
|
||||||
|
"platform": [],
|
||||||
|
"platform-dev": [],
|
||||||
|
"plugin-api-version": "2.3.0"
|
||||||
|
}
|
|
@ -480,12 +480,12 @@ les possibilités de contribution.</para>
|
||||||
/**
|
/**
|
||||||
* Args autocompleter for CLI my_custom_cli_cmd command
|
* Args autocompleter for CLI my_custom_cli_cmd command
|
||||||
*
|
*
|
||||||
* @param array $command_args List of already typed words of the command
|
* @param array[string] $command_args List of already typed words of the command
|
||||||
* @param int $comp_word_num The command word number to autocomplete
|
* @param int $comp_word_num The command word number to autocomplete
|
||||||
* @param string $comp_word The command word to autocomplete
|
* @param string $comp_word The command word to autocomplete
|
||||||
* @param array $opts List of global available options
|
* @param array[string] $opts List of global available options
|
||||||
*
|
*
|
||||||
* @return array List of available options for the word to autocomplete
|
* @return array[string] List of available options for the word to autocomplete
|
||||||
**/
|
**/
|
||||||
public static function cli_my_custom_cli_cmd_autocompleter($command_args, $comp_word_num, $comp_word, $opts) {
|
public static function cli_my_custom_cli_cmd_autocompleter($command_args, $comp_word_num, $comp_word, $opts) {
|
||||||
$opts = array_merge($opts, array ('-f', '--force'));
|
$opts = array_merge($opts, array ('-f', '--force'));
|
||||||
|
|
|
@ -8,7 +8,7 @@ RUN wget -O - http://ldapsaisie.org/debian/ldapsaisie.gpg.key | apt-key add -
|
||||||
COPY apt.list /etc/apt/sources.list.d/ldapsaisie.list
|
COPY apt.list /etc/apt/sources.list.d/ldapsaisie.list
|
||||||
RUN apt-get update
|
RUN apt-get update
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
RUN DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get install -y git slapd apache2 php-ldap libapache2-mod-php php-cli smarty3 php-net-ldap2 php-net-ftp php-mail php-mail-mime php-console-table ldapvi locales sed bash-completion liquidprompt vim curl jq iproute2 net-tools
|
RUN DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get install -y git slapd apache2 php-ldap libapache2-mod-php php-cli smarty3 php-net-ldap2 php-net-ftp php-mail php-mail-mime php-console-table ldapvi locales sed bash-completion liquidprompt vim curl jq iproute2 net-tools composer php-cas php-zxcvbn php-phpseclib
|
||||||
# Add fr_FR* locales
|
# Add fr_FR* locales
|
||||||
RUN sed -i 's/^# fr_FR/fr_FR/' /etc/locale.gen
|
RUN sed -i 's/^# fr_FR/fr_FR/' /etc/locale.gen
|
||||||
RUN locale-gen
|
RUN locale-gen
|
||||||
|
|
32
phpstan.neon
32
phpstan.neon
|
@ -1,32 +0,0 @@
|
||||||
parameters:
|
|
||||||
level: 1
|
|
||||||
paths:
|
|
||||||
- src
|
|
||||||
excludePaths:
|
|
||||||
- src/local
|
|
||||||
- src/tmp
|
|
||||||
# Error message "Class Smarty_Resource_LdapSaisie extends unknown class Smarty_Resource_Custom." cannot be ignored, use excludePaths instead.
|
|
||||||
- src/includes/class/class.LStemplate_smarty3_support.php
|
|
||||||
bootstrapFiles:
|
|
||||||
- src/includes/core.php
|
|
||||||
universalObjectCratesClasses:
|
|
||||||
- LSsearch
|
|
||||||
- LSsearchEntry
|
|
||||||
- LSrelation
|
|
||||||
- LSlog_handler
|
|
||||||
- LSlog_logger
|
|
||||||
- LSldapObject
|
|
||||||
- LSurlRequest
|
|
||||||
ignoreErrors:
|
|
||||||
- "#Instantiated class (Smarty|Console_Table|ZxcvbnPhp\\\\Zxcvbn|phpseclib\\\\Crypt\\\\RSA|phpseclib\\\\Net\\\\SFTP|phpseclib\\\\Net\\\\SSH2|Net_FTP) not found\\.#"
|
|
||||||
- "#Call to static method (connect|isError)\\(\\) on an unknown class Net_LDAP2\\.#"
|
|
||||||
- "#(Class|Constant) (Net_LDAP2_Filter|Net_LDAP2_Entry|PEAR_Error) not found\\.#"
|
|
||||||
- "#Call to static method (create|parse|combine|escape)\\(\\) on an unknown class Net_LDAP2_Filter\\.#"
|
|
||||||
- "#Call to static method (createFresh)\\(\\) on an unknown class Net_LDAP2_Entry\\.#"
|
|
||||||
- "#Call to static method (forceAuthentication|getUser|logout|setDebug|client|setNoCasServerValidation|setCasServerCACert|setExtraCurlOption)\\(\\) on an unknown class phpCAS\\.#"
|
|
||||||
-
|
|
||||||
message: "#Call to static method factory\\(\\) on an unknown class Mail\\.#"
|
|
||||||
path: src/includes/addons/LSaddons.mail.php
|
|
||||||
-
|
|
||||||
message: "#Instantiated class Mail_mime not found\\.#"
|
|
||||||
path: src/includes/addons/LSaddons.mail.php
|
|
|
@ -24,16 +24,19 @@
|
||||||
|
|
||||||
// Support
|
// Support
|
||||||
LSerror :: defineError('ASTERISK_SUPPORT_01',
|
LSerror :: defineError('ASTERISK_SUPPORT_01',
|
||||||
___("Asterisk Support : The constant %{const} is not defined.")
|
___("Asterisk Support: The constant %{const} is not defined.")
|
||||||
);
|
);
|
||||||
LSerror :: defineError('ASTERISK_01',
|
LSerror :: defineError('ASTERISK_01',
|
||||||
___("Asterisk : The function %{function} only work with %{objectName}.")
|
___("Asterisk: The function %{function} only work with %{objectName}.")
|
||||||
);
|
);
|
||||||
LSerror :: defineError('ASTERISK_02',
|
LSerror :: defineError('ASTERISK_02',
|
||||||
___("Asterisk : The attribute %{dependency} is missing. Unable to generate MD5 hashed password.")
|
___("Asterisk: The attribute %{dependency} is missing. Unable to generate MD5 hashed password.")
|
||||||
);
|
);
|
||||||
LSerror :: defineError('ASTERISK_03',
|
LSerror :: defineError('ASTERISK_03',
|
||||||
___("Asterisk : Clear password not availlable. Unable to generate MD5 hashed password.")
|
___("Asterisk: Clear password not availlable. Unable to generate MD5 hashed password.")
|
||||||
|
);
|
||||||
|
LSerror :: defineError('ASTERISK_04',
|
||||||
|
___("Asterisk: The LDAP attribute type of the attribute %{attr} is incorrect: its must be password.")
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -104,6 +107,16 @@ LSerror :: defineError('ASTERISK_03',
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
!is_a(
|
||||||
|
$ldapObject -> attrs[ LS_ASTERISK_USERPASSWORD_ATTR ] -> ldap,
|
||||||
|
'LSattr_ldap_password'
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
LSerror :: addErrorCode('ASTERISK_04', LS_ASTERISK_USERPASSWORD_ATTR);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$password = $ldapObject -> attrs[ LS_ASTERISK_USERPASSWORD_ATTR ] -> ldap -> getClearPassword();
|
$password = $ldapObject -> attrs[ LS_ASTERISK_USERPASSWORD_ATTR ] -> ldap -> getClearPassword();
|
||||||
if (!$password) {
|
if (!$password) {
|
||||||
LSerror :: addErrorCode('ASTERISK_03');
|
LSerror :: addErrorCode('ASTERISK_03');
|
||||||
|
|
|
@ -81,7 +81,7 @@ function LSaddon_mailquota_support() {
|
||||||
/**
|
/**
|
||||||
* Get IMAP mailbox usage
|
* Get IMAP mailbox usage
|
||||||
*
|
*
|
||||||
* @param LSldapObject $ldapobject The LDAP object
|
* @param LSldapObject &$LSldapObject The LDAP object
|
||||||
*
|
*
|
||||||
* @return array|false Array with mailbox usage and quota, or false
|
* @return array|false Array with mailbox usage and quota, or false
|
||||||
**/
|
**/
|
||||||
|
@ -144,7 +144,7 @@ function mailquota_get_usage(&$LSldapObject) {
|
||||||
* [...]
|
* [...]
|
||||||
* );
|
* );
|
||||||
*
|
*
|
||||||
* @param LSldapObject $ldapobject The LDAP object
|
* @param LSldapObject &$LSldapObject The LDAP object
|
||||||
*
|
*
|
||||||
* @return true in any case
|
* @return true in any case
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -112,7 +112,7 @@ function get_ppolicy_object($dn) {
|
||||||
/**
|
/**
|
||||||
* Retrieve ppolicy password max age
|
* Retrieve ppolicy password max age
|
||||||
*
|
*
|
||||||
* @param string $dn Optional DN of the ppolicy object to use
|
* @param string|null $ppolicy_dn Optional DN of the ppolicy object to use
|
||||||
*
|
*
|
||||||
* @return int|null|false The ppolicy password max age (in second) if defined, null if no password max age is defined or false in case of error
|
* @return int|null|false The ppolicy password max age (in second) if defined, null if no password max age is defined or false in case of error
|
||||||
*
|
*
|
||||||
|
@ -134,9 +134,9 @@ function get_ppolicy_password_max_age($ppolicy_dn=null) {
|
||||||
/**
|
/**
|
||||||
* Format and return HTML code of a badge
|
* Format and return HTML code of a badge
|
||||||
*
|
*
|
||||||
* @param string $dn The text of the badge
|
* @param string $text The text of the badge
|
||||||
* @param string $dn The background color of the badge (optional, default: green)
|
* @param string $bg_color The background color of the badge (optional, default: green)
|
||||||
* @param string $dn The text color of the badge (optional, default: white)
|
* @param string $color The text color of the badge (optional, default: white)
|
||||||
*
|
*
|
||||||
* @return string The HTML code of the badge
|
* @return string The HTML code of the badge
|
||||||
*
|
*
|
||||||
|
@ -195,6 +195,8 @@ function ppolicy_extraDisplayColumn_password_expiration($entry) {
|
||||||
* Write LSsearch result as CSV and force download of it.
|
* Write LSsearch result as CSV and force download of it.
|
||||||
*
|
*
|
||||||
* @param LSsearch $LSsearch The LSsearch object
|
* @param LSsearch $LSsearch The LSsearch object
|
||||||
|
* @param boolean $as_csv True for CSV export, False for JSON export
|
||||||
|
* @param boolean $return Set to true to return data instead of trigger the download of it
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
|
@ -432,12 +434,12 @@ function cli_export_ppolicy_info($command_args) {
|
||||||
/**
|
/**
|
||||||
* Args autocompleter for CLI export_ppolicy_info command
|
* Args autocompleter for CLI export_ppolicy_info command
|
||||||
*
|
*
|
||||||
* @param string $dn List of already typed words of the command
|
* @param array[string] $command_args List of already typed words of the command
|
||||||
* @param string $dn The command word number to autocomplete
|
* @param int $comp_word_num The command word number to autocomplete
|
||||||
* @param string $dn The command word to autocomplete
|
* @param string $comp_word The command word to autocomplete
|
||||||
* @param string $dn List of global available options
|
* @param array[string] $opts List of global available options
|
||||||
*
|
*
|
||||||
* @return array List of available options for the word to autocomplete
|
* @return array[string] List of available options for the word to autocomplete
|
||||||
**/
|
**/
|
||||||
function cli_export_ppolicy_info_args_autocompleter($command_args, $comp_word_num, $comp_word, $opts) {
|
function cli_export_ppolicy_info_args_autocompleter($command_args, $comp_word_num, $comp_word, $opts) {
|
||||||
$opts = array_merge($opts, array ('-o', '--output', '-j', '--json', '-p', '--pretty'));
|
$opts = array_merge($opts, array ('-o', '--output', '-j', '--json', '-p', '--pretty'));
|
||||||
|
|
|
@ -36,16 +36,19 @@ LSerror :: defineError('SAMBA_SUPPORT_03',
|
||||||
|
|
||||||
// Autres erreurs
|
// Autres erreurs
|
||||||
LSerror :: defineError('SAMBA_01',
|
LSerror :: defineError('SAMBA_01',
|
||||||
___("SAMBA Support: The attribute %{dependency} is missing. Unable to forge the attribute %{attr}.")
|
___("SAMBA: The attribute %{dependency} is missing. Unable to forge the attribute %{attr}.")
|
||||||
);
|
);
|
||||||
LSerror :: defineError('SAMBA_02',
|
LSerror :: defineError('SAMBA_02',
|
||||||
___("SAMBA Support: Can't get the sambaUnixIdPool object.")
|
___("SAMBA: Can't get the sambaUnixIdPool object.")
|
||||||
);
|
);
|
||||||
LSerror :: defineError('SAMBA_03',
|
LSerror :: defineError('SAMBA_03',
|
||||||
___("SAMBA Support: Error modifying the sambaUnixIdPool object.")
|
___("SAMBA: Error modifying the sambaUnixIdPool object.")
|
||||||
);
|
);
|
||||||
LSerror :: defineError('SAMBA_04',
|
LSerror :: defineError('SAMBA_04',
|
||||||
___("SAMBA Support: The %{attr} of the sambaUnixIdPool object is incorrect.")
|
___("SAMBA: The %{attr} of the sambaUnixIdPool object is incorrect.")
|
||||||
|
);
|
||||||
|
LSerror :: defineError('SAMBA_05',
|
||||||
|
___("SAMBA: The LDAP attribute type of the attribute %{attr} is incorrect: its must be password.")
|
||||||
);
|
);
|
||||||
|
|
||||||
// CONSTANTES
|
// CONSTANTES
|
||||||
|
@ -110,7 +113,7 @@ function LSaddon_samba_support() {
|
||||||
* sambaSID = LS_SAMBA_DOMAIN_SID-Number
|
* sambaSID = LS_SAMBA_DOMAIN_SID-Number
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
* @param LSldapObjet $ldapObject The LSldapObjet object
|
* @param LSldapObject $ldapObject The LSldapObject object
|
||||||
* @param string $unix_attr The UNIX attribute name
|
* @param string $unix_attr The UNIX attribute name
|
||||||
* @param integer $base_number The base number value
|
* @param integer $base_number The base number value
|
||||||
*
|
*
|
||||||
|
@ -139,7 +142,7 @@ function generate_sambaSID($ldapObject, $unix_attr, $base_number) {
|
||||||
* Number = LS_SAMBA_UIDNUMBER_ATTR * 2 + LS_SAMBA_SID_BASE_USER
|
* Number = LS_SAMBA_UIDNUMBER_ATTR * 2 + LS_SAMBA_SID_BASE_USER
|
||||||
* sambaSID = LS_SAMBA_DOMAIN_SID-Number
|
* sambaSID = LS_SAMBA_DOMAIN_SID-Number
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @return string User SambaSID value on success, false otherwise
|
* @return string User SambaSID value on success, false otherwise
|
||||||
|
@ -156,7 +159,7 @@ function generate_user_sambaSID($ldapObject) {
|
||||||
* Number = LS_SAMBA_UIDNUMBER_ATTR * 2 + LS_SAMBA_SID_BASE_USER
|
* Number = LS_SAMBA_UIDNUMBER_ATTR * 2 + LS_SAMBA_SID_BASE_USER
|
||||||
* sambaSID = LS_SAMBA_DOMAIN_SID-Number
|
* sambaSID = LS_SAMBA_DOMAIN_SID-Number
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @return string User SambaSID value on success, false otherwise
|
* @return string User SambaSID value on success, false otherwise
|
||||||
|
@ -179,7 +182,7 @@ function generate_sambaUserSID($ldapObject) {
|
||||||
* Number = LS_SAMBA_GIDNUMBER_ATTR * 2 + LS_SAMBA_SID_BASE_GROUP
|
* Number = LS_SAMBA_GIDNUMBER_ATTR * 2 + LS_SAMBA_SID_BASE_GROUP
|
||||||
* sambaSID = LS_SAMBA_DOMAIN_SID-Number
|
* sambaSID = LS_SAMBA_DOMAIN_SID-Number
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The group LSldapObjet object
|
* @param LSldapObject $ldapObject The group LSldapObject object
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @return string Group SambaSID value on success, false otherwise
|
* @return string Group SambaSID value on success, false otherwise
|
||||||
|
@ -194,7 +197,7 @@ function generate_group_sambaSID($ldapObject) {
|
||||||
* Note: old-name of the function keep for retro-compatibility. An error
|
* Note: old-name of the function keep for retro-compatibility. An error
|
||||||
* message is raised when this function is used.
|
* message is raised when this function is used.
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The group LSldapObjet object
|
* @param LSldapObject $ldapObject The group LSldapObject object
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @return string Group SambaSID value on success, false otherwise
|
* @return string Group SambaSID value on success, false otherwise
|
||||||
|
@ -217,7 +220,7 @@ function generate_sambaGroupSID($ldapObject) {
|
||||||
* Number = LS_SAMBA_GIDNUMBER_ATTR * 2 + LS_SAMBA_SID_BASE_GROUP
|
* Number = LS_SAMBA_GIDNUMBER_ATTR * 2 + LS_SAMBA_SID_BASE_GROUP
|
||||||
* sambaSID = LS_SAMBA_DOMAIN_SID-Number
|
* sambaSID = LS_SAMBA_DOMAIN_SID-Number
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The LSldapObjet object
|
* @param LSldapObject $ldapObject The LSldapObject object
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @return string The sambaPrimaryGroupSID value on success, false otherwise
|
* @return string The sambaPrimaryGroupSID value on success, false otherwise
|
||||||
|
@ -232,7 +235,7 @@ function generate_sambaPrimaryGroupSID($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return string|false sambaNTPassword value on success, false otherwise
|
* @return string|false sambaNTPassword value on success, false otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -242,6 +245,15 @@ function generate_sambaPrimaryGroupSID($ldapObject) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
!is_a(
|
||||||
|
$ldapObject -> attrs[ LS_SAMBA_USERPASSWORD_ATTR ] -> ldap,
|
||||||
|
'LSattr_ldap_password'
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
LSerror :: addErrorCode('SAMBA_05', LS_SAMBA_USERPASSWORD_ATTR);
|
||||||
|
return;
|
||||||
|
}
|
||||||
$password = $ldapObject -> attrs[ LS_SAMBA_USERPASSWORD_ATTR ] -> ldap -> getClearPassword();
|
$password = $ldapObject -> attrs[ LS_SAMBA_USERPASSWORD_ATTR ] -> ldap -> getClearPassword();
|
||||||
$sambapassword = new smbHash;
|
$sambapassword = new smbHash;
|
||||||
$sambaNTPassword = $sambapassword -> nthash($password);
|
$sambaNTPassword = $sambapassword -> nthash($password);
|
||||||
|
@ -257,7 +269,7 @@ function generate_sambaPrimaryGroupSID($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return string|false sambaLMPassword value on success, false otherwise
|
* @return string|false sambaLMPassword value on success, false otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -267,6 +279,16 @@ function generate_sambaPrimaryGroupSID($ldapObject) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
!is_a(
|
||||||
|
$ldapObject -> attrs[ LS_SAMBA_USERPASSWORD_ATTR ] -> ldap,
|
||||||
|
'LSattr_ldap_password'
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
LSerror :: addErrorCode('SAMBA_05', LS_SAMBA_USERPASSWORD_ATTR);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$password = $ldapObject -> attrs[ LS_SAMBA_USERPASSWORD_ATTR ] -> ldap -> getClearPassword();
|
$password = $ldapObject -> attrs[ LS_SAMBA_USERPASSWORD_ATTR ] -> ldap -> getClearPassword();
|
||||||
$sambapassword = new smbHash;
|
$sambapassword = new smbHash;
|
||||||
$sambaLMPassword = $sambapassword -> lmhash($password);
|
$sambaLMPassword = $sambapassword -> lmhash($password);
|
||||||
|
@ -282,7 +304,7 @@ function generate_sambaPrimaryGroupSID($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param string $unix_attr The sambaUnixIdPool attribute name that contain next ID value
|
* @param string $attr The sambaUnixIdPool attribute name that contain next ID value
|
||||||
*
|
*
|
||||||
* @return integer UNIX ID value on success, false otherwise
|
* @return integer UNIX ID value on success, false otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -295,12 +317,12 @@ function get_samba_unix_pool_next_id($attr) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$next_id = $unix_id_pool->getValue($attr, 'single');
|
$next_id = $unix_id_pool->getValue($attr, 'single');
|
||||||
if (Net_LDAP2::isError($next_id) || $next_id == 0) {
|
if (Net_LDAP2::isError($next_id) || $next_id == '0') {
|
||||||
LSerror :: addErrorCode('SAMBA_04', $attr);
|
LSerror :: addErrorCode('SAMBA_04', $attr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$unix_id_pool->replace(array($attr => ($next_id+1)));
|
$unix_id_pool->replace(array($attr => (intval($next_id) + 1)));
|
||||||
$res = $unix_id_pool->update();
|
$res = $unix_id_pool->update();
|
||||||
if(!Net_LDAP2::isError($res)) {
|
if(!Net_LDAP2::isError($res)) {
|
||||||
return $next_id;
|
return $next_id;
|
||||||
|
@ -316,7 +338,7 @@ function get_samba_unix_pool_next_id($attr) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return integer|false uidNumber value on success, false otherwise
|
* @return integer|false uidNumber value on success, false otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -332,7 +354,7 @@ function generate_samba_uidNumber($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return integer|false uidNumber value on success, false otherwise
|
* @return integer|false uidNumber value on success, false otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -353,7 +375,7 @@ function generate_uidNumber_withSambaDomainObject($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return integer|false gidNumber value on success, false otherwise
|
* @return integer|false gidNumber value on success, false otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -369,7 +391,7 @@ function generate_samba_gidNumber($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return integer|false gidNumber value on success, false otherwise
|
* @return integer|false gidNumber value on success, false otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -457,7 +479,7 @@ function generate_sambaDomainName($anything) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return string The sambaHomePath attribute value
|
* @return string The sambaHomePath attribute value
|
||||||
*/
|
*/
|
||||||
|
@ -470,7 +492,7 @@ function generate_sambaHomePath($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return string The sambaProfilePath attribute value
|
* @return string The sambaProfilePath attribute value
|
||||||
*/
|
*/
|
||||||
|
@ -484,7 +506,7 @@ function generate_sambaProfilePath($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return string The shadowExpire attribute value
|
* @return string The shadowExpire attribute value
|
||||||
*/
|
*/
|
||||||
|
@ -500,7 +522,7 @@ function generate_shadowExpire_from_sambaPwdMustChange($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return string Timestamp corresponding to shadowExpire
|
* @return string Timestamp corresponding to shadowExpire
|
||||||
*/
|
*/
|
||||||
|
@ -517,7 +539,7 @@ function generate_timestamp_from_shadowExpire($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return string The sambaPwdMustChange attribute value
|
* @return string The sambaPwdMustChange attribute value
|
||||||
*/
|
*/
|
||||||
|
@ -531,7 +553,7 @@ function generate_sambaPwdMustChange_from_shadowExpire($ldapObject) {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObjet $ldapObject The user LSldapObjet object
|
* @param LSldapObject $ldapObject The user LSldapObject object
|
||||||
*
|
*
|
||||||
* @return string The sambaKickoffTime attribute value
|
* @return string The sambaKickoffTime attribute value
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -163,7 +163,7 @@ LSerror :: defineError('SSH_07',
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($sftp))
|
if ($sftp)
|
||||||
$cnx = new SFTP($host, $port, $timeout);
|
$cnx = new SFTP($host, $port, $timeout);
|
||||||
else
|
else
|
||||||
$cnx = new SSH2($host, $port, $timeout);
|
$cnx = new SSH2($host, $port, $timeout);
|
||||||
|
@ -182,12 +182,12 @@ LSerror :: defineError('SSH_07',
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param array $params Connection parameters
|
* @param array $connection_params Connection parameters
|
||||||
* @param array|string $dirs The directory/ies to add
|
* @param array|string $dirs The directory/ies to add
|
||||||
* @param boolean $sftp The directory/ies mode as an octal number (do not forget leading zero,
|
* @param int $chmod The directory/ies mode as an octal number (do not forget leading zero,
|
||||||
* example: 0755 or 02755, default : default umask on the SSH server)
|
* example: 0755 or 02755, default : default umask on the SSH server)
|
||||||
* @param boolean $sftp Enable recursive mode (default : false)
|
* @param boolean $recursive Enable recursive mode (default : false)
|
||||||
* @param boolean $sftp Enable continue mode : do not on error (default : false)
|
* @param boolean $continue Enable continue mode : do not on error (default : false)
|
||||||
*
|
*
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
|
@ -216,10 +216,10 @@ LSerror :: defineError('SSH_07',
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param array $params Connection parameters
|
* @param array $connection_params Connection parameters
|
||||||
* @param array|string $dirs The directory/ies to remove
|
* @param array|string $dirs The directory/ies to remove
|
||||||
* @param boolean $sftp Enable recursive mode (default : false)
|
* @param boolean $recursive Enable recursive mode (default : false)
|
||||||
* @param boolean $sftp Enable continue mode : do not on error (default : false)
|
* @param boolean $continue Enable continue mode : do not on error (default : false)
|
||||||
*
|
*
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
|
@ -248,9 +248,9 @@ LSerror :: defineError('SSH_07',
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param array $params Connection parameters
|
* @param array $connection_params Connection parameters
|
||||||
* @param array $params The actual directory path to rename
|
* @param string $old The actual directory path to rename
|
||||||
* @param array $params The new directory path
|
* @param string $new The new directory path
|
||||||
*
|
*
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
|
@ -272,8 +272,8 @@ LSerror :: defineError('SSH_07',
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param array $params Connection parameters
|
* @param array $connection_params Connection parameters
|
||||||
* @param array $params The command to run on remote server
|
* @param string $cmd The command to run on remote server
|
||||||
*
|
*
|
||||||
* @return mixed False if connection fail and an array otherwise, with
|
* @return mixed False if connection fail and an array otherwise, with
|
||||||
* exit code as first value and the command outup as second
|
* exit code as first value and the command outup as second
|
||||||
|
|
|
@ -277,7 +277,7 @@ function generate_eduPersonOrgDN($ldapObject) {
|
||||||
*
|
*
|
||||||
* {SUPANN}S410
|
* {SUPANN}S410
|
||||||
*
|
*
|
||||||
* @param string $val La valeur
|
* @param string $value La valeur
|
||||||
*
|
*
|
||||||
* @return array Un tableau cle->valeur contenant label et value ou False
|
* @return array Un tableau cle->valeur contenant label et value ou False
|
||||||
**/
|
**/
|
||||||
|
@ -522,7 +522,7 @@ function supannSearchParrainByPattern($pattern, $max_matches=10) {
|
||||||
* @param string $label L'étiquette de la valeur (optionnel)
|
* @param string $label L'étiquette de la valeur (optionnel)
|
||||||
* @param string $value La valeur
|
* @param string $value La valeur
|
||||||
*
|
*
|
||||||
* @return booleab True si valide, False sinon
|
* @return bool True si valide, False sinon
|
||||||
**/
|
**/
|
||||||
function supannValidateNomenclatureValue($table, $label, $value) {
|
function supannValidateNomenclatureValue($table, $label, $value) {
|
||||||
if (!supannLoadNomenclature($table))
|
if (!supannLoadNomenclature($table))
|
||||||
|
|
|
@ -29,23 +29,39 @@ LSsession :: loadLSclass('LSlog_staticLoggerClass');
|
||||||
*/
|
*/
|
||||||
class LSattr_html extends LSlog_staticLoggerClass {
|
class LSattr_html extends LSlog_staticLoggerClass {
|
||||||
|
|
||||||
// The attribute name
|
/**
|
||||||
var $name;
|
* The attribute name
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var string $name;
|
||||||
|
|
||||||
// The attribute configuration
|
/**
|
||||||
var $config;
|
* Attribute configuration (LSobjects.<type>.attrs.<attr_name>)
|
||||||
|
* @var array<string,mixed>
|
||||||
|
*/
|
||||||
|
var array $config;
|
||||||
|
|
||||||
// The reference of the parent LSattribute object
|
/**
|
||||||
var $attribute;
|
* The reference of the parent LSattribute object
|
||||||
|
* @var LSattribute
|
||||||
|
*/
|
||||||
|
var LSattribute $attribute;
|
||||||
|
|
||||||
// The corresponding LSformElement object type
|
/**
|
||||||
var $LSformElement_type = false;
|
* The corresponding LSformElement object type
|
||||||
|
* Note: Must be set in implemented classes
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var string $LSformElement_type = '';
|
||||||
|
|
||||||
// If true, this LSattr_html type is considered as able to only support
|
/**
|
||||||
// the first and unique value of the attribute. If more than one value
|
* If true, this LSattr_html type is considered as able to only support
|
||||||
// is passed to this LSattr_html type, an LSattr_html_03 error will be
|
* the first and unique value of the attribute. If more than one value
|
||||||
// triggered.
|
* is passed to this LSattr_html type, an LSattr_html_03 error will be
|
||||||
protected $singleValue = false;
|
* triggered.
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
protected bool $singleValue = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructeur
|
* Constructeur
|
||||||
|
@ -123,7 +139,7 @@ class LSattr_html extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Effectue les tâches nécéssaires au moment du rafraichissement du formulaire
|
* Effectue les tâches nécéssaires au moment du rafraichissement du formulaire
|
||||||
*
|
*
|
||||||
* @param mixed $data La valeur de l'attribut
|
* @param mixed $data The attribute value
|
||||||
*
|
*
|
||||||
* @return mixed La valeur formatée de l'attribut
|
* @return mixed La valeur formatée de l'attribut
|
||||||
**/
|
**/
|
||||||
|
@ -145,9 +161,9 @@ class LSattr_html extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Return a configuration parameter (or default value)
|
* Return a configuration parameter (or default value)
|
||||||
*
|
*
|
||||||
* @param[] $param The configuration parameter
|
* @param string $param The configuration parameter
|
||||||
* @param[] $default The default value (default : null)
|
* @param mixed $default The default value (default : null)
|
||||||
* @param[] $cast Cast resulting value in specific type (default : disabled)
|
* @param string $cast Cast resulting value in specific type (default : disabled)
|
||||||
*
|
*
|
||||||
* @return mixed The configuration parameter value or default value if not set
|
* @return mixed The configuration parameter value or default value if not set
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_boolean extends LSattr_html {
|
class LSattr_html_boolean extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'boolean';
|
var string $LSformElement_type = 'boolean';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_date extends LSattr_html {
|
class LSattr_html_date extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'date';
|
var string $LSformElement_type = 'date';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ajoute l'attribut au formualaire passer en paramètre
|
* Ajoute l'attribut au formualaire passer en paramètre
|
||||||
|
@ -36,7 +36,7 @@ class LSattr_html_date extends LSattr_html {
|
||||||
* @param string $idForm L'identifiant du formulaire
|
* @param string $idForm L'identifiant du formulaire
|
||||||
* @param array|string|null $data Valeur du champs du formulaire
|
* @param array|string|null $data Valeur du champs du formulaire
|
||||||
*
|
*
|
||||||
* @return LSformElement L'element du formulaire ajouté
|
* @return LSformElement_date L'element du formulaire ajouté
|
||||||
*/
|
*/
|
||||||
function addToForm (&$form,$idForm,$data=NULL) {
|
function addToForm (&$form,$idForm,$data=NULL) {
|
||||||
$element = parent::addToForm($form,$idForm,$data);
|
$element = parent::addToForm($form,$idForm,$data);
|
||||||
|
@ -46,8 +46,8 @@ class LSattr_html_date extends LSattr_html {
|
||||||
array(
|
array(
|
||||||
'msg' => _('Invalid value'),
|
'msg' => _('Invalid value'),
|
||||||
'params' => array(
|
'params' => array(
|
||||||
'format' => $element -> getFormat(),
|
'format' => $element -> getFormat(), // @phpstan-ignore-line
|
||||||
'special_values' => array_keys($element -> getSpecialValues()),
|
'special_values' => array_keys($element -> getSpecialValues()), // @phpstan-ignore-line
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_image extends LSattr_html {
|
class LSattr_html_image extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'image';
|
var string $LSformElement_type = 'image';
|
||||||
protected $singleValue = true;
|
protected bool $singleValue = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_jsonCompositeAttribute extends LSattr_html {
|
class LSattr_html_jsonCompositeAttribute extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'jsonCompositeAttribute';
|
var string $LSformElement_type = 'jsonCompositeAttribute';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_labeledValue extends LSattr_html {
|
class LSattr_html_labeledValue extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'labeledValue';
|
var string $LSformElement_type = 'labeledValue';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_mail extends LSattr_html {
|
class LSattr_html_mail extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'mail';
|
var string $LSformElement_type = 'mail';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_mailQuota extends LSattr_html {
|
class LSattr_html_mailQuota extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'mailQuota';
|
var string $LSformElement_type = 'mailQuota';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,12 @@ LSsession :: loadLSaddon('maildir');
|
||||||
*/
|
*/
|
||||||
class LSattr_html_maildir extends LSattr_html {
|
class LSattr_html_maildir extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'maildir';
|
var string $LSformElement_type = 'maildir';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registered actions to do on object events
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
var $_toDo = array();
|
var $_toDo = array();
|
||||||
|
|
||||||
public function __construct($name, $config, &$attribute) {
|
public function __construct($name, $config, &$attribute) {
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_password extends LSattr_html {
|
class LSattr_html_password extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'password';
|
var string $LSformElement_type = 'password';
|
||||||
protected $singleValue = true;
|
protected bool $singleValue = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,6 @@ LSsession :: loadLSclass('LSattr_html_textarea');
|
||||||
*/
|
*/
|
||||||
class LSattr_html_postaladdress extends LSattr_html_textarea {
|
class LSattr_html_postaladdress extends LSattr_html_textarea {
|
||||||
|
|
||||||
var $LSformElement_type = 'postaladdress';
|
var string $LSformElement_type = 'postaladdress';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,6 @@ LSsession :: loadLSclass('LSattr_html_textarea');
|
||||||
*/
|
*/
|
||||||
class LSattr_html_pre extends LSattr_html_textarea {
|
class LSattr_html_pre extends LSattr_html_textarea {
|
||||||
|
|
||||||
var $LSformElement_type = 'pre';
|
var string $LSformElement_type = 'pre';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_quota extends LSattr_html {
|
class LSattr_html_quota extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'quota';
|
var string $LSformElement_type = 'quota';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_rss extends LSattr_html {
|
class LSattr_html_rss extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'rss';
|
var string $LSformElement_type = 'rss';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,14 +27,14 @@ LSsession :: loadLSclass('LSattr_html_select_box');
|
||||||
*/
|
*/
|
||||||
class LSattr_html_sambaAcctFlags extends LSattr_html_select_box {
|
class LSattr_html_sambaAcctFlags extends LSattr_html_select_box {
|
||||||
|
|
||||||
var $LSformElement_type = 'sambaAcctFlags';
|
var string $LSformElement_type = 'sambaAcctFlags';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne un tableau des valeurs possibles de la liste
|
* Retourne un tableau des valeurs possibles de la liste
|
||||||
*
|
*
|
||||||
* @param array $options Attribute options (optional)
|
* @param array|false $options Attribute options (optional)
|
||||||
* @param string $name Attribute name (optional)
|
* @param string|false $name Attribute name (optional)
|
||||||
* @param LSldapObject &$ldapObject Related LSldapObject (optional)
|
* @param LSldapObject|false &$ldapObject Related LSldapObject (optional)
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
|
|
|
@ -33,6 +33,6 @@ LSsession :: loadLSclass('LSattr_html_select_list');
|
||||||
*/
|
*/
|
||||||
class LSattr_html_select_box extends LSattr_html_select_list {
|
class LSattr_html_select_box extends LSattr_html_select_list {
|
||||||
|
|
||||||
var $LSformElement_type = 'select_box';
|
var string $LSformElement_type = 'select_box';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_select_list extends LSattr_html{
|
class LSattr_html_select_list extends LSattr_html{
|
||||||
|
|
||||||
var $LSformElement_type = 'select';
|
var string $LSformElement_type = 'select';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ajoute l'attribut au formualaire passer en paramètre
|
* Ajoute l'attribut au formualaire passer en paramètre
|
||||||
|
@ -84,9 +84,9 @@ class LSattr_html_select_list extends LSattr_html{
|
||||||
/**
|
/**
|
||||||
* Return array of possible values with translated labels (if enabled)
|
* Return array of possible values with translated labels (if enabled)
|
||||||
*
|
*
|
||||||
* @param array $options Attribute HTML options (optional)
|
* @param array|false $options Attribute HTML options (optional)
|
||||||
* @param string $name Attribute name (optional)
|
* @param string|false $name Attribute name (optional)
|
||||||
* @param LSldapObject &$ldapObject Related LSldapObject (optional)
|
* @param LSldapObject|false &$ldapObject Related LSldapObject (optional)
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
|
@ -302,7 +302,7 @@ class LSattr_html_select_list extends LSattr_html{
|
||||||
* @param string|array $attr OTHER_ATTRIBUTE configuration value
|
* @param string|array $attr OTHER_ATTRIBUTE configuration value
|
||||||
* @param array|false $options Attribute HTML options
|
* @param array|false $options Attribute HTML options
|
||||||
* @param string $name Attribute name
|
* @param string $name Attribute name
|
||||||
* @param LSform &$form reference
|
* @param LSldapObject &$ldapObject The related LSldapObject reference
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
|
|
|
@ -27,8 +27,14 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_select_object extends LSattr_html{
|
class LSattr_html_select_object extends LSattr_html{
|
||||||
|
|
||||||
var $LSformElement_type = 'select_object';
|
var string $LSformElement_type = 'select_object';
|
||||||
var $unrecognizedValues=false;
|
|
||||||
|
/**
|
||||||
|
* Array of unrecognized values
|
||||||
|
* @see LSattr_html_select_object::getFormValues()
|
||||||
|
* @var array<int,string>
|
||||||
|
*/
|
||||||
|
var array $unrecognizedValues = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ajoute l'attribut au formualaire passer en paramètre
|
* Ajoute l'attribut au formualaire passer en paramètre
|
||||||
|
@ -61,7 +67,7 @@ class LSattr_html_select_object extends LSattr_html{
|
||||||
* Récupère un array du type array('DNs' => 'displayName') à partir d'une
|
* Récupère un array du type array('DNs' => 'displayName') à partir d'une
|
||||||
* liste de DNs.
|
* liste de DNs.
|
||||||
*
|
*
|
||||||
* @param mixed $data La valeur de l'attribut (liste de DNs)
|
* @param mixed $data The attribute value (liste de DNs)
|
||||||
*
|
*
|
||||||
* @return mixed La valeur formatée de l'attribut (array('DNs' => 'displayName'))
|
* @return mixed La valeur formatée de l'attribut (array('DNs' => 'displayName'))
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_ssh_key extends LSattr_html {
|
class LSattr_html_ssh_key extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'ssh_key';
|
var string $LSformElement_type = 'ssh_key';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannActivite extends LSattr_html {
|
class LSattr_html_supannActivite extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannActivite';
|
var string $LSformElement_type = 'supannActivite';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannAdressePostalePrivee extends LSattr_html {
|
class LSattr_html_supannAdressePostalePrivee extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannAdressePostalePrivee';
|
var string $LSformElement_type = 'supannAdressePostalePrivee';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannCodePopulation extends LSattr_html {
|
class LSattr_html_supannCodePopulation extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannCodePopulation';
|
var string $LSformElement_type = 'supannCodePopulation';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannEmpCorps extends LSattr_html {
|
class LSattr_html_supannEmpCorps extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannEmpCorps';
|
var string $LSformElement_type = 'supannEmpCorps';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannEmpProfil extends LSattr_html {
|
class LSattr_html_supannEmpProfil extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannEmpProfil';
|
var string $LSformElement_type = 'supannEmpProfil';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannEtablissement extends LSattr_html {
|
class LSattr_html_supannEtablissement extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannEtablissement';
|
var string $LSformElement_type = 'supannEtablissement';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannEtuDiplome extends LSattr_html {
|
class LSattr_html_supannEtuDiplome extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannEtuDiplome';
|
var string $LSformElement_type = 'supannEtuDiplome';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannEtuElementPedagogique extends LSattr_html {
|
class LSattr_html_supannEtuElementPedagogique extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannEtuElementPedagogique';
|
var string $LSformElement_type = 'supannEtuElementPedagogique';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannEtuEtape extends LSattr_html {
|
class LSattr_html_supannEtuEtape extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannEtuEtape';
|
var string $LSformElement_type = 'supannEtuEtape';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannEtuInscription extends LSattr_html {
|
class LSattr_html_supannEtuInscription extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannEtuInscription';
|
var string $LSformElement_type = 'supannEtuInscription';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannEtuRegimeInscription extends LSattr_html {
|
class LSattr_html_supannEtuRegimeInscription extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannEtuRegimeInscription';
|
var string $LSformElement_type = 'supannEtuRegimeInscription';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannEtuSecteurDisciplinaire extends LSattr_html {
|
class LSattr_html_supannEtuSecteurDisciplinaire extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannEtuSecteurDisciplinaire';
|
var string $LSformElement_type = 'supannEtuSecteurDisciplinaire';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannEtuTypeDiplome extends LSattr_html {
|
class LSattr_html_supannEtuTypeDiplome extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannEtuTypeDiplome';
|
var string $LSformElement_type = 'supannEtuTypeDiplome';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannExtProfil extends LSattr_html {
|
class LSattr_html_supannExtProfil extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannExtProfil';
|
var string $LSformElement_type = 'supannExtProfil';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannLabeledValue extends LSattr_html {
|
class LSattr_html_supannLabeledValue extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannLabeledValue';
|
var string $LSformElement_type = 'supannLabeledValue';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannMailPrive extends LSattr_html {
|
class LSattr_html_supannMailPrive extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannMailPrive';
|
var string $LSformElement_type = 'supannMailPrive';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannRessourceEtat extends LSattr_html {
|
class LSattr_html_supannRessourceEtat extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannRessourceEtat';
|
var string $LSformElement_type = 'supannRessourceEtat';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannRessourceEtatDate extends LSattr_html {
|
class LSattr_html_supannRessourceEtatDate extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannRessourceEtatDate';
|
var string $LSformElement_type = 'supannRessourceEtatDate';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannRoleEntite extends LSattr_html {
|
class LSattr_html_supannRoleEntite extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannRoleEntite';
|
var string $LSformElement_type = 'supannRoleEntite';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannRoleGenerique extends LSattr_html {
|
class LSattr_html_supannRoleGenerique extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannRoleGenerique';
|
var string $LSformElement_type = 'supannRoleGenerique';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannTelephonePrive extends LSattr_html {
|
class LSattr_html_supannTelephonePrive extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannTelephonePrive';
|
var string $LSformElement_type = 'supannTelephonePrive';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_supannTypeEntite extends LSattr_html {
|
class LSattr_html_supannTypeEntite extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'supannTypeEntite';
|
var string $LSformElement_type = 'supannTypeEntite';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_tel extends LSattr_html {
|
class LSattr_html_tel extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'tel';
|
var string $LSformElement_type = 'tel';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_text extends LSattr_html {
|
class LSattr_html_text extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'text';
|
var string $LSformElement_type = 'text';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_textarea extends LSattr_html {
|
class LSattr_html_textarea extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'textarea';
|
var string $LSformElement_type = 'textarea';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_url extends LSattr_html {
|
class LSattr_html_url extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'url';
|
var string $LSformElement_type = 'url';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_valueWithUnit extends LSattr_html {
|
class LSattr_html_valueWithUnit extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'valueWithUnit';
|
var string $LSformElement_type = 'valueWithUnit';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,6 @@ LSsession :: loadLSclass('LSattr_html_textarea');
|
||||||
*/
|
*/
|
||||||
class LSattr_html_wysiwyg extends LSattr_html_textarea {
|
class LSattr_html_wysiwyg extends LSattr_html_textarea {
|
||||||
|
|
||||||
var $LSformElement_type = 'wysiwyg';
|
var string $LSformElement_type = 'wysiwyg';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,6 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_html_xmpp extends LSattr_html {
|
class LSattr_html_xmpp extends LSattr_html {
|
||||||
|
|
||||||
var $LSformElement_type = 'xmpp';
|
var string $LSformElement_type = 'xmpp';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,15 +23,29 @@
|
||||||
LSsession :: loadLSclass('LSlog_staticLoggerClass');
|
LSsession :: loadLSclass('LSlog_staticLoggerClass');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base d'un type d'attribut Ldap
|
* Basic implementatin of a LDAP attribute type
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*/
|
*/
|
||||||
class LSattr_ldap extends LSlog_staticLoggerClass {
|
class LSattr_ldap extends LSlog_staticLoggerClass {
|
||||||
|
|
||||||
var $name;
|
/**
|
||||||
var $config;
|
* LDAP attribute name
|
||||||
var $attribute;
|
* @var string
|
||||||
|
*/
|
||||||
|
var string $name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attribute configuration (LSobjects.<type>.attrs.<attr_name>)
|
||||||
|
* @var array<string,mixed>
|
||||||
|
*/
|
||||||
|
var array $config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The reference of the parent LSattribute object
|
||||||
|
* @var LSattribute
|
||||||
|
*/
|
||||||
|
var LSattribute $attribute;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructeur
|
* Constructeur
|
||||||
|
@ -63,22 +77,22 @@ class LSattr_ldap extends LSlog_staticLoggerClass {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la valeur de l'attribut après traitement lié à son type ldap
|
* Return the update value of the attribute after handling it acording to its LDAP type
|
||||||
*
|
*
|
||||||
* @param mixed $data La valeur de l'attribut
|
* @param mixed $data The attribute value
|
||||||
*
|
*
|
||||||
* @return mixed La valeur traitée de l'attribut
|
* @return mixed The processed attribute value
|
||||||
*/
|
*/
|
||||||
public function getUpdateData($data) {
|
public function getUpdateData($data) {
|
||||||
return ensureIsArray($data);
|
return ensureIsArray($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la valeur d'affichage de l'attribut après traitement lié à son type ldap
|
* Return the display value of the attribute after handling it acording to its LDAP type
|
||||||
*
|
*
|
||||||
* @param mixed $data La valeur de l'attribut
|
* @param mixed $data The attribute value
|
||||||
*
|
*
|
||||||
* @return mixed La valeur d'affichage de l'attribut
|
* @return mixed The display value of the attribute
|
||||||
*/
|
*/
|
||||||
public function getDisplayValue($data) {
|
public function getDisplayValue($data) {
|
||||||
return ensureIsArray($data);
|
return ensureIsArray($data);
|
||||||
|
@ -103,9 +117,9 @@ class LSattr_ldap extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Return a configuration parameter (or default value)
|
* Return a configuration parameter (or default value)
|
||||||
*
|
*
|
||||||
* @param[] $param The configuration parameter
|
* @param string $param The configuration parameter
|
||||||
* @param[] $default The default value (default : null)
|
* @param mixed $default The default value (default : null)
|
||||||
* @param[] $cast Cast resulting value in specific type (default : disabled)
|
* @param string $cast Cast resulting value in specific type (default : disabled)
|
||||||
*
|
*
|
||||||
* @return mixed The configuration parameter value or default value if not set
|
* @return mixed The configuration parameter value or default value if not set
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -21,20 +21,20 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type d'attribut Ldap compositeValueToJSON
|
* LDAP attribute type compositeValueToJSON
|
||||||
* Convertit les attributes composite du format suivant :
|
* Convert the composite attributes in the following format:
|
||||||
* [key1=value1][key2=value2]..
|
* [key1=value1][key2=value2]..
|
||||||
* Au format JSON (utilisable par le LSformElement_jsonCompositeAttribute ) :
|
* To JSON format (usable with LSattr_jsonCompositeAttribute):
|
||||||
* {"key1":"value1","key2":"value2"}
|
* {"key1":"value1","key2":"value2"}
|
||||||
*/
|
*/
|
||||||
class LSattr_ldap_compositeValueToJSON extends LSattr_ldap {
|
class LSattr_ldap_compositeValueToJSON extends LSattr_ldap {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la valeur d'affichage de l'attribut après traitement lié à son type ldap
|
* Return the display value of the attribute after handling it acording to its LDAP type
|
||||||
*
|
*
|
||||||
* @param mixed $data La valeur de l'attribut
|
* @param mixed $data The attribute value
|
||||||
*
|
*
|
||||||
* @return mixed La valeur d'affichage de l'attribut
|
* @return mixed The display value of the attribute
|
||||||
*/
|
*/
|
||||||
public function getDisplayValue($data) {
|
public function getDisplayValue($data) {
|
||||||
$ret = array();
|
$ret = array();
|
||||||
|
@ -44,11 +44,11 @@ class LSattr_ldap_compositeValueToJSON extends LSattr_ldap {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la valeur de l'attribut après traitement lié à son type ldap
|
* Return the update value of the attribute after handling it acording to its LDAP type
|
||||||
*
|
*
|
||||||
* @param mixed $data La valeur de l'attribut
|
* @param mixed $data The attribute value
|
||||||
*
|
*
|
||||||
* @return mixed La valeur traitée de l'attribut
|
* @return mixed The processed attribute value
|
||||||
*/
|
*/
|
||||||
public function getUpdateData($data) {
|
public function getUpdateData($data) {
|
||||||
$ret = array();
|
$ret = array();
|
||||||
|
@ -57,6 +57,11 @@ class LSattr_ldap_compositeValueToJSON extends LSattr_ldap {
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse a value
|
||||||
|
* @param string $value The value to parse
|
||||||
|
* @return array|null The parse value as array, or null in case of error
|
||||||
|
*/
|
||||||
public static function parseValue($value) {
|
public static function parseValue($value) {
|
||||||
if (preg_match_all('/\[([^=]*)=([^\]]*)\]/', $value, $matches)) {
|
if (preg_match_all('/\[([^=]*)=([^\]]*)\]/', $value, $matches)) {
|
||||||
$parseValue = array();
|
$parseValue = array();
|
||||||
|
@ -68,6 +73,11 @@ class LSattr_ldap_compositeValueToJSON extends LSattr_ldap {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compute a composite value
|
||||||
|
* @param array $value The value to encode
|
||||||
|
* @return string|false The computed composite value as string, or False in case of error
|
||||||
|
*/
|
||||||
public static function encodeValue($value) {
|
public static function encodeValue($value) {
|
||||||
if (is_array($value)) {
|
if (is_array($value)) {
|
||||||
$ret = "";
|
$ret = "";
|
||||||
|
|
|
@ -21,17 +21,17 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type d'attribut Ldap date
|
* LDAP attribute type date
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class LSattr_ldap_date extends LSattr_ldap {
|
class LSattr_ldap_date extends LSattr_ldap {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la valeur d'affichage de l'attribut après traitement lié à son type ldap
|
* Return the display value of the attribute after handling it acording to its LDAP type
|
||||||
*
|
*
|
||||||
* @param mixed $data La valeur de l'attribut
|
* @param mixed $data The attribute value
|
||||||
*
|
*
|
||||||
* @return mixed La valeur d'affichage de l'attribut
|
* @return mixed The display value of the attribute
|
||||||
*/
|
*/
|
||||||
public function getDisplayValue($data) {
|
public function getDisplayValue($data) {
|
||||||
$data = ensureIsArray($data);
|
$data = ensureIsArray($data);
|
||||||
|
@ -49,11 +49,11 @@ class LSattr_ldap_date extends LSattr_ldap {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la valeur de l'attribut après traitement lié à son type ldap
|
* Return the update value of the attribute after handling it acording to its LDAP type
|
||||||
*
|
*
|
||||||
* @param mixed $data La valeur de l'attribut
|
* @param mixed $data The attribute value
|
||||||
*
|
*
|
||||||
* @return mixed La valeur traitée de l'attribut
|
* @return mixed The processed attribute value
|
||||||
*/
|
*/
|
||||||
public function getUpdateData($data) {
|
public function getUpdateData($data) {
|
||||||
$data = ensureIsArray($data);
|
$data = ensureIsArray($data);
|
||||||
|
@ -76,9 +76,9 @@ class LSattr_ldap_date extends LSattr_ldap {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne le format de stockage de la date
|
* Return the storage date format
|
||||||
*
|
*
|
||||||
* @return string Le format de la date
|
* @return string The storage date format
|
||||||
**/
|
**/
|
||||||
public function getFormat() {
|
public function getFormat() {
|
||||||
return $this -> getConfig('ldap_options.format', 'YmdHisO');
|
return $this -> getConfig('ldap_options.format', 'YmdHisO');
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type d'attribut Ldap image
|
* LDAP attribute type image
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type d'attribut Ldap numeric
|
* LDAP attribute type numeric
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -26,7 +26,13 @@
|
||||||
*/
|
*/
|
||||||
class LSattr_ldap_password extends LSattr_ldap {
|
class LSattr_ldap_password extends LSattr_ldap {
|
||||||
|
|
||||||
var $clearPassword = NULL;
|
/**
|
||||||
|
* Cache of the new password in raw format (=clear, not hashed)
|
||||||
|
* @see LSattr_ldap_password::getUpdateData()
|
||||||
|
* @see LSattr_ldap_password::getClearPassword()
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private string $clearPassword = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the display value of this attribute
|
* Return the display value of this attribute
|
||||||
|
@ -84,9 +90,11 @@ class LSattr_ldap_password extends LSattr_ldap {
|
||||||
* Note : Password encoding was strongly inspired of the project phpLdapAdmin.
|
* Note : Password encoding was strongly inspired of the project phpLdapAdmin.
|
||||||
* URL : http://phpldapadmin.sourceforge.net/
|
* URL : http://phpldapadmin.sourceforge.net/
|
||||||
*
|
*
|
||||||
* @param mixed $data The clear password
|
* @param string $clearPassword The clear password
|
||||||
|
* @param string|null $encode The encoding type
|
||||||
|
* @param callable $encode_function The encoding callable
|
||||||
*
|
*
|
||||||
* @return strinf The encode password
|
* @return string The encode password
|
||||||
*/
|
*/
|
||||||
public function encodePassword($clearPassword, $encode=null, $encode_function=null, $salt=null) {
|
public function encodePassword($clearPassword, $encode=null, $encode_function=null, $salt=null) {
|
||||||
if (is_null($encode))
|
if (is_null($encode))
|
||||||
|
@ -238,6 +246,12 @@ class LSattr_ldap_password extends LSattr_ldap {
|
||||||
return $clearPassword;
|
return $clearPassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verify if the clear specified password match with specified hashed password(s)
|
||||||
|
* @param string $clearPassword The clear password to check
|
||||||
|
* @param string|array|null $hashedPassword The hashed password(s) (optional, default: check againt attibute values)
|
||||||
|
* @return bool True if clear password matched, False otherwise
|
||||||
|
*/
|
||||||
function verify($clearPassword, $hashedPassword=null) {
|
function verify($clearPassword, $hashedPassword=null) {
|
||||||
// If $hashedPassword is not provided, use attribute values
|
// If $hashedPassword is not provided, use attribute values
|
||||||
if (is_null($hashedPassword))
|
if (is_null($hashedPassword))
|
||||||
|
|
|
@ -21,17 +21,17 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type d'attribut Ldap postaladdress
|
* LDAP attribute type postaladdress
|
||||||
* RFC4519 : les retours a la ligne sont remplace par des '$'
|
* See RFC4519: Line returns are replaced with '$'.
|
||||||
*/
|
*/
|
||||||
class LSattr_ldap_postaladdress extends LSattr_ldap {
|
class LSattr_ldap_postaladdress extends LSattr_ldap {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la valeur d'affichage de l'attribut après traitement lié à son type ldap
|
* Return the display value of the attribute after handling it acording to its LDAP type
|
||||||
*
|
*
|
||||||
* @param mixed $data La valeur de l'attribut
|
* @param mixed $data The attribute value
|
||||||
*
|
*
|
||||||
* @return mixed La valeur d'affichage de l'attribut
|
* @return mixed The display value of the attribute
|
||||||
*/
|
*/
|
||||||
public function getDisplayValue($data) {
|
public function getDisplayValue($data) {
|
||||||
$ret = array();
|
$ret = array();
|
||||||
|
@ -41,11 +41,11 @@ class LSattr_ldap_postaladdress extends LSattr_ldap {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la valeur de l'attribut après traitement lié à son type ldap
|
* Return the update value of the attribute after handling it acording to its LDAP type
|
||||||
*
|
*
|
||||||
* @param mixed $data La valeur de l'attribut
|
* @param mixed $data The attribute value
|
||||||
*
|
*
|
||||||
* @return mixed La valeur traitée de l'attribut
|
* @return mixed The processed attribute value
|
||||||
*/
|
*/
|
||||||
public function getUpdateData($data) {
|
public function getUpdateData($data) {
|
||||||
$ret = array();
|
$ret = array();
|
||||||
|
|
|
@ -84,6 +84,11 @@ class LSattr_ldap_pwdHistory extends LSattr_ldap {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Encode a value
|
||||||
|
* @param array $value The value to encode
|
||||||
|
* @return string The encoded value
|
||||||
|
*/
|
||||||
public function encodeValue($value) {
|
public function encodeValue($value) {
|
||||||
if (!is_array($value)) {
|
if (!is_array($value)) {
|
||||||
self :: log_warning($this."->encodeValue($value): Provided value is not an array.");
|
self :: log_warning($this."->encodeValue($value): Provided value is not an array.");
|
||||||
|
@ -91,7 +96,7 @@ class LSattr_ldap_pwdHistory extends LSattr_ldap {
|
||||||
}
|
}
|
||||||
$datetime = date_create_from_format('YmdHisO', $value['time']);
|
$datetime = date_create_from_format('YmdHisO', $value['time']);
|
||||||
if (!is_a($datetime, 'DateTime')) {
|
if (!is_a($datetime, 'DateTime')) {
|
||||||
self :: log_warning($this."->encodeValue($value): Fail to create DateTime object from timestamp '".varDump($value['time'])."'.");
|
self :: log_warning($this."->encodeValue(".varDump($value)."): Fail to create DateTime object from timestamp '".varDump($value['time'])."'.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$datetime -> setTimezone('UTC');
|
$datetime -> setTimezone('UTC');
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LDAP Attribute shadowExpire
|
* LDAP attribute type shadowExpire
|
||||||
*
|
*
|
||||||
* This class permit to manage shadowExpire attribute as a timestamp, and consequently
|
* This class permit to manage shadowExpire attribute as a timestamp, and consequently
|
||||||
* permit to use LSattr_html_date to manage it value in the interface.
|
* permit to use LSattr_html_date to manage it value in the interface.
|
||||||
|
|
|
@ -33,18 +33,93 @@ LSsession :: loadLSclass('LSattr_html');
|
||||||
*/
|
*/
|
||||||
class LSattribute extends LSlog_staticLoggerClass {
|
class LSattribute extends LSlog_staticLoggerClass {
|
||||||
|
|
||||||
var $name;
|
/**
|
||||||
var $config;
|
* Attribute name
|
||||||
var $ldapObject;
|
* @var string
|
||||||
var $ldap;
|
*/
|
||||||
var $html;
|
var string $name;
|
||||||
var $data;
|
|
||||||
|
/**
|
||||||
|
* Attribute configuration (LSobjects.<type>.attrs.<attr_name>)
|
||||||
|
* @var array<string,mixed>
|
||||||
|
*/
|
||||||
|
var array $config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The reference of the parent LSldapObject object
|
||||||
|
* @var LSldapObject
|
||||||
|
*/
|
||||||
|
var LSldapObject $ldapObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The implemented LSattr_ldap object
|
||||||
|
* @see LSattribute::__construct()
|
||||||
|
* @var LSattr_ldap
|
||||||
|
*/
|
||||||
|
var LSattr_ldap $ldap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The implemented LSattr_ldap object
|
||||||
|
* @see LSattribute::__construct()
|
||||||
|
* @var LSattr_html
|
||||||
|
*/
|
||||||
|
var LSattr_html $html;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attribute data
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
var array $data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attribute updated data
|
||||||
|
* @see LSattribute::setUpdateData()
|
||||||
|
* @see LSattribute::getUpdateData()
|
||||||
|
* @see LSattribute::isUpdate()
|
||||||
|
* @see LSattribute::reloadData()
|
||||||
|
* @see LSattribute::generateValue()
|
||||||
|
* @var array|false
|
||||||
|
*/
|
||||||
var $updateData=false;
|
var $updateData=false;
|
||||||
var $is_validate=false;
|
|
||||||
var $_finalUpdateData=false;
|
/**
|
||||||
var $_myRights=NULL;
|
* Telltale of the validation state of the new attibute data
|
||||||
var $_events=array();
|
* @see LSattribute::validate()
|
||||||
var $_objectEvents=array();
|
* @see LSattribute::isValidate()
|
||||||
|
* @see LSattribute::reloadData()
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
var bool $is_validate=false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cache of the validated new attribute data
|
||||||
|
* @see LSattribute::getUpdateData()
|
||||||
|
* @var array<string>
|
||||||
|
*/
|
||||||
|
var array $_finalUpdateData=array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cache of the current connected user right on this attribute
|
||||||
|
* @see LSattribute::myRights()
|
||||||
|
* @var null|string
|
||||||
|
*/
|
||||||
|
var $_myRights=null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Object registered hooks on event
|
||||||
|
* @see LSattribute::addEvent()
|
||||||
|
* @see LSattribute::fireEvent()
|
||||||
|
* @var array<string,array>
|
||||||
|
*/
|
||||||
|
var array $_events=array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Object registered hooks on event trigger object methods
|
||||||
|
* @see LSattribute::addObjectEvent()
|
||||||
|
* @see LSattribute::fireEvent()
|
||||||
|
* @var array<string,array>
|
||||||
|
*/
|
||||||
|
var array $_objectEvents=array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructeur
|
* Constructeur
|
||||||
|
@ -56,7 +131,7 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param string $name Nom de l'attribut ldap
|
* @param string $name Nom de l'attribut ldap
|
||||||
* @param string $name Configuration de l'objet
|
* @param array $config Configuration de l'objet
|
||||||
* @param LSldapObject &$ldapObject L'objet ldap parent
|
* @param LSldapObject &$ldapObject L'objet ldap parent
|
||||||
*
|
*
|
||||||
* @return boolean Retourne true si la création a réussi, false sinon.
|
* @return boolean Retourne true si la création a réussi, false sinon.
|
||||||
|
@ -170,7 +245,7 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Return attribute's display value
|
* Return attribute's display value
|
||||||
*
|
*
|
||||||
* @param string $name Custom attribute data (optional, default: current attribute data)
|
* @param string|false $data Custom attribute data (optional, default: current attribute data)
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
|
@ -313,7 +388,7 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObject &$ldapObject The LSform object
|
* @param LSform &$form The LSform object
|
||||||
* @param boolean $api_mode True if it's a view in API mode (=all accessible attributes present,
|
* @param boolean $api_mode True if it's a view in API mode (=all accessible attributes present,
|
||||||
* optional, default: false)
|
* optional, default: false)
|
||||||
*
|
*
|
||||||
|
@ -335,7 +410,7 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param LSldapObject &$ldapObject The LSform object
|
* @param LSform &$form The LSform object
|
||||||
*
|
*
|
||||||
* @return boolean True on success, False otherwise
|
* @return boolean True on success, False otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -355,7 +430,7 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param object $form The LSform object
|
* @param LSform $form The LSform object
|
||||||
*
|
*
|
||||||
* @return LSformElement|False LSformElement object on success, False otherwise
|
* @return LSformElement|False LSformElement object on success, False otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -387,7 +462,7 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param object $form LSform Le formulaire dans lequel doit être ajouté l'attribut
|
* @param LSform $form LSform Le formulaire dans lequel doit être ajouté l'attribut
|
||||||
* @param string $idForm L'identifiant du formulaire
|
* @param string $idForm L'identifiant du formulaire
|
||||||
*
|
*
|
||||||
* @return boolean true si la valeur a été rafraichie ou que ce n'est pas nécessaire, false sinon
|
* @return boolean true si la valeur a été rafraichie ou que ce n'est pas nécessaire, false sinon
|
||||||
|
@ -413,7 +488,7 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Return the form display value
|
* Return the form display value
|
||||||
*
|
*
|
||||||
* @param string $name Custom attribute data (optional, default: current attribute data)
|
* @param mixed $data Custom attribute data (optional, default: current attribute data)
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
|
@ -431,7 +506,7 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param string $idForm Les données de mise à jour.
|
* @param mixed $data Les données de mise à jour.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -607,9 +682,9 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Ajouter une action lors d'un événement
|
* Ajouter une action lors d'un événement
|
||||||
*
|
*
|
||||||
* @param string $name Le nom de l'événement
|
* @param string $event Le nom de l'événement
|
||||||
* @param string $name Le nom de la fonction à exectuer
|
* @param callable $fct Le nom de la fonction à exectuer
|
||||||
* @param string $name Paramètres pour le lancement de la fonction
|
* @param array $params Paramètres pour le lancement de la fonction
|
||||||
* @param string $class Nom de la classe possèdant la méthode $fct à executer
|
* @param string $class Nom de la classe possèdant la méthode $fct à executer
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
@ -625,10 +700,10 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Ajouter une action sur un objet lors d'un événement
|
* Ajouter une action sur un objet lors d'un événement
|
||||||
*
|
*
|
||||||
* @param string $name Le nom de l'événement
|
* @param string $event Le nom de l'événement
|
||||||
* @param object $obj L'objet dont la méthode doit être executé
|
* @param object &$obj L'objet dont la méthode doit être executé
|
||||||
* @param string $name Le nom de la méthode
|
* @param string $meth Le nom de la méthode
|
||||||
* @param string $name Paramètres d'execution de la méthode
|
* @param array $params Paramètres d'execution de la méthode
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -643,7 +718,7 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Lance les actions à executer lors d'un événement
|
* Lance les actions à executer lors d'un événement
|
||||||
*
|
*
|
||||||
* @param string $name Le nom de l'événement
|
* @param string $event Le nom de l'événement
|
||||||
*
|
*
|
||||||
* @return boolean True si tout c'est bien passé, false sinon
|
* @return boolean True si tout c'est bien passé, false sinon
|
||||||
*/
|
*/
|
||||||
|
@ -736,9 +811,9 @@ class LSattribute extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Return a configuration parameter (or default value)
|
* Return a configuration parameter (or default value)
|
||||||
*
|
*
|
||||||
* @param[] $param The configuration parameter
|
* @param string $param The configuration parameter
|
||||||
* @param[] $default The default value (default : null)
|
* @param mixed $default The default value (default : null)
|
||||||
* @param[] $cast Cast resulting value in specific type (default : disabled)
|
* @param string $cast Cast resulting value in specific type (default : disabled)
|
||||||
*
|
*
|
||||||
* @return mixed The configuration parameter value or default value if not set
|
* @return mixed The configuration parameter value or default value if not set
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -98,9 +98,9 @@ class LSauth extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Return a configuration parameter (or default value)
|
* Return a configuration parameter (or default value)
|
||||||
*
|
*
|
||||||
* @param[] $param The configuration parameter
|
* @param string $param The configuration parameter
|
||||||
* @param[] $default The default value (default : null)
|
* @param mixed $default The default value (default : null)
|
||||||
* @param[] $cast Cast resulting value in specific type (default : disabled)
|
* @param string $cast Cast resulting value in specific type (default : disabled)
|
||||||
*
|
*
|
||||||
* @return mixed The configuration parameter value or default value if not set
|
* @return mixed The configuration parameter value or default value if not set
|
||||||
**/
|
**/
|
||||||
|
@ -198,7 +198,7 @@ class LSauth extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Get user password attribute name
|
* Get user password attribute name
|
||||||
*
|
*
|
||||||
* @param LSldapObject &object The user object
|
* @param LSldapObject &$object The user object
|
||||||
*
|
*
|
||||||
* @return string|false The user password attribute name or false if not configured
|
* @return string|false The user password attribute name or false if not configured
|
||||||
*/
|
*/
|
||||||
|
@ -215,7 +215,7 @@ class LSauth extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* Return LDAP credentials or false
|
* Return LDAP credentials or false
|
||||||
*
|
*
|
||||||
* @params[in] $user The LSldapObject of the user authificated
|
* @param LSldapObject $user The LSldapObject of the user authificated
|
||||||
*
|
*
|
||||||
* @return array|false Array of LDAP credentials array('dn','pwd') or False
|
* @return array|false Array of LDAP credentials array('dn','pwd') or False
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -106,7 +106,7 @@ class LSauthMethod extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* Return LDAP credentials or false
|
* Return LDAP credentials or false
|
||||||
*
|
*
|
||||||
* @params[in] $user The LSldapObject of the user authificated
|
* @param LSldapObject $user The LSldapObject of the authenticated user
|
||||||
*
|
*
|
||||||
* @return array|false Array of LDAP credentials array('dn','pwd') or False
|
* @return array|false Array of LDAP credentials array('dn','pwd') or False
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -29,10 +29,18 @@ LSsession :: loadLSclass('LSlog_staticLoggerClass');
|
||||||
*/
|
*/
|
||||||
class LScli extends LSlog_staticLoggerClass {
|
class LScli extends LSlog_staticLoggerClass {
|
||||||
|
|
||||||
// Configured commands
|
/**
|
||||||
private static $commands = array();
|
* Configured commands
|
||||||
|
* @see LScli::add_command()
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private static array $commands = array();
|
||||||
|
|
||||||
// Store current executed command
|
/**
|
||||||
|
* Store current executed command
|
||||||
|
* @see LScli::handle_args()
|
||||||
|
* @var null|string
|
||||||
|
*/
|
||||||
private static $current_command = null;
|
private static $current_command = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -609,7 +617,7 @@ class LScli extends LSlog_staticLoggerClass {
|
||||||
* @param array $opts Available options
|
* @param array $opts Available options
|
||||||
* @param string $prefix Option name prefix (optional, default=empty string)
|
* @param string $prefix Option name prefix (optional, default=empty string)
|
||||||
* @param boolean $case_sensitive Set to false if options are case insensitive (optional, default=true)
|
* @param boolean $case_sensitive Set to false if options are case insensitive (optional, default=true)
|
||||||
* @param boolean $quote_char Quote character (optional, if not set, $prefix will be unquoted and its
|
* @param string $quote_char Quote character (optional, if not set, $prefix will be unquoted and its
|
||||||
* quote char (if detected) will be used to quote options)
|
* quote char (if detected) will be used to quote options)
|
||||||
*
|
*
|
||||||
* @return array List of matched options
|
* @return array List of matched options
|
||||||
|
@ -665,7 +673,7 @@ class LScli extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @param string $prefix Option prefix (optional, default=empty string)
|
* @param string $prefix Option prefix (optional, default=empty string)
|
||||||
* @param boolean $case_sensitive Set to false if options are case insensitive (optional, default=true)
|
* @param boolean $case_sensitive Set to false if options are case insensitive (optional, default=true)
|
||||||
* @param boolean $quote_char Quote character (optional, if not set, $prefix will be unquoted and its
|
* @param string $quote_char Quote character (optional, if not set, $prefix will be unquoted and its
|
||||||
* quote char (if detected) will be used to quote options)
|
* quote char (if detected) will be used to quote options)
|
||||||
*
|
*
|
||||||
* @return array List of available options
|
* @return array List of available options
|
||||||
|
@ -720,7 +728,7 @@ class LScli extends LSlog_staticLoggerClass {
|
||||||
* @param string $objType LSobject type
|
* @param string $objType LSobject type
|
||||||
* @param string $prefix Option prefix (optional, default=empty string)
|
* @param string $prefix Option prefix (optional, default=empty string)
|
||||||
* @param boolean $case_sensitive Set to false if options are case insensitive (optional, default=true)
|
* @param boolean $case_sensitive Set to false if options are case insensitive (optional, default=true)
|
||||||
* @param boolean $quote_char Quote character (optional, if not set, $prefix will be unquoted and its
|
* @param string $quote_char Quote character (optional, if not set, $prefix will be unquoted and its
|
||||||
* quote char (if detected) will be used to quote options)
|
* quote char (if detected) will be used to quote options)
|
||||||
*
|
*
|
||||||
* @return array List of available options
|
* @return array List of available options
|
||||||
|
@ -759,7 +767,7 @@ class LScli extends LSlog_staticLoggerClass {
|
||||||
* @param string $objType LSobject type
|
* @param string $objType LSobject type
|
||||||
* @param string $prefix Option prefix (optional, default=empty string)
|
* @param string $prefix Option prefix (optional, default=empty string)
|
||||||
* @param boolean $case_sensitive Set to false if options are case insensitive (optional, default=true)
|
* @param boolean $case_sensitive Set to false if options are case insensitive (optional, default=true)
|
||||||
* @param boolean $quote_char Quote character (optional, if not set, $prefix will be unquoted and its
|
* @param string $quote_char Quote character (optional, if not set, $prefix will be unquoted and its
|
||||||
* quote char (if detected) will be used to quote options)
|
* quote char (if detected) will be used to quote options)
|
||||||
*
|
*
|
||||||
* @return array List of available options
|
* @return array List of available options
|
||||||
|
|
|
@ -27,7 +27,13 @@
|
||||||
*/
|
*/
|
||||||
class LSconfig {
|
class LSconfig {
|
||||||
|
|
||||||
// Configuration Data
|
/**
|
||||||
|
* Configuration Data
|
||||||
|
* @see LSconfig::start()
|
||||||
|
* @see $GLOBALS['LSconfig']
|
||||||
|
* @see $GLOBALS['LSaddons']
|
||||||
|
* @var array<string,mixed>
|
||||||
|
*/
|
||||||
private static $data=array();
|
private static $data=array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -29,6 +29,10 @@
|
||||||
*/
|
*/
|
||||||
class LSerror {
|
class LSerror {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registered error codes
|
||||||
|
* @var array<string,array>
|
||||||
|
*/
|
||||||
private static $_errorCodes = array(
|
private static $_errorCodes = array(
|
||||||
'0' => array('msg' => "%{msg}")
|
'0' => array('msg' => "%{msg}")
|
||||||
);
|
);
|
||||||
|
@ -45,7 +49,7 @@ class LSerror {
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public static function defineError($code=-1, $msg='', $escape=True) {
|
public static function defineError($code='-1', $msg='', $escape=True) {
|
||||||
self :: $_errorCodes[$code] = array(
|
self :: $_errorCodes[$code] = array(
|
||||||
'msg' => $msg,
|
'msg' => $msg,
|
||||||
'escape' => boolval($escape),
|
'escape' => boolval($escape),
|
||||||
|
@ -104,7 +108,7 @@ class LSerror {
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public static function stop($code=-1, $msg='', $escape=true) {
|
public static function stop($code='-1', $msg='', $escape=true) {
|
||||||
if(!empty($_SESSION['LSerror'])) {
|
if(!empty($_SESSION['LSerror'])) {
|
||||||
print "<h1>"._('Errors')."</h1>\n";
|
print "<h1>"._('Errors')."</h1>\n";
|
||||||
print self :: display(true);
|
print self :: display(true);
|
||||||
|
@ -118,7 +122,7 @@ class LSerror {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @retvat string Le texte des erreurs
|
* @return string Le texte des erreurs
|
||||||
*/
|
*/
|
||||||
public static function getErrors() {
|
public static function getErrors() {
|
||||||
$return = (
|
$return = (
|
||||||
|
@ -133,9 +137,13 @@ class LSerror {
|
||||||
/**
|
/**
|
||||||
* Format error message
|
* Format error message
|
||||||
*
|
*
|
||||||
|
* @param string|null $code The error code
|
||||||
|
* @param mixed $message Error message data for registred errors or the error message as string, or null
|
||||||
|
* @param bool $escape Set to false to disable escaping error message
|
||||||
|
* @param callable $escape_method The escape method (default: htmlentities)
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @retvat string Le texte des erreurs
|
* @return string Le texte des erreurs
|
||||||
*/
|
*/
|
||||||
private static function formatError($code=null, $message=null, $escape=True, $escape_method=null) {
|
private static function formatError($code=null, $message=null, $escape=True, $escape_method=null) {
|
||||||
if ($code && array_key_exists($code, self :: $_errorCodes)) {
|
if ($code && array_key_exists($code, self :: $_errorCodes)) {
|
||||||
|
@ -165,7 +173,7 @@ class LSerror {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @retvat boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public static function errorsDefined() {
|
public static function errorsDefined() {
|
||||||
return (
|
return (
|
||||||
|
@ -180,7 +188,7 @@ class LSerror {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @retvat void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private static function resetError() {
|
private static function resetError() {
|
||||||
if (isset($_SESSION['LSerror']))
|
if (isset($_SESSION['LSerror']))
|
||||||
|
|
|
@ -31,30 +31,129 @@ LSsession :: loadLSclass('LSlog_staticLoggerClass');
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class LSform extends LSlog_staticLoggerClass {
|
class LSform extends LSlog_staticLoggerClass {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference of the related LSldapObject
|
||||||
|
* @var LSldapObject
|
||||||
|
*/
|
||||||
var $ldapObject;
|
var $ldapObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Identifier of the form (create/update/...)
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
var $idForm;
|
var $idForm;
|
||||||
var $config;
|
|
||||||
var $can_validate = true;
|
|
||||||
var $elements = array();
|
|
||||||
var $_rules = array();
|
|
||||||
|
|
||||||
var $_postData = array();
|
/**
|
||||||
|
* Configuration (LSobjects.<type>.LSform)
|
||||||
|
* @see LSform::__construct()
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
var array $config;
|
||||||
|
|
||||||
var $_elementsErrors = array();
|
/**
|
||||||
|
* Validation ability telltale
|
||||||
|
* @see LSform::validate()
|
||||||
|
* @see LSform::setElementError()
|
||||||
|
* @var boolean
|
||||||
|
*/
|
||||||
|
var bool $can_validate = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Form elements with attribute name as key and an implemented LSformElement as value
|
||||||
|
* @see LSform::addElement()
|
||||||
|
* @see LSattr_html::addToForm()
|
||||||
|
* @var array<string,LSformElement>
|
||||||
|
*/
|
||||||
|
var array $elements = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registred elements's rules
|
||||||
|
* @var array<string,array>
|
||||||
|
*/
|
||||||
|
var array $_rules = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Post data of the form
|
||||||
|
* @see LSform::getPostData()
|
||||||
|
* @var array<string,array>
|
||||||
|
*/
|
||||||
|
var array $_postData = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registered elements's errors
|
||||||
|
* @see LSform::setElementError()
|
||||||
|
* @see LSform::definedError()
|
||||||
|
* @see LSform::getErrors()
|
||||||
|
* @var array<string,array>
|
||||||
|
*/
|
||||||
|
var array $_elementsErrors = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Validation telltale
|
||||||
|
* @see LSform::validate()
|
||||||
|
* @var boolean
|
||||||
|
*/
|
||||||
var $_isValidate = false;
|
var $_isValidate = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of attributes explicitly declared as not updated
|
||||||
|
* @see LSformElement_password::getPostData()
|
||||||
|
* @var array<string,bool>
|
||||||
|
*/
|
||||||
var $_notUpdate = array();
|
var $_notUpdate = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MAX_FILE_SIZE value of the form
|
||||||
|
* @see LSform::setMaxFileSize()
|
||||||
|
* @var int|null
|
||||||
|
*/
|
||||||
var $maxFileSize = NULL;
|
var $maxFileSize = NULL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Name of the applied data entry form
|
||||||
|
* @see LSform::applyDataEntryForm()
|
||||||
|
* @var string|null
|
||||||
|
*/
|
||||||
var $dataEntryForm = NULL;
|
var $dataEntryForm = NULL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configuration of the applied data entry form
|
||||||
|
* (LSobjects.<type>.LSform.dataEntryForm.<dataEntryForm_name>)
|
||||||
|
* @see LSform::applyDataEntryForm()
|
||||||
|
* @var array|null
|
||||||
|
*/
|
||||||
var $dataEntryFormConfig = NULL;
|
var $dataEntryFormConfig = NULL;
|
||||||
|
|
||||||
var $warnings = array();
|
/**
|
||||||
|
* Registred warnings
|
||||||
|
* @see LSform::addWarning()
|
||||||
|
* @var array<int,string>
|
||||||
|
*/
|
||||||
|
var array $warnings = array();
|
||||||
|
|
||||||
var $api_mode = false;
|
/**
|
||||||
|
* Telltale of the API mode
|
||||||
|
* @see LSform::__construct()
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
var bool $api_mode = false;
|
||||||
|
|
||||||
private $submited = false;
|
/**
|
||||||
|
* Submited telltale
|
||||||
|
* @see LSform::setSubmited()
|
||||||
|
* @see LSform::isSubmit()
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private bool $submited = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The submit button value
|
||||||
|
* Note: used to detect the submited state of the form from the current request data
|
||||||
|
* @see LSform::__construct()
|
||||||
|
* @see LSform::isSubmit()
|
||||||
|
* @var string|null
|
||||||
|
*/
|
||||||
private $submit = null;
|
private $submit = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -64,19 +163,16 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param string $idForm L'identifiant du formulaire
|
* @param LSldapObject &$ldapObject The related LSldapObject
|
||||||
* @param string $submit La valeur du bouton submit
|
* @param string $idForm The form identifier
|
||||||
|
* @param string|null $submit The submit button value
|
||||||
|
* @param bool $api_mode Set to True to enable API mode
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function __construct(&$ldapObject, $idForm, $submit=NULL, $api_mode=false){
|
public function __construct(&$ldapObject, $idForm, $submit=NULL, $api_mode=false){
|
||||||
$this -> idForm = $idForm;
|
$this -> idForm = $idForm;
|
||||||
if (!$submit) {
|
$this -> submit = ($submit?$submit:_("Validate"));
|
||||||
$this -> submit = _("Validate");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$this -> submit = $submit;
|
|
||||||
}
|
|
||||||
$this -> api_mode = $api_mode;
|
$this -> api_mode = $api_mode;
|
||||||
$this -> ldapObject =& $ldapObject;
|
$this -> ldapObject =& $ldapObject;
|
||||||
$this -> config = $ldapObject -> getConfig('LSform');
|
$this -> config = $ldapObject -> getConfig('LSform');
|
||||||
|
@ -86,9 +182,9 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Return a configuration parameter (or default value)
|
* Return a configuration parameter (or default value)
|
||||||
*
|
*
|
||||||
* @param[] $param The configuration parameter
|
* @param string $param The configuration parameter
|
||||||
* @param[] $default The default value (default : null)
|
* @param mixed $default The default value (default : null)
|
||||||
* @param[] $cast Cast resulting value in specific type (default : disabled)
|
* @param string $cast Cast resulting value in specific type (default : disabled)
|
||||||
*
|
*
|
||||||
* @return mixed The configuration parameter value or default value if not set
|
* @return mixed The configuration parameter value or default value if not set
|
||||||
**/
|
**/
|
||||||
|
@ -288,21 +384,22 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param string $attrLe nom du champ
|
* @param LSformElement $element Le nom du champ
|
||||||
* @param string $msg Le format du message d'erreur à afficher (pouvant comporter
|
* @param string|null $msg Le format du message d'erreur à afficher (pouvant comporter
|
||||||
* des valeurs %{[n'importe quoi]} qui seront remplacé par le label
|
* des valeurs %{[n'importe quoi]} qui seront remplacé par le label
|
||||||
* du champs concerné.
|
* du champs concerné.
|
||||||
|
* @param array|null $extra_values Extra values to compute the LSformat of the message
|
||||||
|
* (optional, by default, only the field label is provided to getFData)
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setElementError($attr,$msg=NULL) {
|
public function setElementError($element, $msg=null, $extra_values=null) {
|
||||||
if($msg!='') {
|
$this -> _elementsErrors[$element->name][] = getFData(
|
||||||
$msg_error=getFData($msg,$attr->getLabel());
|
$msg?$msg:_("%{label} attribute data is not valid."),
|
||||||
}
|
is_array($extra_values)?
|
||||||
else {
|
array_merge(array('label' => $element->getLabel()), $extra_values):
|
||||||
$msg_error=getFData(_("%{label} attribute data is not valid."),$attr->getLabel());
|
$element->getLabel()
|
||||||
}
|
);
|
||||||
$this -> _elementsErrors[$attr->name][]=$msg_error;
|
|
||||||
$this -> can_validate=false;
|
$this -> can_validate=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -311,7 +408,7 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param string $attrLe nom de l'élement
|
* @param string|null $element Le nom de l'élement
|
||||||
*
|
*
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
|
@ -411,13 +508,13 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Vérifie si au moins une valeur est présente dans le tableau
|
* Check if at least one non-empty value is present in the specifed array
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param string $submit tableau de valeurs
|
* @param array $data Array of values
|
||||||
*
|
*
|
||||||
* @return boolean true si au moins une valeur est présente, false sinon
|
* @return boolean True if at least one non-empty value is present, false otherwise
|
||||||
*/
|
*/
|
||||||
public function checkRequired($data) {
|
public function checkRequired($data) {
|
||||||
foreach($data as $val) {
|
foreach($data as $val) {
|
||||||
|
@ -542,10 +639,11 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* Ajoute un élément au formulaire et définis les informations le concernant.
|
* Ajoute un élément au formulaire et définis les informations le concernant.
|
||||||
*
|
*
|
||||||
* @param string $submit Le type de l'élément
|
* @param string $type Le type de l'élément
|
||||||
* @param string $submit Le nom de l'élément
|
* @param string $name Le nom de l'élément
|
||||||
* @param string $submit Le label de l'élément
|
* @param string $label Le label de l'élément
|
||||||
* @param string $submit Paramètres supplémentaires
|
* @param array $params Paramètres supplémentaires
|
||||||
|
* @param LSattr_html &$attr_html The related LSattr_html
|
||||||
*
|
*
|
||||||
* @return LSformElement
|
* @return LSformElement
|
||||||
*/
|
*/
|
||||||
|
@ -570,7 +668,7 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Check if form has a specified element (by attr name)
|
* Check if form has a specified element (by attr name)
|
||||||
*
|
*
|
||||||
* @param string $submit The element/attribute name
|
* @param string $name The element/attribute name
|
||||||
*
|
*
|
||||||
* @return boolean
|
* @return boolean
|
||||||
**/
|
**/
|
||||||
|
@ -581,12 +679,12 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Check if a specified element (by attr name) is freezed
|
* Check if a specified element (by attr name) is freezed
|
||||||
*
|
*
|
||||||
* @param string $submit The element/attribute name
|
* @param string $name The element/attribute name
|
||||||
*
|
*
|
||||||
* @return boolean
|
* @return boolean
|
||||||
**/
|
**/
|
||||||
public function isFreeze($name) {
|
public function isFreeze($name) {
|
||||||
return isset($this -> elements[$name]) && $this -> elements[$name] -> isFreeze($name);
|
return isset($this -> elements[$name]) && $this -> elements[$name] -> isFreeze();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -594,9 +692,9 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param string $submit Le nom de l'élément conserné
|
* @param string $element Le nom de l'élément conserné
|
||||||
* @param string $submit Le nom de la règle à ajouter
|
* @param string $rule Le nom de la règle à ajouter
|
||||||
* @param string $submit Options (facultative)
|
* @param array $options Options (facultative)
|
||||||
*
|
*
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
|
@ -628,15 +726,16 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param string $submit Le nom de l'élément conserné
|
* @param string $element Le nom de l'élément conserné
|
||||||
*
|
*
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public function setRequired($element) {
|
public function setRequired($element) {
|
||||||
if (isset( $this -> elements[$element] ) )
|
if (isset( $this -> elements[$element] ) ) {
|
||||||
return $this -> elements[$element] -> setRequired();
|
$this -> elements[$element] -> setRequired();
|
||||||
else
|
return true;
|
||||||
return;
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -646,7 +745,8 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*
|
*
|
||||||
* @param string $submit Le nom de l'élément conserné
|
* @param string $rule The rule name
|
||||||
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function isRuleRegistered($rule) {
|
public function isRuleRegistered($rule) {
|
||||||
LSsession :: loadLSclass('LSformRule');
|
LSsession :: loadLSclass('LSformRule');
|
||||||
|
@ -697,7 +797,7 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
if ($this -> isSubmit() && $this -> _postData) {
|
if ($this -> isSubmit() && $this -> _postData) {
|
||||||
return $this -> _postData[$element];
|
return $this -> _postData[$element];
|
||||||
}
|
}
|
||||||
return $this -> elements[$element] -> getValue();
|
return $this -> elements[$element] -> values;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -718,8 +818,8 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Return the HTML code of an empty form field
|
* Return the HTML code of an empty form field
|
||||||
*
|
*
|
||||||
* @param string $submit The form element name
|
* @param string $element The form element name
|
||||||
* @param string|null $LSform_action The value index (optional, default: null == 0)
|
* @param int|null $value_idx The value index (optional, default: null == 0)
|
||||||
*
|
*
|
||||||
* @return string|null The HTML code of the specified field if exist, null otherwise
|
* @return string|null The HTML code of the specified field if exist, null otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -747,7 +847,7 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Applique un masque de saisie au formulaire
|
* Applique un masque de saisie au formulaire
|
||||||
*
|
*
|
||||||
* @param string $submit Le nom du masque de saisie
|
* @param string $dataEntryForm Le nom du masque de saisie
|
||||||
*
|
*
|
||||||
* @return boolean True si le masque de saisie a été appliqué, False sinon
|
* @return boolean True si le masque de saisie a été appliqué, False sinon
|
||||||
**/
|
**/
|
||||||
|
@ -781,7 +881,7 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Liste les dataEntryForm disponible pour un type d'LSldapObject
|
* Liste les dataEntryForm disponible pour un type d'LSldapObject
|
||||||
*
|
*
|
||||||
* @param string $submit Le type d'LSldapObject
|
* @param string $type Le type d'LSldapObject
|
||||||
*
|
*
|
||||||
* @return array Tableau contenant la liste de dataEntryForm disponible pour ce type d'LSldapObject (nom => label)
|
* @return array Tableau contenant la liste de dataEntryForm disponible pour ce type d'LSldapObject (nom => label)
|
||||||
**/
|
**/
|
||||||
|
@ -807,7 +907,7 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Ajoute un avertissement au sujet du formulaire
|
* Ajoute un avertissement au sujet du formulaire
|
||||||
*
|
*
|
||||||
* @param string $submit Le texte de l'avertissement
|
* @param string $txt Le texte de l'avertissement
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
**/
|
**/
|
||||||
|
@ -845,9 +945,10 @@ class LSform extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* CLI autocompleter for form attributes values
|
* CLI autocompleter for form attributes values
|
||||||
*
|
*
|
||||||
* @param array &$opts Array of avalaible autocomplete options
|
* @param array &$opts Array of avalaible autocomplete options
|
||||||
* @param string $submit The command word to autocomplete
|
* @param string $comp_word The command word to autocomplete
|
||||||
* @param string $submit The multiple value delimiter (optional, default: "|")
|
* @param string $multiple_value_delimiter The multiple value delimiter
|
||||||
|
* (optional, default: "|")
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -32,17 +32,81 @@ LSsession :: loadLSclass('LSlog_staticLoggerClass');
|
||||||
|
|
||||||
class LSformElement extends LSlog_staticLoggerClass {
|
class LSformElement extends LSlog_staticLoggerClass {
|
||||||
|
|
||||||
var $name;
|
/**
|
||||||
var $label;
|
* The attribute name
|
||||||
var $params;
|
* @var string
|
||||||
var $values = array();
|
*/
|
||||||
|
var string $name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The attribute label
|
||||||
|
* @see LSformElement::__construct()
|
||||||
|
* @see LSformElement::getLabel()
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var string $label;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attribute configuration (LSobjects.<type>.attrs.<attr_name>)
|
||||||
|
* @see LSformElement::getParam()
|
||||||
|
* @var array<string,mixed>
|
||||||
|
*/
|
||||||
|
var array $params;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Values of the element
|
||||||
|
* @var array<mixed>
|
||||||
|
*/
|
||||||
|
var array $values = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference of the related LSform object
|
||||||
|
* @var LSform
|
||||||
|
*/
|
||||||
var $form = null;
|
var $form = null;
|
||||||
var $_required = false;
|
|
||||||
var $_freeze = false;
|
/**
|
||||||
|
* Require telltale
|
||||||
|
* @see LSformElement::setRequired()
|
||||||
|
* @see LSformElement::isRequired()
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
var bool $_required = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Freeze telltale (=read-only element)
|
||||||
|
* @see LSformElement::freeze()
|
||||||
|
* @see LSformElement::isFreeze()
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
var bool $_freeze = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference to the related LSattr_html object
|
||||||
|
* @var LSattr_html
|
||||||
|
*/
|
||||||
var $attr_html;
|
var $attr_html;
|
||||||
var $fieldTemplate = 'LSformElement_field.tpl';
|
|
||||||
var $template = 'LSformElement.tpl';
|
/**
|
||||||
var $fetchVariables = array();
|
* The one-value template filename (=for one vaue of the form element)
|
||||||
|
* Note: commonly overwrite in implementated classes
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var string $fieldTemplate = 'LSformElement_field.tpl';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The template filename (of the form complement element)
|
||||||
|
* Note: may be overwrite in implementated classes
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var string $template = 'LSformElement.tpl';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Template variables passed to Smarty computing the form element template
|
||||||
|
* Note: this variables are commonly added in implementated classes
|
||||||
|
* @var array<string,mixed>
|
||||||
|
*/
|
||||||
|
var array $fetchVariables = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
|
@ -51,9 +115,9 @@ class LSformElement extends LSlog_staticLoggerClass {
|
||||||
*
|
*
|
||||||
* @param LSform &$form The LSform parent object
|
* @param LSform &$form The LSform parent object
|
||||||
* @param string $name The name of the element
|
* @param string $name The name of the element
|
||||||
* @param string $name The label of the element
|
* @param string $label The label of the element
|
||||||
* @param string $name The parameters of the element
|
* @param array $params The parameters of the element
|
||||||
* @param LSform &$form The LSattr_html object of the corresponding attribute
|
* @param LSattr_html &$attr_html The LSattr_html object of the corresponding attribute
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -178,9 +242,15 @@ class LSformElement extends LSlog_staticLoggerClass {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne le label de l'élement
|
* Return label info of the element:
|
||||||
|
* array(
|
||||||
|
* 'label' => 'The label',
|
||||||
|
* 'required' => true|false,
|
||||||
|
* 'help_info' => 'The help info of the element',
|
||||||
|
* 'help_info_in_view' => true|false,
|
||||||
|
* )
|
||||||
*
|
*
|
||||||
* @return void
|
* @return array The label info
|
||||||
*/
|
*/
|
||||||
public function getLabelInfos() {
|
public function getLabelInfos() {
|
||||||
if ($this -> isRequired()) {
|
if ($this -> isRequired()) {
|
||||||
|
@ -234,7 +304,7 @@ class LSformElement extends LSlog_staticLoggerClass {
|
||||||
* Retrieve the value of the element specified by its name ($name)
|
* Retrieve the value of the element specified by its name ($name)
|
||||||
* from POST data (provided as $post).
|
* from POST data (provided as $post).
|
||||||
*
|
*
|
||||||
* @param array &$return Reference of the array for input POST data
|
* @param array &$post Reference of the array for input POST data
|
||||||
* @param string $name POST data element name
|
* @param string $name POST data element name
|
||||||
*
|
*
|
||||||
* @return mixed Array of POST data value if present, false otherwise
|
* @return mixed Array of POST data value if present, false otherwise
|
||||||
|
@ -279,8 +349,8 @@ class LSformElement extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Return HTML code of the LSformElement based on its (smarty) template file
|
* Return HTML code of the LSformElement based on its (smarty) template file
|
||||||
*
|
*
|
||||||
* @param string $name The template filename (optional, default: $this -> template)
|
* @param string $template The template filename (optional, default: $this -> template)
|
||||||
* @param string $name Array of template variables to assign before template compilation (optional)
|
* @param array $variables Array of template variables to assign before template compilation (optional)
|
||||||
*
|
*
|
||||||
* @return string HTML code of the LSformElement
|
* @return string HTML code of the LSformElement
|
||||||
*/
|
*/
|
||||||
|
@ -326,9 +396,9 @@ class LSformElement extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Return a parameter (or default value)
|
* Return a parameter (or default value)
|
||||||
*
|
*
|
||||||
* @param[] $param The configuration parameter
|
* @param string $param The configuration parameter
|
||||||
* @param[] $default The default value (default : null)
|
* @param mixed $default The default value (default : null)
|
||||||
* @param[] $cast Cast resulting value in specific type (default : disabled)
|
* @param string $cast Cast resulting value in specific type (default : disabled)
|
||||||
*
|
*
|
||||||
* @return mixed The parameter value or default value if not set
|
* @return mixed The parameter value or default value if not set
|
||||||
**/
|
**/
|
||||||
|
@ -339,12 +409,14 @@ class LSformElement extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* CLI autocompleter for form element attribute values
|
* CLI autocompleter for form element attribute values
|
||||||
*
|
*
|
||||||
* @param array &$return Array of avalaible autocomplete options
|
* @param array &$opts Array of avalaible autocomplete options
|
||||||
* @param string $name The (unquoted) command word to autocomplete
|
* @param string $comp_word The (unquoted) command word to autocomplete
|
||||||
* @param string $name The current attribute value in command word to autocomplete
|
* @param string $attr_value The current attribute value in command word to
|
||||||
* (optional, default: empty string)
|
* autocomplete (optional, default: empty string)
|
||||||
* @param string $name The multiple value delimiter (optional, default: "|")
|
* @param string $multiple_value_delimiter The multiple value delimiter
|
||||||
* @param string $name The quote character detected (optional, default: empty string)
|
* (optional, default: "|")
|
||||||
|
* @param string $quote_char The quote character detected
|
||||||
|
* (optional, default: empty string)
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -355,12 +427,15 @@ class LSformElement extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* CLI autocompleter helper to split form element attribute values
|
* CLI autocompleter helper to split form element attribute values
|
||||||
*
|
*
|
||||||
* @param string $attr_value The current attribute value in command word to autocomplete
|
* @param string $attr_value The current attribute value in command word
|
||||||
* (optional, default: empty string)
|
* to autocomplete
|
||||||
* @param string $multiple_value_delimiter The multiple value delimiter (optional, default: "|")
|
* (optional, default: empty string)
|
||||||
* @param array &$attr_values &array Array that will contain splited attribute values without
|
* @param string $multiple_value_delimiter The multiple value delimiter
|
||||||
* last-one
|
* (optional, default: "|")
|
||||||
* @param string &$last_attr_value Array that will contain the last splited attribute value
|
* @param array &$attr_values Array that will contain splited attribute
|
||||||
|
* values without last-one
|
||||||
|
* @param string &$last_attr_value Array that will contain the last splited
|
||||||
|
* attribute value
|
||||||
*
|
*
|
||||||
* @return boolean True on success, False otherwise
|
* @return boolean True on success, False otherwise
|
||||||
*/
|
*/
|
||||||
|
@ -385,7 +460,7 @@ class LSformElement extends LSlog_staticLoggerClass {
|
||||||
* @param string $multiple_value_delimiter The multiple value delimiter (optional, default: "|")
|
* @param string $multiple_value_delimiter The multiple value delimiter (optional, default: "|")
|
||||||
* @param string $quote_char The quote character (optional, default: empty string)
|
* @param string $quote_char The quote character (optional, default: empty string)
|
||||||
*
|
*
|
||||||
* @return boolean True on success, False otherwise
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function add_autocomplete_attr_value_opts(&$opts, &$attr_values, $value, $multiple_value_delimiter='|', $quote_char='') {
|
protected function add_autocomplete_attr_value_opts(&$opts, &$attr_values, $value, $multiple_value_delimiter='|', $quote_char='') {
|
||||||
if (in_array($value, $attr_values)) {
|
if (in_array($value, $attr_values)) {
|
||||||
|
@ -403,8 +478,8 @@ class LSformElement extends LSlog_staticLoggerClass {
|
||||||
/**
|
/**
|
||||||
* Retrieve value as return in API response
|
* Retrieve value as return in API response
|
||||||
*
|
*
|
||||||
* @param boolean $onlyIfPresent If true, returned values will contain details if this field type
|
* @param boolean $details If true, returned values will contain details if this field
|
||||||
* support it (optional, default: false)
|
* type support it (optional, default: false)
|
||||||
*
|
*
|
||||||
* @return mixed API value(s) or null/empty array if no value
|
* @return mixed API value(s) or null/empty array if no value
|
||||||
*/
|
*/
|
||||||
|
@ -427,4 +502,14 @@ class LSformElement extends LSlog_staticLoggerClass {
|
||||||
return $values[0];
|
return $values[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get display info of the form element
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getDisplay(){
|
||||||
|
$return = $this -> getLabelInfos();
|
||||||
|
$return['html'] = $this -> fetchTemplate();
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
|
|
||||||
class LSformElement_boolean extends LSformElement {
|
class LSformElement_boolean extends LSformElement {
|
||||||
|
|
||||||
var $fieldTemplate = 'LSformElement_boolean_field.tpl';
|
var string $fieldTemplate = 'LSformElement_boolean_field.tpl';
|
||||||
var $template = 'LSformElement_boolean.tpl';
|
var string $template = 'LSformElement_boolean.tpl';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne les infos d'affichage de l'élément
|
* Retourne les infos d'affichage de l'élément
|
||||||
|
@ -67,11 +67,14 @@ class LSformElement_boolean extends LSformElement {
|
||||||
/**
|
/**
|
||||||
* CLI autocompleter for form element attribute values
|
* CLI autocompleter for form element attribute values
|
||||||
*
|
*
|
||||||
* @param array &$opts Array of avalaible autocomplete options
|
* @param array &$opts Array of avalaible autocomplete options
|
||||||
* @param string $comp_word The (unquoted) command word to autocomplete
|
* @param string $comp_word The (unquoted) command word to autocomplete
|
||||||
* @param string $attr_value The current attribute value in command word to autocomplete (optional, default: empty string)
|
* @param string $attr_value The current attribute value in command word to
|
||||||
* @param string $multiple_value_delimiter The multiple value delimiter (optional, default: "|")
|
* autocomplete (optional, default: empty string)
|
||||||
* @param string $quote_char The quote character detected (optional, default: empty string)
|
* @param string $multiple_value_delimiter The multiple value delimiter
|
||||||
|
* (optional, default: "|")
|
||||||
|
* @param string $quote_char The quote character detected
|
||||||
|
* (optional, default: empty string)
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -32,9 +32,9 @@
|
||||||
|
|
||||||
class LSformElement_date extends LSformElement {
|
class LSformElement_date extends LSformElement {
|
||||||
|
|
||||||
var $fieldTemplate = 'LSformElement_date_field.tpl';
|
var string $fieldTemplate = 'LSformElement_date_field.tpl';
|
||||||
|
|
||||||
var $_php2js_format = array(
|
var array $_php2js_format = array(
|
||||||
"a" => "a",
|
"a" => "a",
|
||||||
"A" => "A",
|
"A" => "A",
|
||||||
"b" => "b",
|
"b" => "b",
|
||||||
|
@ -60,9 +60,9 @@ class LSformElement_date extends LSformElement {
|
||||||
"%" => "%",
|
"%" => "%",
|
||||||
);
|
);
|
||||||
|
|
||||||
var $_cache_php2js_format=array();
|
var array $_cache_php2js_format=array();
|
||||||
|
|
||||||
var $default_style="vista";
|
var string $default_style="vista";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Définis la valeur de l'élément date
|
* Définis la valeur de l'élément date
|
||||||
|
|
|
@ -31,9 +31,7 @@
|
||||||
|
|
||||||
class LSformElement_image extends LSformElement {
|
class LSformElement_image extends LSformElement {
|
||||||
|
|
||||||
var $postImage = NULL;
|
var string $fieldTemplate = 'LSformElement_image_field.tpl';
|
||||||
var $tmp_file = array();
|
|
||||||
var $fieldTemplate = 'LSformElement_image_field.tpl';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne les infos d'affichage de l'élément
|
* Retourne les infos d'affichage de l'élément
|
||||||
|
@ -167,7 +165,7 @@ class LSformElement_image extends LSformElement {
|
||||||
/**
|
/**
|
||||||
* Retrieve value as return in API response
|
* Retrieve value as return in API response
|
||||||
*
|
*
|
||||||
* @param boolean $onlyIfPresent If true, returned values will contain details if this field type
|
* @param boolean $details If true, returned values will contain details if this field type
|
||||||
* support it (optional, default: false)
|
* support it (optional, default: false)
|
||||||
*
|
*
|
||||||
* @return mixed API value(s) or null/empty array if no value
|
* @return mixed API value(s) or null/empty array if no value
|
||||||
|
|
|
@ -32,8 +32,8 @@ LSsession :: loadLSclass('LSformElement');
|
||||||
|
|
||||||
class LSformElement_jsonCompositeAttribute extends LSformElement {
|
class LSformElement_jsonCompositeAttribute extends LSformElement {
|
||||||
|
|
||||||
var $template = 'LSformElement_jsonCompositeAttribute.tpl';
|
var string $template = 'LSformElement_jsonCompositeAttribute.tpl';
|
||||||
var $fieldTemplate = 'LSformElement_jsonCompositeAttribute_field.tpl';
|
var string $fieldTemplate = 'LSformElement_jsonCompositeAttribute_field.tpl';
|
||||||
|
|
||||||
public function __construct(&$form, $name, $label, $params, &$attr_html){
|
public function __construct(&$form, $name, $label, $params, &$attr_html){
|
||||||
parent :: __construct($form, $name, $label, $params,$attr_html);
|
parent :: __construct($form, $name, $label, $params,$attr_html);
|
||||||
|
@ -151,7 +151,7 @@ class LSformElement_jsonCompositeAttribute extends LSformElement {
|
||||||
* - translated : translated value
|
* - translated : translated value
|
||||||
*
|
*
|
||||||
* @param string $c The component name
|
* @param string $c The component name
|
||||||
* @param string $c The value
|
* @param string $value The value
|
||||||
* @param boolean $inLoop Internal param to control recursion
|
* @param boolean $inLoop Internal param to control recursion
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
|
@ -204,7 +204,7 @@ class LSformElement_jsonCompositeAttribute extends LSformElement {
|
||||||
* Retrieve value's label of an select_list component
|
* Retrieve value's label of an select_list component
|
||||||
*
|
*
|
||||||
* @param string $c The component name
|
* @param string $c The component name
|
||||||
* @param string $c The value
|
* @param string $value The value
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
**/
|
**/
|
||||||
|
@ -230,8 +230,8 @@ class LSformElement_jsonCompositeAttribute extends LSformElement {
|
||||||
* it to feed the array passed in paramater.
|
* it to feed the array passed in paramater.
|
||||||
*
|
*
|
||||||
* @param array &$return Reference of the array for retrieved values
|
* @param array &$return Reference of the array for retrieved values
|
||||||
* @param boolean $inLoop If true and data of this element is not present in POST data,
|
* @param boolean $onlyIfPresent If true and data of this element is not present
|
||||||
* just ignore it.
|
* in POST data, just ignore it.
|
||||||
*
|
*
|
||||||
* @return boolean true if value is in POST data, false instead
|
* @return boolean true if value is in POST data, false instead
|
||||||
*/
|
*/
|
||||||
|
@ -378,8 +378,8 @@ class LSformElement_jsonCompositeAttribute extends LSformElement {
|
||||||
/**
|
/**
|
||||||
* Check one component's values
|
* Check one component's values
|
||||||
*
|
*
|
||||||
* @param[] $c The component name
|
* @param string $c The component name
|
||||||
* @param[] $value The values of the component
|
* @param mixed $value The values of the component
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
**/
|
**/
|
||||||
|
@ -420,8 +420,8 @@ class LSformElement_jsonCompositeAttribute extends LSformElement {
|
||||||
/**
|
/**
|
||||||
* Check one select_list component's value
|
* Check one select_list component's value
|
||||||
*
|
*
|
||||||
* @param[] $c The component name
|
* @param string $c The component name
|
||||||
* @param[] $value The value to check
|
* @param string $value The value to check
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
**/
|
**/
|
||||||
|
@ -443,10 +443,10 @@ class LSformElement_jsonCompositeAttribute extends LSformElement {
|
||||||
/**
|
/**
|
||||||
* Return a configuration parameter for a specific component (or default value)
|
* Return a configuration parameter for a specific component (or default value)
|
||||||
*
|
*
|
||||||
* @param[] $component The component name
|
* @param string $component The component name
|
||||||
* @param[] $param The configuration parameter
|
* @param string $param The configuration parameter
|
||||||
* @param[] $default The default value (default : null)
|
* @param mixed $default The default value (default : null)
|
||||||
* @param[] $cast Cast resulting value in specific type (default : disabled)
|
* @param string|null $cast Cast resulting value in specific type (default : disabled)
|
||||||
*
|
*
|
||||||
* @return mixed The configuration parameter value or default value if not set
|
* @return mixed The configuration parameter value or default value if not set
|
||||||
**/
|
**/
|
||||||
|
@ -460,7 +460,7 @@ class LSformElement_jsonCompositeAttribute extends LSformElement {
|
||||||
/**
|
/**
|
||||||
* Retrieve value as return in API response
|
* Retrieve value as return in API response
|
||||||
*
|
*
|
||||||
* @param boolean $inLoop If true, returned values will contain details if this field type
|
* @param boolean $details If true, returned values will contain details if this field type
|
||||||
* support it (optional, default: false)
|
* support it (optional, default: false)
|
||||||
*
|
*
|
||||||
* @return mixed API value(s) or null/empty array if no value
|
* @return mixed API value(s) or null/empty array if no value
|
||||||
|
|
|
@ -33,8 +33,8 @@ LSsession :: loadLSclass('LSformElement');
|
||||||
|
|
||||||
class LSformElement_labeledValue extends LSformElement {
|
class LSformElement_labeledValue extends LSformElement {
|
||||||
|
|
||||||
var $template = 'LSformElement_labeledValue.tpl';
|
var string $template = 'LSformElement_labeledValue.tpl';
|
||||||
var $fieldTemplate = 'LSformElement_labeledValue_field.tpl';
|
var string $fieldTemplate = 'LSformElement_labeledValue_field.tpl';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne les infos d'affichage de l'élément
|
* Retourne les infos d'affichage de l'élément
|
||||||
|
|
|
@ -33,20 +33,20 @@ LSsession :: loadLSclass('LSformElement_text');
|
||||||
|
|
||||||
class LSformElement_mail extends LSformElement_text {
|
class LSformElement_mail extends LSformElement_text {
|
||||||
|
|
||||||
var $JSscripts = array(
|
var array $JSscripts = array(
|
||||||
'LSformElement_mail.js'
|
'LSformElement_mail.js'
|
||||||
);
|
);
|
||||||
|
|
||||||
var $fetchVariables = array(
|
var array $fetchVariables = array(
|
||||||
'additionalCssClass' => array('LSformElement_mail'),
|
'additionalCssClass' => array('LSformElement_mail'),
|
||||||
'uriPrefix' => 'mailto:'
|
'uriPrefix' => 'mailto:'
|
||||||
);
|
);
|
||||||
|
|
||||||
var $fieldTemplate = 'LSformElement_uri_field.tpl';
|
var string $fieldTemplate = 'LSformElement_uri_field.tpl';
|
||||||
|
|
||||||
// Flag to trigger warning about old Autocomplete config style
|
// Flag to trigger warning about old Autocomplete config style
|
||||||
// (detect in constructor and show on getDisplay())
|
// (detect in constructor and show on getDisplay())
|
||||||
private $warnOldAutocompleteConfigStyle = false;
|
private bool $warnOldAutocompleteConfigStyle = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
|
|
|
@ -32,9 +32,9 @@
|
||||||
|
|
||||||
class LSformElement_mailQuota extends LSformElement {
|
class LSformElement_mailQuota extends LSformElement {
|
||||||
|
|
||||||
var $fieldTemplate = 'LSformElement_mailQuota_field.tpl';
|
var string $fieldTemplate = 'LSformElement_mailQuota_field.tpl';
|
||||||
|
|
||||||
var $sizeFacts = array(
|
var array $sizeFacts = array(
|
||||||
1 => 'o',
|
1 => 'o',
|
||||||
1000 => 'Ko',
|
1000 => 'Ko',
|
||||||
1000000 => 'Mo',
|
1000000 => 'Mo',
|
||||||
|
@ -52,7 +52,7 @@ class LSformElement_mailQuota extends LSformElement {
|
||||||
public function parseValue($value, $details=true) {
|
public function parseValue($value, $details=true) {
|
||||||
if (preg_match('/^([0-9]+)'.$this -> getSuffix().'$/', $value, $regs)) {
|
if (preg_match('/^([0-9]+)'.$this -> getSuffix().'$/', $value, $regs)) {
|
||||||
$infos = array(
|
$infos = array(
|
||||||
'size' => $regs[1],
|
'size' => intval($regs[1]),
|
||||||
);
|
);
|
||||||
if (!$details)
|
if (!$details)
|
||||||
return $infos['size'];
|
return $infos['size'];
|
||||||
|
|
|
@ -52,14 +52,12 @@ LSsession :: loadLSclass('LSformElement_text');
|
||||||
|
|
||||||
class LSformElement_maildir extends LSformElement_text {
|
class LSformElement_maildir extends LSformElement_text {
|
||||||
|
|
||||||
var $_toDo=null;
|
var array $JSscripts = array(
|
||||||
|
|
||||||
var $JSscripts = array(
|
|
||||||
'LSformElement_maildir_field.js',
|
'LSformElement_maildir_field.js',
|
||||||
'LSformElement_maildir.js'
|
'LSformElement_maildir.js'
|
||||||
);
|
);
|
||||||
|
|
||||||
var $fetchVariables = array(
|
var array $fetchVariables = array(
|
||||||
'additionalCssClass' => array('LSformElement_maildir'),
|
'additionalCssClass' => array('LSformElement_maildir'),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -109,9 +107,23 @@ class LSformElement_maildir extends LSformElement_text {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action) {
|
if ($action) {
|
||||||
$new = $this -> attr_html -> getRemoteRootPathRegex($new);
|
if (is_a($this -> attr_html, 'LSattr_html_maildir')) {
|
||||||
$cur = $this -> attr_html -> getRemoteRootPathRegex($cur);
|
$new = $this -> attr_html -> getRemoteRootPathRegex($new);
|
||||||
$this -> attr_html -> doOnModify($action,$cur,$new);
|
$cur = $this -> attr_html -> getRemoteRootPathRegex($cur);
|
||||||
|
$this -> attr_html -> doOnModify($action,$cur,$new);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$this -> form -> setElementError(
|
||||||
|
$this -> attr_html,
|
||||||
|
_(
|
||||||
|
"%{label}: the attribute HTML type is not maildir (but %{type}). ".
|
||||||
|
"Can't handle on modify hook."
|
||||||
|
),
|
||||||
|
array('type' => get_class($this -> attr_html))
|
||||||
|
);
|
||||||
|
unset($return[$this -> name]);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,9 +32,15 @@ LSsession :: loadLSclass('LSformElement');
|
||||||
|
|
||||||
class LSformElement_password extends LSformElement {
|
class LSformElement_password extends LSformElement {
|
||||||
|
|
||||||
var $fieldTemplate = 'LSformElement_password_field.tpl';
|
var string $fieldTemplate = 'LSformElement_password_field.tpl';
|
||||||
var $template = 'LSformElement_password.tpl';
|
var string $template = 'LSformElement_password.tpl';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Mail to send info
|
||||||
|
* @see self::getPostData()
|
||||||
|
* @see self::send()
|
||||||
|
* @var array|false
|
||||||
|
*/
|
||||||
var $sendMail = false;
|
var $sendMail = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -219,7 +225,7 @@ class LSformElement_password extends LSformElement {
|
||||||
$defaultConfirmChangeQuestion = ___('%{label}: Do you confirm the password change?');
|
$defaultConfirmChangeQuestion = ___('%{label}: Do you confirm the password change?');
|
||||||
$params['confirmChangeQuestion'] = $this -> attr_html -> attribute -> ldapObject -> getDisplayFData(
|
$params['confirmChangeQuestion'] = $this -> attr_html -> attribute -> ldapObject -> getDisplayFData(
|
||||||
__($this -> getParam('html_options.confirmChangeQuestion', $defaultConfirmChangeQuestion)),
|
__($this -> getParam('html_options.confirmChangeQuestion', $defaultConfirmChangeQuestion)),
|
||||||
$this -> label
|
array('password_label' => $this -> label)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -227,7 +233,7 @@ class LSformElement_password extends LSformElement {
|
||||||
$defaultConfirmInputError = ___('Passwords entered did not match.');
|
$defaultConfirmInputError = ___('Passwords entered did not match.');
|
||||||
$params['confirmInputError'] = $this -> attr_html -> attribute -> ldapObject -> getDisplayFData(
|
$params['confirmInputError'] = $this -> attr_html -> attribute -> ldapObject -> getDisplayFData(
|
||||||
__($this -> getParam('html_options.confirmInputError', $defaultConfirmInputError)),
|
__($this -> getParam('html_options.confirmInputError', $defaultConfirmInputError)),
|
||||||
$this -> label
|
array('password_label' => $this -> label)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -280,9 +286,10 @@ class LSformElement_password extends LSformElement {
|
||||||
if ($this -> isLoginPassword()) {
|
if ($this -> isLoginPassword()) {
|
||||||
return LSsession :: checkUserPwd($this -> attr_html -> attribute -> ldapObject, $pwd);
|
return LSsession :: checkUserPwd($this -> attr_html -> attribute -> ldapObject, $pwd);
|
||||||
}
|
}
|
||||||
else {
|
elseif (is_a($this -> attr_html -> attribute -> ldap, 'LSattr_ldap_password')) {
|
||||||
return $this -> attr_html -> attribute -> ldap -> verify($pwd);
|
return $this -> attr_html -> attribute -> ldap -> verify($pwd);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getMailAttrs() {
|
public function getMailAttrs() {
|
||||||
|
@ -444,11 +451,14 @@ class LSformElement_password extends LSformElement {
|
||||||
/**
|
/**
|
||||||
* CLI autocompleter for form element attribute values
|
* CLI autocompleter for form element attribute values
|
||||||
*
|
*
|
||||||
* @param array &$opts Array of avalaible autocomplete options
|
* @param array &$opts Array of avalaible autocomplete options
|
||||||
* @param string $comp_word The (unquoted) command word to autocomplete
|
* @param string $comp_word The (unquoted) command word to autocomplete
|
||||||
* @param string $attr_value The current attribute value in command word to autocomplete (optional, default: empty string)
|
* @param string $attr_value The current attribute value in command word to
|
||||||
* @param string $multiple_value_delimiter The multiple value delimiter (optional, default: "|")
|
* autocomplete (optional, default: empty string)
|
||||||
* @param string $quote_char The quote character detected (optional, default: empty string)
|
* @param string $multiple_value_delimiter The multiple value delimiter
|
||||||
|
* (optional, default: "|")
|
||||||
|
* @param string $quote_char The quote character detected
|
||||||
|
* (optional, default: empty string)
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,7 +30,12 @@ LSsession :: loadLSclass('LSformElement_textarea');
|
||||||
|
|
||||||
class LSformElement_postaladdress extends LSformElement_textarea {
|
class LSformElement_postaladdress extends LSformElement_textarea {
|
||||||
|
|
||||||
var $fieldTemplateExtraClass = 'LSformElement_postaladdress';
|
/**
|
||||||
|
* Extra CSS class for the pre HTML element
|
||||||
|
* @see LSformElement_textarea::getDisplay()
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var string $fieldTemplateExtraClass = 'LSformElement_postaladdress';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne les infos d'affichage de l'élément
|
* Retourne les infos d'affichage de l'élément
|
||||||
|
|
|
@ -30,7 +30,12 @@ LSsession :: loadLSclass('LSformElement_textarea');
|
||||||
|
|
||||||
class LSformElement_pre extends LSformElement_textarea {
|
class LSformElement_pre extends LSformElement_textarea {
|
||||||
|
|
||||||
var $fieldTemplateExtraClass = 'LSformElement_pre';
|
/**
|
||||||
|
* Extra CSS class for the pre HTML element
|
||||||
|
* @see LSformElement_textarea::getDisplay()
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
var string $fieldTemplateExtraClass = 'LSformElement_pre';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne les infos d'affichage de l'élément
|
* Retourne les infos d'affichage de l'élément
|
||||||
|
|
|
@ -32,9 +32,9 @@
|
||||||
|
|
||||||
class LSformElement_quota extends LSformElement {
|
class LSformElement_quota extends LSformElement {
|
||||||
|
|
||||||
var $fieldTemplate = 'LSformElement_quota_field.tpl';
|
var string $fieldTemplate = 'LSformElement_quota_field.tpl';
|
||||||
|
|
||||||
var $sizeFacts = array(
|
var array $sizeFacts = array(
|
||||||
1 => 'o',
|
1 => 'o',
|
||||||
1024 => 'Ko',
|
1024 => 'Ko',
|
||||||
1048576 => 'Mo',
|
1048576 => 'Mo',
|
||||||
|
@ -53,7 +53,7 @@ class LSformElement_quota extends LSformElement {
|
||||||
public function parseValue($value, $details=true) {
|
public function parseValue($value, $details=true) {
|
||||||
if (preg_match('/^([0-9]+)$/', $value, $regs)) {
|
if (preg_match('/^([0-9]+)$/', $value, $regs)) {
|
||||||
$infos = array(
|
$infos = array(
|
||||||
'size' => ceil($regs[1]/$this -> getFactor()),
|
'size' => ceil(intval($regs[1]) / $this -> getFactor()),
|
||||||
);
|
);
|
||||||
if (!$details)
|
if (!$details)
|
||||||
return $infos['size'];
|
return $infos['size'];
|
||||||
|
|
|
@ -33,15 +33,15 @@ LSsession :: loadLSclass('LSformElement_text');
|
||||||
|
|
||||||
class LSformElement_rss extends LSformElement_text {
|
class LSformElement_rss extends LSformElement_text {
|
||||||
|
|
||||||
var $JSscripts = array(
|
var array $JSscripts = array(
|
||||||
'LSformElement_rss.js'
|
'LSformElement_rss.js'
|
||||||
);
|
);
|
||||||
var $fetchVariables = array(
|
var array $fetchVariables = array(
|
||||||
'additionalCssClass' => array('LSformElement_rss'),
|
'additionalCssClass' => array('LSformElement_rss'),
|
||||||
'uriPrefix' => ''
|
'uriPrefix' => ''
|
||||||
);
|
);
|
||||||
|
|
||||||
var $fieldTemplate = 'LSformElement_uri_field.tpl';
|
var string $fieldTemplate = 'LSformElement_uri_field.tpl';
|
||||||
|
|
||||||
public function getDisplay() {
|
public function getDisplay() {
|
||||||
LStemplate :: addHelpInfo(
|
LStemplate :: addHelpInfo(
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
|
|
||||||
class LSformElement_select extends LSformElement {
|
class LSformElement_select extends LSformElement {
|
||||||
|
|
||||||
var $template = 'LSformElement_select.tpl';
|
var string $template = 'LSformElement_select.tpl';
|
||||||
var $fieldTemplate = 'LSformElement_select.tpl';
|
var string $fieldTemplate = 'LSformElement_select.tpl';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return display data of this element
|
* Return display data of this element
|
||||||
|
@ -91,7 +91,7 @@ class LSformElement_select extends LSformElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
$ret=False;
|
$ret=False;
|
||||||
if (is_array($possible_values) && isset($value)) {
|
if (is_array($possible_values)) {
|
||||||
foreach($possible_values as $key => $name) {
|
foreach($possible_values as $key => $name) {
|
||||||
if (is_array($name)) {
|
if (is_array($name)) {
|
||||||
if (!is_array($name['possible_values'])) continue;
|
if (!is_array($name['possible_values'])) continue;
|
||||||
|
@ -116,11 +116,14 @@ class LSformElement_select extends LSformElement {
|
||||||
/**
|
/**
|
||||||
* CLI autocompleter for form element attribute values
|
* CLI autocompleter for form element attribute values
|
||||||
*
|
*
|
||||||
* @param array &$opts Array of avalaible autocomplete options
|
* @param array &$opts Array of avalaible autocomplete options
|
||||||
* @param string $comp_word The (unquoted) command word to autocomplete
|
* @param string $comp_word The (unquoted) command word to autocomplete
|
||||||
* @param string $comp_word The current attribute value in command word to autocomplete (optional, default: empty string)
|
* @param string $attr_value The current attribute value in command word to
|
||||||
* @param string $comp_word The multiple value delimiter (optional, default: "|")
|
* autocomplete (optional, default: empty string)
|
||||||
* @param string $comp_word The quote character detected (optional, default: empty string)
|
* @param string $multiple_value_delimiter The multiple value delimiter
|
||||||
|
* (optional, default: "|")
|
||||||
|
* @param string $quote_char The quote character detected
|
||||||
|
* (optional, default: empty string)
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -33,8 +33,8 @@ LSsession :: loadLSclass('LSformElement_select');
|
||||||
|
|
||||||
class LSformElement_select_box extends LSformElement_select {
|
class LSformElement_select_box extends LSformElement_select {
|
||||||
|
|
||||||
var $template = 'LSformElement_select_box.tpl';
|
var string $template = 'LSformElement_select_box.tpl';
|
||||||
var $fieldTemplate = 'LSformElement_select_box.tpl';
|
var string $fieldTemplate = 'LSformElement_select_box.tpl';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return display data of this element
|
* Return display data of this element
|
||||||
|
|
|
@ -43,8 +43,14 @@ LSsession :: loadLSclass('LSformElement');
|
||||||
|
|
||||||
class LSformElement_select_object extends LSformElement {
|
class LSformElement_select_object extends LSformElement {
|
||||||
|
|
||||||
var $fieldTemplate = 'LSformElement_select_object_field.tpl';
|
var string $fieldTemplate = 'LSformElement_select_object_field.tpl';
|
||||||
var $template = 'LSformElement_select_object.tpl';
|
var string $template = 'LSformElement_select_object.tpl';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference to the related LSattr_html_select_object object
|
||||||
|
* @var LSattr_html_select_object
|
||||||
|
*/
|
||||||
|
var $attr_html;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return display informations of the element
|
* Return display informations of the element
|
||||||
|
@ -198,7 +204,7 @@ class LSformElement_select_object extends LSformElement {
|
||||||
*
|
*
|
||||||
* @param string $pattern The pattern of the search
|
* @param string $pattern The pattern of the search
|
||||||
*
|
*
|
||||||
* @return array(dn -> displayName) Found objects
|
* @return array Found objects with DN as key and display name as value
|
||||||
*/
|
*/
|
||||||
public function searchAdd($pattern) {
|
public function searchAdd($pattern) {
|
||||||
$objs = array();
|
$objs = array();
|
||||||
|
@ -289,11 +295,14 @@ class LSformElement_select_object extends LSformElement {
|
||||||
/**
|
/**
|
||||||
* CLI autocompleter for form element attribute values
|
* CLI autocompleter for form element attribute values
|
||||||
*
|
*
|
||||||
* @param array &$opts Array of avalaible autocomplete options
|
* @param array &$opts Array of avalaible autocomplete options
|
||||||
* @param string $va The (unquoted) command word to autocomplete
|
* @param string $comp_word The (unquoted) command word to autocomplete
|
||||||
* @param string $va The current attribute value in command word to autocomplete (optional, default: empty string)
|
* @param string $attr_value The current attribute value in command word to
|
||||||
* @param string $va The multiple value delimiter (optional, default: "|")
|
* autocomplete (optional, default: empty string)
|
||||||
* @param string $va The quote character detected (optional, default: empty string)
|
* @param string $multiple_value_delimiter The multiple value delimiter
|
||||||
|
* (optional, default: "|")
|
||||||
|
* @param string $quote_char The quote character detected
|
||||||
|
* (optional, default: empty string)
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
|
|
||||||
class LSformElement_ssh_key extends LSformElement {
|
class LSformElement_ssh_key extends LSformElement {
|
||||||
|
|
||||||
var $template = 'LSformElement_ssh_key.tpl';
|
var string $template = 'LSformElement_ssh_key.tpl';
|
||||||
var $fieldTemplate = 'LSformElement_ssh_key_field.tpl';
|
var string $fieldTemplate = 'LSformElement_ssh_key_field.tpl';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -34,8 +34,8 @@ LSsession :: loadLSaddon('supann');
|
||||||
|
|
||||||
class LSformElement_supannCompositeAttribute extends LSformElement {
|
class LSformElement_supannCompositeAttribute extends LSformElement {
|
||||||
|
|
||||||
var $template = 'LSformElement_supannCompositeAttribute.tpl';
|
var string $template = 'LSformElement_supannCompositeAttribute.tpl';
|
||||||
var $fieldTemplate = 'LSformElement_supannCompositeAttribute_field.tpl';
|
var string $fieldTemplate = 'LSformElement_supannCompositeAttribute_field.tpl';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Composants des valeurs composites :
|
* Composants des valeurs composites :
|
||||||
|
@ -76,9 +76,9 @@ class LSformElement_supannCompositeAttribute extends LSformElement {
|
||||||
*
|
*
|
||||||
* @param LSform &$form The LSform parent object
|
* @param LSform &$form The LSform parent object
|
||||||
* @param string $name The name of the element
|
* @param string $name The name of the element
|
||||||
* @param string $name The label of the element
|
* @param string $label The label of the element
|
||||||
* @param string $name The parameters of the element
|
* @param array $params The parameters of the element
|
||||||
* @param LSform &$form The LSattr_html object of the corresponding attribute
|
* @param LSattr_html &$attr_html The LSattr_html object of the corresponding attribute
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -241,8 +241,8 @@ class LSformElement_supannCompositeAttribute extends LSformElement {
|
||||||
* - value : la valeur brute
|
* - value : la valeur brute
|
||||||
* - translated : la valeur traduite ou la valeur elle même
|
* - translated : la valeur traduite ou la valeur elle même
|
||||||
*
|
*
|
||||||
* @param string $name Le nom du composant
|
* @param string $c Le nom du composant
|
||||||
* @param string $name La valeur
|
* @param string $val La valeur
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
**/
|
**/
|
||||||
|
@ -519,7 +519,7 @@ class LSformElement_supannCompositeAttribute extends LSformElement {
|
||||||
$form = $object -> getForm($_REQUEST['idform']);
|
$form = $object -> getForm($_REQUEST['idform']);
|
||||||
$field = $form -> getElement($_REQUEST['attribute']);
|
$field = $form -> getElement($_REQUEST['attribute']);
|
||||||
if (isset($field->components[$_REQUEST['component']])) {
|
if (isset($field->components[$_REQUEST['component']])) {
|
||||||
$data['possibleValues'] = $field -> searchComponentPossibleValues(
|
$data['possibleValues'] = $field -> searchComponentPossibleValues( // @phpstan-ignore-line
|
||||||
$_REQUEST['component'], $_REQUEST['pattern']
|
$_REQUEST['component'], $_REQUEST['pattern']
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -564,7 +564,7 @@ class LSformElement_supannCompositeAttribute extends LSformElement {
|
||||||
/**
|
/**
|
||||||
* Retrieve value as return in API response
|
* Retrieve value as return in API response
|
||||||
*
|
*
|
||||||
* @param boolean $onlyIfPresent If true, returned values will contain details if this field type
|
* @param boolean $details If true, returned values will contain details if this field type
|
||||||
* support it (optional, default: false)
|
* support it (optional, default: false)
|
||||||
*
|
*
|
||||||
* @return mixed API value(s) or null/empty array if no value
|
* @return mixed API value(s) or null/empty array if no value
|
||||||
|
|
|
@ -34,10 +34,21 @@ LSsession :: loadLSaddon('supann');
|
||||||
|
|
||||||
class LSformElement_supannLabeledValue extends LSformElement {
|
class LSformElement_supannLabeledValue extends LSformElement {
|
||||||
|
|
||||||
var $template = 'LSformElement_supannLabeledValue.tpl';
|
var string $template = 'LSformElement_supannLabeledValue.tpl';
|
||||||
var $fieldTemplate = 'LSformElement_supannLabeledValue_field.tpl';
|
var string $fieldTemplate = 'LSformElement_supannLabeledValue_field.tpl';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Nomenclature table of this form element's values
|
||||||
|
* @see supannGetNomenclaturePossibleValues()
|
||||||
|
* @var string|null
|
||||||
|
*/
|
||||||
var $supannNomenclatureTable = null;
|
var $supannNomenclatureTable = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Nomenclature table for the labels of this form element's values
|
||||||
|
* @see supannGetNomenclaturePossibleValues()
|
||||||
|
* @var string|null
|
||||||
|
*/
|
||||||
var $supannLabelNomenclatureTable = null;
|
var $supannLabelNomenclatureTable = null;
|
||||||
|
|
||||||
// HTML field type: text or textarea (only for field without nomenclature table)
|
// HTML field type: text or textarea (only for field without nomenclature table)
|
||||||
|
|
|
@ -76,7 +76,7 @@ class LSformElement_supannRessourceEtatDate extends LSformElement_supannComposit
|
||||||
/**
|
/**
|
||||||
* Parse une valeur composite gérer par ce type d'attribut
|
* Parse une valeur composite gérer par ce type d'attribut
|
||||||
*
|
*
|
||||||
* @param $value string La valeur à parser
|
* @param string $value La valeur à parser
|
||||||
* @return array|null La valeur parsée, ou NULL en cas de problème
|
* @return array|null La valeur parsée, ou NULL en cas de problème
|
||||||
*/
|
*/
|
||||||
public function parseCompositeValue($value) {
|
public function parseCompositeValue($value) {
|
||||||
|
@ -96,7 +96,7 @@ class LSformElement_supannRessourceEtatDate extends LSformElement_supannComposit
|
||||||
/**
|
/**
|
||||||
* Format une valeur composite gérer par ce type d'attribut
|
* Format une valeur composite gérer par ce type d'attribut
|
||||||
*
|
*
|
||||||
* @param $value string La valeur à parser
|
* @param string $value La valeur à parser
|
||||||
* @return array|null|false La valeur formatée, NULL en cas de valeur vide, ou False en cas de problème
|
* @return array|null|false La valeur formatée, NULL en cas de valeur vide, ou False en cas de problème
|
||||||
*/
|
*/
|
||||||
public function formatCompositeValue($value) {
|
public function formatCompositeValue($value) {
|
||||||
|
|
|
@ -33,12 +33,12 @@ LSsession :: loadLSclass('LSformElement_text');
|
||||||
|
|
||||||
class LSformElement_tel extends LSformElement_text {
|
class LSformElement_tel extends LSformElement_text {
|
||||||
|
|
||||||
var $fetchVariables = array(
|
var array $fetchVariables = array(
|
||||||
'additionalCssClass' => array('LSformElement_tel'),
|
'additionalCssClass' => array('LSformElement_tel'),
|
||||||
'uriPrefix' => 'tel:'
|
'uriPrefix' => 'tel:'
|
||||||
);
|
);
|
||||||
|
|
||||||
var $fieldTemplate = 'LSformElement_uri_field.tpl';
|
var string $fieldTemplate = 'LSformElement_uri_field.tpl';
|
||||||
|
|
||||||
public function getDisplay() {
|
public function getDisplay() {
|
||||||
$this -> fetchVariables['uriLinkTitle'] = $this -> attr_html -> attribute -> ldapObject ->getDisplayName();
|
$this -> fetchVariables['uriLinkTitle'] = $this -> attr_html -> attribute -> ldapObject ->getDisplayName();
|
||||||
|
|
|
@ -33,12 +33,26 @@ LSsession :: loadLSclass('LSformElement');
|
||||||
|
|
||||||
class LSformElement_text extends LSformElement {
|
class LSformElement_text extends LSformElement {
|
||||||
|
|
||||||
var $JSscripts = array();
|
/**
|
||||||
var $CSSfiles = array(
|
* Extra JS scripts to load for handling this form element
|
||||||
|
* Note: commonly overwrite in children LSformElement classes
|
||||||
|
* @see LSformElement_text::getDisplay()
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
var array $JSscripts = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extra CSS file to load for handling this form element
|
||||||
|
* Note: commonly overwrite in children LSformElement classes
|
||||||
|
* @see LSformElement_text::getDisplay()
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
var array $CSSfiles = array(
|
||||||
'LSformElement_text.css',
|
'LSformElement_text.css',
|
||||||
);
|
);
|
||||||
var $fieldTemplate = 'LSformElement_text_field.tpl';
|
|
||||||
var $fetchVariables = array(
|
var string $fieldTemplate = 'LSformElement_text_field.tpl';
|
||||||
|
var array $fetchVariables = array(
|
||||||
'additionalCssClass' => array(),
|
'additionalCssClass' => array(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -82,7 +96,7 @@ class LSformElement_text extends LSformElement {
|
||||||
* Return HTML code of the LSformElement based on its (smarty) template file
|
* Return HTML code of the LSformElement based on its (smarty) template file
|
||||||
*
|
*
|
||||||
* @param string $template The template filename (optional, default: $this -> template)
|
* @param string $template The template filename (optional, default: $this -> template)
|
||||||
* @param string $template Array of template variables to assign before template compilation (optional)
|
* @param array $variables Array of template variables to assign before template compilation (optional)
|
||||||
*
|
*
|
||||||
* @return string HTML code of the LSformElement
|
* @return string HTML code of the LSformElement
|
||||||
*/
|
*/
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue