Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | refactored to add a shared submenu. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
da106eb09c0706c25486be85884e1b8c |
User & Date: | stephan 2008-02-08 19:57:14.000 |
Context
2008-02-08
| ||
21:33 | zip.c: Refactored zip_of_baseline() to accept an (optional) "synthetic" directory name. All zipped files are added to that subdir. The default name is currently the UUID of the zipped baseline. ... (check-in: 974fd923 user: stephan tags: trunk) | |
19:57 | refactored to add a shared submenu. ... (check-in: da106eb0 user: stephan tags: trunk) | |
19:54 | added a link (for admin users only) to the admin page ... (check-in: c4d6b89e user: stephan tags: trunk) | |
Changes
Changes to src/admin.c.
︙ | ︙ | |||
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | rc = SQLITE_OK; break; } } return rc; } /* ** WEBPAGE: /admin/sql */ void admin_sql_page(void){ const char *zSql = PD("sql",""); login_check_credentials(); if( !g.okAdmin ){ login_needed(); return; } style_header("Admin SQL"); | > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | rc = SQLITE_OK; break; } } 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",""); login_check_credentials(); if( !g.okAdmin ){ login_needed(); return; } admin_prepare_submenu(); style_header("Admin SQL"); @ <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> @ <br/><input type='submit' name='sql_submit'/> <input type='reset'/> @ </form> 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(); } |