]> git.proxmox.com Git - pmg-api.git/blobdiff - src/PMG/Service/pmgproxy.pm
ensure compatibility with libpve-http-server-perl
[pmg-api.git] / src / PMG / Service / pmgproxy.pm
index 9e3ed3def053d8ea83b96d48c4c0ed32c12df556..ea58b5082182ff679ee8e83902f4a01a975d16be 100755 (executable)
@@ -47,9 +47,11 @@ sub add_dirs {
 }
 
 my $gui_base_dir = "/usr/share/javascript/pmg-gui";
+my $extjs_dir = "/usr/share/javascript/extjs/";
 my $fontawesome_dir = "/usr/share/fonts-font-awesome";
 my $xtermjs_dir = '/usr/share/pve-xtermjs';
 my $framework7_dir = '/usr/share/javascript/framework7';
+my $widgettoolkit_dir = '/usr/share/javascript/proxmox-widget-toolkit';
 
 sub init {
     my ($self) = @_;
@@ -67,7 +69,7 @@ sub init {
     my $dirs = {};
 
     add_dirs($dirs, '/pve2/locale/', '/usr/share/pmg-i18n/');
-    add_dirs($dirs, '/pve2/ext6/', '/usr/share/javascript/extjs/');
+    add_dirs($dirs, '/pve2/ext6/', $extjs_dir);
     add_dirs($dirs, '/pve2/images/' => "$gui_base_dir/images/");
     add_dirs($dirs, '/pve2/css/' => "$gui_base_dir/css/");
     add_dirs($dirs, '/pve2/js/' => "$gui_base_dir/js/");
@@ -78,6 +80,8 @@ sub init {
     add_dirs($dirs, '/framework7/js/' => "$framework7_dir/js/");
     add_dirs($dirs, '/xtermjs/' => "$xtermjs_dir/");
     add_dirs($dirs, '/pmg-docs/' => '/usr/share/pmg-docs/');
+    add_dirs($dirs, '/pmg-docs/api-viewer/extjs/' => $extjs_dir);
+    add_dirs($dirs, '/pwt/css/' => "$widgettoolkit_dir/css/");
 
     $self->{server_config} = {
        title => 'Proxmox Mail Gateway API',
@@ -188,7 +192,7 @@ sub get_index {
                $lang = $newlang;
            }
        }
-       my $ticket = PVE::APIServer::Formatter::extract_auth_cookie($cookie, $server->{cookie_name});
+       my $ticket = PVE::APIServer::Formatter::extract_auth_value($cookie, $server->{cookie_name});
 
        if ($ticket =~ m/^PMGQUAR:/) {
            $username = PMG::Ticket::verify_quarantine_ticket($ticket, 1);
@@ -211,6 +215,19 @@ sub get_index {
        $langfile = 1;
     }
 
+    my $wtversionraw = PVE::Tools::file_read_firstline("$widgettoolkit_dir/proxmoxlib.js");
+    my $wtversion = '';
+    if ($wtversionraw =~ m|^// (.*)$|) {
+       $wtversion = $1;
+    };
+
+    my $versionraw = PVE::Tools::file_read_firstline("$gui_base_dir/js/pmgmanagerlib.js");
+    my $version = '';
+    if ($versionraw =~ m|^// (.*)$|) {
+       $version = $1;
+    };
+
+
     $username = '' if !$username;
 
     my $page = '';
@@ -223,6 +240,8 @@ sub get_index {
        console => $args->{console},
        nodename => $nodename,
        debug => $args->{debug} || $server->{debug},
+       version => $version,
+       wtversion => $wtversion,
     };
 
     my $template_name;