Commit graph

553 commits

Author SHA1 Message Date
Benjamin Renard
724e9acedd Fix PHP5 error compatibility in last commit 2021-02-03 14:46:06 +01:00
Benjamin Renard
0ec390e1fe Add API feature
Some major changes have been made to handle this new feature :
- LSsession now have a flag about API mode. The displayTemplate() and
  displayAjaxReturn() methods have been adjust to correctly handle this
  mode.
- LSauth system have been adjust to handle a custom API mode :
  - LSauthMethod can support or not this mode : the $api_mode_supported
    permit to defined if supported (default, false). Currently, only
    HTTP (default in API mode) and annonymous mode support it.
  - An api_access parameter permit to configure witch type of user
    LSobject types could use the API. This flag must be set to True to
    allow a type of LSobject (default: False). In a same way, a
    web_access parameter now permit to disable Web access for some
    types of users (but this parameter is optional and its default value
    is True).
  - The HTTP method is the privileged first method for API mode. In this
    mode, if auth data aren't present in environment, it will request it
    by triggered a 403 HTTP error. Realm can be configured with new
    LSAUTHMETHOD_HTTP_API_REALM constant.
- The LStemplate system handle API mode to correctly react on errors: it
  return a JSON answer instead of HTML page. Error pages also now return
  adjusted HTTP code (404 or 500).
- The LSurl system have been adjust to handle API mode :
  - On declaring handlers, we could now specify if it's an API view with
    new $api_mode paremeter of add_handler() method
  - The LSurlRequest object have a new attribute to check if it's an API
    request
  - The error_404() method handle the API mode to return JSON answer.
    Furthermore, if no handlers matched with the requested URL, API mode
    is automatically enabled if the requested URL starts with 'api/'.
- LSform implement it own API mode flag and a new submited flag that
  be toggle via the new setSubmited() method. Some major changes also
  occured on LSformElement classes to specifically handle API
  input/output for each types of attributes:
  - a new getApiValue() method permit to retrieve the API value of the
    attribute (on show API view)
  - the getPostData() method now have to correctly handle API input for
    the attribute (on create/modify API views). A programmatic way have
    been adopted for each types of attributes.
- The LSimport and LScli create/modify commands also evolved to enable
  API mode of the LSform. This permit to take advantage of the new
  capability of LSform/LSformElement to handle input values with a
  programmatic way.
- New routes have been add to handle API views. All this new routes
  start with 'api/1.0/' and use the same URL schema as the web UI. The
  API currently permit to search/show/add/modify/remove LSobjects and
  manages their relations.
