package PVE::ExtJSIndex; use strict; use warnings; sub get_index { my ($lang, $username, $csrftoken, $console) = @_; my $page = <<_EOD; <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=10"> <title>Proxmox Virtual Environment</title> <link rel="stylesheet" type="text/css" href="/pve2/ext4/resources/css/ext-all.css" /> <link rel="stylesheet" type="text/css" href="/pve2/css/ext-pve.css" /> _EOD my $langfile = "/usr/share/pve-manager/locale/pve-lang-${lang}.js"; if (-f $langfile) { $page .= "<script type='text/javascript' src='/pve2/locale/pve-lang-${lang}.js'></script>"; } else { $page .= '<script type="text/javascript">function gettext(buf) { return buf; }</script>'; } $page .= <<_EOD; <script type="text/javascript" src="/pve2/ext4/ext-all-debug.js"></script> <script type="text/javascript" src="/pve2/ext4/pvemanagerlib.js"></script> <script type="text/javascript" src="/pve2/ext4/locale/ext-lang-${lang}.js"></script> _EOD my $jssrc = <<_EOJS; if (typeof(PVE) === 'undefined') PVE = {}; PVE.UserName = '$username' PVE.CSRFPreventionToken = '$csrftoken'; _EOJS my $workspace = defined($console) ? "PVE.ConsoleWorkspace" : "PVE.StdWorkspace"; $jssrc .= <<_EOJS; // we need this (the java applet ignores the zindex) Ext.useShims = true; Ext.History.fieldid = 'x-history-field'; Ext.onReady(function() { Ext.create('$workspace');}); _EOJS $page .= <<_EOD; <script type="text/javascript">$jssrc</script> </head> <body> <!-- Fields required for history management --> <form id="history-form" class="x-hidden"> <input type="hidden" id="x-history-field"/> </form> </body> </html> _EOD return $page; } 1;