]> git.proxmox.com Git - pve-manager.git/blob - PVE/ExtJSIndex5.pm
Change source attribute of javascript include to point to our manager5 directory.
[pve-manager.git] / PVE / ExtJSIndex5.pm
1 package PVE::ExtJSIndex5;
2
3 use strict;
4 use warnings;
5
6 sub get_index {
7 my ($lang, $username, $csrftoken, $console) = @_;
8
9 my $page = <<_EOD;
10 <!DOCTYPE html>
11 <html>
12 <head>
13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
14 <title>Proxmox Virtual Environment</title>
15
16 <link rel="stylesheet" type="text/css" href="/pve2/ext5/packages/ext-theme-classic/build/resources/ext-theme-classic-all.css" />
17 <link rel="stylesheet" type="text/css" href="/pve2/css/ext-pve.css" />
18 _EOD
19
20 my $langfile = "/usr/share/pve-manager/locale/pve-lang-${lang}.js";
21 if (-f $langfile) {
22 $page .= "<script type='text/javascript' src='/pve2/locale/pve-lang-${lang}.js'></script>";
23 } else {
24 $page .= '<script type="text/javascript">function gettext(buf) { return buf; }</script>';
25 }
26
27 $page .= <<_EOD;
28 <script type="text/javascript" src="/pve2/ext5/ext-all-debug.js"></script>
29 <script type="text/javascript" src="/pve2/manager5/Utils.js"></script>
30 <script type="text/javascript" src="/pve2/ext5/packages/ext-locale/build/ext-locale-${lang}.js"></script>
31 _EOD
32
33 my $jssrc = <<_EOJS;
34 if (typeof(PVE) === 'undefined') PVE = {};
35 PVE.UserName = '$username'
36 PVE.CSRFPreventionToken = '$csrftoken';
37 _EOJS
38
39 my $workspace = defined($console) ?
40 "PVE.ConsoleWorkspace" : "PVE.StdWorkspace";
41
42 $jssrc .= <<_EOJS;
43 // we need this (the java applet ignores the zindex)
44 Ext.useShims = true;
45 Ext.History.fieldid = 'x-history-field';
46 Ext.onReady(function() {
47 console.log(Ext.getVersion().version);
48 Ext.create('$workspace');
49 });
50 _EOJS
51
52 $page .= <<_EOD;
53 <script type="text/javascript">$jssrc</script>
54
55 </head>
56 <body>
57 <!-- Fields required for history management -->
58 <form id="history-form" class="x-hidden">
59 <input type="hidden" id="x-history-field"/>
60 </form>
61 </body>
62 </html>
63 _EOD
64
65 return $page;
66
67 }
68
69 1;