From 5952e8ed7a1deffe8766f4ffb4cd6f97ba803d06 Mon Sep 17 00:00:00 2001 From: Wilmer Ricciotti Date: Thu, 23 Jun 2011 14:03:05 +0000 Subject: [PATCH] Added matitaweb administration panel. --- matitaB/matita/admin.html | 13 +++++++++++++ matitaB/matita/matitaAuthentication.ml | 7 +++++++ matitaB/matita/matitaAuthentication.mli | 2 ++ matitaB/matita/matitaFilesystem.ml | 5 +++++ matitaB/matita/matitaFilesystem.mli | 2 ++ matitaB/matita/matitadaemon.ml | 14 ++++++++++++++ 6 files changed, 43 insertions(+) create mode 100644 matitaB/matita/admin.html diff --git a/matitaB/matita/admin.html b/matitaB/matita/admin.html new file mode 100644 index 000000000..a10a4a5d9 --- /dev/null +++ b/matitaB/matita/admin.html @@ -0,0 +1,13 @@ + + + + +

Matitaweb Administration Panel

+

+

+ Reset user tables, delete user libraries + +
+

+ + diff --git a/matitaB/matita/matitaAuthentication.ml b/matitaB/matita/matitaAuthentication.ml index ad6bec47d..a183bc420 100644 --- a/matitaB/matita/matitaAuthentication.ml +++ b/matitaB/matita/matitaAuthentication.ml @@ -120,3 +120,10 @@ let add_user uid pw = user_tbl := (uid,(pw,None))::!user_tbl; serialize () ;; + +let reset () = + user_tbl := []; + session_tbl := []; + MatitaFilesystem.reset_lib (); + serialize (); +;; diff --git a/matitaB/matita/matitaAuthentication.mli b/matitaB/matita/matitaAuthentication.mli index e47df783c..41f0304af 100644 --- a/matitaB/matita/matitaAuthentication.mli +++ b/matitaB/matita/matitaAuthentication.mli @@ -52,3 +52,5 @@ val serialize : unit -> unit val deserialize : unit -> unit val add_user : string -> string -> unit + +val reset : unit -> unit diff --git a/matitaB/matita/matitaFilesystem.ml b/matitaB/matita/matitaFilesystem.ml index 4abdf6c28..aef55c3b6 100644 --- a/matitaB/matita/matitaFilesystem.ml +++ b/matitaB/matita/matitaFilesystem.ml @@ -108,3 +108,8 @@ let html_of_library uid = prerr_endline "BEGIN TREE";prerr_endline res;prerr_endline "END TREE"; res ;; + +let reset_lib () = + let to_be_removed = (Helm_registry.get "matita.rt_base_dir") ^ "/users/*" in + Sys.command ("rm -rf " ^ to_be_removed) +;; diff --git a/matitaB/matita/matitaFilesystem.mli b/matitaB/matita/matitaFilesystem.mli index e04500e28..275ebff5b 100644 --- a/matitaB/matita/matitaFilesystem.mli +++ b/matitaB/matita/matitaFilesystem.mli @@ -3,3 +3,5 @@ exception SvnError of string;; val checkout : string -> unit val html_of_library : string -> string + +val reset_lib : unit -> unit diff --git a/matitaB/matita/matitadaemon.ml b/matitaB/matita/matitadaemon.ml index 92b1ce45c..c1bcab0d7 100644 --- a/matitaB/matita/matitadaemon.ml +++ b/matitaB/matita/matitadaemon.ml @@ -431,6 +431,20 @@ let viewLib (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = ;; +let resetLib (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = + let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in + MatitaAuthentication.reset (); + cgi # set_header + ~cache:`No_cache + ~content_type:"text/html; charset=\"utf-8\"" + (); + + cgi#out_channel#output_string + ("\n" ^ + "Matitaweb Reset\n" ^ + "

Reset completed

"); + cgi#out_channel#commit_work() + open Netcgi1_compat.Netcgi_types;; (**********************************************************************) -- 2.39.2