2021-02-03 14:40:28 +01:00
Benjamin Renard
e92bc10c8b LSldapObject: fix default $attrValues handling for updateObjectsInRelation/deleteOneObjectInRelation methods 2021-02-03 14:19:37 +01:00
Benjamin Renard
305d7447ff LSsession: Fix relationCanAccess() method and add debuging infos 2021-02-03 12:44:38 +01:00
Benjamin Renard
841b3d0bcf LSsearch::setParamsFromRequest(): add check on parameters load from request data 2021-02-02 20:42:02 +01:00
Benjamin Renard
eb8cfbf66a LSsearch: rename method setParamsFormPostData() to setParamsFromRequest() 2021-02-02 20:30:08 +01:00
Benjamin Renard
2544687b27 LSsession::checkAccess(): fix checking read right 2021-02-02 20:28:02 +01:00
Benjamin Renard
cb0106fda9 LSurlRequest: fix fatal error on logging 2021-01-29 17:12:29 +01:00
Benjamin Renard
ac7e042c2a LSattribute: add default LDAP & HTML type (ascii / text) 2021-01-29 15:59:13 +01:00
Benjamin Renard
40a17c3524 LSlang: improve generate_lang_file command
Improve detection in PHP files, add detection in LSaddons/LSauthMethod 
config files and includes PHP files. Add -I/--include-upstream parameter 
(and use it for generate_ldapsaisie_pot command)
2021-01-29 15:23:22 +01:00
Benjamin Renard
bc9cc77cde LSattr_ldap::shadowExpire: fix to rounding method to avoid date change 2021-01-29 12:30:59 +01:00
Benjamin Renard
29e499e1d6 LSldapObject::submitChange(): fix error renaming LSobject
Old RDN value was keep and block the update ot the other changed 
attributes.
2021-01-28 16:59:42 +01:00
Benjamin Renard
fadfe2d2ba LSldapObject::validateAttrData(): fix fatal errors on missing formated log messages 2021-01-28 16:57:51 +01:00
Benjamin Renard
9680f8a18e LSform: fix displaying error in form in case of global error 2021-01-18 15:04:14 +01:00
Benjamin Renard
957777d44f LSldapObject::validateAttrData(): fix checking LDAP validation result 2021-01-18 15:03:26 +01:00
Benjamin Renard
7ef6e57c49 LSldapObject::submitChange(): code cleaning 2020-12-22 19:46:57 +01:00
Benjamin Renard
a353ca5c37 LSldapObject::submitChange(): Add security check about isNew() return 2020-12-22 19:45:35 +01:00
Benjamin Renard
06b8fddc51 LSldapObject::validateAttrData(): check return type of LSldap::getNumberResult() 2020-12-22 19:44:51 +01:00
Benjamin Renard
89ecbb8a5c LSldap: fix search & getNumberResult methods to use basedn from configuration instead of empty one. 2020-12-22 19:43:50 +01:00
Benjamin Renard
14352da6bd LSformElement::jsonCompositeAttribute: Fix PHP warning 2020-12-22 19:32:14 +01:00
Benjamin Renard
514a2eb0fd Code cleaning 2020-12-22 18:42:56 +01:00
Benjamin Renard
7535530416 LSformRule: do not defined validate_one_by_one constant visibility
To keep compatibility with PHP < 7.1.
2020-12-22 18:05:28 +01:00
Benjamin Renard
43d2620f8e CLI search: add JSON output (with -j|--json parameters)
Futhermore, --pretty parameter also permit to prettify the JSON 
output.
2020-12-22 11:01:38 +01:00
Benjamin Renard
1c13aa7cdd CLI search: add --all parameter to permit to disable pagination 2020-12-22 11:00:49 +01:00
Benjamin Renard
f6f2e352bc CLI show: add JSON output (with -j|--json parameters)
Futhermore, -p|--pretty parameter also permit to prettify the JSON 
output.
2020-12-22 10:31:23 +01:00
Benjamin Renard
d39bba45fb CLI show: fix handling --raw-values parameter 2020-12-22 10:27:22 +01:00
Benjamin Renard
1428b5df62 LSattr_ldap::pwdHistory: fix fatal error on time encoding. 2020-12-21 14:54:37 +01:00
Benjamin Renard
114e3c48ac LSformRule: add validate_values() method and use it to value rules
Also add validate_one_by_one class constant to allow to handle 
validation on all values together instead of one-by-one.
2020-12-21 14:53:36 +01:00
Benjamin Renard
089693ea0e Fix/improve LSsession_13 errors (unconfigured/unknown custom action function) 2020-12-16 17:42:55 +01:00
Benjamin Renard
0f0bff5a77 LSldapObject::submitChange(): on new object, check if generated DN is not already affected 2020-12-14 19:42:19 +01:00
Benjamin Renard
ab922356c0 LSsession :: loadLSprofilesLSobjects(): fix a PHP warning 2020-12-14 19:37:13 +01:00
Benjamin Renard
a49cf4ba0c LSldapObject: fix/improve validateAttrData() 2020-12-14 19:36:21 +01:00
Benjamin Renard
8b292f538d LSconfig :: get(): add array casting (using ensureIsArray()) 2020-12-14 19:35:03 +01:00
Benjamin Renard
2abc369c73 LSformElement::labeledValue: fix label translation on freeze view 2020-12-10 17:21:21 +01:00
Benjamin Renard
f6a6c226f4 LSattribute: fix handling default_value in generateValue() 2020-12-02 20:17:18 +01:00
Benjamin Renard
852b375964 LSattribute: fix canBeGenerated() when default_value isn't a string 2020-12-02 19:53:29 +01:00
Benjamin Renard
1da0693138 LSaddon::samba: fix PHP warning about LS_SAMBA_UNIX_ID_POOL_DN contant 2020-12-02 19:49:37 +01:00
Benjamin Renard
a7ab192274 Add LSldap_attr::pwdHistory 2020-12-02 18:12:00 +01:00
Benjamin Renard
c6501d479b LSattr_html::jsonCompositeAttribute: Add fullWidth parameter and improve responsive display 2020-12-02 17:43:55 +01:00
Benjamin Renard
2161cc701a LSattr_ldap::compositeValueToJSON: use static instead of self keyword
Use static instead of self keyword to use static method. This permit to 
easily override this class.
2020-12-02 16:37:41 +01:00
Benjamin Renard
bc462c07b6 Add some debugging/trace messages 2020-12-01 16:48:07 +01:00
Benjamin Renard
597054acad LSattr_ldap::shadowExpire: fix getUpdateData()
Fix to return a correctly rounded value as string.
2020-12-01 16:43:31 +01:00
Benjamin Renard
42dd0aa728 LSformElement :: date: fix getPostData() method 2020-12-01 16:42:20 +01:00
Benjamin Renard
3c75ef482e Remove historic read right on all attributes of the hard-coded "admin" LSprofile 2020-12-01 16:40:21 +01:00
Benjamin Renard
4e8a6db06b LSaddon::posix: fix generate_shadowLastChange()
Just return a timestamp because its designed to be used with 
LSattr_ldap_shadowExpire that will handled the division by 86400.
2020-12-01 16:37:01 +01:00
Benjamin Renard
0addf22c2e LSldapObject :: _updateData(): make method protected instead of private
This change allow this method usage from children classes to allow 
custom relation implementations.
2020-12-01 15:04:20 +01:00
Benjamin Renard
b4a5824ee8 Code cleaning 2020-11-30 19:44:14 +01:00
Benjamin Renard
106a2d9f04 Use ensureIsArray() helper to make code more readable 2020-11-30 19:43:52 +01:00
Benjamin Renard
770533b7ec Ensure attributes values are always an array in LSattribute & LSattr_ldap 2020-11-30 19:37:44 +01:00
Benjamin Renard
f7231229f5 LSsession: fix errors in changeAuthUser() and add logging messages 2020-11-30 16:13:36 +01:00
Benjamin Renard
b93187f208 LSformElement::labeledValue: add translate_labels parameter and fix translating it 2020-11-25 15:46:25 +01:00
Benjamin Renard
8b996885d1 LSsession: improve loadLSaddons() method 2020-11-17 17:56:04 +01:00
Benjamin Renard
56ffbd7a71 Fix bug in last commit 2020-11-17 17:47:50 +01:00
Benjamin Renard
d5bfddf124 LSaddon::mail: Add test_send_mail CLI command 2020-11-17 11:26:06 +01:00
Benjamin Renard
6c35af3109 Fix PHP warning about undefined constant SELF (routes.php) 2020-10-08 18:08:35 +02:00
Benjamin Renard
3598e48c6e LSaddon::LSaccessRightsMatrixView: handle customActions & customSearchActions 2020-09-23 14:10:50 +02:00
Benjamin Renard
85b74feb86 LSaddon SUPANN: add supannCheckEntityCouldBeDeleted() function 2020-09-22 20:47:03 +02:00
Benjamin Renard
43cf5ccd7a LSaddon SUPANN: add support for some attributes
Add support of following attributes:
- supannCivilite:
  add supannGetCivilitePossibleValues()
