{#
# 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">&#9660;</a>
                    <a href="javascript:;"
                       class="button_action header_dropdown_up"
                       aria-controls="header_dropdown">&#9650;</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>
                    &middot;
                    <a href="{{ request.urlgen('mediagoblin.edit.account') }}">{%- trans %}Change account settings{% endtrans -%}</a>
                    &middot;
                    <a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
                                                 user=request.user.username) }}">
                      {%- trans %}Media processing panel{% endtrans -%}
                    </a>
                    &middot;
                    {% 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>
                      &middot;
                      <a href="{{ request.urlgen('mediagoblin.moderation.users') }}">
                        {%- trans %}User management panel{% endtrans -%}
                      </a>
                      &middot;
                      <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>
