{.comment| TO DO - support for rawr thumbnails - multipage .} HFS %folder%

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

{.!Messages.}
{.!User.}
{.if| %user% | %user% | Login .}
{.!Folder.}
{.if| {.?search.} | {.!BACK.} | {.if| {.%folder% != / .} | {.!UP.} .} /if.}
%number-folders% {.!folders.}, %number-files% {.!files.}, %total-size%ytes
{.123 if 2|
|%folder-item-comment%|
.}
{.if| {.get|can recur.} | /if.}
{.!Select.}

0 items selected

{.if| {.get|can upload.} |{:
{.!Upload.}
:}.}
{.!Tools.}
{.if|{.can mkdir.}| .} {.if|{.can comment.}| .} {.if|{.get|can delete.}| .} {.if|{.get|can archive.}| .} {.!Get list.}
{.!Server information.} HttpFileServer %version%
{.!Servertime.}: %timestamp%
{.!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:alias] can mkdir=get|can upload can comment=get|can upload escape attr=replace|"|"|$1 [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; padding-left:1.5em; } /* extra space for easy selection */ #files td.nosize { text-align:center; font-style:italic; } #tools 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; } .comment { white-space:pre; } .hidden { display:none; } [file=folder=link] {.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.}|
.}:} .} {.if| %item-comment% |
%item-comment%
.} [+file] %item-size%%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 busy.}

{.!retry later.} [max contemp downloads]

Download limit

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

Unauthorized

Your username and password don't match, or you are not allowed to access this resource. [deny]

Unallowed

