Client submits a classic html form to server.
-**note**: In this documentation, php notation is used (`_POST` and `_FILES`),
-but server may be written in any language.
+**note**: In this documentation, php notation is used (`_POST`, `_FILES` and
+ `_COOKIE`), but server may be written in any language.
-` _POST["password"]` may contains user password. If it is set, access is
- checked. If it is not set, authentification cookie is checked. If neither are
- present, or if one of them is wrong, access is denied.
+`_POST["password"]` and `_POST["user"] may contain user name and password. If
+ they are set, access is checked. If they is not set, cookies are checked. If
+ neither are present. If access is correct, cookies are set.
+
+Alternatively, `_COOKIE["syp_user"]` and `_COOKIE["syp_auth"]` may contain user
+ name and md5 of password. If tables prefix is not *syp_*, cookies name are
+ modifier accordingly.
`_POST["request"]` is either:
## auth
asks for authentication
+## changepass
+ change user password
+
+ * `_POST ["pass_current"]` must contain current password. This is needed: cookie
+ authentification is not enough.
+ * `_POST ["pass_new"]` must contain new password
+
+## newuser
+ adds a new user
+
+ * `_POST ["newuser_name"]` must contain user name
+ * `_POST ["newuser_password"]` must contain user password
+
+ **Only admin can add new users.**
+
+
## add
adds a new feature
* `toobig`: uploaded file was too big
* `notation`: uploaded file was not an image
* `nochange`: when trying to update a feature, there is nothing to update (ie: no field of the feature has changed)
+ * `wrongpass`: wrong current password when trying to change password
+ * `newuser_exists`: when trying to add an user which has the same name as an already registered user
## success handling:
- * `<success request="auth"></success>`:
- authentication was successfull
+ * `<success request="auth"><user>?user_name?</name></success>`:
+ authentication was successfull. ?user_name? is name of authenticated user.
+
+ * `<success request="newuser"><user>?user_name?</name></success>`:
+ new user addition was successfull. ?user_name? is name of newly added user.
+
+ * `<success request="changepass"><user>?user_name?</name></success>`:
+ password change was successfull. ?user_name? is name user whose password
+ has been changed.
* `<success request="del">
<feature>