# feature definition
A feature represents a location. It has index _fid_. It has two dimensions:
_lagitude_ and _longitude_. It may have an image represented by it's url.
This field is called _imgurl_; it may also have a _title_ and/or a _description_.
# client to server communication:
Client submits a classic html form to server.
**note**: In this documentation, php notation is used (`_POST`, `_FILES` and
`_COOKIE`), but server may be written in any language.
`_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
* `_POST["lon"]` must contain feature longitude
* `_POST["lat"]` must contain feature latitude
* `_POST["title"]` may contain feature title
* `_POST["description"]` may contain feature description
* `_FILES["image_file"]` may contain an uploaded image
## del
to delete an existing feature
* `_POST["fid"]` must contain feature id
## update
to modify an existing feature
* `_POST["fid"]` must contain feature id
* `_POST["lon"]` must contain feature longitude
* `_POST["lat"]` must contain feature latitude
* `_POST["title"]` may contain feature title
* `_POST["description"]` may contain feature description
if `_POST["keep_img"]` is "yes", feature image will not be modified.
Otherwise, `_FILES["photo_file"]` is checked for an uploaded file. If
`_FILES["photo_file"]` is empty, existing feature image will be deleted.
Otherwise, uploaded file will replace current feature image.
# server reply to client:
Server replies with xml content. In an ideal world, reply would be just xml
content. But due to technical issues, syp must wrap xml content in the body of a
html document. So for example, instead of sending
`