Set UTC as default timezone for all date/time functions.
Dont rely on the servers timezone, since this timezone may
change on cloud hosts or may nit be set at all.
Using UTC is a best practice to avoid timezone issues etc.
Refs #73
Add a helping variable to build absolute links to
the root of the domain without handling the URL scheme.
This way all links could get rid of the host & domain part,
and just build absolute links to the root instead.
(Replace "[https://example.com/foo/] + [functions.js]" with
"[/foo/] + [functions.js]")
Refs #79
Simplify the generation of the local configuration file
by replacing various loops with shorter PHP standard methods.
This will cause the local configuration to have a slightly
different style, but it is still an array therefore is
readable and changeable by PHP developers.
Move the include of the original and the local
configuration file into the settings file to reduce one
includes in each file, have all settings in one place
and remove unneccessary code from the config file
(which makes it easier to copy and change it).
This alias system permits to create an "alias" to an uploaded file.
This permits to upload some new content and update the alias to the new
content.
This will permits to implement a lot of services, for example:
- Storing a live chat between two people
- Update a list of files
- Put a whole website and update it
A few notes:
- An alias MUST point to an existing upload at his creation or update.
- Alias are not protected against reading but are protected against updates
and deletion using a password. The destination of the alias can still be
protected by a password.
- Alias can be updated to change it's target and/or change the password.
- Alias names and passwords must be between 8 and 32 characters.
Some examples:
- Create an alias:
curl -X POST \
--http1.0 \
-F "alias=my-awsome-alias" \
-F "destination=13dA8apU" \
-F "password=my-very-secret-password" \
http://my-host/jirafeau/script.php?alias_create=1
=> OK
- Get an alias
curl -X POST \
--http1.0 \
-F "alias=my-awsome-alias" \
http://my-host/jirafeau/script.php?alias_get=1
=> 13dA8apU
- Update an alias:
curl -X POST \
--http1.0 \
-F "alias=my-awsome-alias" \
-F "destination=2Ab6f17o" \
-F "password=my-new-password" \
http://my-host/jirafeau/script.php?alias_update=1
=> OK
- Access to alias using the web interface, let's go to:
http://couak.net/jirafeau-dev/f.php?h=my-awsome-alias
- Delete an alias:
curl -X POST \
--http1.0 \
-F "alias=my-awsome-alias" \
-F "password=my-new-password" \
http://my-host/jirafeau/script.php?alias_delete=1
=> OK
Signed-off-by: Jerome Jutteau <mojo@couak.net>
Security: we can now upload any type of file no matter how they are named.
Bug fix: in Jyraphe 0.5 stable, we were not able to add several times the same file with a different link file.