Commit graph

19 commits

Author SHA1 Message Date
Benjamin Renard
23d185c171 LSexample: defaulty enable LSpeople API access 2022-06-08 14:21:51 +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
2b6b8ce270 Fix project URLs and list emails addresses 2021-04-13 18:04:19 +02:00
Benjamin Renard
ba2de0f9ec LSexample: Add Ppolicy support 2021-02-24 19:15:42 +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
335d6a4efa Default config files: add ending-line commas to avoid problem on editing 2020-11-25 15:59:36 +01:00
Benjamin Renard
f234709722 LSlog: add TRACE log level 2020-08-07 18:05:50 +02:00
Benjamin Renard
5872430863 LSlog handlers: add enabled parameter 2020-06-30 11:03:48 +02:00
Benjamin Renard
c989126f9a Fix historical typo in variable $GLOBALS['defaultJSscripts'] name (missing "R") 2020-05-28 20:32:18 +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
cf1a98e4b3 LSselect: fix number objects of by page 2020-05-20 18:49:08 +02:00
Benjamin Renard
fc3912b48b LSexample: put admin user as globally admin of the first LDAP server 2020-05-19 18:59:30 +02:00
Benjamin Renard
d2761a29ae Fix typo in default config.inc.php file 2020-05-12 20:20:33 +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
a6f07faca0 LSauth: Add possibility to configure more than one LSobject type as user 2020-05-12 19:23:24 +02:00
b574300ab3 LSlog_handler : add excluded_loggers configuration parameter 2020-05-08 13:18:17 +02:00
27938eefb9 config.inc.php : fix ident 2020-05-08 12:36:45 +02:00
d069df4d6c LSlog : add loggers, filters and format message by handlers 2020-05-08 12:32:21 +02:00
Benjamin Renard
7098b3ee79 Massive change of files organisation to move all files outside web-root
The web-root directory now contains URL rewrite stuff. All PHP & static files are
in root src directory and are served via LSurl routes.
2020-05-06 12:17:35 +02:00
Renamed from public_html/conf/config.inc.php (Browse further)