More describers
[hcoop/domtool2.git] / src / plugins / webalizer.sml
index 313a582..d708dba 100644 (file)
@@ -32,10 +32,7 @@ val () = Apache.registerPre
                                                                   name = id ^ ".wbl"}
                                   in
                                       TextIO.output (fd, "LogFile\t");
-                                      TextIO.output (fd, Config.homeBase);
-                                      TextIO.output (fd, "/apache/log/");
-                                      TextIO.output (fd, node);
-                                      TextIO.output (fd, hostname);
+                                      TextIO.output (fd, Apache.logDir {user = user, node = node, vhostId = hostname});
                                       TextIO.output (fd, "/access.log\nOutputDir\t");
                                       TextIO.output (fd, Config.Webalizer.outputDir);
                                       TextIO.output (fd, "/");
@@ -48,7 +45,7 @@ val () = Apache.registerPre
             in
                 files := fds;
                 write := (fn s => app (fn fd => TextIO.output (fd, s)) fds);
-                !write "Hostname\t";
+                !write "HostName\t";
                 !write hostname;
                 !write "\nHideSite\t";
                 !write hostname;
@@ -80,12 +77,16 @@ val () = Slave.registerFileHandler (fn fs =>
                                                                                ^ " -f "
                                                                                ^ Config.Webalizer.configDir
                                                                                ^ "/"
+                                                                               ^ Slave.hostname ()
+                                                                               ^ "/"
                                                                                ^ base
                                                                                ^ ".conf"));
                                                     ignore (OS.Process.system (Config.rm
                                                                                ^ " -rf "
                                                                                ^ Config.Webalizer.outputDir
                                                                                ^ "/"
+                                                                               ^ Slave.hostname ()
+                                                                               ^ "/"
                                                                                ^ base)))
                                                  | _ =>
                                                    (ignore (OS.Process.system (Config.cp
@@ -94,22 +95,29 @@ val () = Slave.registerFileHandler (fn fs =>
                                                                                ^ " "
                                                                                ^ Config.Webalizer.configDir
                                                                                ^ "/"
+                                                                               ^ Slave.hostname ()
+                                                                               ^ "/"
                                                                                ^ base
                                                                                ^ ".conf"));
                                                     let
-                                                        val dir = Config.Webalizer.outputDir ^ "/" ^ base
+                                                        val dir = Config.Webalizer.outputDir ^ "/" ^ Slave.hostname () ^ "/" ^ base
                                                     in
                                                         if Posix.FileSys.access (dir, []) then
                                                             ()
                                                         else
-                                                            Posix.FileSys.mkdir (dir, Posix.FileSys.S.flags
-                                                                                          [Posix.FileSys.S.iroth,
-                                                                                           Posix.FileSys.S.ixoth,
-                                                                                           Posix.FileSys.S.irwxu,
-                                                                                           Posix.FileSys.S.irgrp,
-                                                                                           Posix.FileSys.S.iwgrp])
+                                                            OS.FileSys.mkDir dir
                                                     end))
                                             | _ => ()
                                       end)
 
+val () = Domain.registerResetLocal (fn () =>
+                                      app (fn (node, _) =>
+                                              ignore (OS.Process.system (Config.rm ^ " -rf "
+                                                                         ^ Config.Webalizer.configDir ^ "/"
+                                                                         ^ node ^ "/*"))) Config.nodeIps)
+
+val () = Domain.registerDescriber (Domain.considerAll
+                                  [Domain.Extension {extension = "wbl",
+                                                     heading = fn host => "Webalizer config for " ^ host}])
+
 end