]> git.proxmox.com Git - pmg-api.git/blobdiff - src/PMG/Service/pmgproxy.pm
pmgproxy: implement cache workaround
[pmg-api.git] / src / PMG / Service / pmgproxy.pm
index 4263f391f077f248e1511525fcdb87b7f19a5992..e88d757e34381800317095308154c3e9326d36f2 100755 (executable)
@@ -35,7 +35,7 @@ my %daemon_options = (
     leave_children_open_on_reload => 1,
     setuid => 'www-data',
     setgid => 'www-data',
-    pidfile => '/var/run/pmgproxy/pmgproxy.pid',
+    pidfile => '/run/pmgproxy/pmgproxy.pid',
 );
 
 my $daemon = __PACKAGE__->new('pmgproxy', $cmdline, %daemon_options);
@@ -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',
@@ -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;