- eduPersonAffiliation:
  add supannGetAffiliationPossibleValues() and
  supannCheckEduPersonAffiliation()
- supannCheckEduPersonAffiliation:
  add supannGetAffiliationPossibleValues() and
  supannCheckEduPersonPrimaryAffiliation()
- supannCheckEduPersonPrimaryAffiliation:
  add generate_eduPersonPrincipalName()
2020-09-22 18:10:05 +02:00
Benjamin Renard
de62999fea LSattr_html::select_list: add get_possible_values parameter 2020-09-22 15:04:31 +02:00
Benjamin Renard
8f407e9345 Add LSaddon::showTechInfo 2020-09-21 15:47:07 +02:00
Benjamin Renard
5315005382 LSldapObject::loadData(): explicitly list need attributes in LDAP request 2020-09-21 12:45:39 +02:00
Benjamin Renard
9edfa2b92e LSldap::getAttrs(): add $attrs and $include_internal optional parameters 2020-09-21 12:45:33 +02:00
Benjamin Renard
d6c9e358f3 LSaddon::mail: add possibility to send HTML email 2020-09-16 10:35:47 +02:00
Benjamin Renard
255817d7aa Improve POSIX support and add examples to handle this type of attributes 2020-09-11 13:54:08 +02:00
Benjamin Renard
bf482c648f LSattr_ldap::shadowExpire: fix getUpdateData() method to return string values 2020-09-11 13:40:48 +02:00
Benjamin Renard
41d816c025 LSformElement:📅 add clear btn 2020-09-11 13:38:07 +02:00
Benjamin Renard
e4ca5bbf71 LSformElement:📅 Make today btn working even if input is empty 2020-09-11 13:35:35 +02:00
Benjamin Renard
052882eb49 Fix handling "0" (zero string) value 2020-09-11 13:34:42 +02:00
Benjamin Renard
1169772c4a LSattr_html::select_list: clean code of getPossibleValues() method 2020-09-10 15:53:19 +02:00
Benjamin Renard
b8c00a8708 LSattr_html::select_box: fix double translation of labels on unfreeze field 2020-09-10 15:52:29 +02:00
Benjamin Renard
e62ddbdc19 LSformElement::image: fix error on non-AJAX form when no file is submited 2020-09-10 15:46:10 +02:00
Benjamin Renard
aeea76ab2a LSform: fix/improve handling config
Permit to fix handling ajaxSubmit form.
2020-09-10 15:45:26 +02:00
Benjamin Renard
00132e32ad LSform: fix non-AJAX form submission (or form with input[type=file]) 2020-09-10 15:43:52 +02:00
Benjamin Renard
060ebf1bff Allow conversion of LSattr_ldap to string 2020-09-10 12:26:48 +02:00
Benjamin Renard
00d92d1c37 generate_lang_file CLI command: improve logging 2020-09-10 12:26:25 +02:00
Benjamin Renard
4e87ddb898 generate_lang_file CLI command: factor handling possible_values of select list&box 2020-09-10 12:09:26 +02:00
Benjamin Renard
d344c56f45 generate_lang_file CLI command: fix PHP warning 2020-09-10 12:07:04 +02:00
Benjamin Renard
be04b6becf Add warning on unknown key requested using __get methods 2020-09-10 10:38:35 +02:00
Benjamin Renard
d0d3e944ed Extend LSlog_handler using LSlog_staticLoggerClass 2020-09-10 10:26:49 +02:00
Benjamin Renard
988054bfc5 LSlog handlers: fix log TRACE enabled error (even if disabled) 2020-09-10 10:17:19 +02:00
Benjamin Renard
fd4bf4f38a Fix some PHP5 syntax errors 2020-09-09 20:11:03 +02:00
Benjamin Renard
02ad9ded1e generate_lang_file CLI command: add Q choice in interactive mode to quit 2020-09-09 20:06:43 +02:00
Benjamin Renard
63f57cfd77 LSldap: fix/improve update() and getEntry() methods 2020-09-09 19:02:32 +02:00
Benjamin Renard
a4183a88fc Improve Samba support using LSaddon::samba 2020-09-09 19:00:55 +02:00
Benjamin Renard
15941ac678 Add LSattr LDAP & HTML sambaAcctFlags type 2020-09-09 18:45:34 +02:00
Benjamin Renard
7e74853021 LSattr_html::date & LSformRule:📅 add special_values parameter 2020-09-09 18:40:44 +02:00
Benjamin Renard
cccce6edb5 LSldapObject::submitChange(): improve logging 2020-09-09 18:36:46 +02:00
Benjamin Renard
6a3fd60d3e LSformElement::getEmptyField() / LSformElement.tpl: Provide value index as $value_idx template variable 2020-09-08 18:42:54 +02:00
Benjamin Renard
df1c46eab6 Add __toString() method to all common extendable PHP classes
This permit to make context logging easier.
2020-09-08 17:29:10 +02:00
Benjamin Renard
e89d13d002 LSsearch: fix PHP warning 2020-09-08 16:36:54 +02:00
Benjamin Renard
14bccc1e17 LSrelation: check relation is correctly configured before using it
To avoid some unreal warnings in case of misconfigured relation
2020-09-03 18:59:13 +02:00
Benjamin Renard
88d8d7f026 LSrelation: fix error codes prefix 2020-09-03 18:38:08 +02:00
Benjamin Renard
9db67eb2ba LSsession: improve error messages 2020-09-03 18:31:53 +02:00
Benjamin Renard
bbaa0a99df Auto declare simple PHP class for simple LSObject type
On LSsession::loadLSobject(), if PHP class file is not found, a simple 
one will be declare.
2020-09-03 16:00:51 +02:00
Benjamin Renard
406b017023 Add method LSldapObject::isValidTypeName() and use it in LSsession::loadLSobject() 2020-09-03 15:40:59 +02:00
Benjamin Renard
4c427b26d6 Improve logging on LSobject & LSattribute triggers executions 2020-08-26 18:08:14 +02:00
Benjamin Renard
8be45249cb LSformRule :: imagesize: use self :: log_debug() instead of LSdebug() 2020-08-26 16:11:21 +02:00
Benjamin Renard
5b9e6409f4 LSform: fix call of LSformRules validate method to provide LSformElement by ref 2020-08-26 16:10:50 +02:00
Benjamin Renard
4c1c7b2fae LSldapObject->getValue(): add $first and $default parameters 2020-08-26 12:56:58 +02:00
Benjamin Renard
699631b63c LsformRule: provide reference to LSformElement instead of copied value 2020-08-26 11:45:59 +02:00
Benjamin Renard
f0ef642cf0 LScli::add_command(): fix typo in comment 2020-08-25 20:33:08 +02:00
Benjamin Renard
a8e2ecc343 Translate LSerror message at formating/diplaying time
It's permit to be sure to translate message in the right user language, 
even if its context isn't loaded at error emission time.
2020-08-25 17:31:50 +02:00
Benjamin Renard
827cf2ca7f Handle redirections of old-style URL even if user not authenticated
It's avoid to display error only after login form success.
2020-08-25 17:14:34 +02:00
Benjamin Renard
3d49092262 LSlang: fix warning about return not True 2020-08-25 11:01:28 +02:00
Benjamin Renard
75cbea9459 modify page: fix URL encode object DN in redirection URL 2020-08-25 10:55:28 +02:00
Benjamin Renard
a7d202e5ff LScli: add --trace parameter 2020-08-24 18:03:50 +02:00
Benjamin Renard
8a1eefc5e3 LSsession::loadLSprofiles(): restructuring code and improve comments and logging 2020-08-24 17:56:42 +02:00
Benjamin Renard
c4dc2a0441 LSsearch::getHash(): fix handling onlyAccessible parameter 2020-08-24 16:55:24 +02:00
Benjamin Renard
11c2e3c9d4 LSsearch: remove buggy _hash cache parameter and replace it by an hash accessible key 2020-08-24 16:54:43 +02:00
Benjamin Renard
7c8fb87c99 LSsearchEntry: remove useless $hash private property 2020-08-24 16:14:16 +02:00
Benjamin Renard
70370f99f9 LSsearch: fix/improve logging 2020-08-24 16:04:23 +02:00
Benjamin Renard
e8768d94ce LStemplate::getImagePath(): handle SVG image type/ext as prefered format 2020-08-20 18:29:19 +02:00
Benjamin Renard
b13ff9b832 LSurl::redirect: fix handling absolute URL without protocol
For instance "//localhost/phpldapadmin/")
2020-08-20 18:11:48 +02:00
Benjamin Renard
34d7e10f9a Log referer URL in case of old-style URL redirection 2020-08-19 15:35:18 +02:00
Benjamin Renard
845fdbb4d8 LSauthMethod :: authenticate(): fix PHP warning 2020-08-19 15:11:49 +02:00
Benjamin Renard
f223827157 LSsession::includeFile(): improve logging 2020-08-17 20:04:21 +02:00
Benjamin Renard
cdd6189e91 dumpFile(): add $force_download and $filename parameters 2020-08-13 16:20:34 +02:00
Benjamin Renard
848d85589b LSauthMethod_basic::authenticate(): add debug/trace messages 2020-08-07 18:27:54 +02:00
Benjamin Renard
5fcf3bbf9c LSsession: add trace messages in whoami() and canAccess methods 2020-08-07 18:19:24 +02:00
Benjamin Renard
1f1a4e16fa LSsession: add log_exception() method 2020-08-07 18:17:02 +02:00
Benjamin Renard
f234709722 LSlog: add TRACE log level 2020-08-07 18:05:50 +02:00
Benjamin Renard
42e6437966 LSsession: fix usage of self :: $topDn instead of self :: getTopDn() 2020-08-07 17:40:40 +02:00
Benjamin Renard
3ce495c2c3 LSerror: format error message at adding time
Format error message at adding time to make sure to be able to format 
it, even if the component triggered it is not loaded.
2020-08-07 16:11:32 +02:00
Benjamin Renard
6eee099bd2 LScli: fix --sub-dn autocompletion even if LDAP server not selected 2020-08-07 11:09:20 +02:00
Benjamin Renard
3dc0d7f637 LScli :: search: remove buggy --subDn parameter 2020-08-07 10:55:18 +02:00
Benjamin Renard
5bbe076e23 LScli: fix handling LDAP servers with configured subDn
In case of LDAP server with configured subDn, always select a subDn, 
even if user didn't make it with --sub-dn parameter. Futhermore, in BASH 
autocompletion, autocomplete LSobject types with only available ones in 
current subDn.
2020-08-07 10:39:41 +02:00
Benjamin Renard
d5d88d2601 LSsession : fix handling subDn in recoverPassword feature 2020-08-06 17:01:51 +02:00
Benjamin Renard
ba85e5c2fc LSerror: fix PHP error 2020-08-06 16:44:18 +02:00
Benjamin Renard
14f28a1ec0 LScli: add global --sub-dn parameter 2020-08-06 16:43:50 +02:00
Benjamin Renard
3dbfe18afb LSsession: add setSubDn() method 2020-08-06 16:43:35 +02:00
Benjamin Renard
1420439403 LScli: fix autocomplete_LSobject_types() in case of configured subDn 2020-08-06 15:11:41 +02:00
Benjamin Renard
712d18b09f LSsession: fix/improve methods & doc about global preference parameters 2020-08-06 13:48:43 +02:00
Benjamin Renard
626e0d854c Fix subDn form style 2020-08-06 13:20:49 +02:00
Benjamin Renard
36ecea5174 Typo 2020-08-04 10:31:02 +02:00
Benjamin Renard
669d679464 LSformElement :: boolean: fix translation of default labels 2020-08-04 10:30:49 +02:00
Benjamin Renard
f9ebf06a63 LSview: Fix validated URL generation 2020-07-28 12:40:46 +02:00
Benjamin Renard
7eac609bd9 LSformElement JS : fire change event on input field cleared 2020-07-24 11:16:22 +02:00
Benjamin Renard
5b6bb28b4d LSformElement :: password: fix/improve send new password feature 2020-07-07 16:04:32 +02:00
Benjamin Renard
bf054a839d LSformElement :: password: fix PHP warning 2020-07-07 15:41:16 +02:00
Benjamin Renard
f8f24df2dd LSformElement :: password: fix confirmInput feature on CLI mode 2020-07-07 14:28:55 +02:00
Benjamin Renard
69fc42a299 LScli create command: add autocompletion 2020-07-07 14:28:04 +02:00
Benjamin Renard
05e0cd56b4 LSldapObject: replace LSlog :: debug() usage by self :: log_debug() 2020-07-07 14:16:13 +02:00
Benjamin Renard
0a8ed10695 LSsearch: replace $logger property by using LSlog_staticLoggerClass 2020-07-07 14:15:30 +02:00
Benjamin Renard
0b180e63b0 LSformElement :: password: fix typo 2020-07-07 12:44:18 +02:00
Benjamin Renard
f0bb4f585c LScli modify command: add autocompletion
Autocompletion feature also add on LSform and LSformElement for 
attribute values
2020-07-07 12:43:55 +02:00
Benjamin Renard
312b3dfb11 Wording 2020-07-07 12:38:28 +02:00
Benjamin Renard
a21b40d706 LScli autocompleter: fix handling quoted arguments 2020-07-06 17:53:54 +02:00
Benjamin Renard
f277528400 LScli relation command: improve -r/--remove autocompletion 2020-07-06 10:22:27 +02:00
Benjamin Renard
c232a9899d LSlog_console: fix stderr switching on message other than INFO / DEBUG 2020-07-06 10:21:44 +02:00
Benjamin Renard
5696eb99c4 LSformElement::password: fix changeInput feature
Fix error in modify form when object's attribute is not already set.
2020-06-30 15:55:21 +02:00
Benjamin Renard
5872430863 LSlog handlers: add enabled parameter 2020-06-30 11:03:48 +02:00
Benjamin Renard
e58999bbaf LSformElement::password: Improve UX with confirmInput and confirmChange features enabled 2020-06-30 10:19:51 +02:00
Benjamin Renard
d456240fde LSform::validate(): fix checking elements's errors after getPostData() 2020-06-30 10:00:22 +02:00
Benjamin Renard
e44be00ebd LSformElement::password: fix confirmChangeQuestion translation 2020-06-30 09:59:25 +02:00
Benjamin Renard
f66b7186e8 LSformElement::password: fix some jshint errors 2020-06-30 09:58:57 +02:00
Benjamin Renard
dde982f42c generate_ldapsaisie_pot CLI command: fix handling ___() keyword 2020-06-30 09:58:22 +02:00
Benjamin Renard
2c6b95b3d6 LSformElement::password: Add confirmInput feature 2020-06-30 09:57:16 +02:00
Benjamin Renard
47d97a00ce Fix LSurl :: get_rewrite_base() method (again) 2020-06-29 16:59:23 +02:00
Benjamin Renard
d0beb86b3d Fix LSurl :: get_rewrite_base() method (again) 2020-06-25 16:17:38 +02:00
Benjamin Renard
c36b385e0f Fix LSurl :: get_rewrite_base() method 2020-06-25 16:08:49 +02:00
Benjamin Renard
f0f2ce48ad LSurl: fix translation of all fatal error messages 2020-06-25 16:03:49 +02:00
Benjamin Renard
06852080a8 LSurl: Remove REQUESTED_URL parameter and always detecting URL from REQUEST_URI
This permit to correctly handle object's DN with slashes (with 
AllowEncodedSlashes NoDecode).
2020-06-25 16:00:20 +02:00
Benjamin Renard
0ce63f3d1e Add route to handle default browser favicon.ico request 2020-06-25 11:55:20 +02:00
Benjamin Renard
458ca79418 LSsearch: Fix PHP < 7 syntax error 2020-06-23 16:17:19 +02:00
4a72388c60 Fix handling positional args on CLI command search autocompletion 2020-06-23 16:00:25 +02:00
1eced8f47a Add autocompleter for CLI command relation 2020-06-23 15:59:29 +02:00
daac4db329 Improve LScli :: autocomplete_LSobject_dn() to provide RDN attribute on empty compword 2020-06-23 15:58:37 +02:00
9de22502ef Add autocompleter for CLI command remove 2020-06-15 11:32:24 +02:00
4ba584e8c6 Add autocompleter for CLI command show 2020-06-15 11:26:57 +02:00
559f9d9475 Add autocompleter for CLI command search 2020-06-15 10:40:48 +02:00
a65322335e LScli::bash_autocomplete(): run command autocompleter with command args instead of complete command args 2020-06-15 08:55:00 +02:00
c8820ff841 Add autocompleter for CLI command LSlang :: generate_lang_file 2020-06-15 08:30:50 +02:00
3494cc55c8 LScli: add BASH autocompletion support 2020-06-15 08:22:55 +02:00
079f39ab4b LSformElement::password: Add confirmChangeQuestion parameter 2020-06-13 10:14:16 +02:00
Benjamin Renard
a5814afefc LSform: add CSS class on submitting form to permit visual adaptation 2020-06-11 20:35:55 +02:00
Benjamin Renard
6e02cbe2d5 Fix typo 2020-06-11 20:31:21 +02:00
Benjamin Renard
38ed2ca08c LSformElement::password: Add confirmChange parameter 2020-06-11 20:14:16 +02:00
Benjamin Renard
9c11a81220 LSform JS events: Add possibility to callback to confirm/cancel event 2020-06-11 20:05:28 +02:00
Benjamin Renard
6e14916bae Fix Internet Explorer deprecation warning on IE11 2020-06-04 19:35:49 +02:00
Benjamin Renard
ac1626fe22 LSsession: fix some error messages 2020-06-04 19:05:23 +02:00
Benjamin Renard
1b98dbfe80 Fix helpInfo feature by LSsession::addHelpInfos to LStemplate
LSsession :: addHelpInfos() is now deprecated in favor of LStemplate :: 
addHelpInfo().
2020-06-04 19:04:48 +02:00
Benjamin Renard
c6dcc95b51 LSview/LSform: fix loading view dependencies 2020-06-04 17:12:28 +02:00
Benjamin Renard
62b0eb36ab LSrelation: use LSview_actions.tpl 2020-06-04 16:46:00 +02:00
Benjamin Renard
6f3edba986 Object custom action question view: add some LSview actions links 2020-06-04 16:35:54 +02:00
Benjamin Renard
6f612199a0 Remove question view: add some LSview actions links 2020-06-04 16:35:19 +02:00
Benjamin Renard
cbaa1eadfd Fix toggle_menu undefined error 2020-06-04 10:02:29 +02:00
Benjamin Renard
31f6189f4a LSform: Avoid page scrolling on tab change 2020-06-03 12:58:37 +02:00
Benjamin Renard
bfd60b28c6 LSform: fix preserving current tab on actions links click 2020-06-03 12:58:05 +02:00
Benjamin Renard
49656cd6f6 function.js: fix compatibility with Safari 2020-06-03 11:53:37 +02:00
Benjamin Renard
c29240d771 Make LSview-actions respons 2020-06-02 21:10:59 +02:00
Benjamin Renard
62ec0a2b1e Fix typo toogle/toggle 2020-06-02 19:57:19 +02:00
Benjamin Renard
ba41b527c0 Make interface responsive
Adapt components size to view-port size and allow to show/hide menu
2020-06-02 19:56:40 +02:00
Benjamin Renard
78fefb6c8f function.js: Fix global variable B64keyStr declaration 2020-05-29 18:28:15 +02:00
Benjamin Renard
0469d0723f Add alert about no longer support of Internet Explorer 2020-05-29 18:27:31 +02:00
Benjamin Renard
47d5ce021d Move some hard-coded messages to template files 2020-05-28 20:24:37 +02:00
Benjamin Renard
bfe7e18e58 LStemplate :: fatal_error(): use LStemplate method to display error
This permit to correctly handling custom JS/CSS files
2020-05-28 17:01:41 +02:00
Benjamin Renard
88c995ac5c LSerror: do not automatically close LSerror 2020-05-28 17:00:01 +02:00
Benjamin Renard
81c8a486d9 Move "Connect as" label translation to template 2020-05-28 16:59:28 +02:00
Benjamin Renard
69addc15ea LSlog :: get_debug_backtrace_context(): fix/improve method 2020-05-28 16:58:28 +02:00
Benjamin Renard
3fbd9e8073 Move custom JS & CSS handling methods from LSsession to LStemplates
The following method are now offer by LStemplate:
 - addJSscript()
 - addLibJSscript()
 - addJSconfigParam()
 - addCssFile()
 - addLibCssFile()
