Check-in [da106eb09c]
Not logged in
Overview

SHA1 Hash:da106eb09c0706c25486be85884e1b8cc4078008
Date: 2008-02-08 19:57:14
User: stephan
Comment:refactored to add a shared submenu.
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[hide diffs]

Modified src/admin.c from [83d1c6c6c3] to [3d7573884c].

@@ -51,10 +51,19 @@
   }
   return rc;
 }
 
 
+void admin_prepare_submenu(){
+  if( g.okAdmin ){
+    style_submenu_element("Main", "Main admin page", "%s/admin", g.zTop );
+    style_submenu_element("SQL", "SQL page", "%s/admin/sql", g.zTop );
+    style_submenu_element("Setup", "Setup page", "%s/setup", g.zTop );
+  }
+}
+
+
 /*
 ** WEBPAGE: /admin/sql
 */
 void admin_sql_page(void){
   const char *zSql = PD("sql","");
@@ -61,12 +70,13 @@
   login_check_credentials();
   if( !g.okAdmin ){
     login_needed();
     return;
   }
+  admin_prepare_submenu();
   style_header("Admin SQL");
-  @ <hr/><h2>SQL:</h2>
+  @ <h2>SQL:</h2>
   @ You can enter only SELECT statements here, and some SQL-side functions
   @ are also restricted.<br/>
   @ <form action='' method='post'>
   @ <textarea style='border:2px solid black' name='sql'
   @  cols='80' rows='5'>%h(zSql)</textarea>
@@ -75,7 +85,33 @@
   if( zSql[0] ){
     sqlite3_set_authorizer(g.db, selectOnly, 0);
     db_generic_query_view(zSql, 0);
     sqlite3_set_authorizer(g.db, 0, 0);
   }
+  style_footer();
+}
+
+/*
+** WEBPAGE: /admin
+*/
+void admin_page(void){
+  login_check_credentials();
+  if( !g.okAdmin ){
+    login_needed();
+    return;
+  }
+  if( g.zExtra && g.zExtra[0] ){
+    if(g.zExtra == strstr(g.zExtra,"sql")) admin_sql_page();
+    /* FIXME: ^^^ this ^^^ is an awful lot of work, especially once
+    ** the paths deepen. Figure out a way to simplify dispatching.
+    */
+    return;
+  }
+  admin_prepare_submenu();
+  style_header("Admin");
+  @ <h2>Links:</h2>
+  @ <ul>
+  @ <li><a href='%s(g.zBaseURL)/admin/setup'>Fossil WWW Setup</a></li>
+  @ <li><a href='%s(g.zBaseURL)/admin/sql'>Run SQL queries</a></li>
+  @ </ul>
   style_footer();
 }