2016-06-10 21:18:44 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
2016-10-25 20:08:26 +00:00
|
|
|
{{ $absURL := .Config.AbsoluteURL }}
|
|
|
|
<head>
|
|
|
|
<title>{{.Name}}</title>
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
2016-12-29 22:50:36 +00:00
|
|
|
<meta charset="utf-8">
|
2016-11-01 12:30:59 +00:00
|
|
|
<meta name="token" content="{{ .Token }}">
|
2016-10-25 20:08:26 +00:00
|
|
|
<link rel="stylesheet" href="{{ .Config.AbsoluteURL }}/_filemanagerinternal/css/styles.css">
|
|
|
|
{{ if ne .User.StyleSheet "" }}
|
|
|
|
<style>{{ CSS .User.StyleSheet }}</style>
|
2016-06-28 09:01:00 +00:00
|
|
|
{{ end }}
|
2016-12-29 18:01:28 +00:00
|
|
|
|
|
|
|
<!-- SCRIPTS -->
|
|
|
|
<!-- User Data and Permissions; WebDavURL -->
|
2016-12-30 11:15:10 +00:00
|
|
|
<script>
|
|
|
|
var user = JSON.parse('{{ Marshal .User }}'),
|
|
|
|
webdavURL = "{{.Config.AbsoluteURL}}{{.Config.WebDavURL}}",
|
|
|
|
baseURL = "{{.Config.AbsoluteURL}}";
|
|
|
|
</script>
|
|
|
|
<script src="{{ .Config.AbsoluteURL }}/_filemanagerinternal/js/common.js" defer></script>
|
|
|
|
{{ if .IsDir }}
|
|
|
|
<script src="{{ .Config.AbsoluteURL }}/_filemanagerinternal/js/listing.js" defer></script>
|
|
|
|
{{ else }}
|
|
|
|
<script src="{{ .Config.AbsoluteURL }}/_filemanagerinternal/js/vendor/ace/ace.js" defer></script>
|
|
|
|
<script src="{{ .Config.AbsoluteURL }}/_filemanagerinternal/js/vendor/form2js.js" defer></script>
|
|
|
|
<script src="{{ .Config.AbsoluteURL }}/_filemanagerinternal/js/editor.js" defer></script>
|
|
|
|
{{ end }}
|
2016-10-25 20:08:26 +00:00
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<header>
|
2016-12-29 22:50:36 +00:00
|
|
|
<!-- TOP BAR -->
|
2016-10-25 20:08:26 +00:00
|
|
|
<div>
|
2016-12-29 22:50:36 +00:00
|
|
|
<div><p>File Manager</p></div>
|
|
|
|
{{ if .User.AllowCommands }}
|
|
|
|
<div id="search">
|
|
|
|
<i class="material-icons" title="Storage">storage</i>
|
|
|
|
<input type="text" placeholder="Search or execute a command...">
|
|
|
|
<div>
|
|
|
|
<div>Write your git, mercurial or svn command and press enter.</div>
|
|
|
|
<p><i class="material-icons spin">autorenew</i></p>
|
|
|
|
</div>
|
2016-07-01 09:46:09 +00:00
|
|
|
</div>
|
2016-12-29 22:50:36 +00:00
|
|
|
{{ end }}
|
2016-08-26 20:59:06 +00:00
|
|
|
|
2016-12-29 22:50:36 +00:00
|
|
|
<div class="action" id="logout">
|
|
|
|
<i class="material-icons" title="Logout">exit_to_app</i> <span>Logout</span>
|
2016-10-25 20:08:26 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2016-12-29 22:50:36 +00:00
|
|
|
|
|
|
|
<!-- BOTTOM BAR -->
|
2016-10-25 20:08:26 +00:00
|
|
|
<div>
|
2016-12-29 22:50:36 +00:00
|
|
|
<div>
|
2016-10-25 20:08:26 +00:00
|
|
|
{{ $lnk := .PreviousLink }}
|
2016-12-29 22:50:36 +00:00
|
|
|
<div class="action{{ if eq $lnk ""}} disabled{{ end }}" id="prev">
|
|
|
|
{{ if ne $lnk ""}}<a href="{{ $lnk }}">{{ end }}
|
2016-10-25 20:08:26 +00:00
|
|
|
<i class="material-icons" title="Previous">subdirectory_arrow_left</i>
|
2016-12-29 22:50:36 +00:00
|
|
|
{{ if ne $lnk ""}}</a>{{ end }}
|
|
|
|
|
|
|
|
{{ if ne $lnk ""}}
|
|
|
|
<ul class="prev-links">
|
|
|
|
{{ range $link, $name := .BreadcrumbMap }}<a href="{{ $absURL }}{{ $link }}"><li>{{ $name }}</li></a>{{ end }}
|
|
|
|
</ul>
|
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{ if ne .Name "/"}}<p>{{ .Name }}</p>{{ end }}
|
2016-10-25 20:08:26 +00:00
|
|
|
</div>
|
2016-12-29 22:50:36 +00:00
|
|
|
|
|
|
|
<!-- ACTIONS -->
|
|
|
|
<div class="actions">
|
|
|
|
<div id="file-only" {{ if .IsDir }}class="disabled"{{ end }}>
|
|
|
|
<div class="action" id="open">
|
|
|
|
<i class="material-icons" title="See raw">open_in_new</i> <span>See raw</span>
|
2016-11-01 15:00:36 +00:00
|
|
|
</div>
|
2016-12-29 22:50:36 +00:00
|
|
|
{{ if and .IsDir .User.AllowEdit }}
|
|
|
|
<div class="action" id="rename">
|
|
|
|
<i class="material-icons" title="Edit">mode_edit</i>
|
|
|
|
</div>
|
|
|
|
{{ end }}
|
|
|
|
|
|
|
|
{{ if .User.AllowEdit }}
|
|
|
|
<div class="action" id="delete">
|
|
|
|
<i class="material-icons" title="Delete">delete</i> <span>Delete</span>
|
|
|
|
</div>
|
|
|
|
{{ end }}
|
2016-10-25 20:08:26 +00:00
|
|
|
</div>
|
2016-12-29 22:50:36 +00:00
|
|
|
|
|
|
|
{{ if and (.User.AllowNew) (.IsDir) }}
|
2016-10-25 20:08:26 +00:00
|
|
|
<div class="action" id="upload">
|
|
|
|
<i class="material-icons" title="Upload">file_upload</i> <span>Upload</span>
|
|
|
|
</div>
|
|
|
|
{{ end }}
|
2016-12-29 22:50:36 +00:00
|
|
|
|
|
|
|
<div class="action" id="download">
|
2016-10-25 20:08:26 +00:00
|
|
|
<a href="?download=true">
|
|
|
|
<i class="material-icons" title="Download">file_download</i> <span>Download</span>
|
|
|
|
</a>
|
2016-12-29 22:50:36 +00:00
|
|
|
{{ if .IsDir }}
|
2016-10-25 20:08:26 +00:00
|
|
|
<ul class="prev-links">
|
2016-12-29 22:50:36 +00:00
|
|
|
<a data-format="tarbz2" href="?download=tarbz2"><li>tar.bz2</li></a>
|
|
|
|
<a data-format="targz" href="?download=targz"><li>tar.gz</li></a>
|
|
|
|
<a data-format="tar" href="?download=tar"><li>tar</li></a>
|
|
|
|
<a data-format="zip" href="?download=zip"><li>zip</li></a>
|
2016-10-25 20:08:26 +00:00
|
|
|
</ul>
|
2016-12-29 22:50:36 +00:00
|
|
|
{{ end }}
|
2016-10-25 20:08:26 +00:00
|
|
|
</div>
|
2016-12-29 22:50:36 +00:00
|
|
|
|
|
|
|
{{ if .IsDir }}
|
|
|
|
<div class="action" id="view">
|
|
|
|
<i class="material-icons" title="Switch view">view_headline</i> <span>Switch view</span>
|
|
|
|
</div>
|
|
|
|
{{ end }}
|
2016-11-02 19:29:29 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2016-12-29 22:50:36 +00:00
|
|
|
</header>
|
2016-06-23 21:27:13 +00:00
|
|
|
|
2016-10-25 20:08:26 +00:00
|
|
|
<main>
|
2016-11-02 19:29:29 +00:00
|
|
|
{{ template "content" . }}
|
2016-10-25 20:08:26 +00:00
|
|
|
</main>
|
|
|
|
|
2016-11-02 19:29:29 +00:00
|
|
|
<footer>Served with <a rel="noopener noreferrer" href="https://caddyserver.com">Caddy</a> and <a rel="noopener noreferrer" href="https://github.com/hacdias/caddy-filemanager">File Manager</a>.</footer>
|
2016-10-25 20:08:26 +00:00
|
|
|
</body>
|
2016-06-23 15:10:31 +00:00
|
|
|
</html>
|