Old methods are always provided by LSsession, but an deprecated error 
message wil be displayed to alert on it.
2020-05-28 16:56:36 +02:00
Benjamin Renard
0b4e6d4104 LSerror: permit to control message escape method
Globally rework on this class to allow control escape method. Also 
change escape method for logs to use addslashes() instead of 
htmlentities().
2020-05-28 15:48:25 +02:00
Benjamin Renard
aba5a131c2 LSformElement::select_object: fix selection via LSselect on create form 2020-05-25 14:46:41 +02:00
Benjamin Renard
4feec44639 Fix some PHP 7.0 syntax errors 2020-05-25 12:18:06 +02:00
Benjamin Renard
47d9b907af LSaccessRigthsMatrixView fix handling subDn LDAP servers configuration 2020-05-25 11:10:16 +02:00
Benjamin Renard
d68b15bac3 Add default LSprofiles with the name of authenticable object types
Consquently adjust LSaccessRigthsMatrixView addon and make some 
representative change in LSexample for demo
2020-05-25 11:09:32 +02:00
Benjamin Renard
cf1a98e4b3 LSselect: fix number objects of by page 2020-05-20 18:49:08 +02:00
Benjamin Renard
a9860f83de LSformElement :: wysiwyg: Fix loading TinyMCE JS 2020-05-20 18:21:05 +02:00
Benjamin Renard
e53331c0ec LSreletation: fix object type selection 2020-05-19 18:36:16 +02:00
Benjamin Renard
c4db08d265 Fix typo 2020-05-19 18:31:55 +02:00
Benjamin Renard
2c1d03ac7a LSattr_html :: select_object: Fix typo in error message format 2020-05-19 18:26:27 +02:00
Benjamin Renard
e8095636b5 Allow multiple type of objects in LSselect & LSattr_html :: select_object and globally rework and improve LSrelation consequently 2020-05-19 17:55:55 +02:00
Benjamin Renard
cb83311bd0 LSsearch: Add option to disable cache on customInfos 2020-05-19 17:07:55 +02:00
Benjamin Renard
2ed985324e LSsearchEntry :: __get(): fix attributes value access 2020-05-19 17:07:08 +02:00
Benjamin Renard
69eaf31598 LSaddon::ssh: Add doc about $mode parameter of function createDirsBySFTP
This parameter must be an octal number, with a leading zero (ex: 0640 or 
02755).
2020-05-19 11:21:06 +02:00
Benjamin Renard
c120e76822 LSlog_staticLoggerClass: fix log_exception() method 2020-05-18 20:14:10 +02:00
Benjamin Renard
76577c058b Fix some PHP warnings 2020-05-18 20:10:18 +02:00
Benjamin Renard
e1cce4e696 LSldapObject :: getLabel(): fix method to be really static 2020-05-18 20:08:03 +02:00
Benjamin Renard
510f3d4bdc LSldapObject: specify object type filter on loading data 2020-05-14 11:07:18 +02:00
Benjamin Renard
f7c4050b70 LSldapObject: fix getObjectFilter method 2020-05-14 11:06:09 +02:00
Benjamin Renard
252095b32b LSldap :: getAttrs: add possibility to specify to custom LDAP filter 2020-05-14 11:05:08 +02:00
Benjamin Renard
9bb52296b7 LSsession :: loadLSaddon: keep trace of already loaded addon to avoid loading more than once 2020-05-14 10:53:41 +02:00
Benjamin Renard
8b4b227327 LScli: fix console logging to always log at least errors (excepted in quiet mode) 2020-05-14 10:51:18 +02:00
Benjamin Renard
a1a23d1600 checkEmail(): add debug using dedicated LSlog_logger 2020-05-13 16:04:14 +02:00
Benjamin Renard
da9c0e344b LSformRule :: email: fix handling domain parameter if its an array 2020-05-13 16:02:17 +02:00
Benjamin Renard
42f4e8a860 LSdebug: check class LSlog exists before using it 2020-05-13 15:54:52 +02:00
Benjamin Renard
8e2c521d18 LSrelation: fix new button opening in LSsmoothbox 2020-05-13 15:41:28 +02:00
Benjamin Renard
351b18827d customAction & customSearchAction: do not show question template if no confirmation need and action executed 2020-05-13 15:31:50 +02:00
Benjamin Renard
4ef0a8fb30 LSauthMethod_HTTP: add debug 2020-05-12 21:01:07 +02:00
Benjamin Renard
b2ef404da5 LSauthMethod: fix default authenticate() method 2020-05-12 20:59:21 +02:00
Benjamin Renard
db710efb87 LSsession: Fix PHP < 7 syntax error 2020-05-12 20:20:11 +02:00
Benjamin Renard
f1ce6380b9 LSexample: now handle LSsysaccount and and allow it to connect 2020-05-12 20:12:57 +02:00
Benjamin Renard
047d6f51c8 LSsearch: fix PHP warning 2020-05-12 20:11:45 +02:00
Benjamin Renard
e6e5f1c2b8 LSauth :: getAuthObjectTypes(): fix handling simple LSobject type 2020-05-12 19:58:12 +02:00
Benjamin Renard
90944dd541 LSformRule_integer: fix handle min/max parameters and add debug 2020-05-12 19:26:07 +02:00
Benjamin Renard
694391e1e7 LSformRule_password: fix handle min/max length parameters and add debug 2020-05-12 19:25:44 +02:00
Benjamin Renard
4a3e4e3fbb LSlang :: generate_lang_file: fix handling smarty escape modifier 2020-05-12 19:24:38 +02:00
Benjamin Renard
a6f07faca0 LSauth: Add possibility to configure more than one LSobject type as user 2020-05-12 19:23:24 +02:00
Benjamin Renard
5660804ef7 LSauth: replace LSdebug by LSlog logger 2020-05-12 16:37:46 +02:00
Benjamin Renard
838a1781b7 Fix typo in old select.php URL handler 2020-05-11 17:30:34 +02:00
Benjamin Renard
b388656724 LSaddon :: LSaccessRightsMatrixView: replace LSdebug by LSlog logger 2020-05-11 11:41:15 +02:00
Benjamin Renard
898e312d7e LSaddon :: mailquota: replace LSdebug by LSlog logger 2020-05-11 11:39:17 +02:00
Benjamin Renard
5f17c45cf4 LSaddon :: ssh: Add debug using LSlog logger 2020-05-11 11:33:53 +02:00
Benjamin Renard
499ff808f4 LSimport: fix data removing on LSobject import
This bug affect import with modify enabled and when some attributes are 
present in modify form, but not in the ioFormat used for import.
2020-05-11 10:38:07 +02:00
85786bc33c LScli : add create command 2020-05-09 12:05:52 +02:00
0feb8e16ea LSldapObject :: validateAttrsData: fix typo 2020-05-09 11:37:09 +02:00
2b535c4640 CLI remove : fix confirm 2020-05-09 11:36:26 +02:00
25877a488b LScli : add modify command 2020-05-08 21:02:28 +02:00
72f38d0612 LSformElement :: password: fix syntax error in getPostData method 2020-05-08 20:48:53 +02:00
a356555e0a LSform :: validate: add $onlyIfPresent parameter
This parameter permit to handle only data of present element in POST 
data. Other element are not considered in the form.
2020-05-08 20:48:13 +02:00
3d9c11e12f LSldapObject :: _cli_remove : use LScli :: confirm 2020-05-08 20:38:02 +02:00
1de6d1d25e LScli : add confirm helper method 2020-05-08 20:33:42 +02:00
258b712d52 LSlog_handler: fix message format info 2020-05-08 16:18:29 +02:00
ca7a6e821e LSsession : use LSlog_logger 2020-05-08 15:51:21 +02:00
108b14560d LSsearchEntry : use LSlog_logger 2020-05-08 15:50:32 +02:00
24cf73cf91 LSformRule : use LSlog_logger 2020-05-08 15:50:07 +02:00
65a5825ce7 LSformElement : use LSlog_logger 2020-05-08 15:49:55 +02:00
cc288cc391 LSauthMethods : use LSlog_logger 2020-05-08 15:49:36 +02:00
77144a21d0 LSattribute : use LSlog_logger 2020-05-08 15:49:05 +02:00
ed61cacd8b LSattr_ldap : use LSlog_logger 2020-05-08 15:48:38 +02:00
1a26fdafff LSattr_html : use LSlog_logger 2020-05-08 15:48:26 +02:00
3e0829ba31 LScli : use LSlog_logger 2020-05-08 15:20:29 +02:00
fb7efd9a14 LSattr_html :: image : fix PHP warning 2020-05-08 15:16:42 +02:00
5674a99a7c LSldap : use LSlog_logger 2020-05-08 15:16:24 +02:00
6abf194807 LSlog : fix handler default logger filtering 2020-05-08 15:04:37 +02:00
5dedbc7d08 LSlog_staticLoggerClass : add log_[level]() helper methods 2020-05-08 15:04:04 +02:00
22b4a7f712 LSlog_staticLoggerClass : Fix self :: $logger inheritance problem 2020-05-08 14:57:24 +02:00
2f8d644af0 LSldapObject : use LSlog_logger 2020-05-08 14:33:20 +02:00
0cac3631c6 LSsearch : use LSlog_logger 2020-05-08 13:51:13 +02:00
e0a44cb8aa LStemplate : use LSlog_logger 2020-05-08 13:28:47 +02:00
7425555b3d LSlang : use LSlog_logger 2020-05-08 13:23:45 +02:00
6db3543ec0 LSlog_handler : fix undefined index errors on CLI context 2020-05-08 13:21:28 +02:00
b574300ab3 LSlog_handler : add excluded_loggers configuration parameter 2020-05-08 13:18:17 +02:00
aebdb4a111 Add LSlog_staticLoggerClass and use it for LSurl 2020-05-08 12:48:06 +02:00
7c43439224 getFData : fix PHP warning 2020-05-08 12:32:46 +02:00
d069df4d6c LSlog : add loggers, filters and format message by handlers 2020-05-08 12:32:21 +02:00
Benjamin Renard
de73ffdd60 Rework on template files to use blocks 2020-05-07 12:16:12 +02:00
Benjamin Renard
cd8908391d Improve login and recover password templates 2020-05-07 11:36:25 +02:00
Benjamin Renard
b9477a8503 LSurl : add get_public_absolute_url() method 2020-05-07 11:35:38 +02:00
Benjamin Renard
b0d56ef387 Add index URL to access homepage 2020-05-07 11:35:23 +02:00
Benjamin Renard
1dabe6d6aa LSlang :: setLocale(): don't warn if lang file not found 2020-05-07 11:35:06 +02:00
Benjamin Renard
3c613b7ab4 LSauthMethod: don't warn if config file not found 2020-05-07 11:34:44 +02:00
Benjamin Renard
e87270112e LSsession :: loadLSaddon(): don't if config file is not found 2020-05-07 11:34:30 +02:00
Benjamin Renard
7153356a24 LSsession :: loadLSclass(): respect $warn parameter on includeFile() call 2020-05-07 11:19:36 +02:00
Benjamin Renard
16aa789b21 LSsession :: includeFile: add $warn parameter to control warning if file not found 2020-05-07 11:16:09 +02:00
Benjamin Renard
91ea37f841 Remove references to old index.php page 2020-05-07 09:56:28 +02:00
Benjamin Renard
1dd07fd523 Fix global search refresh link URL 2020-05-07 09:51:22 +02:00
Benjamin Renard
66d437cb8d Fix old URL patterns 2020-05-07 09:50:10 +02:00
Benjamin Renard
6ba8f2732c LSsession : fix getTmpFileURL when tmp directory is a symbolic link 2020-05-06 21:23:07 +02:00
Benjamin Renard
041e38e131 Add missing local symbolic link in includes/js directory 2020-05-06 20:40:34 +02:00
Benjamin Renard
3fbe53d4c6 Replace generate_ldapsaisie.pot.sh script by a LScli command 2020-05-06 19:58:57 +02:00
Benjamin Renard
1cb2c47bfb LSlang :: generate_lang_file : return boolean instead of exit 2020-05-06 19:57:14 +02:00
Benjamin Renard
03255e41f4 LScli : add run_external_command() helper method 2020-05-06 19:56:37 +02:00
Benjamin Renard
eb2b939dfe LScli : fix comment on run_command method 2020-05-06 19:48:13 +02:00
Benjamin Renard
6dcbddf84c LSlang :: generate_lang_file : does not need LDAP connection 2020-05-06 18:37:02 +02:00
Benjamin Renard
dfc3f8e8a8 LSlang :: generate_lang_file : fix detection of all messages 2020-05-06 18:35:39 +02:00
Benjamin Renard
4828ac6b30 LScli : fix warnings about run_command CLI 2020-05-06 18:34:27 +02:00
Benjamin Renard
fbba445106 LScli : add possibility to run command without LDAP connection 2020-05-06 18:33:31 +02:00
Benjamin Renard
9028414568 LScli :: handle_args() : check CLI context 2020-05-06 18:01:16 +02:00
Benjamin Renard
4bed3e6c17 LScli ; Move command execution in a dedicated run_command() method 2020-05-06 18:00:47 +02:00
Benjamin Renard
68a2105900 Replace generate_lang_file.php by LScli command generate_lang_file 2020-05-06 17:48:49 +02:00