1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <!-- base_content.html -->
3 {% load i18n extra_tags extra_filters ui_registry %}
4 <html xmlns="http://www.w3.org/1999/xhtml">
5 <head>{% block after_head_js %}{% endblock %}
6 <title>{% block fulltitle %}{% block title %}{% endblock %} - {{ settings.APP_SHORT_NAME }}{% endblock %}</title>
7 <meta name="description" content="{% block metadescription %}{{ settings.APP_DESCRIPTION }}{% endblock %}" />
8 <meta name="keywords" content="{% block metakeywords %}{{ settings.APP_KEYWORDS }}{% endblock %}" />
9 {% block meta %}{% endblock %}
10 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
11 {% if settings.GOOGLE_SITEMAP_CODE %}
12 <meta name="google-site-verification" content="{{ settings.GOOGLE_SITEMAP_CODE }}" />
14 <link rel="shortcut icon" href="{{ settings.APP_FAVICON }}" />
15 <link href="{% media "/media/style/style.css" %}" rel="stylesheet" type="text/css" />
16 {% if settings.USE_CUSTOM_CSS|or_preview:request %}
17 <link href="{% url "custom_css" %}" rel="stylesheet" type="text/css" />
19 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.24/themes/base/jquery-ui.min.css" integrity="sha512-Lzjd1ELD6YCIwIU5uaJldvbibV5Fi7HThNZjrwJHALBJRT6q2a6ndgi8TNgcKcUqGsH6bpT7xyTEi8qRzN1ASg==" crossorigin="anonymous" />
21 <style type="text/css">
22 img, div, a { behavior: url({% media "/media/iepngfix/iepngfix.htc" %}) }
25 {% block forestyle %}{% endblock %}
27 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.4.4/jquery.min.js" integrity="sha512-tcexmm0PBc+jOn9UwbgHVpjZIleEKXif1MCkzgNfVjhXKDxwYumrCOxhZ5tIaXHz2DpEE14hfjFn5J+tpaFSCg==" crossorigin="anonymous"></script>
28 <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js" integrity="sha512-leN1LJ2B5s9cBINeKL5bbT3cQvOebXsezoYGyuMq9oaytpFJgJ1uBOU86lJZObKTFLbMHqP0zFXR/1N6Nnlskw==" crossorigin="anonymous"></script>
29 <script type="text/javascript">
31 var i18nLang = '{{ settings.LANGUAGE_CODE }}';
32 var appUrl = '{{ settings.APP_URL }}'
33 var scriptUrl = '{{ settings.FORCE_SCRIPT_NAME }}/'
34 var osqaSkin = '{{ settings.OSQA_SKIN }}';
37 username: '{{ user.username }}',
38 confirm: "{% trans "Are you sure?" %}",
39 yes: "{% trans "Yes" %}",
40 no: "{% trans "No" %}",
41 message: "{% trans "Message:" %}",
42 cancel: "{% trans "Cancel" %}",
43 close: "{% trans "Close" %}",
44 ok: "{% trans "Ok" %}",
45 matching_tags_url: "{% url "matching_tags" %}",
46 word: "{% trans "word" %}",
47 words: "{% trans "words" %}",
48 character: "{% trans "character" %}",
49 characters: "{% trans "characters" %}"
53 <script type="text/javascript" src="{% media "/media/js/osqa.main.js" %}"></script>
54 {% if user_messages %}
55 <style type="text/css">
56 body { margin-top:2.4em; }
58 <script type="text/javascript">
59 $(document).ready(function() {
60 var element = $('#validate_email_alert');
61 element.click(function(){notify.close(true);})
66 {% if settings.USE_CUSTOM_HEAD|or_preview:request %}
67 {{ settings.CUSTOM_HEAD|or_preview:request|safe }}
69 {% block forejs %}{% endblock %}
70 <link rel="search" type="application/opensearchdescription+xml" href="{% url "opensearch" %}" title="{{ settings.APP_SHORT_NAME }} Search" />
71 {% loadregistry head_content %}{% endloadregistry %}
75 {% if settings.USE_CUSTOM_HEADER|or_preview:request %}
76 <div id="custom_header">
77 {{ settings.CUSTOM_HEADER|or_preview:request|static_content:settings.CUSTOM_HEADER_RENDER_MODE }}
80 {% include "header.html" %}
81 {% block page_center %}
89 <div id="tail" style="clear:both;">
94 <div class="spacer3"></div>
97 {% if settings.USE_CUSTOM_FOOTER|or_preview:request %}
98 {% ifequal settings.CUSTOM_FOOTER_MODE|or_preview:request "above" %}
99 <div id="custom_footer">
100 {{ settings.CUSTOM_FOOTER|or_preview:request|static_content:settings.CUSTOM_FOOTER_RENDER_MODE }}
104 {% ifequal settings.CUSTOM_FOOTER_MODE|or_preview:request "replace" %}
105 {{ settings.CUSTOM_FOOTER|or_preview:request|static_content:settings.CUSTOM_FOOTER_RENDER_MODE }}
107 {% include "footer.html" %}
110 {% ifequal settings.CUSTOM_FOOTER_MODE|or_preview:request "below" %}
111 <div id="custom_footer">
112 {{ settings.CUSTOM_FOOTER|or_preview:request|static_content:settings.CUSTOM_FOOTER_RENDER_MODE }}
117 {% include "footer.html" %}
122 {% if settings.GOOGLE_ANALYTICS_KEY %}
123 <script type="text/javascript">
124 var _gaq = _gaq || [];
125 _gaq.push(['_setAccount', '{{ settings.GOOGLE_ANALYTICS_KEY }}']);
126 _gaq.push(['_trackPageview']);
129 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
130 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
131 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
137 <!-- Put all elements with fixed position here, IE6 fixed position fix: http://ryanfait.com/position-fixed-ie6/ -->
138 <div class="notify" style="display:none">
140 {% if user_messages %}
141 {% for message in user_messages %}
142 <p class="darkred">{{ message }}</p>
146 <a id="close-notify" onclick="notify.close(true)">×</a>
150 <!-- end template base_content.html -->