session monitor updates
[freeside.git] / FS / FS / CGI.pm
index 47c034e..198477c 100644 (file)
@@ -123,9 +123,14 @@ Sends headers and an HTML error message, then exits.
 sub eidiot {
   #warn "eidiot depriciated";
   idiot(@_);
-  #exit;
-  use Apache;
-  Apache::exit;
+  if (exists $ENV{MOD_PERL}) {
+    eval {
+      use Apache;
+      Apache::exit();
+    };
+  } else {
+    exit;
+  }
 }
 
 =item popurl LEVEL
@@ -136,8 +141,8 @@ Returns current URL with LEVEL levels of path removed from the end (default 0).
 
 sub popurl {
   my($up)=@_;
-  my($cgi)=&FS::UID::cgi;
-  my($url)=new URI::URL $cgi->url;
+  my $cgi = &FS::UID::cgi;
+  my $url = new URI::URL ( $cgi->isa('Apache') ? $cgi->uri : $cgi->url );
   my(@path)=$url->path_components;
   splice @path, 0-$up;
   $url->path_components(@path);