1 | <!DOCTYPE html> |
---|
2 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
---|
3 | |
---|
4 | <head> |
---|
5 | <meta http-equiv="content-type" content="text/html; charset=utf-8" /> |
---|
6 | <meta http-equiv="P3P" content="CP=\"IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA\"" /> |
---|
7 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
---|
8 | <title>{{=response.title or URL()}}</title> |
---|
9 | {{ |
---|
10 | response.files.append(URL('static','css/bootstrap.min.css')) |
---|
11 | response.files.append(URL('static','css/bootstrap_essentials.css')) |
---|
12 | response.files.append(URL('static','css/bootstrap-responsive.min.css')) |
---|
13 | }} |
---|
14 | {{include 'web2py_ajax.html'}} |
---|
15 | </head> |
---|
16 | |
---|
17 | <body class="{{=T('direction: ltr') == 'direction: rtl' and 'RTLbody' or ''}} {{block sectionclass}}home{{end}}"> |
---|
18 | |
---|
19 | <!-- NAVBAR |
---|
20 | ============== --> |
---|
21 | <div id="header" class="navbar navbar-inverse navbar-fixed-top"> |
---|
22 | <div class="navbar-inner"> |
---|
23 | <div class="container-fluid"> |
---|
24 | <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> |
---|
25 | <span class="icon-bar"></span> |
---|
26 | <span class="icon-bar"></span> |
---|
27 | <span class="icon-bar"></span> |
---|
28 | </button> |
---|
29 | <div id="start" class="brand_wrapper"> |
---|
30 | <a href="{{=URL('default', 'index')}}" class="button brand" ><span>web2py™ {{=T('administrative interface')}}</span></a> |
---|
31 | </div> |
---|
32 | <div class="nav-collapse"> |
---|
33 | {{if response.menu is not None:}} |
---|
34 | <ul id="menu" class="nav pull-right"> |
---|
35 | {{for _name,_active,_link in response.menu:}} |
---|
36 | <li>{{=A(SPAN(_name), _href=_link, _class=_active and 'button select' or 'button')}}</li> |
---|
37 | {{pass}} |
---|
38 | </ul> |
---|
39 | {{pass}} |
---|
40 | </div><!--/.nav-collapse --> |
---|
41 | </div><!-- /container-fluid --> |
---|
42 | </div><!-- /navbar-inner --> |
---|
43 | </div><!-- /#header --> |
---|
44 | |
---|
45 | <!-- MAIN |
---|
46 | =========== --> |
---|
47 | <div id="{{=globals().get('main_id', 'main')}}" class="container-fluid"> |
---|
48 | <div id="main_inner" class="row-fluid"> |
---|
49 | <div class="span12"> |
---|
50 | <div class="w2p_flash alert">{{=response.flash or ''}}</div> |
---|
51 | {{include}} |
---|
52 | </div><!-- /main span12 --> |
---|
53 | </div><!-- /main row-fluid --> |
---|
54 | </div><!-- /#main --> |
---|
55 | |
---|
56 | <!-- FOOTER |
---|
57 | ============== --> |
---|
58 | {{block footer}} |
---|
59 | <footer id="footer" class="fixed"> |
---|
60 | <p><span>{{=T('Powered by')}} {{=A('web2py', _href='http://www.web2py.com')}}™ {{=T('created by')}} Massimo Di Pierro ©2007-{{=request.now.year}} |
---|
61 | {{if hasattr(T,'get_possible_languages_info'):}} |
---|
62 | - {{=T('Admin language')}}</span> |
---|
63 | <select name="adminlanguage" onchange="var date = new Date();cookieDate=date.setTime(date.getTime()+(100*24*60*60*1000));document.cookie='adminLanguage='+this.options[this.selectedIndex].id+'; expires='+cookieDate+'; path=/';window.location.reload()"> |
---|
64 | {{for langinfo in sorted([(code,info[1]) for code,info in iteritems(T.get_possible_languages_info()) if code != 'default']):}} |
---|
65 | <option {{=T.accepted_language==langinfo[0] and 'selected' or ''}} {{='id='+langinfo[0]}} >{{=langinfo[1]}}</option> |
---|
66 | {{pass}} |
---|
67 | </select> |
---|
68 | {{else:}} |
---|
69 | </span>{{pass}} |
---|
70 | </p> |
---|
71 | </footer><!-- /#footer --> |
---|
72 | {{end}} |
---|
73 | |
---|
74 | <!-- BS JAVASCRIPT |
---|
75 | ====================== --> |
---|
76 | <script src="{{=URL('static','js/bootstrap.min.js')}}"></script> |
---|
77 | <script type="text/javascript"> |
---|
78 | jQuery(document).ready(function(){ |
---|
79 | jQuery("[rel=tooltip]").tooltip(); |
---|
80 | jQuery(":input").attr("autocomplete","off"); |
---|
81 | }); |
---|
82 | </script> |
---|
83 | <script> |
---|
84 | // ==================== |
---|
85 | // upload input mask |
---|
86 | // ==================== |
---|
87 | |
---|
88 | function FileSelectHandler(e) { |
---|
89 | e.stopPropagation(); |
---|
90 | var filename = e.target.value.split(/\\|\//).pop(); |
---|
91 | jQuery('#fileselect>span').removeClass('txtPlaceholder').text(filename) |
---|
92 | } |
---|
93 | |
---|
94 | jQuery(document).ready(function(){ |
---|
95 | var iupload = jQuery('#appupdate_file'); |
---|
96 | var ow = 300, oh = 20; |
---|
97 | var iplaceholder = jQuery('<span class="txtPlaceholder">{{=T("no package selected")}}</span>'), |
---|
98 | iuploadbtn = jQuery('<button class="btn btn-inverse btn-mini uploadbtn"><i class="icon-white icon-circle-arrow-up"></i></button>'); |
---|
99 | iupload |
---|
100 | .addClass('masked') |
---|
101 | .wrap('<div id="fileselect" style="width:'+ow+'px;height:'+oh+'px"></div>') |
---|
102 | .on('change', function(event){FileSelectHandler(event)}); |
---|
103 | jQuery('#fileselect').append(iplaceholder, iuploadbtn); |
---|
104 | }); |
---|
105 | </script> |
---|
106 | |
---|
107 | {{if request.function in ('index','site'):}} |
---|
108 | <a style="position:fixed;bottom:0;left:0;z-index:1000" href="https://groups.google.com/forum/?fromgroups#!forum/web2py" target="_blank"> |
---|
109 | <!-- http://webchat.freenode.net/?channels=web2py" //--> |
---|
110 | <img src="{{=URL('static','images/questions.png')}}" /> |
---|
111 | </a> |
---|
112 | {{pass}} |
---|
113 | </body> |
---|
114 | </html> |
---|