- changed required File::RsyncP version to 0.50.
[BackupPC.git] / cgi-bin / BackupPC_Admin
index c99ba4c..32293df 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/perl -T
+#!/bin/perl
 #============================================================= -*-perl-*-w
 #
 # BackupPC_Admin: Apache/CGI interface for BackupPC.
@@ -39,7 +39,7 @@
 #
 #========================================================================
 #
-# Version 2.1.0_CVS, released 3 Jul 2003.
+# Version 2.1.0_CVS, released 8 Feb 2004.
 #
 # See http://backuppc.sourceforge.net.
 #
@@ -61,6 +61,7 @@ my %ActionDispatch = (
     $Lang->{Start_Incr_Backup}   => "StartStopBackup",
     $Lang->{Start_Full_Backup}   => "StartStopBackup",
     $Lang->{Stop_Dequeue_Backup} => "StartStopBackup",
+    $Lang->{Stop_Dequeue_Archive} => "StartStopBackup",
     "queue"                     => "Queue",
     "view"                      => "View",
     "LOGlist"                   => "LOGlist",
@@ -72,14 +73,36 @@ my %ActionDispatch = (
     "hostInfo"                  => "HostInfo",
     "generalInfo"               => "GeneralInfo",
     "restoreInfo"               => "RestoreInfo",
+    "archiveInfo"               => "ArchiveInfo",
+    $Lang->{Start_Archive}       => "Archive",
+    "Archive"                    => "Archive",
+    "Reload"                     => "ReloadServer",
+    "startServer"                => "StartServer",
+    "Stop"                       => "StopServer",
+    "adminOpts"                  => "AdminOptions",
 );
 
 #
 # Set default actions, then call sub handler
 #
 $In{action} ||= "hostInfo"    if ( defined($In{host}) );
+## rk default non admin users to pc summary for their hosts
+$In{action}   = "summary" if ( !defined($ActionDispatch{$In{action}}) && !CheckPermission());
 $In{action}   = "generalInfo" if ( !defined($ActionDispatch{$In{action}}) );
 my $action    = $ActionDispatch{$In{action}};
+
+#
+# For some reason under mod_perl, the use lib above is unreliable,
+# and sometimes the module below cannot be found.  Explicitly push
+# the directory onto INC if it is missing.  This is an ugly hack;
+# need to figure out what's really going on...
+#
+my $installDir = '/usr/local/BackupPC/lib';
+push(@INC, $installDir) if ( !grep($_ eq $installDir, @INC) );
+
+#
+# Load the relevant action script and run it
+#
 require "BackupPC/CGI/$action.pm"
            if ( !defined($BackupPC::CGI::{"${action}::"}) );
 $BackupPC::CGI::{"${action}::"}{action}();