diff options
| author | 2014-08-26 23:30:22 +0200 | |
|---|---|---|
| committer | 2014-08-26 23:30:22 +0200 | |
| commit | 1edbca46b0aef5d6bc9ca2d8c28dd32a7e7e9cf5 (patch) | |
| tree | 20be87efcda4501b17fca9056628aa92985445d7 /module/web/themes/flat/tml | |
| parent | Version number: 0.4.10 (diff) | |
| download | pyload-1edbca46b0aef5d6bc9ca2d8c28dd32a7e7e9cf5.tar.xz | |
Diffstat (limited to 'module/web/themes/flat/tml')
| -rw-r--r-- | module/web/themes/flat/tml/admin.html | 98 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/base.html | 179 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/captcha.html | 42 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/downloads.html | 29 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/filemanager.html | 78 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/folder.html | 15 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/home.html | 266 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/info.html | 81 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/login.html | 36 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/logout.html | 9 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/logs.html | 41 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/pathchooser.html | 76 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/queue.html | 104 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/settings.html | 204 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/settings_item.html | 48 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/setup.html | 13 | ||||
| -rw-r--r-- | module/web/themes/flat/tml/window.html | 46 | 
17 files changed, 1365 insertions, 0 deletions
diff --git a/module/web/themes/flat/tml/admin.html b/module/web/themes/flat/tml/admin.html new file mode 100644 index 000000000..882cd5a4e --- /dev/null +++ b/module/web/themes/flat/tml/admin.html @@ -0,0 +1,98 @@ +{% extends '/flat/tml/base.html' %} + +{% block head %} +    <script type="text/javascript" src="/default/js/admin.min.js"></script> +{% endblock %} + + +{% block title %}{{ _("Administrate") }} - {{ super() }} {% endblock %} +{% block subtitle %}{{ _("Administrate") }}{% endblock %} + +{% block content %} +     +    <a href="#" id="quit-pyload" style="font-size: large; font-weight: bold;">{{_("Quit pyLoad")}}</a> | +    <a href="#" id="restart-pyload" style="font-size: large; font-weight: bold;">{{_("Restart pyLoad")}}</a> +    <br> +    <br> + +    {{ _("To add user or change passwords use:") }} <b>python pyLoadCore.py -u</b><br> +    {{ _("Important: Admin user have always all permissions!") }} + +    <form action="" method="POST"> +        <table class="settable wide"> +            <thead style="font-size: 11px"> +            <th> +                {{ _("Name") }} +            </th> +            <th> +                {{ _("Change Password") }} +            </th> +            <th> +                {{ _("Admin") }} +            </th> +            <th> +                {{ _("Permissions") }} +            </th> +            </thead> + +            {% for name, data in users.iteritems() %} +                <tr> +                    <td>{{ name }}</td> +                    <td><a class="change_password" href="#" id="change_pw|{{name}}">{{ _("change") }}</a></td> +                    <td><input name="{{ name }}|admin" type="checkbox" {% if data.perms.admin %} +                               checked="True" {% endif %}"></td> +                    <td> +                        <select multiple="multiple" size="{{ permlist|length }}" name="{{ name }}|perms"> +                            {% for perm in permlist %} +                            {% if data.perms|getitem(perm) %} +                                <option selected="selected">{{ perm }}</option> +                            {% else %} +                                <option>{{ perm }}</option> +                            {% endif %} +                            {% endfor %} +                        </select> +                    </td> +                </tr> +            {% endfor %} + + +        </table> + +        <button class="styled_button" type="submit">{{ _("Submit") }}</button> +    </form> +{% endblock %} +{% block hidden %} +    <div id="password_box" class="window_box" style="z-index: 2"> +        <form id="password_form" action="/json/change_password" method="POST" enctype="multipart/form-data"> +            <h1>{{ _("Change Password") }}</h1> + +            <p>{{ _("Enter your current and desired Password.") }}</p> +            <label for="user_login">{{ _("User") }} +                <span class="small">{{ _("Your username.") }}</span> +            </label> +            <input id="user_login" name="user_login" type="text" size="20"/> + +            <label for="login_current_password">{{ _("Current password") }} +                <span class="small">{{ _("The password for this account.") }}</span> +            </label> +            <input id="login_current_password" name="login_current_password" type="password" size="20"/> + +            <label for="login_new_password">{{ _("New password") }} +                <span class="small">{{ _("The new password.") }}</span> +            </label> +            <input id="login_new_password" name="login_new_password" type="password" size="20"/> + +            <label for="login_new_password2">{{ _("New password (repeat)") }} +                <span class="small">{{ _("Please repeat the new password.") }}</span> +            </label> +            <input id="login_new_password2" name="login_new_password2" type="password" size="20"/> + + +            <button id="login_password_button" type="submit">{{ _("Submit") }}</button> +            <button id="login_password_reset" style="margin-left: 0" type="reset">{{ _("Reset") }}</button> +            <div class="spacer"></div> + +        </form> + +    </div> +{% endblock %} diff --git a/module/web/themes/flat/tml/base.html b/module/web/themes/flat/tml/base.html new file mode 100644 index 000000000..572911454 --- /dev/null +++ b/module/web/themes/flat/tml/base.html @@ -0,0 +1,179 @@ +<?xml version="1.0" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> +<link rel="stylesheet" type="text/css" href="/flat/css/default.css"/> +<link rel="stylesheet" type="text/css" href="/flat/css/window.css"/> +<link rel="stylesheet" type="text/css" href="/flat/css/MooDialog.css"/> + +<script type="text/javascript" src="/default/js/mootools-core.min.js"></script> +<script type="text/javascript" src="/default/js/mootools-more.min.js"></script> +<script type="text/javascript" src="/default/js/MooDialog.min.static.js"></script> +<script type="text/javascript" src="/default/js/purr.min.static.js"></script> + + +<script type="text/javascript" src="/default/js/base.min.js"></script> + +<title>{% block title %}pyLoad {{_("Webinterface")}}{% endblock %}</title> + +{% block head %} +{% endblock %} +</head> +<body> +<a class="anchor" name="top" id="top"></a> + +<div id="head-panel"> + + +    <div id="head-search-and-login"> +    {% block headpanel %} + +        {% if user.is_authenticated %} + + +{% if update %} +<span> +<span style="font-weight: 300; margin: 0 2px 0 2px;">{{_("pyLoad Update available!")}}</span> +</span> +{% endif %} + + +{% if plugins %} +<span> +<span style="font-weight: 300; margin: 0 2px 0 2px;">{{_("Plugins updated, please restart!")}}</span> +</span> +{% endif %} + +<span id="cap_info" style="display: {% if captcha %}inline{%else%}none{% endif %}"> +<img src="/flat/img/images.png" alt="Captcha:" style="vertical-align:middle; margin:2px" /> +<span style="font-weight: 300; cursor: pointer; margin-right: 2px;">{{_("Captcha waiting")}}</span> +</span> + +    <img src="/flat/img/head-login.png" alt="User:" style="vertical-align:middle; margin:2px" /><span style="padding-right: 2px;">{{user.name}}</span> +	<ul id="user-actions"> +		<li><a href="/logout"  class="action logout" rel="nofollow">{{_("Logout")}}</a></li> +		{% if user.is_admin %} +		<li><a href="/admin" class="action profile" rel="nofollow">{{_("Administrate")}}</a></li> +		{% endif %} +        <li><a href="/info"  class="action info" rel="nofollow">{{_("Info")}}</a></li> + +	</ul> +{% else %} +    <span style="padding-right: 2px;">{{_("Please Login!")}}</span> +{% endif %} + +    {% endblock %} +	</div> + +	<a href="/"><img id="head-logo" src="/flat/img/pyload-logo-edited3.5-new-font-small.png" alt="pyLoad" /></a> + +	<div id="head-menu"> +		<ul> + +        {% macro selected(name, right=False) -%} +            {% if name in url -%}class="{% if right -%}right {% endif %}selected"{%- endif %} +            {% if not name in url and right -%}class="right"{%- endif %} +        {%- endmacro %} + + +		{% block menu %} +		<li> +		    <a href="/" title=""><img src="/flat/img/head-menu-home.png" alt="" /> {{_("Home")}}</a> +		</li> +		<li {{ selected('queue') }}> +		    <a href="/queue/" title=""><img src="/flat/img/head-menu-queue.png" alt="" /> {{_("Queue")}}</a> +		</li> +		<li {{ selected('collector') }}> +		    <a href="/collector/" title=""><img src="/flat/img/head-menu-collector.png" alt="" /> {{_("Collector")}}</a> +		</li> +		<li {{ selected('downloads') }}> +		    <a href="/downloads/" title=""><img src="/flat/img/head-menu-development.png" alt="" /> {{_("Downloads")}}</a> +		</li> +{#		<li {{ selected('filemanager') }}>#} +{#		    <a href="/filemanager/" title=""><img src="/flat/img/head-menu-download.png" alt="" /> {{_("FileManager")}}</a>#} +{#		</li>#} +		<li {{ selected('logs', True) }}> +		    <a href="/logs/"  class="action index" accesskey="x" rel="nofollow"><img src="/flat/img/head-menu-index.png" alt="" />{{_("Logs")}}</a> +		</li> +		<li {{ selected('settings', True) }}> +		    <a href="/settings/"  class="action index" accesskey="x" rel="nofollow"><img src="/flat/img/head-menu-config.png" alt="" />{{_("Config")}}</a> +		</li> +		{% endblock %} +		 +		</ul> +	</div> + +	<div style="clear:both;"></div> +</div> + +{% if perms.STATUS %} +<ul id="page-actions2"> +	<li id="action_play"><a href="#"  class="action play" accesskey="o" rel="nofollow">{{_("Start")}}</a></li> +    <li id="action_stop"><a href="#"  class="action stop" accesskey="o" rel="nofollow">{{_("Stop")}}</a></li> +    <li id="action_cancel"><a href="#"  class="action cancel" accesskey="o" rel="nofollow">{{_("Cancel")}}</a></li> +    <li id="action_add"><a href="#"  class="action add" accesskey="o" rel="nofollow" >{{_("Add")}}</a></li> +</ul> +{% endif %} + +{% if perms.LIST %} +<ul id="page-actions"> +    <li><span class="time">{{_("Download:")}}</span><a id="time" style=" background-color: {% if status.download %}#8ffc25{% else %} #fc6e26{% endif %}; padding-left: 0cm; padding-right: 0.1cm; "> {% if status.download %}{{_("on")}}{% else %}{{_("off")}}{% endif %}</a></li> +    <li><a class="action backlink">{{_("Speed:")}} <b id="speed">{{ status.speed }}</b></a></li> +    <li><a class="action cog">{{_("Active:")}} <b id="aktiv" title="{{_("Active")}}">{{ status.active }}</b> / <b id="aktiv_from" title="{{_("Queued")}}">{{ status.queue }}</b> / <b id="aktiv_total" title="{{_("Total")}}">{{ status.total }}</b></a></li> +    <li><a href=""  class="action revisions" accesskey="o" rel="nofollow">{{_("Reload page")}}</a></li> +</ul> +{% endif %} + +{% block pageactions %} +{% endblock %} +<br/> + +<div id="body-wrapper" class="dokuwiki"> + +<div id="content" lang="en" dir="ltr"> + +<h1>{% block subtitle %}pyLoad - {{_("Webinterface")}}{% endblock %}</h1> + +{% block statusbar %} +{% endblock %} + + +<br/> + +<div class="level1" style="clear:both"> +</div> +<noscript><h1>Enable JavaScript to use the webinterface.</h1></noscript> + +{% for message in messages %} +	<b><p>{{message}}</p></b> +{% endfor %} + +<div id="load-indicator" style="opacity: 0; float: right; margin-top: -10px;"> +    <img src="/flat/img/ajax-loader.gif" alt="" style="padding-right: 5px"/> +    {{_("loading")}} +</div> + +{% block content %} +{% endblock content %} + +	<hr style="clear: both;" /> + +<div id="foot">© 2008-2011 pyLoad Team +<a href="#top" class="action top" accesskey="x"><span>{{_("Back to top")}}</span></a><br /> +<!--<div class="breadcrumbs"></div>--> + +</div> +</div> +</div> + +<div style="display: none;"> +    {% include '/flat/tml/window.html' %} +    {% include '/flat/tml/captcha.html' %} +    {% block hidden %} +    {% endblock %} +</div> +</body> +</html> diff --git a/module/web/themes/flat/tml/captcha.html b/module/web/themes/flat/tml/captcha.html new file mode 100644 index 000000000..288375b76 --- /dev/null +++ b/module/web/themes/flat/tml/captcha.html @@ -0,0 +1,42 @@ +<!-- Captcha box --> +<div id="cap_box" class="window_box"> + +	<form id="cap_form" action="/json/set_captcha" method="POST" enctype="multipart/form-data" onsubmit="return false;"> +	 +		<h1>{{_("Captcha reading")}}</h1> +		<p id="cap_title">{{_("Please read the text on the captcha.")}}</p> +		 +		<div id="cap_textual"> +		 +			<input id="cap_id" name="cap_id" type="hidden" value="" /> +		 +			<label>{{_("Captcha")}} +			<span class="small">{{_("The captcha.")}}</span> +			</label> +			<span class="cont"> +			    <img id="cap_textual_img" src=""> +			</span> +			 +			<label>{{_("Text")}} +			<span class="small">{{_("Input the text on the captcha.")}}</span> +			</label> +			<input id="cap_result" name="cap_result" type="text" size="20" /> +					 +		</div> +		 +		<div id="cap_positional" style="text-align: center"> +		    <img id="cap_positional_img" src="" style="margin: 10px; cursor:pointer"> +		</div> + +		<div id="button_bar" style="text-align: center"> +			<span> +				<button id="cap_submit" type="submit" style="margin-left: 0">{{_("Submit")}}</button> +				<button id="cap_reset" type="reset" style="margin-left: 0">{{_("Close")}}</button> +			</span> +		</div> +		 +		<div class="spacer"></div> +	 +	</form> + +</div>
\ No newline at end of file diff --git a/module/web/themes/flat/tml/downloads.html b/module/web/themes/flat/tml/downloads.html new file mode 100644 index 000000000..be56b4915 --- /dev/null +++ b/module/web/themes/flat/tml/downloads.html @@ -0,0 +1,29 @@ +{% extends '/flat/tml/base.html' %} + +{% block title %}Downloads - {{super()}} {% endblock %} + +{% block subtitle %} +{{_("Downloads")}} +{% endblock %} + +{% block content %} + +<ul> +    {% for folder in files.folder %} +    <li> +        {{ folder.name }} +        <ul> +        {% for file in folder.files %} +        <li><a href='get/{{ folder.path|escape }}/{{ file|escape }}'>{{file}}</a></li> +        {% endfor %} +        </ul> +    </li> +    {% endfor %} +     +    {% for file in files.files %} +    <li> <a href='get/{{ file|escape }}'>{{ file }}</a></li> +    {% endfor %} + +</ul> + +{% endblock %}
\ No newline at end of file diff --git a/module/web/themes/flat/tml/filemanager.html b/module/web/themes/flat/tml/filemanager.html new file mode 100644 index 000000000..550901db9 --- /dev/null +++ b/module/web/themes/flat/tml/filemanager.html @@ -0,0 +1,78 @@ +{% extends '/flat/tml/base.html' %} + +{% block head %} + +<script type="text/javascript" src="/default/js/filemanager.min.js"></script> + +<script type="text/javascript"> + +document.addEvent("domready", function(){ +    var fmUI = new FilemanagerUI("url",1); +}); +</script> +{% endblock %} + +{% block title %}Downloads - {{super()}} {% endblock %} + + +{% block subtitle %} +{{_("FileManager")}} +{% endblock %} + +{% macro display_file(file) %} +  <li class="file"> +    <input type="hidden" name="path" class="path" value="{{ file.path }}" /> +    <input type="hidden" name="name" class="name" value="{{ file.name }}" /> +    <span> +      <b>{{ file.name }}</b> +      <span class="buttons" style="opacity:0"> +	    <img title="{{_("Rename Directory")}}" class="rename" style="cursor: pointer" height="12px" src="/flat/img/pencil.png" /> +	       +	    <img title="{{_("Delete Directory")}}" class="delete" style="margin-left: -10px; cursor: pointer" width="12px" height="12px" src="/flat/img/delete.png" /> +      </span> +    </span> +  </li> +{%- endmacro %} + +{% macro display_folder(fld, open = false) -%} +    <li class="folder"> +      <input type="hidden" name="path" class="path" value="{{ fld.path }}" /> +      <input type="hidden" name="name" class="name" value="{{ fld.name }}" /> +      <span> +	<b>{{ fld.name }}</b> +	<span class="buttons" style="opacity:0"> +	      <img title="{{_("Rename Directory")}}" class="rename" style="cursor: pointer" height="12px" src="/flat/img/pencil.png" /> +	         +	      <img title="{{_("Delete Directory")}}" class="delete" style="margin-left: -10px; cursor: pointer" width="12px" height="12px" src="/flat/img/delete.png" /> +	         +	      <img title="{{_("Add subdirectory")}}" class="mkdir" style="margin-left: -10px; cursor: pointer" width="12px" height="12px" src="/flat/img/add_folder.png" /> +	</span> +      </span> +      {% if (fld.folders|length + fld.files|length) > 0 %} +	{% if open %} +	  <ul> +	{% else %} +	  <ul style="display:none"> +	{% endif %} +	  {% for child in fld.folders %} +	      {{ display_folder(child) }} +	  {% endfor %} +	  {% for child in fld.files %} +	      {{ display_file(child) }} +	  {% endfor %} +	</ul> +      {% else %} +	<div style="display:none">{{ _("Folder is empty") }}</div> +      {% endif %} +    </li> +{%- endmacro %} + +{% block content %} + +<div style="clear:both"><!-- --></div> + +<ul id="directories-list"> +{{ display_folder(root, true) }} +</ul> + +{% endblock %} diff --git a/module/web/themes/flat/tml/folder.html b/module/web/themes/flat/tml/folder.html new file mode 100644 index 000000000..d280e418f --- /dev/null +++ b/module/web/themes/flat/tml/folder.html @@ -0,0 +1,15 @@ +<li class="folder"> +  <input type="hidden" name="path" class="path" value="{{ path }}" /> +  <input type="hidden" name="name" class="name" value="{{ name }}" /> +  <span> +    <b>{{ name }}</b> +    <span class="buttons" style="opacity:0"> +	  <img title="{{_("Rename Directory")}}" class="rename" style="cursor: pointer" height="12px" src="/flat/img/pencil.png" /> +	     +	  <img title="{{_("Delete Directory")}}" class="delete" style="margin-left: -10px; cursor: pointer" width="12px" height="12px" src="/flat/img/delete.png" /> +	     +	  <img title="{{_("Add subdirectory")}}" class="mkdir" style="margin-left: -10px; cursor: pointer" width="12px" height="12px" src="/flat/img/add_folder.png" /> +    </span> +  </span> +  <div style="display:none">{{ _("Folder is empty") }}</div> +</li>
\ No newline at end of file diff --git a/module/web/themes/flat/tml/home.html b/module/web/themes/flat/tml/home.html new file mode 100644 index 000000000..9e2a4b6e2 --- /dev/null +++ b/module/web/themes/flat/tml/home.html @@ -0,0 +1,266 @@ +{% extends '/flat/tml/base.html' %} +{% block head %} + +<script type="text/javascript"> + +var em; +var operafix = (navigator.userAgent.toLowerCase().search("opera") >= 0); + +document.addEvent("domready", function(){ +	em = new EntryManager(); +}); + +var EntryManager = new Class({ +    initialize: function(){ +        this.json = new Request.JSON({ +		url: "json/links", +                secure: false, +                async: true, +		onSuccess: this.update.bind(this), +		initialDelay: 0, +		delay: 2500, +		limit: 30000 +	}); +	 +        this.ids = [{% for link in content %} +        {% if forloop.last %} +            {{ link.id }} +        {% else %} +         {{ link.id }}, +        {% endif %} +        {% endfor %}]; +         +        this.entries = []; +        this.container = $('LinksAktiv'); +         +        this.parseFromContent(); +             +        this.json.startTimer(); +    }, +    parseFromContent: function(){ +        this.ids.each(function(id,index){ +            var entry = new LinkEntry(id); +            entry.parse(); +            this.entries.push(entry) +            }, this); +    }, +    update: function(data){ +         +        try{ +        this.ids = this.entries.map(function(item){ +            return item.fid +            }); +         +        this.ids.filter(function(id){ +            return !this.ids.contains(id) +        },data).each(function(id){ +            var index = this.ids.indexOf(id); +            this.entries[index].remove(); +            this.entries = this.entries.filter(function(item){return item.fid != this},id); +            this.ids = this.ids.erase(id) +            }, this); +         +        data.links.each(function(link, i){ +            if (this.ids.contains(link.fid)){ +                 +                var index = this.ids.indexOf(link.fid); +                this.entries[index].update(link) +             +            }else{ +                var entry = new LinkEntry(link.fid); +                entry.insert(link); +                this.entries.push(entry); +                this.ids.push(link.fid); +                this.container.adopt(entry.elements.tr,entry.elements.pgbTr); +                entry.fade.start('opacity', 1); +                entry.fadeBar.start('opacity', 1); +                 +            } +            }, this) +        }catch(e){ +            //alert(e) +        } +    } +}); + + +var LinkEntry = new Class({ +        initialize: function(id){ +            this.fid = id; +            this.id = id; +        }, +        parse: function(){ +            this.elements = { +                tr: $("link_{id}".substitute({id: this.id})), +                name: $("link_{id}_name".substitute({id: this.id})), +                status: $("link_{id}_status".substitute({id: this.id})), +                info: $("link_{id}_info".substitute({id: this.id})), +                bleft: $("link_{id}_bleft".substitute({id: this.id})), +                percent: $("link_{id}_percent".substitute({id: this.id})), +                remove: $("link_{id}_remove".substitute({id: this.id})), +                pgbTr: $("link_{id}_pgb_tr".substitute({id: this.id})), +                pgb: $("link_{id}_pgb".substitute({id: this.id})) +            }; +            this.initEffects(); +        }, +        insert: function(item){ +            try{ + +            this.elements = { +                tr: new Element('tr', { +                'html': '', +                'styles':{ +                    'opacity': 0 +                } +                }), +                name: new Element('td', { +                'html': item.name +                }), +                status: new Element('td', { +                'html': item.statusmsg +                }), +                info: new Element('td', { +                'html': item.info +                }), +                bleft: new Element('td', { +                'html': humanFileSize(item.size) +                }), +                percent: new Element('span', { +                'html': item.percent+ '% / '+ humanFileSize(item.size-item.bleft) +                }), +                remove: new Element('img',{ +                'src': '/flat/img/control_cancel.png', +                'styles':{ +                    'vertical-align': 'middle', +                    'margin-right': '-20px', +                    'margin-left': '5px', +                    'margin-top': '-2px', +                    'cursor': 'pointer' +                } +                }), +                pgbTr: new Element('tr', { +                'html':'' +                }), +                pgb: new Element('div', { +                'html': ' ', +                'styles':{ +                    'height': '4px', +                    'width': item.percent+'%', +                    'background-color': '#ddd' +                } +                }) +            }; +             +            this.elements.tr.adopt(this.elements.name,this.elements.status,this.elements.info,this.elements.bleft,new Element('td').adopt(this.elements.percent,this.elements.remove)); +            this.elements.pgbTr.adopt(new Element('td',{'colspan':5}).adopt(this.elements.pgb)); +            this.initEffects(); +            }catch(e){ +                alert(e) +            } +        }, +        initEffects: function(){ +            if(!operafix) +                this.bar = new Fx.Morph(this.elements.pgb, {unit: '%', duration: 5000, link: 'link', fps:30}); +            this.fade = new Fx.Tween(this.elements.tr); +            this.fadeBar = new Fx.Tween(this.elements.pgbTr); +             +            this.elements.remove.addEvent('click', function(){ +                new Request({method: 'get', url: '/json/abort_link/'+this.id}).send(); +            }.bind(this)); +             +        }, +        update: function(item){ +                this.elements.name.set('text', item.name); +                this.elements.status.set('text', item.statusmsg); +                this.elements.info.set('text', item.info); +                this.elements.bleft.set('text', item.format_size); +                this.elements.percent.set('text', item.percent+ '% / '+ humanFileSize(item.size-item.bleft)); +                if(!operafix) +                { +                    this.bar.start({ +                        'width': item.percent, +                        'background-color': [Math.round(120/100*item.percent),100,100].hsbToRgb().rgbToHex() +                    }); +                } +                else +                { +                    this.elements.pgb.set( +                        'styles', { +                            'height': '4px', +                            'width': item.percent+'%', +                            'background-color': [Math.round(120/100*item.percent),100,100].hsbToRgb().rgbToHex(), +                         }); +                } +        }, +        remove: function(){ +                this.fade.start('opacity',0).chain(function(){this.elements.tr.dispose();}.bind(this)); +                this.fadeBar.start('opacity',0).chain(function(){this.elements.pgbTr.dispose();}.bind(this)); + +        } +    }); +</script> + +{% endblock %} + +{% block subtitle %} +{{_("Active Downloads")}} +{% endblock %} + +{% block menu %} +<li class="selected"> +    <a href="/" title=""><img src="/flat/img/head-menu-home.png" alt="" /> {{_("Home")}}</a> +</li> +<li> +    <a href="/queue/" title=""><img src="/flat/img/head-menu-queue.png" alt="" /> {{_("Queue")}}</a> +</li> +<li> +    <a href="/collector/" title=""><img src="/flat/img/head-menu-collector.png" alt="" /> {{_("Collector")}}</a> +</li> +<li> +    <a href="/downloads/" title=""><img src="/flat/img/head-menu-development.png" alt="" /> {{_("Downloads")}}</a> +</li> +{#<li>#} +{#    <a href="/filemanager/" title=""><img src="/flat/img/head-menu-download.png" alt="" /> {{_("FileManager")}}</a>#} +{#</li>#} +<li class="right"> +    <a href="/logs/"  class="action index" accesskey="x" rel="nofollow"><img src="/flat/img/head-menu-index.png" alt="" />{{_("Logs")}}</a> +</li> +<li class="right"> +    <a href="/settings/"  class="action index" accesskey="x" rel="nofollow"><img src="/flat/img/head-menu-config.png" alt="" />{{_("Config")}}</a> +</li> +{% endblock %} + +{% block content %} +<table width="100%" class="queue"> +    <thead> +  <tr class="header"> +    <th>{{_("Name")}}</th> +    <th>{{_("Status")}}</th> +    <th>{{_("Information")}}</th> +    <th>{{_("Size")}}</th> +    <th>{{_("Progress")}}</th> +  </tr> +    </thead> +  <tbody id="LinksAktiv"> +   +  {% for link in content %} +  <tr id="link_{{ link.id }}"> +    <td id="link_{{ link.id }}_name">{{ link.name }}</td> +    <td id="link_{{ link.id }}_status">{{ link.status }}</td> +    <td id="link_{{ link.id }}_info">{{ link.info }}</td> +    <td id="link_{{ link.id }}_bleft">{{ link.format_size }}</td> +    <td> +        <span id="link_{{ link.id }}_percent">{{ link.percent }}% /{{ link.bleft }}</span> +        <img id="link_{{ link.id }}_remove" style="vertical-align: middle; margin-right: -20px; margin-left: 5px; margin-top: -2px; cursor:pointer;" src="/flat/img/control_cancel.png"/> +    </td> +  </tr> +  <tr id="link_{{ link.id }}_pgb_tr"> +    <td colspan="5"> +        <div id="link_{{ link.id }}_pgb" class="progressBar" style="background-color: green; height:4px; width: {{ link.percent }}%;"> </div> +    </td> +  </tr> +  {% endfor %} +   +  </tbody> +</table> +{% endblock %}
\ No newline at end of file diff --git a/module/web/themes/flat/tml/info.html b/module/web/themes/flat/tml/info.html new file mode 100644 index 000000000..5ff9bc804 --- /dev/null +++ b/module/web/themes/flat/tml/info.html @@ -0,0 +1,81 @@ +{% extends '/flat/tml/base.html' %} + +{% block head %} +    <script type="text/javascript"> +        window.addEvent("domready", function() { +            var ul = new Element('ul#twitter_update_list'); +            var script1 = new Element('script[src=http://twitter.com/javascripts/blogger.js][type=text/javascript]'); +            var script2 = new Element('script[src=http://twitter.com/statuses/user_timeline/pyLoad.json?callback=twitterCallback2&count=6][type=text/javascript]'); +            $("twitter").adopt(ul, script1, script2); +        }); +    </script> +{% endblock %} + +{% block title %}{{ _("Information") }} - {{ super() }} {% endblock %} +{% block subtitle %}{{ _("Information") }}{% endblock %} + +{% block content %} +    <h3>{{ _("News") }}</h3> +    <div id="twitter"></div> + +    <h3>{{ _("Support") }}</h3> + +    <ul> +        <li style="font-weight:bold;"> +            <a href="http://pyload.org/wiki" target="_blank">Wiki</a> +              |   +            <a href="http://forum.pyload.org/" target="_blank">Forum</a> +              |   +            <a href="http://pyload.org/irc/" target="_blank">Chat</a> +        </li> +        <li style="font-weight:bold;"><a href="http://docs.pyload.org" target="_blank">Documentation</a></li> +        <li style="font-weight:bold;"><a href="https://bitbucket.org/spoob/pyload/overview" target="_blank">Development</a></li> +        <li style="font-weight:bold;"><a href="https://bitbucket.org/spoob/pyload/issues?status=new&status=open" target="_blank">Issue Tracker</a></li> + +    </ul> + +    <h3>{{ _("System") }}</h3> +    <table class="system"> +         <tr> +            <td>{{ _("Python:") }}</td> +            <td>{{ python }}</td> +        </tr> +        <tr> +            <td>{{ _("OS:") }}</td> +            <td>{{ os }}</td> +        </tr> +        <tr> +            <td>{{ _("pyLoad version:") }}</td> +            <td>{{ version }}</td> +        </tr> +        <tr> +            <td>{{ _("Installation Folder:") }}</td> +            <td>{{ folder }}</td> +        </tr> +        <tr> +            <td>{{ _("Config Folder:") }}</td> +            <td>{{ config }}</td> +        </tr> +        <tr> +            <td>{{ _("Download Folder:") }}</td> +            <td>{{ download }}</td> +        </tr> +        <tr> +            <td>{{ _("Free Space:") }}</td> +            <td>{{ freespace }}</td> +        </tr> +        <tr> +            <td>{{ _("Language:") }}</td> +            <td>{{ language }}</td> +        </tr> +        <tr> +            <td>{{ _("Webinterface Port:") }}</td> +            <td>{{ webif }}</td> +        </tr> +        <tr> +            <td>{{ _("Remote Interface Port:") }}</td> +            <td>{{ remote }}</td> +        </tr> +    </table> + +{% endblock %}
\ No newline at end of file diff --git a/module/web/themes/flat/tml/login.html b/module/web/themes/flat/tml/login.html new file mode 100644 index 000000000..de6c152d3 --- /dev/null +++ b/module/web/themes/flat/tml/login.html @@ -0,0 +1,36 @@ +{% extends '/flat/tml/base.html' %} + +{% block title %}{{_("Login")}} - {{super()}} {% endblock %} + +{% block content %} + +<div class="centeralign"> +<form action="" method="post" accept-charset="utf-8" id="login"> +    <div class="no"> +        <input type="hidden" name="do" value="login" /> +        <fieldset> +        <legend>Login</legend> +        <label> +            <span>{{_("Username")}}</span> +            <input type="text" size="20" name="username" /> +        </label> +        <br /> +        <label> +            <span>{{_("Password")}}</span> +            <input type="password" size="20" name="password" /> +        </label> +        <br /> +        <input type="submit" value="Login" class="button" /> +        </fieldset> +    </div> +</form> + +{% if errors %} +<p>{{_("Your username and password didn't match. Please try again.")}}</p> +  {{ _("To reset your login data or add an user run:") }} <b> python pyLoadCore.py -u</b> +{% endif %} + +</div> +<br> +     +{% endblock %} diff --git a/module/web/themes/flat/tml/logout.html b/module/web/themes/flat/tml/logout.html new file mode 100644 index 000000000..370031b25 --- /dev/null +++ b/module/web/themes/flat/tml/logout.html @@ -0,0 +1,9 @@ +{% extends '/flat/tml/base.html' %} + +{% block head %} +<meta http-equiv="refresh" content="3; url=/"> +{% endblock %} + +{% block content %} +<p><b>{{_("You were successfully logged out.")}}</b></p> +{% endblock %}
\ No newline at end of file diff --git a/module/web/themes/flat/tml/logs.html b/module/web/themes/flat/tml/logs.html new file mode 100644 index 000000000..24f2e3bb3 --- /dev/null +++ b/module/web/themes/flat/tml/logs.html @@ -0,0 +1,41 @@ +{% extends '/flat/tml/base.html' %} + +{% block title %}{{_("Logs")}} - {{super()}} {% endblock %} +{% block subtitle %}{{_("Logs")}}{% endblock %} +{% block head %} +<link rel="stylesheet" type="text/css" href="/flat/css/log.css"/> +{% endblock %} + +{% block content %} +<div style="clear: both;"></div> + +<div class="logpaginator"><a href="{{ "/logs/1" }}"><< {{_("Start")}}</a>  <a href="{{ "/logs/" + iprev|string }}">< {{_("prev")}}</a>  <a href="{{ "/logs/" + inext|string }}">{{_("next")}} ></a> <a href="/logs/">{{_("End")}} >></a></div> +<div class="logperpage"> +    <form id="logform1" action="" method="POST"> +        <label for="reversed">Reversed:</label> +        <input type="checkbox" name="reversed" onchange="this.form.submit();" {% if reversed %} checked="checked" {% endif %} />  +        <label for="perpage">Lines per page:</label> +        <select name="perpage" onchange="this.form.submit();"> +            {% for value in  perpage_p %} +                <option value="{{value.0}}"{% if value.0 == perpage %} selected="selected" {% endif %}>{{value.1}}</option> +            {% endfor %} +        </select> +    </form> +</div> +<div class="logwarn">{{warning}}</div> +<div style="clear: both;"></div> +<div class="logdiv"> +    <table class="logtable" cellpadding="0" cellspacing="0"> +    {% for line in log %} +        <tr><td class="logline">{{line.line}}</td><td>{{line.date}}</td><td class="loglevel">{{line.level}}</td><td>{{line.message}}</td></tr> +    {% endfor %} +    </table> +</div> +<div class="logform"> +<form id="logform2" action="" method="POST"> +    <label for="from">Jump to time:</label><input type="text" name="from" size="15" value="{{from}}"/> +    <input type="submit" value="ok" /> +</form> +</div> +<div style="clear: both; height: 10px;">  </div> +{% endblock %}
\ No newline at end of file diff --git a/module/web/themes/flat/tml/pathchooser.html b/module/web/themes/flat/tml/pathchooser.html new file mode 100644 index 000000000..c4b2684d7 --- /dev/null +++ b/module/web/themes/flat/tml/pathchooser.html @@ -0,0 +1,76 @@ +<html> +<head> +	<script class="javascript"> +        function chosen() +        { +            opener.ifield.value = document.forms[0].p.value; +            close(); +        } +        function exit() +        { +            close(); +        } +        function setInvalid() { +            document.forms[0].send.disabled = 'disabled'; +            document.forms[0].p.style.color = '#FF0000'; +        } +        function setValid() { +            document.forms[0].send.disabled = ''; +            document.forms[0].p.style.color = '#000000'; +        } +        function setFile(file) +        { +            document.forms[0].p.value = file; +            setValid(); +             +        } +	</script> +	<link rel="stylesheet" type="text/css" href="/flat/css/pathchooser.css"/> +</head> +<body{% if type == 'file' %}{% if not oldfile %} onload="setInvalid();"{% endif %}{% endif %}> +<center> +    <div id="paths"> +	<form method="get" action="?" onSubmit="chosen();" onReset="exit();"> +	    <input type="text" name="p" value="{{ oldfile|default(cwd) }}" size="60" onfocus="setValid();"> +	    <input type="submit" value="Ok" name="send"> +	</form> +     +    {% if type == 'folder' %} +	<span class="path_abs_rel">{{_("Path")}}: <a href="{{ "/pathchooser" + cwd|path_make_absolute|quotepath }}"{% if absolute %} style="text-decoration: underline;"{% endif %}>{{_("absolute")}}</a> | <a href="{{ "/pathchooser/" + cwd|path_make_relative|quotepath }}"{% if not absolute %} style="text-decoration: underline;"{% endif %}>{{_("relative")}}</a></span> +    {% else %} +	<span class="path_abs_rel">{{_("Path")}}: <a href="{{ "/filechooser/" + cwd|path_make_absolute|quotepath }}"{% if absolute %} style="text-decoration: underline;"{% endif %}>{{_("absolute")}}</a> | <a href="{{ "/filechooser/" + cwd|path_make_relative|quotepath }}"{% if not absolute %} style="text-decoration: underline;"{% endif %}>{{_("relative")}}</a></span> +    {% endif %} +    </div> +    <table border="0" cellspacing="0" cellpadding="3"> +        <tr> +            <th>{{_("name")}}</th> +            <th>{{_("size")}}</th> +            <th>{{_("type")}}</th> +            <th>{{_("last modified")}}</th> +        </tr> +	{% if parentdir %} +        <tr> +            <td colspan="4"> +                <a href="{% if type == 'folder' %}{{ "/pathchooser/" + parentdir|quotepath }}{% else %}{{ "/filechooser/" + parentdir|quotepath }}{% endif %}"><span class="parentdir">{{_("parent directory")}}</span></a> +            </td> +        </tr> +	{% endif %} +{% for file in files %} +        <tr> +            {% if type == 'folder' %} +                <td class="name">{% if file.type == 'dir' %}<a href="{{ "/pathchooser/" + file.fullpath|quotepath }}" title="{{ file.fullpath }}"><span class="path_directory">{{ file.name|truncate(25) }}</span></a>{% else %}<span class="path_file" title="{{ file.fullpath }}">{{ file.name|truncate(25) }}{% endif %}</span></td> +            {% else %} +                <td class="name">{% if file.type == 'dir' %}<a href="{{ "/filechooser/" + file.fullpath|quotepath }}" title="{{ file.fullpath }}"><span class="file_directory">{{ file.name|truncate(25) }}</span></a>{% else %}<a href="#" onclick="setFile('{{ file.fullpath }}');" title="{{ file.fullpath }}"><span class="file_file">{{ file.name|truncate(25) }}{% endif %}</span></a></td> +            {% endif %} +            <td class="size">{{ file.size|float|filesizeformat }}</td> +            <td class="type">{% if file.type == 'dir' %}directory{% else %}{{ file.ext|default("file") }}{% endif %}</td> +            <td class="mtime">{{ file.modified|date("d.m.Y - H:i:s") }}</td> +        <tr> +<!--        <tr> +            <td colspan="4">{{_("no content")}}</td> +        </tr> --> +{% endfor %} +    </table> +    </center> +</body> +</html>
\ No newline at end of file diff --git a/module/web/themes/flat/tml/queue.html b/module/web/themes/flat/tml/queue.html new file mode 100644 index 000000000..31e8fef49 --- /dev/null +++ b/module/web/themes/flat/tml/queue.html @@ -0,0 +1,104 @@ +{% extends '/flat/tml/base.html' %} +{% block head %} + +<script type="text/javascript" src="/default/js/package.min.js"></script> + +<script type="text/javascript"> + +document.addEvent("domready", function(){ +    var pUI = new PackageUI("url", {{ target }}); +}); +</script> +{% endblock %} + +{% if target %} +    {% set name = _("Queue") %} +{% else %} +    {% set name = _("Collector") %} +{% endif %} + +{% block title %}{{name}} - {{super()}} {% endblock %} +{% block subtitle %}{{name}}{% endblock %} + +{% block pageactions %} +<ul id="page-actions-more"> +    <li id="del_finished"><a style="padding: 0; font-weight: 300;" href="#">{{_("Delete Finished")}}</a></li> +    <li id="restart_failed"><a style="padding: 0; font-weight: 300;" href="#">{{_("Restart Failed")}}</a></li> +</ul> +{% endblock %} + +{% block content %} +{% autoescape true %} + +<ul id="package-list" style="list-style: none; padding-left: 0; margin-top: -10px;"> +{% for package in content %} +    <li> +<div id="package_{{package.pid}}" class="package"> +    <div class="order" style="display: none;">{{ package.order }}</div> +     +    <div class="packagename" style="cursor: pointer"> +        <img class="package_drag" src="/flat/img/folder.png" style="cursor: move; margin-bottom: -2px"> +        <span class="name">{{package.name}}</span> +           +        <span class="buttons" style="opacity:0"> +        <img title="{{_("Delete Package")}}" style="cursor: pointer" width="12px" height="12px" src="/flat/img/delete.png" /> +           +        <img title="{{_("Restart Package")}}" style="margin-left: -10px; cursor: pointer" height="12px" src="/flat/img/arrow_refresh.png" /> +           +        <img title="{{_("Edit Package")}}" style="margin-left: -10px; cursor: pointer" height="12px" src="/flat/img/pencil.png" /> +           +        <img title="{{_("Move Package")}}" style="margin-left: -10px; cursor: pointer" height="12px" src="/flat/img/package_go.png" /> +        </span> +    </div> +    {% set progress = (package.linksdone * 100) / package.linkstotal %} + +    <div id="progress" style="border-radius: 0px; border: 1px solid #AAAAAA; width: 50%; height: 1em"> +        <div style="width: {{ progress }}%; height: 100%; background-color: #add8e6;"></div> +        <label style="font-size: 0.8em; font-weight: 300; padding-left: 5px; position: relative; top: -17px"> +        {{ package.sizedone|formatsize }} / {{ package.sizetotal|formatsize }}</label> +        <label style="font-size: 0.8em; font-weight: 300; padding-right: 5px ;float: right; position: relative; top: -17px"> +        {{ package.linksdone }} / {{ package.linkstotal }}</label> +        </div> +    <div style="clear: both; margin-bottom: -10px"></div> + +    <div id="children_{{package.pid}}" style="display: none;" class="children"> +    <span class="child_secrow">{{_("Folder:")}} <span class="folder">{{package.folder}}</span> | {{_("Password:")}} <span class="password">{{package.password}}</span></span> +    <ul id="sort_children_{{package.pid}}" style="list-style: none; padding-left: 0"> +    </ul> +    </div> +</div> +    </li> +{% endfor %} +</ul> +{% endautoescape %} +{% endblock %} + +{% block hidden %} +<div id="pack_box" class="window_box" style="z-index: 2"> +    <form id="pack_form" action="/json/edit_package" method="POST" enctype="multipart/form-data"> +    <h1>{{_("Edit Package")}}</h1> +    <p>{{_("Edit the package detais below.")}}</p> +    <input name="pack_id" id="pack_id" type="hidden" value=""/> +    <label for="pack_name">{{_("Name")}} +    <span class="small">{{_("The name of the package.")}}</span> +    </label> +    <input id="pack_name" name="pack_name" type="text" size="20" /> + +    <label for="pack_folder">{{_("Folder")}} +    <span class="small">{{_("Name of subfolder for these downloads.")}}</span> +    </label> +    <input id="pack_folder" name="pack_folder" type="text" size="20" /> + +    <label for="pack_pws">{{_("Password")}} +    <span class="small">{{_("List of passwords used for unrar.")}}</span> +    </label> +    <textarea rows="3" name="pack_pws" id="pack_pws"></textarea> + +    <button type="submit">{{_("Submit")}}</button> +    <button id="pack_reset" style="margin-left: 0" type="reset" >{{_("Reset")}}</button> +    <div class="spacer"></div> + +    </form> + +</div> +{% endblock %}
\ No newline at end of file diff --git a/module/web/themes/flat/tml/settings.html b/module/web/themes/flat/tml/settings.html new file mode 100644 index 000000000..469947399 --- /dev/null +++ b/module/web/themes/flat/tml/settings.html @@ -0,0 +1,204 @@ +{% extends '/flat/tml/base.html' %} + +{% block title %}{{ _("Config") }} - {{ super() }} {% endblock %} +{% block subtitle %}{{ _("Config") }}{% endblock %} + +{% block head %} +    <script type="text/javascript" src="/default/js/tinytab.min.static.js"></script> +    <script type="text/javascript" src="/default/js/MooDropMenu.min.static.js"></script> +    <script type="text/javascript" src="/default/js/settings.min.js"></script> + +{% endblock %} + +{% block content %} + +    <ul id="toptabs" class="tabs"> +            <li><a class="selected" href="#">{{ _("General") }}</a></li> +            <li><a href="#">{{ _("Plugins") }}</a></li> +            <li><a href="#">{{ _("Accounts") }}</a></li> +    </ul> + +    <div id="tabsback" style="height: 20px; padding-left: 150px; color: white; font-weight: bold;"> + +    </div> + +        <span id="tabs-body"> +            <!-- General --> +            <span id="general" class="active tabContent"> +                <ul class="nav tabs"> +                    <li class> +                        <a>Menu</a> +                        <ul id="general-menu"> +                            {% for entry,name in conf.general %} +                                <nobr> +                                    <li id="general|{{ entry }}">{{ name }}</li> +                                </nobr> +                                <br> +                            {% endfor %} +                        </ul> +                    </li> +                </ul> + +                <form id="general_form" action="" method="POST" autocomplete="off"> +                    <span id="general_form_content"> +                    <br> +                    <h3>   {{ _("Choose a section from the menu") }}</h3> +                    <br> +                    </span> + +                  <input id="general|submit" class="styled_button" type="submit" value="{{_("Submit")}}"/> +                </form> +            </span> + +            <!-- Plugins --> +            <span id="plugins" class="tabContent"> +                <ul class="nav tabs"> +                    <li class> +                        <a>Menu</a> +                        <ul id="plugin-menu"> +                            {% for entry,name in conf.plugin %} +                                <nobr> +                                    <li id="plugin|{{ entry }}">{{ name }}</li> +                                </nobr> +                                <br> +                            {% endfor %} +                        </ul> +                    </li> +                </ul> + + +                 <form id="plugin_form" action="" method="POST" autocomplete="off"> + +                     <span id="plugin_form_content"> +                    <br> +                    <h3>   {{ _("Choose a section from the menu") }}</h3> +                    <br> +                         </span> +                     <input id="plugin|submit" class="styled_button" type="submit" value="{{_("Submit")}}"/> +                </form> + +            </span> + +            <!-- Accounts --> +            <span id="accounts" class="tabContent"> +            <form id="account_form" action="/json/update_accounts" method="POST"> + +                        <table class="settable wide"> + +                        <thead> +                        <tr> +                            <th>{{ _("Plugin") }}</th> +                            <th>{{ _("Name") }}</th> +                            <th>{{ _("Password") }}</th> +                            <th>{{ _("Status") }}</th> +                            <th>{{ _("Premium") }}</th> +                            <th>{{ _("Valid until") }}</th> +                            <th>{{ _("Traffic left") }}</th> +                            <th>{{ _("Time") }}</th> +                            <th>{{ _("Max Parallel") }}</th> +                            <th>{{ _("Delete?") }}</th> +                        </tr> +                        </thead> + + +                            {% for account in conf.accs %} +                                {% set plugin = account.type %} +                                       <tr> +                                            <td> +                                                <span style="padding:5px">{{ plugin }}</span> +                                            </td> +                                        +                                           <td><label for="{{plugin}}|password;{{account.login}}" +                                                      style="color:#424242;">{{ account.login }}</label></td> +                                           <td> +                                               <input id="{{plugin}}|password;{{account.login}}" +                                                      name="{{plugin}}|password;{{account.login}}" +                                                      type="password" value="{{account.password}}" size="12"/> +                                           </td> +                                           <td> +                                               {% if account.valid %} +                                                   <span style="font-weight: bold; color: #006400;"> +                                                   {{ _("valid") }} +                                               {% else %} +                                                   <span style="font-weight: bold; color: #8b0000;"> +                                                   {{ _("not valid") }} +                                               {% endif %} +                                               </span> +                                           </td> +                                          <td> +                                               {% if account.premium %} +                                                   <span style="font-weight: bold; color: #006400;"> +                                                   {{ _("yes") }} +                                               {% else %} +                                                   <span style="font-weight: bold; color: #8b0000;"> +                                                   {{ _("no") }} +                                               {% endif %} +                                               </span> +                                           </td> +                                           <td> +                                   <span style="font-weight: bold;"> +                                   {{ account.validuntil }} +                                   </span> +                                           </td> +                                           <td> +                                   <span style="font-weight: bold;"> +                                   {{ account.trafficleft }} +                                   </span> +                                           </td> +                                           <td> +                                               <input id="{{plugin}}|time;{{account.login}}" +                                                      name="{{plugin}}|time;{{account.login}}" type="text" +                                                      size="7" value="{{account.time}}"/> +                                           </td> +                                           <td> +                                               <input id="{{plugin}}|limitdl;{{account.login}}" +                                                      name="{{plugin}}|limitdl;{{account.login}}" type="text" +                                                      size="2" value="{{account.limitdl}}"/> +                                           </td> +                                           <td> +                                               <input id="{{plugin}}|delete;{{account.login}}" +                                                      name="{{plugin}}|delete;{{account.login}}" type="checkbox" +                                                      value="True"/> +                                           </td> +                                       </tr> +                                {% endfor %} +                            </table> + +            <button id="account_submit" type="submit" class="styled_button">{{_("Submit")}}</button> +            <button id="account_add" style="margin-left: 0" type="submit" class="styled_button">{{_("Add")}}</button> +            </form> +            </span> +        </span> +{% endblock %} +{% block hidden %} +<div id="account_box" class="window_box" style="z-index: 2"> +<form id="add_account_form" action="/json/add_account" method="POST" enctype="multipart/form-data"> +<h1>{{_("Add Account")}}</h1> +<p>{{_("Enter your account data to use premium features.")}}</p> +<label for="account_login">{{_("Login")}} +<span class="small">{{_("Your username.")}}</span> +</label> +<input id="account_login" name="account_login" type="text" size="20" /> + +<label for="account_password">{{_("Password")}} +<span class="small">{{_("The password for this account.")}}</span> +</label> +<input id="account_password" name="account_password" type="password" size="20" /> + +<label for="account_type">{{_("Type")}} +<span class="small">{{_("Choose the hoster for your account.")}}</span> +</label> +    <select name=account_type id="account_type"> +        {% for type in types|sort %} +            <option value="{{ type }}">{{ type }}</option> +        {% endfor %} +    </select> + +<button id="account_add_button" type="submit">{{_("Add")}}</button> +<button id="account_reset" style="margin-left: 0" type="reset">{{_("Reset")}}</button> +<div class="spacer"></div> + +</form> + +</div> +{% endblock %}
\ No newline at end of file diff --git a/module/web/themes/flat/tml/settings_item.html b/module/web/themes/flat/tml/settings_item.html new file mode 100644 index 000000000..813383343 --- /dev/null +++ b/module/web/themes/flat/tml/settings_item.html @@ -0,0 +1,48 @@ +<table class="settable"> +    {% if section.outline %} +    <tr><th colspan="2">{{ section.outline }}</th></tr> +    {% endif %} +    {% for okey, option in section.iteritems() %} +        {% if okey not in ("desc","outline") %} +            <tr> +                <td><label for="{{skey}}|{{okey}}" +                           style="color:#424242;">{{ option.desc }}:</label></td> +                <td> +                    {% if option.type == "bool" %} +                        <select id="{{skey}}|{{okey}}" name="{{skey}}|{{okey}}"> +                            <option {% if option.value %} selected="selected" +                                                          {% endif %}value="True">{{ _("on") }}</option> +                            <option {% if not option.value %} selected="selected" +                                                              {% endif %}value="False">{{ _("off") }}</option> +                        </select> +                        {% elif ";" in option.type %} +                        <select id="{{skey}}|{{okey}}" name="{{skey}}|{{okey}}"> +                            {% for entry in option.list %} +                                <option {% if option.value == entry %} +                                        selected="selected" {% endif %}>{{ entry }}</option> +                            {% endfor %} +                        </select> +                        {% elif option.type == "folder" %} +                        <input name="{{skey}}|{{okey}}" type="text" +                               id="{{skey}}|{{okey}}" value="{{option.value}}"/> +                        <input name="browsebutton" type="button" +                               onclick="ifield = document.getElementById('{{skey}}|{{okey}}'); pathchooser = window.open('{% if option.value %}{{ "/pathchooser/" + option.value|quotepath }}{% else %}{{ pathroot }}{% endif %}', 'pathchooser', 'scrollbars=yes,toolbar=no,menubar=no,statusbar=no,width=650,height=300'); pathchooser.ifield = ifield; window.ifield = ifield;" +                               value="{{_("Browse")}}"/> +                        {% elif option.type == "file" %} +                        <input name="{{skey}}|{{okey}}" type="text" +                               id="{{skey}}|{{okey}}" value="{{option.value}}"/> +                        <input name="browsebutton" type="button" +                               onclick="ifield = document.getElementById('{{skey}}|{{okey}}'); filechooser = window.open('{% if option.value %}{{ "/filechooser/" + option.value|quotepath }}{% else %}{{ fileroot }}{% endif %}', 'filechooser', 'scrollbars=yes,toolbar=no,menubar=no,statusbar=no,width=650,height=300'); filechooser.ifield = ifield; window.ifield = ifield;" +                               value="{{_("Browse")}}"/> +                        {% elif option.type == "password" %} +                        <input id="{{skey}}|{{okey}}" name="{{skey}}|{{okey}}" +                               type="password" value="{{option.value}}"/> +                    {% else %} +                        <input id="{{skey}}|{{okey}}" name="{{skey}}|{{okey}}" +                               type="text" value="{{option.value}}"/> +                    {% endif %} +                </td> +            </tr> +        {% endif %} +    {% endfor %} +</table>
\ No newline at end of file diff --git a/module/web/themes/flat/tml/setup.html b/module/web/themes/flat/tml/setup.html new file mode 100644 index 000000000..ceea5284a --- /dev/null +++ b/module/web/themes/flat/tml/setup.html @@ -0,0 +1,13 @@ +{% extends '/flat/tml/base.html' %} + +{% block title %}{{ _("Setup") }} - {{ super() }} {% endblock %} +{% block subtitle %}{{ _("Setup") }}{% endblock %} +{% block headpanel %}Welcome to pyLoad{% endblock %} +{% block menu %} +    <li style="height: 25px"> <!-- Needed to get enough margin --> +    </li> +{% endblock %} + +{% block content %} +    Comming Soon. +{% endblock %}
\ No newline at end of file diff --git a/module/web/themes/flat/tml/window.html b/module/web/themes/flat/tml/window.html new file mode 100644 index 000000000..96afe4146 --- /dev/null +++ b/module/web/themes/flat/tml/window.html @@ -0,0 +1,46 @@ +<iframe id="upload_target" name="upload_target" src="" style="display: none; width:0;height:0"></iframe> + +<div id="add_box" class="window_box"> +<form id="add_form" action="/json/add_package" method="POST" enctype="multipart/form-data"> +<h1>{{_("Add Package")}}</h1> +<p>{{_("Paste your links or upload a container.")}}</p> +<label for="add_name">{{_("Name")}} +<span class="small">{{_("The name of the new package.")}}</span> +</label> +<input id="add_name" name="add_name" type="text" size="20" /> + +<label for="add_links">{{_("Links")}} +<span class="small">{{_("Paste your links here or any text and press the filter button.")}}</span> +<span class="small"> {{ _("Filter urls") }} +<img alt="URIParsing" Title="Parse Uri" src="/flat/img/parseUri.png" style="cursor:pointer; vertical-align: text-bottom;" onclick="parseUri()"/> +</span> + +</label> +<textarea rows="5" name="add_links" id="add_links"></textarea> + +<label for="add_password">{{_("Password")}} +    <span class="small">{{_("Password for RAR-Archive")}}</span> +</label> +<input id="add_password" name="add_password" type="text" size="20"> + +<label>{{_("File")}} +<span class="small">{{_("Upload a container.")}}</span> +</label> +<input type="file" name="add_file" id="add_file"/> + +<label for="add_dest">{{_("Destination")}} +</label> +<span class="cont"> +    {{_("Queue")}} +    <input type="radio" name="add_dest" id="add_dest" value="1" checked="checked"/> +    {{_("Collector")}} +    <input type="radio" name="add_dest" id="add_dest2" value="0"/> +</span> + +<button type="submit">{{_("Add Package")}}</button> +<button id="add_reset" style="margin-left:0;" type="reset">{{_("Reset")}}</button> +<div class="spacer"></div> + +</form> + +</div>
\ No newline at end of file  | 