{.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..} {.if|{.^ko.}|
{.^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] [progress-nofiles] {.!No file exchange in progress..} [progress-upload-file] {.if not|{.{.?only.} = down.}|{:
  • Uploading %total% @ %speed-kb% KB/s
    %filename%
    %perc%% :}.} [progress-download-file] {.if not|{.{.?only.} = up.}|{:
  • Downloading %total%
    Speed: %speed-kb% KB/s
    %filename%
    %perc%% :}.} [jquery.impromptu.js|no log] /* * jQuery Impromptu * By: Trent Richardson [http://trentrichardson.com] * Version 2.7 * Last Modified: 6/7/2009 * * Copyright 2009 Trent Richardson * Dual licensed under the MIT and GPL licenses. * http://trentrichardson.com/Impromptu/GPL-LICENSE.txt * http://trentrichardson.com/Impromptu/MIT-LICENSE.txt * */ (function($) { $.prompt = function(message, options) { options = $.extend({},$.prompt.defaults,options); $.prompt.currentPrefix = options.prefix; var ie6 = ($.browser.msie && $.browser.version < 7); var $body = $(document.body); var $window = $(window); //build the box and fade var msgbox = '
    '; if(options.useiframe && (($('object, applet').length > 0) || ie6)) { msgbox += ''; } else { if(ie6) { $('select').css('visibility','hidden'); } msgbox +='
    '; } msgbox += '
    X
    '; msgbox += '
    '; var $jqib = $(msgbox).appendTo($body); var $jqi = $jqib.children('#'+ options.prefix); var $jqif = $jqib.children('#'+ options.prefix +'fade'); //if a string was passed, convert to a single state if(message.constructor == String){ message = { state0: { html: message, buttons: options.buttons, focus: options.focus, submit: options.submit } }; } //build the states var states = ""; $.each(message,function(statename,stateobj){ stateobj = $.extend({},$.prompt.defaults.state,stateobj); message[statename] = stateobj; states += ''; }); //insert the states... $jqi.find('#'+ options.prefix +'states').html(states).children('.'+ options.prefix +'_state:first').css('display','block'); $jqi.find('.'+ options.prefix +'buttons:empty').css('display','none'); //Events $.each(message,function(statename,stateobj){ var $state = $jqi.find('#'+ options.prefix +'_state_'+ statename); $state.children('.'+ options.prefix +'buttons').children('button').click(function(){ var msg = $state.children('.'+ options.prefix +'message'); var clicked = stateobj.buttons[$(this).text()]; var forminputs = {}; //collect all form element values from all states $.each($jqi.find('#'+ options.prefix +'states :input').serializeArray(),function(i,obj){ if (forminputs[obj.name] === undefined) { forminputs[obj.name] = obj.value; } else if (typeof forminputs[obj.name] == Array) { forminputs[obj.name].push(obj.value); } else { forminputs[obj.name] = [forminputs[obj.name],obj.value]; } }); var close = stateobj.submit(clicked,msg,forminputs); if(close === undefined || close) { removePrompt(true,clicked,msg,forminputs); } }); $state.find('.'+ options.prefix +'buttons button:eq('+ stateobj.focus +')').addClass(options.prefix +'defaultbutton'); }); var ie6scroll = function(){ $jqib.css({ top: $window.scrollTop() }); }; var fadeClicked = function(){ if(options.persistent){ if (options.fadeClicked() === false) return; // mod by rejetto var i = 0; $jqib.addClass(options.prefix +'warning'); var intervalid = setInterval(function(){ $jqib.toggleClass(options.prefix +'warning'); if(i++ > 1){ clearInterval(intervalid); $jqib.removeClass(options.prefix +'warning'); } }, 100); } else { removePrompt(); } }; var keyPressEventHandler = function(e){ var key = (window.event) ? event.keyCode : e.keyCode; // MSIE or Firefox? //escape key closes if(key==27) { removePrompt(); } //constrain tabs if (key == 9){ var $inputels = $(':input:enabled:visible',$jqib); var fwd = !e.shiftKey && e.target == $inputels[$inputels.length-1]; var back = e.shiftKey && e.target == $inputels[0]; if (fwd || back) { setTimeout(function(){ if (!$inputels) return; var el = $inputels[back===true ? $inputels.length-1 : 0]; if (el) el.focus(); },10); return false; } } }; var positionPrompt = function(){ $jqib.css({ position: (ie6) ? "absolute" : "fixed", height: $window.height(), width: "100%", top: (ie6)? $window.scrollTop() : 0, left: 0, right: 0, bottom: 0 }); $jqif.css({ position: "absolute", height: $window.height(), width: "100%", top: 0, left: 0, right: 0, bottom: 0 }); $jqi.css({ position: "absolute", top: options.top, left: "50%", marginLeft: (($jqi.outerWidth()/2)*-1) }); }; var stylePrompt = function(){ $jqif.css({ zIndex: options.zIndex, display: "none", opacity: options.opacity }); $jqi.css({ zIndex: options.zIndex+1, display: "none" }); $jqib.css({ zIndex: options.zIndex }); }; var removePrompt = function(callCallback, clicked, msg, formvals){ $jqi.remove(); //ie6, remove the scroll event if(ie6) { $body.unbind('scroll',ie6scroll); } $window.unbind('resize',positionPrompt); $jqif.fadeOut(options.overlayspeed,function(){ $jqif.unbind('click',fadeClicked); $jqif.remove(); if(callCallback) { options.callback(clicked,msg,formvals); } $jqib.unbind('keypress',keyPressEventHandler); $jqib.remove(); if(ie6 && !options.useiframe) { $('select').css('visibility','visible'); } }); }; positionPrompt(); stylePrompt(); //ie6, add a scroll event to fix position:fixed if(ie6) { $window.scroll(ie6scroll); } $jqif.click(fadeClicked); $window.resize(positionPrompt); $jqib.bind("keydown keypress",keyPressEventHandler); $jqi.find('.'+ options.prefix +'close').click(removePrompt); //Show it $jqif.fadeIn(options.overlayspeed); $jqi[options.show](options.promptspeed,options.loaded); $jqi.find('#'+ options.prefix +'states .'+ options.prefix +'_state:first .'+ options.prefix +'defaultbutton').focus(); if(options.timeout > 0) setTimeout($.prompt.close,options.timeout); return $jqib; }; $.prompt.defaults = { prefix:'jqi', buttons: { Ok: true }, loaded: function(){ }, submit: function(){ return true; }, callback: function(){ }, opacity: 0.6, zIndex: 9999, overlayspeed: 'slow', promptspeed: 'fast', show: 'fadeIn', focus: 0, useiframe: false, top: "15%", persistent: true, timeout: 0, state: { html: '', buttons: { Ok: true }, focus: 0, submit: function(){ return true; } } }; $.prompt.currentPrefix = $.prompt.defaults.prefix; $.prompt.setDefaults = function(o) { $.prompt.defaults = $.extend({}, $.prompt.defaults, o); }; $.prompt.setStateDefaults = function(o) { $.prompt.defaults.state = $.extend({}, $.prompt.defaults.state, o); }; $.prompt.getStateContent = function(state) { return $('#'+ $.prompt.currentPrefix +'_state_'+ state); }; $.prompt.getCurrentState = function() { return $('.'+ $.prompt.currentPrefix +'_state:visible'); }; $.prompt.getCurrentStateName = function() { var stateid = $.prompt.getCurrentState().attr('id'); return stateid.replace($.prompt.currentPrefix +'_state_',''); }; $.prompt.goToState = function(state) { $('.'+ $.prompt.currentPrefix +'_state').slideUp('slow'); $('#'+ $.prompt.currentPrefix +'_state_'+ state).slideDown('slow',function(){ $(this).find('.'+ $.prompt.currentPrefix +'defaultbutton').focus(); }); }; $.prompt.nextState = function() { var $next = $('.'+ $.prompt.currentPrefix +'_state:visible').next(); $('.'+ $.prompt.currentPrefix +'_state').slideUp('slow'); $next.slideDown('slow',function(){ $next.find('.'+ $.prompt.currentPrefix +'defaultbutton').focus(); }); }; $.prompt.prevState = function() { var $next = $('.'+ $.prompt.currentPrefix +'_state:visible').prev(); $('.'+ $.prompt.currentPrefix +'_state').slideUp('slow'); $next.slideDown('slow',function(){ $next.find('.'+ $.prompt.currentPrefix +'defaultbutton').focus(); }); }; $.prompt.close = function() { $('#'+ $.prompt.currentPrefix +'box').fadeOut('fast',function(){ $(this).remove(); }); }; })(jQuery); [impromptu.css|no log] /* ------------------------------ Impromptu's ------------------------------ */ .jqifade{ position: absolute; background-color: #aaaaaa; } div.jqi{ min-width: 300px; max-width: 600px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; position: absolute; background-color: #ffffff; font-size: 11px; text-align: left; border: solid 1px #eeeeee; -moz-border-radius: 10px; -webkit-border-radius: 10px; padding: 7px; } div.jqi .jqicontainer{ font-weight: bold; } div.jqi .jqiclose{ position: absolute; top: 4px; right: -2px; width: 18px; cursor: default; color: #bbbbbb; font-weight: bold; } div.jqi .jqimessage{ padding: 10px; line-height: 20px; color: #444444; } div.jqi .jqibuttons{ text-align: right; padding: 5px 0 5px 0; border: solid 1px #eeeeee; background-color: #f4f4f4; } div.jqi button{ padding: 3px 10px; margin: 0 10px; background-color: #2F6073; border: solid 1px #f4f4f4; color: #ffffff; font-weight: bold; font-size: 12px; } div.jqi button:hover{ background-color: #728A8C; } div.jqi button.jqidefaultbutton{ /*background-color: #8DC05B;*/ background-color: #BF5E26; } .jqiwarning .jqi .jqibuttons{ background-color: #BF5E26; } /* ------------------------------ impromptu ------------------------------ */ .impromptuwarning .impromptu{ background-color: #aaaaaa; } .impromptufade{ position: absolute; background-color: #ffffff; } div.impromptu{ position: absolute; background-color: #cccccc; padding: 10px; width: 300px; text-align: left; } div.impromptu .impromptuclose{ float: right; margin: -35px -10px 0 0; cursor: pointer; color: #213e80; } div.impromptu .impromptucontainer{ background-color: #213e80; padding: 5px; color: #ffffff; font-weight: bold; } div.impromptu .impromptumessage{ background-color: #415ea0; padding: 10px; } div.impromptu .impromptubuttons{ text-align: center; padding: 5px 0 0 0; } div.impromptu button{ padding: 3px 10px 3px 10px; margin: 0 10px; } /* ------------------------------ columns ex ------------------------------ */ .colsJqifadewarning .colsJqi{ background-color: #b0be96; } .colsJqifade{ position: absolute; background-color: #ffffff; } div.colsJqi{ position: absolute; background-color: #d0dEb6; padding: 10px; width: 400px; text-align: left; } div.colsJqi .colsJqiclose{ float: right; margin: -35px -10px 0 0; cursor: pointer; color: #bbbbbb; } div.colsJqi .colsJqicontainer{ background-color: #e0eEc6; padding: 5px; color: #ffffff; font-weight: bold; height: 160px; } div.colsJqi .colsJqimessage{ background-color: #c0cEa6; padding: 10px; width: 280px; height: 140px; float: left; } div.colsJqi .jqibuttons{ text-align: center; padding: 5px 0 0 0; } div.colsJqi button{ background: url(../images/button_bg.jpg) top left repeat-x #ffffff; border: solid #777777 1px; font-size: 12px; padding: 3px 10px 3px 10px; margin: 5px 5px 5px 10px; width: 75px; } div.colsJqi button:hover{ border: solid #aaaaaa 1px; } /* ------------------------------ brown theme ------------------------------ */ .brownJqiwarning .brownJqi{ background-color: #cccccc; } .brownJqifade{ position: absolute; background-color: #ffffff; } div.brownJqi{ position: absolute; background-color: transparent; padding: 10px; width: 300px; text-align: left; } div.brownJqi .brownJqiclose{ float: right; margin: -20px 0 0 0; cursor: pointer; color: #777777; font-size: 11px; } div.brownJqi .brownJqicontainer{ position: relative; background-color: transparent; border: solid 1px #5F5D5A; color: #ffffff; font-weight: bold; } div.brownJqi .brownJqimessage{ position: relative; background-color: #F7F6F2; border-top: solid 1px #C6B8AE; border-bottom: solid 1px #C6B8AE; } div.brownJqi .brownJqimessage h3{ background: url(../images/brown_theme_gradient.jpg) top left repeat-x #ffffff; margin: 0; padding: 7px 0 7px 15px; color: #4D4A47; } div.brownJqi .brownJqimessage p{ padding: 10px; color: #777777; } div.brownJqi .brownJqimessage img.helpImg{ position: absolute; bottom: -25px; left: 10px; } div.brownJqi .brownJqibuttons{ text-align: right; } div.brownJqi button{ background: url(../images/brown_theme_gradient.jpg) top left repeat-x #ffffff; border: solid #777777 1px; font-size: 12px; padding: 3px 10px 3px 10px; margin: 5px 5px 5px 10px; } div.brownJqi button:hover{ border: solid #aaaaaa 1px; } /* *------------------------ * clean blue ex *------------------------ */ .cleanbluewarning .cleanblue{ background-color: #acb4c4; } .cleanbluefade{ position: absolute; background-color: #aaaaaa; } div.cleanblue{ font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; position: absolute; background-color: #ffffff; width: 300px; font-size: 11px; text-align: left; border: solid 1px #213e80; } div.cleanblue .cleanbluecontainer{ background-color: #ffffff; border-top: solid 14px #213e80; padding: 5px; font-weight: bold; } div.cleanblue .cleanblueclose{ float: right; width: 18px; cursor: default; margin: -19px -12px 0 0; color: #ffffff; font-weight: bold; } div.cleanblue .cleanbluemessage{ padding: 10px; line-height: 20px; font-size: 11px; color: #333333; } div.cleanblue .cleanbluebuttons{ text-align: right; padding: 5px 0 5px 0; border: solid 1px #eeeeee; background-color: #f4f4f4; } div.cleanblue button{ padding: 3px 10px; margin: 0 10px; background-color: #314e90; border: solid 1px #f4f4f4; color: #ffffff; font-weight: bold; font-size: 12px; } div.cleanblue button:hover{ border: solid 1px #d4d4d4; } /* *------------------------ * Ext Blue Ex *------------------------ */ .extbluewarning .extblue{ border:1px red solid; } .extbluefade{ position: absolute; background-color: #ffffff; } div.extblue{ border:1px #6289B6 solid; position: absolute; background-color: #CAD8EA; padding: 0; width: 300px; text-align: left; } div.extblue .extblueclose{ background-color: #CAD8EA; margin:2px -2px 0 0; cursor: pointer; color: red; text-align: right; } div.extblue .extbluecontainer{ background-color: #CAD8EA; padding: 0 5px 5px 5px; color: #000000; font:normal 11px Verdana; } div.extblue .extbluemessage{ background-color: #CAD8EA; padding: 0; margin:0 15px 15px 15px; } div.extblue .extbluebuttons{ text-align: center; padding: 0px 0 0 0; } div.extblue button{ padding: 1px 4px; margin: 0 10px; background-color:#cccccc; font-weight:normal; font-family:Verdana; font-size:10px; } [ajax.mkdir] {.if|{.can mkdir.}|{: {.set|x|%folder%{.postvar|name.}.} {.if|{.exists|{.^x.}.}|exists|{: {.if|{.length|{.mkdir|%folder%{.postvar|name.}.}.}|ok|failed.} :}.} :}|forbidden.} [ajax.comment] {.if|{.can comment.}|{: {.for each|fn|{.replace|:|{.no pipe||.}|{.postvar|files.}.}|{: {.set item|%folder%{.^fn.}|comment={.convert|utf-8|ansi|{.postvar|text.}.}.} :}.} ok :}|forbidden.} [ajax.changepwd] {.if|%user%|{: {.if|{.length|{.set account||password={.convert|utf-8|ansi|{.postvar|new.}/convert.}.}/length.}|ok|failed.} :}|forbidden.} [special:strings] max s dl msg=On this server there is a limit on the number of simultaneous downloads.
    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 matching your search confirm=Are you sure?