2008-02-05 17:11:21 +01:00
< ? php
/*******************************************************************************
* Copyright ( C ) 2007 Easter - eggs
* http :// ldapsaisie . labs . libre - entreprise . org
*
* Author : See AUTHORS file in top - level directory .
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place - Suite 330 , Boston , MA 02111 - 1307 , USA .
******************************************************************************/
2009-04-17 12:39:03 +02:00
$GLOBALS [ 'LSobjects' ][ 'LSpeople' ] = array (
2008-02-05 17:11:21 +01:00
'objectclass' => array (
'top' ,
2008-02-12 18:59:44 +01:00
'lspeople' ,
2008-02-05 17:11:21 +01:00
'posixAccount' ,
2020-09-11 13:54:08 +02:00
'shadowAccount' ,
2008-02-05 17:11:21 +01:00
'sambaSamAccount' ,
),
'rdn' => 'uid' ,
'container_dn' => 'ou=people' ,
2020-04-29 15:54:21 +02:00
2008-08-06 19:04:03 +02:00
'container_auto_create' => array (
'objectclass' => array (
'top' ,
'organizationalUnit'
),
'attrs' => array (
'ou' => 'people'
)
),
2015-07-30 16:37:42 +02:00
2018-08-31 18:02:57 +02:00
'LSaddons' => array (
'exportSearchResultAsCSV' ,
),
2015-07-30 16:37:42 +02:00
'ioFormat' => array (
'mycsv' => array (
'label' => 'Simple CSV' ,
'driver' => 'CSV' ,
'driver_options' => array (
'delimiter' => ';' ,
'escape' => '"' ,
'eol' => ';' ,
'length' => 2
),
'fields' => array (
'login' => 'uid' ,
'civility' => 'personalTitle' ,
'firstname' => 'givenName' ,
'name' => 'sn' ,
'mail' => 'mail' ,
'password' => 'userPassword' ,
'gid' => 'gidNumber' ,
'shell' => 'loginShell' ,
),
'generated_fields' => array (
'cn' => '%{personalTitle} %{givenName} %{sn}'
)
)
),
2020-04-29 15:54:21 +02:00
2008-09-09 17:48:07 +02:00
'before_modify' => 'valid' ,
'after_modify' => 'valid' ,
2008-11-10 00:17:28 +01:00
//'after_create' => 'createMaildirByFTP',
//'after_delete' => 'removeMaildirByFTP',
2009-01-07 20:24:14 +01:00
'display_name_format' => '%{cn}' ,
2009-03-19 18:42:51 +01:00
'label' => 'Users' ,
2020-04-29 15:54:21 +02:00
2008-11-03 20:25:22 +01:00
// LSrelation
2009-01-08 00:06:05 +01:00
'LSrelation' => array (
2008-02-26 18:40:05 +01:00
'groups' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Belongs to groups ...' ,
'emptyText' => " Doesn't belong to any group. " ,
2009-04-17 12:39:03 +02:00
'LSobject' => 'LSgroup' ,
2008-02-26 18:40:05 +01:00
'list_function' => 'listUserGroups' ,
2008-10-09 11:50:38 +02:00
'getkeyvalue_function' => 'getMemberKeyValue' ,
2008-02-26 18:40:05 +01:00
'update_function' => 'updateUserGroups' ,
2008-07-29 15:45:02 +02:00
'remove_function' => 'deleteOneMember' ,
'rename_function' => 'renameOneMember' ,
2009-11-11 21:00:59 +01:00
'canEdit_function' => 'canEditGroupRelation' ,
'canEdit_attribute' => 'uniqueMember' ,
2008-02-26 18:40:05 +01:00
'rights' => array (
'self' => 'r' ,
2009-11-11 21:00:59 +01:00
'admin' => 'w' ,
'admingroup' => 'w'
2008-02-26 18:40:05 +01:00
)
2017-04-28 02:13:05 +02:00
),
'godfather' => array (
'label' => 'Godfather of ...' ,
'emptyText' => " Doesn't sponsor any user. " ,
'LSobject' => " LSpeople " ,
'linkAttribute' => " lsGodfatherDn " ,
'linkAttributeValue' => " dn " ,
'rights' => array (
'self' => 'r' ,
'admin' => 'w' ,
'admingroup' => 'w'
)
2008-02-26 18:40:05 +01:00
)
),
2020-04-29 15:54:21 +02:00
2008-11-03 20:25:22 +01:00
// LSform
'LSform' => array (
2009-02-12 11:04:50 +01:00
'ajaxSubmit' => 1 ,
2008-11-03 20:25:22 +01:00
// Layout
'layout' => array (
'Civilite' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Civility' ,
2020-04-29 15:54:21 +02:00
'img' => 1 ,
2008-11-03 20:25:22 +01:00
'args' => array (
'uid' ,
'personalTitle' ,
'givenName' ,
'sn' ,
'cn' ,
'mail' ,
2008-11-09 19:21:12 +01:00
'userPassword' ,
2008-11-03 20:25:22 +01:00
'description' ,
2008-11-12 17:57:40 +01:00
'jpegPhoto' ,
'lsGodfatherDn'
2008-11-03 20:25:22 +01:00
)
),
'Posix' => array (
'label' => 'Posix' ,
'args' => array (
'uidNumber' ,
'gidNumber' ,
'loginShell' ,
2020-09-11 13:54:08 +02:00
'homeDirectory' ,
'gecos' ,
'shadowExpire' ,
'shadowMax' ,
'shadowInactive' ,
'shadowLastChange' ,
2008-11-03 20:25:22 +01:00
)
),
'Samba' => array (
'label' => 'Samba' ,
'args' => array (
'sambaSID' ,
2020-09-09 19:00:55 +02:00
'sambaPrimaryGroupSID' ,
2020-09-09 18:45:34 +02:00
'sambaAcctFlags' ,
2020-09-09 19:00:55 +02:00
'sambaHomeDrive' ,
'sambaHomePath' ,
'sambaProfilePath' ,
'sambaLogonScript' ,
2020-09-09 18:40:44 +02:00
'sambaLogonTime' ,
'sambaLogoffTime' ,
'sambaKickoffTime' ,
2008-11-03 20:25:22 +01:00
'sambaLMPassword' ,
2020-09-09 18:40:44 +02:00
'sambaNTPassword' ,
2020-09-09 19:00:55 +02:00
'sambaPwdLastSet' ,
2020-09-09 18:40:44 +02:00
'sambaPwdMustChange' ,
'sambaPwdCanChange' ,
2008-11-03 20:25:22 +01:00
)
)
2010-11-17 19:00:09 +01:00
), // fin Layout
'dataEntryForm' => array (
'simple' => array (
'label' => 'Simple' ,
'disabledLayout' => true ,
'displayedElements' => array (
'uid' ,
'personalTitle' ,
'givenName' ,
'sn' ,
'cn' ,
'mail' ,
'userPassword'
),
'defaultValues' => array (
'description' => 'Create with the simple data entry form' ,
'loginShell' => 'no' ,
'gidNumber' => '102001'
)
)
) // fin dataEntryForm
2008-11-03 20:25:22 +01:00
), // fin LSform
2020-04-29 15:54:21 +02:00
2009-01-25 18:43:30 +01:00
'LSsearch' => array (
'attrs' => array (
'givenName' ,
'sn' ,
'cn' ,
'uid' ,
'mail'
2009-04-10 19:13:38 +02:00
),
2009-10-30 01:03:17 +01:00
'params' => array (
2010-02-03 02:10:04 +01:00
'recursive' => true ,
2019-09-04 11:26:09 +02:00
'nbObjectsByPage' => 5 ,
'nbObjectsByPageChoices' => array ( 5 , 10 , 15 ),
2010-02-03 02:10:04 +01:00
),
'predefinedFilters' => array (
2010-02-19 14:38:41 +01:00
'(jpegPhoto=*)' => 'With photo' ,
'(!(jpegPhoto=*))' => 'Without photo'
2014-06-17 16:08:41 +02:00
),
'extraDisplayedColumns' => array (
'mail' => array (
'label' => 'Mail' ,
'LSformat' => '%{mail}'
),
2018-08-31 17:38:36 +02:00
),
'customActions' => array (
'exportSearchResultAsCSV' => array (
'label' => 'Export result as CSV' ,
'icon' => 'export_csv' ,
'function' => 'exportSearchResultAsCSV' ,
'noConfirmation' => true ,
'disableOnSuccessMsg' => true ,
'rights' => array (
'admin'
)
),
),
2009-01-25 18:43:30 +01:00
),
2020-04-29 15:54:21 +02:00
2008-02-08 18:39:24 +01:00
// Attributes
2008-02-05 17:11:21 +01:00
'attrs' => array (
2020-04-29 15:54:21 +02:00
2008-11-03 20:25:22 +01:00
/* ----------- start -----------*/
2008-02-05 17:11:21 +01:00
'uid' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Identifier' ,
2008-02-05 17:11:21 +01:00
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
2008-10-31 13:12:31 +01:00
'html_options' => array (
'generate_value_format' => '%{givenName:1}.%{sn}' ,
'autoGenerateOnModify' => true , // default : false
'withoutAccent' => 1 ,
'replaceSpaces' => '.' ,
'lowerCase' => 1
),
2008-02-05 17:11:21 +01:00
'required' => 1 ,
'check_data' => array (
2009-01-25 19:10:00 +01:00
'regex' => array (
2009-03-19 18:42:51 +01:00
'msg' => " Identifier must contain alphanumeric values, dots (.) and dashes (-) only. " ,
2009-01-25 19:10:00 +01:00
'params' => array ( 'regex' => '/^[a-zA-Z0-9-_\.]*$/' )
2008-02-05 17:11:21 +01:00
),
),
'validation' => array (
array (
'filter' => 'uid=%{val}' ,
'result' => 0 ,
2020-05-11 10:34:45 +02:00
'msg' => 'This identifier is already used.' ,
'except_current_object' => true ,
2008-02-05 17:11:21 +01:00
)
),
2008-02-08 18:39:24 +01:00
'rights' => array (
'self' => 'r' ,
2008-11-12 17:57:40 +01:00
'admin' => 'w' ,
'godfather' => 'r'
2008-02-05 17:11:21 +01:00
),
2008-02-08 18:39:24 +01:00
'view' => 1 ,
2008-02-05 17:11:21 +01:00
'form' => array (
2008-07-29 15:45:02 +02:00
'modify' => 1 ,
2008-02-12 18:59:44 +01:00
'create' => 1
2008-07-29 15:45:02 +02:00
),
'dependAttrs' => array (
2020-09-09 19:00:55 +02:00
'homeDirectory' ,
'sambaHomePath' ,
'sambaProfilePath' ,
2008-02-05 17:11:21 +01:00
)
),
2008-11-03 20:25:22 +01:00
/* ----------- end -----------*/
/* ----------- start -----------*/
2008-02-05 17:11:21 +01:00
'givenName' => array (
2009-03-19 18:42:51 +01:00
'label' => 'First Name' ,
2008-02-05 17:11:21 +01:00
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
'default_value' => 'toto' ,
'check_data' => array (
2014-08-14 10:33:45 +02:00
'alphanumeric' => array (
2014-08-14 16:06:43 +02:00
'params' => array ( 'withAccents' => true ),
2014-08-14 10:33:45 +02:00
'msg' => 'The first name must contain alphanumeric values only.'
),
2008-02-05 17:11:21 +01:00
),
2008-02-08 18:39:24 +01:00
'rights' => array (
2008-11-12 17:57:40 +01:00
'self' => 'r' ,
2008-02-08 18:39:24 +01:00
'users' => 'r' ,
2008-11-12 17:57:40 +01:00
'admin' => 'w' ,
'godfather' => 'w'
2008-02-05 17:11:21 +01:00
),
2008-02-08 18:39:24 +01:00
'view' => 1 ,
2008-02-05 17:11:21 +01:00
'form' => array (
2008-02-12 18:59:44 +01:00
'modify' => 1 ,
'create' => 1
2008-02-05 17:11:21 +01:00
),
'onDisplay' => 'return_data'
),
2008-11-03 20:25:22 +01:00
/* ----------- end -----------*/
/* ----------- start -----------*/
2008-02-05 17:11:21 +01:00
'sn' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Last Name' ,
2008-02-05 17:11:21 +01:00
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
2008-02-12 18:59:44 +01:00
'rights' => array (
2008-11-12 17:57:40 +01:00
'self' => 'r' ,
2008-02-12 18:59:44 +01:00
'user' => 'r' ,
2008-11-12 17:57:40 +01:00
'admin' => 'w' ,
'godfather' => 'w'
2008-02-05 17:11:21 +01:00
),
2008-02-08 18:39:24 +01:00
'view' => 1 ,
2008-02-05 17:11:21 +01:00
'form' => array (
2008-02-12 18:59:44 +01:00
'modify' => 1 ,
'create' => 1
2008-02-05 17:11:21 +01:00
)
),
2008-11-03 20:25:22 +01:00
/* ----------- end -----------*/
/* ----------- start -----------*/
2008-07-28 18:30:40 +02:00
'cn' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Full Name' ,
2008-07-28 18:30:40 +02:00
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'html_options' => array (
'generate_value_format' => '%{givenName} %{sn}' ,
2008-10-14 16:33:51 +02:00
'autoGenerateOnModify' => true , // default : false
'autoGenerateOnCreate' => true // default : false
2008-07-28 18:30:40 +02:00
),
'required' => 1 ,
'rights' => array (
2008-11-12 17:57:40 +01:00
'self' => 'r' ,
2008-07-28 18:30:40 +02:00
'user' => 'r' ,
2008-11-12 17:57:40 +01:00
'admin' => 'w' ,
'godfather' => 'w'
2008-07-28 18:30:40 +02:00
),
'view' => 1 ,
'form' => array (
'modify' => 1 ,
'create' => 1
2008-02-05 17:11:21 +01:00
),
2020-09-11 13:54:08 +02:00
'dependAttrs' => array ( 'gecos' ),
2008-02-05 17:11:21 +01:00
),
2008-11-03 20:25:22 +01:00
/* ----------- end -----------*/
/* ----------- start -----------*/
2008-02-05 17:11:21 +01:00
'mail' => array (
2009-03-19 18:42:51 +01:00
'label' => 'E-mail address' ,
2008-02-05 17:11:21 +01:00
'ldap_type' => 'ascii' ,
2008-10-15 19:40:04 +02:00
'html_type' => 'mail' ,
2008-07-28 18:30:40 +02:00
'html_options' => array (
2008-10-07 18:10:44 +02:00
'generate_value_format' => '%{givenName}.%{sn}@ls.com' ,
'withoutAccent' => 1 ,
'replaceSpaces' => '.' ,
'lowerCase' => 1
2008-07-28 18:30:40 +02:00
),
2008-02-05 17:11:21 +01:00
'required' => 1 ,
'check_data' => array (
'email' => array (
2009-03-19 18:42:51 +01:00
'msg' => " Given email address is invalid. " ,
2008-10-07 17:16:33 +02:00
'params' => array ( 'checkDomain' => false )
2008-02-05 17:11:21 +01:00
),
),
2008-02-08 18:39:24 +01:00
'rights' => array (
'self' => 'r' ,
'user' => 'r' ,
2008-11-12 17:57:40 +01:00
'admin' => 'w' ,
'godfather' => 'w'
2008-02-05 17:11:21 +01:00
),
2008-02-08 18:39:24 +01:00
'view' => 1 ,
2008-02-05 17:11:21 +01:00
'form' => array (
2008-02-12 18:59:44 +01:00
'modify' => 1 ,
'create' => 1
2008-02-05 17:11:21 +01:00
)
),
2008-11-03 20:25:22 +01:00
/* ----------- end -----------*/
/* ----------- start -----------*/
2008-02-05 17:11:21 +01:00
'personalTitle' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Civility' ,
2008-02-05 17:11:21 +01:00
'ldap_type' => 'ascii' ,
'html_type' => 'select_list' ,
2009-01-28 09:13:36 +01:00
'html_options' => array (
'possible_values' => array (
2009-12-31 14:43:59 +01:00
'M.' => 'Mr' ,
'Mme' => 'Mrs' ,
'Mlle' => 'Ms'
2009-01-28 09:13:36 +01:00
)
),
2008-02-05 17:11:21 +01:00
'required' => 1 ,
'default_value' => 'M.' ,
2008-02-08 18:39:24 +01:00
'rights' => array (
2008-11-12 17:57:40 +01:00
'self' => 'r' ,
2008-02-08 18:39:24 +01:00
'user' => 'r' ,
2008-11-12 17:57:40 +01:00
'admin' => 'w' ,
'godfather' => 'w'
2008-02-05 17:11:21 +01:00
),
2008-02-08 18:39:24 +01:00
'view' => 1 ,
2008-02-05 17:11:21 +01:00
'form' => array (
2008-02-12 18:59:44 +01:00
'modify' => 1 ,
'create' => 1
2008-02-05 17:11:21 +01:00
)
),
2008-11-03 20:25:22 +01:00
/* ----------- end -----------*/
/* ----------- start -----------*/
2008-02-05 17:11:21 +01:00
'description' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Description' ,
2008-02-05 17:11:21 +01:00
'ldap_type' => 'ascii' ,
2008-10-09 03:31:33 +02:00
'html_type' => 'textarea' ,
2008-10-15 19:40:04 +02:00
'multiple' => 1 ,
2008-02-08 18:39:24 +01:00
'rights' => array (
2008-11-12 17:57:40 +01:00
'self' => 'r' ,
2008-02-08 18:39:24 +01:00
'user' => 'r' ,
2008-11-12 17:57:40 +01:00
'admin' => 'w' ,
'godfather' => 'w'
2008-02-05 17:11:21 +01:00
),
2008-02-08 18:39:24 +01:00
'view' => 1 ,
2008-02-05 17:11:21 +01:00
'form' => array (
2008-02-12 18:59:44 +01:00
'modify' => 1 ,
'create' => 1
2008-02-05 17:11:21 +01:00
)
),
2008-11-03 20:25:22 +01:00
/* ----------- end -----------*/
/* ----------- start -----------*/
2008-02-05 17:11:21 +01:00
'userPassword' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Password' ,
2008-02-05 17:11:21 +01:00
'ldap_type' => 'password' ,
2009-01-02 17:00:25 +01:00
'ldap_options' => array (
'encode' => 'md5'
),
2008-02-05 17:11:21 +01:00
'html_type' => 'password' ,
2008-05-07 16:09:47 +02:00
'html_options' => array (
'generationTool' => true ,
2010-04-27 15:52:45 +02:00
'viewHash' => true ,
2008-05-07 16:09:47 +02:00
'autoGenerate' => false ,
2020-06-30 10:27:43 +02:00
'confirmInput' => true ,
2008-12-06 00:42:47 +01:00
'lenght' => 8 ,
'chars' => array (
array (
'nb' => 3 ,
'chars' => 'abcdefijklmnopqrstuvwxyz'
),
'0123456789' ,
'*$.:/_-[]{}=~'
),
2008-10-31 13:12:31 +01:00
'mail' => array (
'send' => 1 ,
'ask' => 1 ,
2009-03-20 11:42:45 +01:00
'subject' => " LSexample : Your new credentials. " ,
2010-11-18 15:37:50 +01:00
'msg' => " Your password has been changed. \n Login : % { uid} \n New password : % { password} " ,
2008-10-31 13:12:31 +01:00
'mail_attr' => 'mail'
2020-06-13 10:14:16 +02:00
),
'confirmChange' => True ,
'confirmChangeQuestion' => " Do you confirm change of this user's password? " ,
2008-10-31 13:12:31 +01:00
),
'check_data' => array (
'password' => array (
2020-06-13 10:24:14 +02:00
'msg' => 'Your password must contain from 8 to 10 characters and contains at least one caracter that match with 3 of this types :<ul><li>Uppercase unaccent character</li><li>Lowercase unaccent character</li><li>Digit</li><li>Anything that is not a letter or a digit</li></ul>' ,
2008-10-31 13:12:31 +01:00
'params' => array (
'minLength' => 8 ,
2014-06-19 16:41:27 +02:00
'maxLength' => 10 ,
'regex' => array (
'/[A-Z]/' ,
'/[a-z]/' ,
'/[0-9]/' ,
'/[^A-Za-z0-9]/' ,
),
'minValidRegex' => 3
2008-10-31 13:12:31 +01:00
)
)
2008-05-07 16:09:47 +02:00
),
2008-02-08 18:39:24 +01:00
'required' => 1 ,
'rights' => array (
'self' => 'w' ,
'admin' => 'w'
),
'dependAttrs' => array (
'sambaLMPassword' ,
2020-09-11 13:54:08 +02:00
'sambaNTPassword' ,
'sambaPwdLastSet' ,
'shadowLastChange' ,
2008-02-05 17:11:21 +01:00
),
'form' => array (
2008-02-12 18:59:44 +01:00
'modify' => 1 ,
2008-06-05 15:21:18 +02:00
'create' => 1 ,
'lostPassword' => 1
2008-10-14 13:58:00 +02:00
),
'after_modify' => 'valid'
2008-06-05 15:21:18 +02:00
),
2008-11-03 20:25:22 +01:00
/* ----------- end -----------*/
/* ----------- start -----------*/
2008-06-05 15:21:18 +02:00
'lsRecoveryHash' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Password recovery hash' ,
2008-06-05 15:21:18 +02:00
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 0 ,
'form' => array (
'lostPassword' => 1
),
'rights' => array (
'self' => 'w' ,
'admin' => 'w'
2008-02-05 17:11:21 +01:00
)
),
2008-11-03 20:25:22 +01:00
/* ----------- end -----------*/
/* ----------- start -----------*/
2008-02-26 18:40:05 +01:00
'jpegPhoto' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Picture' ,
2008-02-26 18:40:05 +01:00
'ldap_type' => 'image' ,
'html_type' => 'image' ,
'required' => 0 ,
2009-02-12 16:56:00 +01:00
'view' => 1 ,
2008-02-26 18:40:05 +01:00
'check_data' => array (
'imagesize' => array (
2009-03-19 18:42:51 +01:00
'msg' => " Picture size is not valid. " ,
2008-10-07 17:16:33 +02:00
'params' => array (
2008-02-26 18:40:05 +01:00
'maxWidth' => 2000
)
),
2009-02-12 20:14:15 +01:00
'filesize' => array (
2009-03-19 18:42:51 +01:00
'msg' => " File size is not valid. " ,
2008-10-07 17:16:33 +02:00
'params' => array (
2008-02-26 18:40:05 +01:00
'maxSize' => 3000000 // taille du fichier en octets
)
),
'imagefile' => array (
2009-03-19 18:42:51 +01:00
'msg' => " File type is not valid. "
2008-02-26 18:40:05 +01:00
)
),
'form' => array (
'modify' => 1
),
'rights' => array (
'self' => 'w' ,
'user' => 'r' ,
2008-11-12 17:57:40 +01:00
'admin' => 'w' ,
'godfather' => 'w'
)
),
/* ----------- end -----------*/
2020-04-29 15:54:21 +02:00
2008-11-12 17:57:40 +01:00
/* ----------- start -----------*/
'lsGodfatherDn' => array (
2009-03-19 18:42:51 +01:00
'label' => 'Accountable(s)' ,
2008-11-12 17:57:40 +01:00
'ldap_type' => 'ascii' ,
'html_type' => 'select_object' ,
2009-01-28 09:13:36 +01:00
'html_options' => array (
'selectable_object' => array (
2009-04-17 12:39:03 +02:00
'object_type' => 'LSpeople' ,
2009-01-28 09:13:36 +01:00
'value_attribute' => '%{dn}'
),
2008-11-12 17:57:40 +01:00
),
'validation' => array (
array (
'basedn' => '%{val}' ,
'result' => 1 ,
2009-03-19 18:42:51 +01:00
'msg' => " One or several users don't exist. "
2008-11-12 17:57:40 +01:00
)
),
'multiple' => 1 ,
'rights' => array (
2008-02-26 18:40:05 +01:00
'admin' => 'w'
2008-11-12 17:57:40 +01:00
),
'view' => 1 ,
'form' => array (
'modify' => 1 ,
'create' => 1
2008-02-26 18:40:05 +01:00
)
2008-11-12 17:57:40 +01:00
),
2008-11-03 20:25:22 +01:00
/* ----------- end -----------*/
2020-09-09 18:40:44 +02:00
/************************************************
2020-09-11 13:54:08 +02:00
* POSIX Attributes
************************************************/
/* ----------- start -----------*/
'uidNumber' => array (
'label' => 'Numeric identifier' ,
'ldap_type' => 'numeric' ,
'html_type' => 'text' ,
'required' => 1 ,
'generate_function' => 'generate_samba_uidNumber' ,
'check_data' => array (
'numeric' => array (
'msg' => " The numeric identifier must be an integer. "
),
),
'validation' => array (
array (
'filter' => 'uidNumber=%{val}' ,
'result' => 0 ,
'msg' => 'This uid is already used.'
)
),
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 0 ,
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'gidNumber' => array (
'label' => 'Main group' ,
'ldap_type' => 'numeric' ,
'html_type' => 'select_list' ,
'html_options' => array (
'possible_values' => array (
'0' => 'No group' ,
array (
'label' => 'LDAP Groups' ,
'possible_values' => array (
'OTHER_OBJECT' => array (
'object_type' => 'LSgroup' , // Nom de l'objet à lister
'display_name_format' => '%{cn} (%{gidNumber})' , // Spécifie le attributs à lister pour le choix,
// si non définie => utilisation du 'display_name_format'
// de la définition de l'objet
'value_attribute' => 'gidNumber' , // Spécifie le attributs dont la valeur sera retournée par
/* 'filter' => // le formulaire spécifie les filtres de recherche pour
array ( // l'établissement de la liste d'objets :
array ( // Premier filtre
'filter' => 'cn=*a*' ,
//'basedn' => 'o=company',
'scope' => 'sub' ,
)
) */
)
)
)
)
),
'multiple' => false ,
'required' => 1 ,
'validation' => array (
array (
'msg' => " This group doesn't exist. " ,
'object_type' => 'LSgroup' , // 'object_type' : Permet definir le type d'objet recherchés
//'basedn' => 'o=company', // et d'utiliser les objectClass définis dans le fichier de configuration
'filter' => '(gidNumber=%{val})' , // pour la recherche
'result' => 1
)
),
'rights' => array (
'admin' => 'w' ,
'godfather' => 'r'
),
'view' => 1 ,
'form' => array (
'modify' => 1 ,
'create' => 1
),
'dependAttrs' => array (
'sambaPrimaryGroupSID' ,
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'loginShell' => array (
'label' => 'Command shell' ,
'help_info' => " Allow user to connect a POSIX system. " ,
'ldap_type' => 'boolean' ,
'ldap_options' => array (
'true_value' => '/bin/bash' ,
'false_value' => '/bin/false'
),
'html_type' => 'boolean' ,
'required' => 1 ,
'default_value' => 'no' ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 1 ,
'create' => 1
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'homeDirectory' => array (
'label' => 'Home Directory' ,
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
'generate_function' => 'generate_homeDirectory' ,
'rights' => array (
'admin' => 'r'
),
'view' => 1
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'gecos' => array (
'label' => 'Gecos' ,
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'html_options' => array (
'generate_value_format' => '%{cn~}' ,
'autoGenerateOnModify' => true , // default : false
'autoGenerateOnCreate' => true // default : false
),
'required' => 1 ,
'generate_value_format' => '%{cn~}' ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 1 ,
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'shadowExpire' => array (
'label' => 'Password expiration' ,
'ldap_type' => 'shadowExpire' ,
'html_type' => 'date' ,
'html_options' => array (
'time' => false ,
'showNowButton' => False ,
'special_values' => array (
'0' => 'Always (disable account)' ,
),
),
'required' => 0 ,
'generate_function' => 'generate_shadowExpire_from_sambaPwdMustChange' ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 1 ,
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'shadowMax' => array (
'label' => 'Password validity (in days)' ,
'help_info' => 'The maximum number of days the password is valid.' ,
'ldap_type' => 'numeric' ,
'html_type' => 'text' ,
'check_data' => array (
'integer' => array (
'params' => array (
'positive' => true ,
),
'msg' => " The password validity must be an positive integer. " ,
),
),
'required' => 0 ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'create' => 1 ,
'modify' => 1 ,
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'shadowInactive' => array (
'label' => 'Inactivity allowed (in days)' ,
'help_info' => 'The number of days of inactivity allowed for the specified user.' ,
'ldap_type' => 'numeric' ,
'html_type' => 'text' ,
'check_data' => array (
'integer' => array (
'params' => array (
'positive' => true ,
),
'msg' => " The inactivity allowed must be an positive integer. " ,
),
),
'required' => 0 ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'create' => 1 ,
'modify' => 1 ,
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'shadowLastChange' => array (
'label' => 'Password last change time' ,
'ldap_type' => 'shadowExpire' ,
'html_type' => 'date' ,
'html_options' => array (
'time' => False ,
'showNowButton' => False ,
),
'generate_function' => 'generate_shadowLastChange' ,
'no_value_label' => 'Never' ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
),
/* ----------- end -----------*/
/************************************************
* Samba Attributes
2020-09-09 18:40:44 +02:00
************************************************/
/* ----------- start -----------*/
'sambaSID' => array (
'label' => 'Samba Identifier' ,
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
'generate_function' => 'generate_user_sambaSID' ,
'rights' => array (
'admin' => 'r'
),
'view' => 1 ,
'form' => array (
'modify' => 0
)
),
/* ----------- end -----------*/
2020-09-09 19:00:55 +02:00
/* ----------- start -----------*/
'sambaPrimaryGroupSID' => array (
'label' => 'Samba primary group identifier' ,
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
'generate_function' => 'generate_sambaPrimaryGroupSID' ,
'rights' => array (
'admin' => 'r'
),
'view' => 1 ,
'form' => array (
'modify' => 0
)
),
/* ----------- end -----------*/
2020-09-09 18:40:44 +02:00
/* ----------- start -----------*/
2020-09-09 18:45:34 +02:00
'sambaAcctFlags' => array (
'label' => 'Samba account flags' ,
'ldap_type' => 'sambaAcctFlags' ,
'html_type' => 'sambaAcctFlags' ,
'required' => 1 ,
'default_value' => array ( 'U' ),
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'create' => 1 ,
'modify' => 1
)
),
/* ----------- end -----------*/
2020-09-09 19:00:55 +02:00
/* ----------- start -----------*/
'sambaHomeDrive' => array (
'label' => 'Samba network drive of the home directory' ,
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
'default_value' => 'Z:' ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 1
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'sambaHomePath' => array (
'label' => 'Samba network path of the home directory' ,
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
'generate_function' => 'generate_sambaHomePath' ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 0
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'sambaProfilePath' => array (
'label' => 'Samba network path of the profile' ,
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
'generate_function' => 'generate_sambaProfilePath' ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 0
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'sambaLogonScript' => array (
'label' => 'Samba logon script' ,
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
'default_value' => 'logon.bat' ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 0
)
),
/* ----------- end -----------*/
2020-09-09 18:45:34 +02:00
/* ----------- start -----------*/
2020-09-09 18:40:44 +02:00
'sambaLogonTime' => array (
'label' => 'Samba last logon time' ,
'ldap_type' => 'date' ,
'ldap_options' => array (
'timestamp' => True ,
),
'html_type' => 'date' ,
'html_options' => array (
'time' => True ,
'showTodayButton' => False ,
),
2020-09-09 20:20:03 +02:00
'no_value_label' => 'Never' ,
2020-09-09 18:40:44 +02:00
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 1
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'sambaLogoffTime' => array (
'label' => 'Samba last logoff time' ,
'ldap_type' => 'date' ,
'ldap_options' => array (
'timestamp' => True ,
),
'html_type' => 'date' ,
'html_options' => array (
'time' => True ,
'showTodayButton' => False ,
),
2020-09-09 20:20:03 +02:00
'no_value_label' => 'Never' ,
2020-09-09 18:40:44 +02:00
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 1
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'sambaKickoffTime' => array (
'label' => 'Samba expiration time' ,
'help_info' => 'Specifies the time when the user will be locked down and cannot login any longer.' ,
'ldap_type' => 'date' ,
'ldap_options' => array (
'timestamp' => True ,
),
'html_type' => 'date' ,
'html_options' => array (
'time' => True ,
'showTodayButton' => False ,
'special_values' => array (
LS_SAMBA_INFINITY_TIME => 'Never' ,
),
),
2020-09-09 20:20:03 +02:00
'no_value_label' => 'Default (never)' ,
2020-09-09 18:40:44 +02:00
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 1
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'sambaLMPassword' => array (
'label' => 'Samba Password (LM)' ,
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
'generate_function' => 'generate_sambaLMPassword' ,
'form' => array (
'modify' => 0
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'sambaNTPassword' => array (
'label' => 'Samba Password (NT)' ,
'ldap_type' => 'ascii' ,
'html_type' => 'text' ,
'required' => 1 ,
'generate_function' => 'generate_sambaNTPassword' ,
'form' => array (
'modify' => 0
)
),
/* ----------- end -----------*/
2020-09-09 19:00:55 +02:00
/* ----------- start -----------*/
'sambaPwdLastSet' => array (
'label' => 'Samba password last change time' ,
'ldap_type' => 'date' ,
'ldap_options' => array (
'timestamp' => True ,
),
'html_type' => 'date' ,
'html_options' => array (
'time' => True ,
'showTodayButton' => False ,
),
'generate_function' => 'generate_sambaPwdLastSet' ,
'no_value_label' => 'Never' ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 0
)
),
/* ----------- end -----------*/
2020-09-09 18:40:44 +02:00
/* ----------- start -----------*/
'sambaPwdMustChange' => array (
'label' => 'Samba password must change' ,
'ldap_type' => 'date' ,
'ldap_options' => array (
'timestamp' => True ,
),
'html_type' => 'date' ,
'html_options' => array (
'time' => True ,
'showTodayButton' => False ,
'special_values' => array (
'0' => 'At first login' ,
LS_SAMBA_INFINITY_TIME => 'Never' ,
),
),
2020-09-09 20:20:03 +02:00
'no_value_label' => 'Default (never)' ,
2020-09-09 18:40:44 +02:00
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
2020-09-09 20:20:03 +02:00
'modify' => 1
2020-09-09 18:40:44 +02:00
)
),
/* ----------- end -----------*/
/* ----------- start -----------*/
'sambaPwdCanChange' => array (
'label' => 'Samba password can change' ,
'help_info' => 'If not set, the user will be free to change his password whenever he wants.' ,
'ldap_type' => 'date' ,
'ldap_options' => array (
'timestamp' => True ,
),
'html_type' => 'date' ,
'html_options' => array (
'time' => True ,
'showTodayButton' => False ,
'special_values' => array (
LS_SAMBA_INFINITY_TIME => 'Never' ,
0 => 'Whenever' ,
),
),
2020-09-09 20:20:03 +02:00
'no_value_label' => 'Default (whenever)' ,
2020-09-09 18:40:44 +02:00
'multiple' => true ,
'rights' => array (
'admin' => 'w'
),
'view' => 1 ,
'form' => array (
'modify' => 1
)
),
/* ----------- end -----------*/
2008-11-03 20:25:22 +01:00
) // Fin args
2008-02-05 17:11:21 +01:00
);