
Conflicts: mediagoblin/templates/mediagoblin/base.html -- resolved by using the original file and manually adding pieces from my commit
210 lines
9.4 KiB
HTML
210 lines
9.4 KiB
HTML
{#
|
|
# GNU MediaGoblin -- federated, autonomous media hosting
|
|
# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
-#}
|
|
<!doctype html>
|
|
|
|
<html
|
|
{% block mediagoblin_html_tag %}
|
|
{% endblock mediagoblin_html_tag %}
|
|
{% if is_rtl -%}
|
|
dir="rtl"
|
|
{%- endif -%}
|
|
>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
{% if app_config['no_referrer'] -%}
|
|
<meta name="referrer" content="no-referrer">
|
|
{%- endif %}
|
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
|
|
<title>{% block title %}{{ app_config['html_title'] }}{% endblock %}</title>
|
|
<link rel="stylesheet" type="text/css"
|
|
href="{{ request.staticdirect('/css/extlib/reset.css') }}"/>
|
|
<link rel="stylesheet" type="text/css"
|
|
href="{{ request.staticdirect('/css/extlib/skeleton.css') }}"/>
|
|
<link rel="stylesheet" type="text/css"
|
|
href="{{ request.staticdirect('/css/base.css') }}"/>
|
|
<link rel="shortcut icon"
|
|
href="{{ request.staticdirect('/images/goblin.ico') }}" />
|
|
<script type="text/javascript"
|
|
src="{{ request.staticdirect('/js/extlib/jquery.js') }}"></script>
|
|
<script type="text/javascript"
|
|
src="{{ request.staticdirect('/js/header_dropdown.js') }}"></script>
|
|
<script type="text/javascript"
|
|
src="{{ request.staticdirect('/js/notifications.js') }}"></script>
|
|
<script>
|
|
var mark_all_comments_seen_url = "{{ request.urlgen('mediagoblin.notifications.mark_all_comment_notifications_seen') }}"
|
|
</script>
|
|
|
|
{# For clarification, the difference between the extra_head.html template
|
|
# and the head template hook is that the former should be used by
|
|
# themes and the latter should be used by plugins.
|
|
# The reason is that only one thing can override extra_head.html...
|
|
# but multiple plugins can hook into the template hook.
|
|
#}
|
|
{% include "mediagoblin/extra_head.html" %}
|
|
{% template_hook("head") %}
|
|
|
|
{% block mediagoblin_head %}
|
|
{% endblock mediagoblin_head %}
|
|
</head>
|
|
<body>
|
|
{% include 'mediagoblin/bits/body_start.html' %}
|
|
{% block mediagoblin_body %}
|
|
<div id="wrap">
|
|
{% block mediagoblin_header %}
|
|
<div class="container">
|
|
<header>
|
|
<div class="row foot">
|
|
<div class="header_left">
|
|
{%- include "mediagoblin/bits/logo.html" -%}
|
|
{% template_hook("header_left") %}
|
|
{% block mediagoblin_header_title %}{% endblock %}
|
|
</div>
|
|
<div class="header_right">
|
|
{% template_hook("header_extra") %}
|
|
{%- if request.user %}
|
|
{% if request.user and
|
|
request.user.has_privilege('active') and
|
|
not request.user.is_banned() %}
|
|
|
|
{% set notification_count = get_notification_count(request.user.id) %}
|
|
{% if notification_count %}
|
|
<a href="javascript:;"
|
|
class="notification-gem button_action button_info"
|
|
title="Notifications">
|
|
{{ notification_count }}</a>
|
|
{% endif %}
|
|
<a href="javascript:;"
|
|
class="button_action header_dropdown_down"
|
|
aria-controls="header_dropdown">▼</a>
|
|
<a href="javascript:;"
|
|
class="button_action header_dropdown_up"
|
|
aria-controls="header_dropdown">▲</a>
|
|
{% elif request.user and not request.user.has_privilege('active') %}
|
|
{# the following link should only appear when verification is needed #}
|
|
<a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
|
|
user=request.user.username) }}"
|
|
class="button_action_highlight">
|
|
{% trans %}Verify your email!{% endtrans %}</a>
|
|
or <a id="logout" href=
|
|
{% if persona is not defined %}
|
|
"{{ request.urlgen('mediagoblin.auth.logout') }}"
|
|
{% else %}
|
|
"javascript:;"
|
|
{% endif %}
|
|
>{% trans %}log out{% endtrans %}</a>
|
|
{% elif request.user and request.user.is_banned() %}
|
|
<a id="logout" href=
|
|
{% if persona is not defined %}
|
|
"{{ request.urlgen('mediagoblin.auth.logout') }}"
|
|
{% else %}
|
|
"javascript:;"
|
|
{% endif %}
|
|
>{% trans %}log out{% endtrans %}</a>
|
|
{% endif %}
|
|
{%- elif auth %}
|
|
<a href=
|
|
{% if persona_auth is defined %}
|
|
"javascript:;" id="persona_login"
|
|
{% else %}
|
|
"{{ request.urlgen('mediagoblin.auth.login') }}"
|
|
{% endif %}
|
|
>
|
|
{%- trans %}Log in{% endtrans -%}
|
|
</a>
|
|
{%- endif %}
|
|
</div>
|
|
<div class="clear"></div>
|
|
{% if request.user and request.user.has_privilege('active') %}
|
|
<div id="header_dropdown">
|
|
<p>
|
|
<span class="dropdown_title">
|
|
{% trans user_url=request.urlgen('mediagoblin.user_pages.user_home',
|
|
user=request.user.username),
|
|
user_name=request.user.username -%}
|
|
<a href="{{ user_url }}">{{ user_name }}</a>'s account
|
|
{%- endtrans %}
|
|
</span>
|
|
·
|
|
<a href="{{ request.urlgen('mediagoblin.edit.account') }}">{%- trans %}Change account settings{% endtrans -%}</a>
|
|
·
|
|
<a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
|
|
user=request.user.username) }}">
|
|
{%- trans %}Media processing panel{% endtrans -%}
|
|
</a>
|
|
·
|
|
{% template_hook("blog_dashboard_home") %}
|
|
<a id="logout" href=
|
|
{% if persona is not defined %}
|
|
"{{ request.urlgen('mediagoblin.auth.logout') }}"
|
|
{% else %}
|
|
"javascript:;"
|
|
{% endif %}
|
|
>{% trans %}Log out{% endtrans %}</a>
|
|
</p>
|
|
<a class="button_action" href="{{ request.urlgen('mediagoblin.submit.start') }}">
|
|
{%- trans %}Add media{% endtrans -%}
|
|
</a>
|
|
<a class="button_action" href="{{ request.urlgen('mediagoblin.submit.collection') }}">
|
|
{%- trans %}Create new collection{% endtrans -%}
|
|
</a>
|
|
{% template_hook("header_dropdown_buttons") %}
|
|
{% if request.user.has_privilege('moderator') %}
|
|
<p>
|
|
<span class="dropdown_title">{% trans %}Moderation powers:{% endtrans %}</span>
|
|
<a href="{{ request.urlgen('mediagoblin.moderation.media_panel') }}">
|
|
{%- trans %}Media processing panel{% endtrans -%}
|
|
</a>
|
|
·
|
|
<a href="{{ request.urlgen('mediagoblin.moderation.users') }}">
|
|
{%- trans %}User management panel{% endtrans -%}
|
|
</a>
|
|
·
|
|
<a href="{{ request.urlgen('mediagoblin.moderation.reports') }}">
|
|
{%- trans %}Report management panel{% endtrans -%}
|
|
</a>
|
|
{% template_hook("moderation_powers") %}
|
|
</p>
|
|
{% endif %}
|
|
{% include 'mediagoblin/fragments/header_notifications.html' %}
|
|
</div>
|
|
{% endif %}
|
|
</div><!-- end row -->
|
|
</header>
|
|
</div>
|
|
{% endblock %}
|
|
<div class="container">
|
|
{% include 'mediagoblin/bits/above_content.html' %}
|
|
<div class="mediagoblin_content">
|
|
{% include "mediagoblin/utils/messages.html" %}
|
|
{% block mediagoblin_content %}
|
|
{% endblock mediagoblin_content %}
|
|
{% if csrf_token is defined %}
|
|
{% template_hook("persona_form") %}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="container">
|
|
{%- include "mediagoblin/bits/base_footer.html" %}
|
|
</div>
|
|
{%- endblock mediagoblin_body %}
|
|
{% include 'mediagoblin/bits/body_end.html' %}
|
|
</body>
|
|
</html>
|