Welcome! This is the default template for HFS 2.3 Here below you'll find some options affecting the template. Consider 1 is used for "yes", and 0 is used for "no". DO NOT EDIT this template just to change options. It's a very bad way to do it, and you'll pay for it! Correct way: in Virtual file system, right click on home/root, properties, diff template, put this text [+special:strings] and following all the options you want to change, using the same syntax you see here. [+special:strings] option.paged=1 COMMENT this option causes your file list to be paged by default option.newfolder=1 option.move=1 option.comment=1 option.rename=1 COMMENT with these you can disable some features of the template. Please note this is not about user permissions, this is global! [] HFS %folder%

WARNING: this template is only to be used with HFS 2.3 (and macros enabled)

{.!Messages.}
{.!User.}
{.if| %user% |{: %user% {.if|{.can change pwd.} | .} :} | Login .}
{.!Folder.}
{.if| {.?search.} | {.!Back.} | {.if| {.%folder% != / .} | {.!Up.} .} /if.}
%number-folders% {.!folders.}, %number-files% {.!files.}, {.add bytes|%total-size%.}
{.123 if 2|
|{.commentNL|%folder-item-comment%.}|
.}
{.if| {.get|can recur.} | /if.}
{.!Select.}

0 items selected

{.if| {.get|can upload.} |{:
{.!Upload.}
:}.}
{.!Actions.}
{.if|{.can mkdir.}| .} {.if|{.can comment.}| .} {.if|{.get|can delete.}| {.if|{.and|{.!option.move.}|{.can move.}.}| .} .} {.if|{.can rename.}| .} {.if|{.get|can archive.}| .} {.!Get list.}
{.!Server information.} HttpFileServer %version%
{.!Server time.}: %timestamp%
{.!Server uptime.}: %uptime%
{.comment| this is quite ugly, i know, but if i use any vertical padding with height:100% i'll get a scrollbar .}
{.if not| %number% |{:
{.!No {.if|{.?search.}|results|files.}.}
:}|{:
{.set|sortlink| {:{.!$2.}{.if| {.{.?sort.} = $1.} | &{.if|{.?rev.}|u|d.}arr;.}:} .}
{.^sortlink|n|Filename.}{.^sortlink|e|.ext.} {.^sortlink|s|Filesize.} {.^sortlink|t|Filetime.} {.^sortlink|d|Hits.} %list%
:}.}
[+special:strings] max s dl msg=There is a limit on the number of simultaneous downloads on this server.
This limit has been reached. Retry later. retry later=Please, retry later. item folder=in folder no files=No files in this folder no results=No items match your search query confirm=Are you sure? [style.css|no log] body { font-family:tahoma, verdana, arial, helvetica, sans; font-weight:normal; font-size:9pt; background-color:#eef; } html, body { padding:0; border:0; height:100%; } html, body, p, form { margin:0 } a { text-decoration:none; color:#47c; border:1px solid transparent; padding:0 0.1em; } a:visited { color:#55F; } a:hover { background-color:#fff; border-color:#47c; } img { border-style:none } fieldset { margin-bottom:0.7em; text-align:left; padding:0.6em; } #panel { float:left; margin-top:1em; margin-left:1em; max-width:250px; } #panel hr { width:80%; margin:1em auto; } #files { background:#ddf; border:0; } #files tr { background:#fff; } #files tr.even { background:#eef; } #files tr.selected { background:#bcf; } #files td { padding:0.2em 0.5em; text-align:right; } #files tr td:first-child { text-align:left; } #files th { padding:0.5em 1em; background:#47c; text-align:center; } #files th a { color:white; font-size:130%; } #files th a:hover { background:transparent; border-color:#fff; color:#fff; font-size:130%; } #files td:first-child { text-align:left; } #files td.nosize { text-align:center; font-style:italic; } #files .selector { display:none; } #actions button { margin:0.2em; } #breadcrumbs { margin-top:1em; padding-left:0.5em; } #breadcrumbs a { padding:0.15em 0; border-width:2px; display:block; } #folder-stats, #foldercomment { margin-top:1em; padding-top:0.5em; border-top:1px solid #666; } #folder-stats { color:#666; text-align:center; } #msgs { display:none; } #msgs li:first-child { font-weight:bold; } #pages span { padding-left:0.5em; padding-right:0.5em; cursor:pointer; } #pages button { font-size:smaller; } .selectedPage { font-weight:bold; font-size:larger; } .hidden { display:none; } [file=folder=link|private] {.if|{.get|is new.}| NEW .} {.if not|{.get|can access.}|.} %item-name% {.if| {.?search.} |{:{.123 if 2|
{.!item folder.} |{.breadcrumbs|{:%bread-name%/:}|from={.count substring|/|%folder%.}/breadcrumbs.}|
.}:} .} {.123 if 2|
|{.commentNL|%item-comment%.}|
.} [+file] %item-size%B%item-modified%%item-dl-count% [+folder] folder%item-modified%%item-dl-count% [+link] link [error-page] %content%
HttpFileServer %version%
%timestamp%
[not found]

