-#!/bin/perl -T
+#!/usr/bin/perl
#============================================================= -*-perl-*-w
#
# BackupPC_Admin: Apache/CGI interface for BackupPC.
# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2001-2003 Craig Barratt
+# Copyright (C) 2001-2009 Craig Barratt
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
#========================================================================
#
-# Version 2.1.0_CVS, released 3 Jul 2003.
+# Version 3.2.0, released 31 Jul 2010.
#
# See http://backuppc.sourceforge.net.
#
my %ActionDispatch = (
"summary" => "Summary",
- $Lang->{Start_Incr_Backup} => "StartStopBackup",
- $Lang->{Start_Full_Backup} => "StartStopBackup",
- $Lang->{Stop_Dequeue_Backup} => "StartStopBackup",
+ "search" => "SearchArchives",
+ "burn" => "BurnMedia",
+ "Start_Incr_Backup" => "StartStopBackup",
+ "Start_Full_Backup" => "StartStopBackup",
+ "Stop_Dequeue_Backup" => "StartStopBackup",
+ "Stop_Dequeue_Archive" => "StartStopBackup",
"queue" => "Queue",
"view" => "View",
"LOGlist" => "LOGlist",
"emailSummary" => "EmailSummary",
"browse" => "Browse",
"dirHistory" => "DirHistory",
- $Lang->{Restore} => "Restore",
+ "Restore" => "Restore",
"RestoreFile" => "RestoreFile",
"hostInfo" => "HostInfo",
"generalInfo" => "GeneralInfo",
"restoreInfo" => "RestoreInfo",
+ "archiveInfo" => "ArchiveInfo",
+ "Start_Archive" => "Archive",
+ "Archive" => "Archive",
+ "Reload" => "ReloadServer",
+ "startServer" => "StartServer",
+ "Stop" => "StopServer",
+ "adminOpts" => "AdminOptions",
+ "editConfig" => "EditConfig",
+ "rss" => "RSS",
);
#
# Set default actions, then call sub handler
#
-$In{action} ||= "hostInfo" if ( defined($In{host}) );
-$In{action} = "generalInfo" if ( !defined($ActionDispatch{$In{action}}) );
-my $action = $ActionDispatch{$In{action}};
+if ( !defined($ActionDispatch{$In{action}}) ) {
+ $In{action} = defined($In{host}) ? "hostInfo" : "generalInfo";
+}
+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}();