Commit graph

274 commits

Author SHA1 Message Date
Benjamin Renard 20432adb14 Clean errors detected by PHPstan (level 3) 2023-01-02 01:17:46 +01:00
Benjamin Renard bbde10bbf0 Add some class properties type & coments and clean errors detected by PHPstan (level 2) 2023-01-01 19:38:03 +01:00
Benjamin Renard 8a02680114 Clean/normalize comments format about parameters & returned value of functions/methods 2022-12-31 05:52:31 +01:00
Benjamin Renard 466dec4a64 doc: fix syntax error in previous commit 2022-09-28 17:24:54 +02:00
Benjamin Renard dcf68a2330 LSprofiles by LSobject: add possibility to compute basedn using LSformat on authenticated user 2022-09-28 16:50:24 +02:00
Benjamin Renard 913a340ed4 doc: fix programlisting opacity 2022-06-16 14:30:06 +02:00
Emmanuel Saracco 2adbdb62c7 Add LSaddon accesslog 2022-06-16 13:15:28 +02:00
Benjamin Renard 457995bc22 Add argon2 passwords support 2022-04-19 11:53:39 +02:00
Benjamin Renard 728be381a6 LSaddon ppolicy: Improve style of password_expiration extraDisplayedColumn in doc 2022-04-11 18:44:11 +02:00
Benjamin Renard 064d0f720b Add ppolicy LSaddon 2022-04-11 18:24:41 +02:00
Benjamin Renard bbf40090a9 LSformRule::inarray: add reverse parameter 2022-02-17 10:38:41 +01:00
Benjamin Renard 5d51114b8d Revert zxcvbn usage in LSexample to keep PHP5 support
Also add note about LSformRule_zxcvbn requirement of PHP >= 7.
2021-12-16 19:14:20 +01:00
Benjamin Renard db287937b7 Add LSformRule_zxcvbn 2021-12-16 18:58:29 +01:00
Benjamin Renard 59ecc0d7fa Add authz proxy authorization support
Add useAuthzProxyControl parameter to combine with useUserCredentials to 
also using authz proxy authorization.
2021-08-26 20:16:22 +02:00
Benjamin Renard 9907e08f18 Code cleaning 2021-08-25 18:02:37 +02:00
Benjamin Renard e099a27533 Add dynamic groups support (with cache members attributes)
Add LSaddon dyngroup with feature to handle update static cache members
attributes on users or dyngroup URI changes. The update process could
also be runned using CLI update_dyngroups_members_cache command
(allowing cron task configuration).

LSexample also evoluate to add example of dynamic groups implementation.
On this occasion, the restore_lsexample script was completely rewrited.
2021-07-21 19:42:22 +02:00
Benjamin Renard 8cb36c7aa9 doc: fix typos 2021-07-19 16:54:41 +02:00
Benjamin Renard 18cc960755 Add LSformRule_numberOfValues 2021-07-19 16:54:41 +02:00
Benjamin Renard 12cfb6aa23 doc: improve contrib / LSformRules section 2021-07-12 23:56:54 +02:00
Benjamin Renard 988d744836 LSformRule: add possibility to throw custom exception to provide error details 2021-07-12 17:54:08 +02:00
Benjamin Renard afb67b02e9 LSurl: add request HTTP method check that must match with one of supported by handler (default: GET or POST) 2021-06-24 10:21:50 +02:00
Benjamin Renard b37a2b321f Doc/LSrelation: Make canEdit_attribute parameter more visible in case of simple relation 2021-06-21 12:32:38 +02:00
Benjamin Renard c45f884aa1 LSrelation: add display_name_format parameter 2021-06-21 12:31:49 +02:00
Benjamin Renard 78de233321 API: add search parameters in return on LSobject search 2021-06-14 11:48:07 +02:00
Benjamin Renard 0360ab7951 API: add keepParamsBetweenSearches on LSobject search 2021-06-14 11:46:44 +02:00
Benjamin Renard df57967669 LSattr_html::select_box: add inline parameter 2021-06-11 18:26:25 +02:00
Benjamin Renard 8dbbda801a LSattr_ldap::naiveDate: Add format option 2021-06-10 19:01:22 +02:00
Benjamin Renard fdbb9842df Improve doc about attribute values validation 2021-06-03 17:35:16 +02:00
Benjamin Renard 60532145e3 doc: add some details about filter parameter of search LSobject API method 2021-05-25 10:37:30 +02:00
Florent Angebault d94f96498a doc: fix some typos 2021-05-04 18:56:24 +02:00
Benjamin Renard 7005100ac4 LSioFormat: handle multiple formats for generated fields 2021-04-27 12:13:32 +02:00
Benjamin Renard d6aad3acc8 doc: add sections missing IDs 2021-04-13 18:45:47 +02:00
Benjamin Renard 2c64eb8e97 doc: add IDs to install sections 2021-04-13 18:23:01 +02:00
Benjamin Renard 2b6b8ce270 Fix project URLs and list emails addresses 2021-04-13 18:04:19 +02:00
Benjamin Renard 20c1148f69 doc: Remove PEAR File_CSV_DataSource deprecated dependency 2021-04-13 17:49:04 +02:00
Benjamin Renard 15823ad677 API::search method: add attributesDetails parameter 2021-03-23 14:44:01 +01:00
Benjamin Renard f960b2d394 API: search method now return true attributes value as handle by LdapSaisie (instead of raw attributes's values) 2021-03-23 12:37:45 +01:00
Benjamin Renard 96c7e33034 API objects list method: add as_list parameter 2021-03-17 18:37:19 +01:00
Benjamin Renard 67774a6832 LSformElement :: mail: Move autocomplete feature in text parent class 2021-03-03 14:34:06 +01:00
Benjamin Renard 5b7b22dde1 Fix/improve/factorize search pagination
First page of a search is now one instead of zero. The pagination.tpl 
template file contain factorized code to display pages list HTML code.
2021-02-22 17:31:57 +01:00
Benjamin Renard d27a59f807 Add LSobject import/export API methods 2021-02-08 12:42:00 +01:00
Benjamin Renard 19dd343106 LSformElement::getApiValue(): add $details parameter
This parameter permit to control if the returned value contain or not 
details. By default (no details), the value used the format as accept by 
create/modify method. The details mode is more efficient to display the 
value.
2021-02-05 12:22:44 +01:00
Benjamin Renard 5f4798a5a1 Add export feature using existing LSioFormats 2021-02-05 12:18:26 +01:00
Benjamin Renard 5c10277861 Doc: Add anchors for API sections 2021-02-03 15:09:25 +01:00
Benjamin Renard 638bb83eed Doc / API relation method: use group objects from LSexample 2021-02-03 15:01:35 +01:00
Benjamin Renard ff57a12b0e Fix typo in API doc 2021-02-03 15:00:45 +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 ac7e042c2a LSattribute: add default LDAP & HTML type (ascii / text) 2021-01-29 15:59:13 +01:00
Benjamin Renard e2ff1503ab LSattr_ldap:📅 add note about date & time with micro-seconds 2020-12-09 18:58:43 +01:00
Benjamin Renard 3a946a47e3 Doc: Add note about the default_value LSattribute parameter 2020-12-02 20:20:05 +01:00