{.!Not found.}

{.!go to root.} [overload]

{.!Server Too Busy.}

{.!The server is too busy to handle your request at this time. Retry later.} [max contemp downloads]

{.!Download limit.}

{.!max s dl msg.} [unauthorized]

{.!Unauthorized.}

{.!Either your user name and password do not match, or you are not permitted to access this resource..} [deny]

{.!Forbidden.}

{.or|%reason%|{.!This resource is not accessible..}.} [ban]

{.!You are banned.}

%reason% [upload] [upload-file] [upload-results] HFS %folder%

{.!Upload results.}

{.^ok.} {.!files uploaded correctly..} {.123 if 2|
|{.^ko.}| files failed..} {.!Back.} {.^back.} {.!Back.} [upload-success] {.inc|ok.}
  • %item-name%
    %item-size% @ %speed% KB/s {.if| %user% |{: {.append| %folder-resource%\hfs.comments.txt |{.filename|%item-resource%.}=uploaded by %user% /append.} :}/if.} [upload-failed] {.inc|ko.}
  • %item-name%
    {.!%reason%.} [progress|no log] [progress-nofiles] {.!No file exchange in progress..} [progress-upload-file] {.if not|{.{.?only.} = down.}|{:
  • Uploading %total% @ %speed-kb% KB/s
    %filename%
    {.!Time left.} %time-left%"
    %perc%% :}.} [progress-download-file] {.if not|{.{.?only.} = up.}|{:
  • Downloading %total%
    Speed: %speed-kb% KB/s
    %filename%
    %perc%% :}.} [ajax.mkdir|no log] {.break|if={.not|{.can mkdir.}.}|result=forbidden.} {.set|x|{.force ansi|%folder%{.postvar|name.}.}.} {.break|if={.exists|{.^x.}.}|result=exists.} {.break|if={.not|{.length|{.mkdir|{.^x.}.}.}.}|result=failed.} {.add to log|User %user% created folder "{.^x.}".} ok [ajax.rename|no log] {.break|if={.not|{.can rename.}.}|result=forbidden.} {.set|x|{.force ansi|%folder%{.postvar|from.}.}.} {.set|y|{.force ansi|%folder%{.postvar|to.}.}.} {.break|if={.not|{.exists|{.^x.}.}.}|result=not found.} {.break|if={.exists|{.^y.}.}|result=exists.} {.break|if={.not|{.length|{.rename|{.^x.}|{.^y.}.}.}.}|result=failed.} {.add to log|User %user% renamed "{.^x.}" to "{.^y.}".} ok [ajax.move|no log] {.set|dst|{.force ansi|{.postvar|dst.}.}.} {.break|if={.not|{.and|{.can move.}|{.get|can delete.}|{.get|can upload|path={.^dst.}.}/and.}.} |result={.!forbidden.}.} {.set|log|{.!Moving items to.} {.^dst.}.} {.for each|fn|{.replace|:|{.no pipe||.}|{.force ansi|{.postvar|files.}.}.}|{: {.set|x|{.force ansi|%folder%.}{.^fn.}.} {.set|y|{.^dst.}/{.^fn.}.} {.if not |{.exists|{.^x.}.}|{.^x.}: {.!not found.}|{: {.if|{.exists|{.^y.}.}|{.^y.}: {.!already exists.}|{: {.if|{.length|{.move|{.^x.}|{.^y.}.}.} |{: {.set|log|{.chr|13.}{.^fn.}|mode=append.} {.move|{.^x.}.md5|{.^y.}.md5.} {.move|{.^x.}.comment|{.^y.}.comment.} :} | {: {.set|log|{.chr|13.}{.^fn.} (failed)|mode=append.} {.maybe utf8|{.^fn.}.}: {.!not moved.} :}/if.} :}/if.} :}.} ; :}.} {.add to log|{.^log.}.} [ajax.comment|no log] {.break|if={.not|{.can comment.}.} |result=forbidden.} {.for each|fn|{.replace|:|{.no pipe||.}|{.postvar|files.}.}|{: {.set item|{.force ansi|%folder%{.^fn.}.}|comment={.force ansi|{.postvar|text.}.}.} :}.} ok [ajax.changepwd|no log] {.break|if={.not|{.can change pwd.}.} |result=forbidden.} {.if|{.length|{.set account||password={.force ansi|{.postvar|new.}.}.}/length.}|ok|failed.} [special:alias] can mkdir=and|{.get|can upload.}|{.!option.newfolder.} can comment=and|{.get|can upload.}|{.!option.comment.} can rename=and|{.get|can delete.}|{.!option.rename.} can change pwd=member of|can change password can move=or|1 escape attr=replace|"|"|$1 commentNL=if|{.pos||$1.} add bytes=switch|{.cut|-1||$1.}|,|0,1,2,3,4,5,6,7,8,9|$1 bytes|K,M,G,T|$1bytes [special:import] {.new account|can change password|enabled=1|is group=1|notes=accounts members of this group will be allowed to change their password.} [lib.js|no log] //