HFS: Event scripts

From rejetto wiki
Jump to navigation Jump to search

Warning: this feature requires version 2.3 or above.

Event scripts are scripts that run when something happens: an event.

The syntax is very similar to the one used in templates. The name of the event is on a line, surrounded by [square brakets]. The script commands follows.

Example:

[upload completed]
{.move|%item-resource%|C:\another_folder\%item-name%.}

Would you need to not overwrite an existing event script, you can prefix the event name with a "+" sign. Example: [+upload completed].

You can read more on the forum.

Events list

Network events

server start
HFS was switched on, to accept connections.
server stop
HFS was switched off, connections are accepted no more.
request
an HTTP request has been made, this includes browsing, icons, archives, and normal downloads.
request completed
the request was fulfilled.
pre-filter-request
some actions may need to be taken before requests are filtered by some limiting option. In case, you should use this event.
unauthorized
this user has no permission to access the requested resource.
connected
a new connection was established by a client.
disconnected
a connection is ended.
download
a download was requested.
download completed
a download has just finished.
upload completed
a file has been uploaded. Since version 2.3f any text resulting from this event will be considered as "reason for refusal", it will be displayed to the user and the file will be deleted. E.g
[upload completed]
{.if|{.%item-size-kb% > 500.}|Sorry, limit of 500KB.}
upload failed
a file has failed to be uploaded.

Naming events

You can use these events to change the name that will be given to the file that is about to be uploaded or downloaded: upload name, archive name, download name. The resulting text of these events will be used as new name for the worked file.

For event archive name the symbol %stream-size% is provided so that you can use it for actions depending the size of the generated archive.

Other events

start
HFS was started.
quit
HFS is quitting.
file deleted
a file was remotely deleted. Use %item-deleted% ll path to it.
on macro rename
a {.rename.} was successful. Use %old-name% and %new-name% to know the full path of them.
If you do a {.rename.} inside this event, by default, it won't fire the event again. If you want it to do it, you must use named parameter {.rename|recursive=1.}.
pre-filter-request
not yet documented

Timed events

You can ask HFS to run a script at a certain time, or interval.

To run a script at 1PM o'clock, you can make an event [at 13:00].

To run every 15 minutes instead you should make an event [every 15 minutes].

You can read more on the forum.