-#!/usr/bin/perl\r
-#\r
-# Copyright (C) 2006 Luke Reeves\r
-#\r
-# This program is free software; you can redistribute it and/or modify\r
-# it under the terms of the GNU General Public License as published by\r
-# the Free Software Foundation; either version 2 of the License, or\r
-# (at your option) any later version.\r
-#\r
-# This program is distributed in the hope that it will be useful,\r
-# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
-# GNU General Public License for more details.\r
-#\r
-# You should have received a copy of the GNU General Public License\r
-# along with this program; if not, write to the Free Software\r
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307\r
-# USA\r
-#\r
-\r
-use warnings;\r
-use strict;\r
-\r
-# This stub checks for libraries and what not and then calls the main program.\r
-push(@INC, "lib");\r
-\r
-if(!-e "insipid-config.cgi") {\r
- # TODO: Better error message here.\r
- show_error("Configuration file missing", "The \"insipid-config.cgi\"" .\r
- " file could not be found.");\r
-}\r
-\r
-\r
-eval {\r
- require Insipid::Main;\r
- Insipid::Main::main();\r
-};\r
-\r
-if($@) {\r
- my $errstr = $@; \r
- if($errstr =~ /Can\'t locate (.*) in/) {\r
- show_error("Couldn't find the module \"$1\".", "You may want to " .\r
- "<a href=\"http://search.cpan.org/\">search CPAN</a> " .\r
- "for the module or check the " .\r
- "<a href=\"http://www.neuro-tech.net/insipid/\">" .\r
- "Insipid</a> homepage for more information.");\r
- } elsif (\r
- ($errstr =~ /Couldn\'t acquire lock on id/) ||\r
- ($errstr =~ /doesn\'t exist/) ||\r
- ($errstr =~ /relation \".*\" does not exist/) ) {\r
- # This means that a database connection was established but the\r
- # tables were not found.\r
- eval {\r
- require Insipid::Database;\r
- Insipid::Database::install();\r
- };\r
-\r
- if($@) {\r
- show_error("Database error", "There was a problem " . \r
- "creating the database tables required by Insipid.");\r
- }\r
- } else {\r
- print "Content-Type: text/plain\r\n\r\nError: $@\r\n";\r
- }\r
-}\r
-\r
-sub show_error {\r
- my ($subject, $body) = (@_);\r
- print "Content-Type: text/html\r\n\r\n";\r
- print "<html><head><title>Insipid Error</title></head>";\r
- print "<body>";\r
- print "<h2>$subject</h2>";\r
- print "<p><font size=\"+1\"></font></p>";\r
- print "<p><font size=\"+1\">$body";\r
- print "</font></p></body></html>";\r
- exit;\r
-}\r
+#!/usr/bin/perl
+#
+# Copyright (C) 2006 Luke Reeves
+#
+# 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
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA
+#
+
+use warnings;
+use strict;
+
+# This stub checks for libraries and what not and then calls the main program.
+push(@INC, "lib");
+
+if(!-e "insipid-config.cgi") {
+ # TODO: Better error message here.
+ show_error("Configuration file missing", "The \"insipid-config.cgi\"" .
+ " file could not be found.");
+}
+
+
+eval {
+ require Insipid::Main;
+ Insipid::Main::main();
+};
+
+if($@) {
+ my $errstr = $@;
+ if($errstr =~ /Can\'t locate (.*) in/) {
+ show_error("Couldn't find the module \"$1\".", "You may want to " .
+ "<a href=\"http://search.cpan.org/\">search CPAN</a> " .
+ "for the module or check the " .
+ "<a href=\"http://www.neuro-tech.net/insipid/\">" .
+ "Insipid</a> homepage for more information.");
+ } elsif (
+ ($errstr =~ /Couldn\'t acquire lock on id/) ||
+ ($errstr =~ /doesn\'t exist/) ||
+ ($errstr =~ /relation \".*\" does not exist/) ) {
+ # This means that a database connection was established but the
+ # tables were not found.
+ eval {
+ require Insipid::Database;
+ Insipid::Database::install();
+ };
+
+ if($@) {
+ show_error("Database error", "There was a problem " .
+ "creating the database tables required by Insipid:",
+ $errstr);
+ }
+ } else {
+ print "Content-Type: text/plain\r\n\r\nError: $@\r\n";
+ }
+}
+
+sub show_error {
+ my ($subject, $body, $error) = (@_);
+ print "Content-Type: text/html\r\n\r\n";
+ print "<html><head><title>Insipid Error</title></head>";
+ print "<body>";
+ print "<h2>$subject</h2>";
+ print "<p><font size=\"+1\"></font></p>";
+ print "<p><font size=\"+1\">$body";
+ print "</font></p>";
+
+ if(defined($error)) {
+ print '<pre>' . $error . '</pre>';
+ }
+
+ print '</body></html>';
+ exit;
+}