Differences From:
File
src/info.c
part of check-in
[82fc5abb60]
- Cut over to the new timeline code. Remove the older timeline.
by
drh on
2008-02-26 17:57:11.
Also file
src/info.c
part of check-in
[2e84fb3e54]
- Merged with 82fc5abb60.
by
aku on
2008-02-27 04:15:47.
[view]
To:
File
src/info.c
part of check-in
[2b0d4519dc]
- Work toward making the "h" permission mean "hyperlink". Without "h",
many pages will display, but there are few hyperlinks. A message
invites users to login as anonymous.
by
drh on
2008-05-05 20:18:32.
[view]
@@ -300,9 +300,9 @@
int rid;
int isLeaf;
login_check_credentials();
- if( !g.okHistory ){ login_needed(); return; }
+ if( !g.okRead ){ login_needed(); return; }
rid = name_to_rid(PD("name","0"));
if( rid==0 ){
style_header("Version Information Error");
@ No such object: %h(g.argv[2])
@@ -320,8 +320,9 @@
if( db_step(&q)==SQLITE_ROW ){
const char *zUuid = db_column_text(&q, 0);
char *zTitle = mprintf("Baseline [%.10s]", zUuid);
style_header(zTitle);
+ login_anonymous_available();
free(zTitle);
/*@ <h2>Version %s(zUuid)</h2>*/
@ <div class="section">Overview</div>
@ <p><table class="label-value">
@@ -332,23 +333,26 @@
}
@ <tr><th>Original User:</th><td>%h(db_column_text(&q, 2))</td></tr>
@ <tr><th>Original Comment:</th><td>%w(db_column_text(&q,3))</td></tr>
@ </td></tr>
- @ <tr><th>Timelines:</th><td>
- @ <a href="%s(g.zBaseURL)/timeline?p=%d(rid)">ancestors</a>
- @ | <a href="%s(g.zBaseURL)/timeline?d=%d(rid)">descendents</a>
- @ | <a href="%s(g.zBaseURL)/timeline?d=%d(rid)&p=%d(rid)">both</a>
- @ </td></tr>
- @ <tr><th>Commands:</th>
- @ <td>
- @ <a href="%s(g.zBaseURL)/vdiff/%d(rid)">diff</a>
- @ | <a href="%s(g.zBaseURL)/zip/%s(zUuid).zip">ZIP archive</a>
- @ | <a href="%s(g.zBaseURL)/artifact/%d(rid)">manifest</a>
- @ </td>
- @ </tr>
+ if( g.okHistory ){
+ @ <tr><th>Timelines:</th><td>
+ @ <a href="%s(g.zBaseURL)/timeline?p=%d(rid)">ancestors</a>
+ @ | <a href="%s(g.zBaseURL)/timeline?d=%d(rid)">descendents</a>
+ @ | <a href="%s(g.zBaseURL)/timeline?d=%d(rid)&p=%d(rid)">both</a>
+ @ </td></tr>
+ @ <tr><th>Commands:</th>
+ @ <td>
+ @ <a href="%s(g.zBaseURL)/vdiff/%d(rid)">diff</a>
+ @ | <a href="%s(g.zBaseURL)/zip/%s(zUuid).zip">ZIP archive</a>
+ @ | <a href="%s(g.zBaseURL)/artifact/%d(rid)">manifest</a>
+ @ </td>
+ @ </tr>
+ }
@ </table></p>
}else{
style_header("Baseline Information");
+ login_anonymous_available();
}
db_finalize(&q);
showTags(rid, "");
@ <div class="section">Changes</div>
@@ -371,9 +375,13 @@
@ <b>Added:</b>
}else{
@ <b>Deleted:</b>
}
- @ <a href="%s(g.zBaseURL)/finfo?name=%T(zName)">%h(zName)</a></li>
+ if( g.okHistory ){
+ @ <a href="%s(g.zBaseURL)/finfo?name=%T(zName)">%h(zName)</a></li>
+ }else{
+ @ %h(zName)</li>
+ }
}
@ </ul>
compute_leaves(rid);
showDescendents(rid, 2, "Descendents");
@@ -392,9 +400,9 @@
Stmt q;
int rid;
login_check_credentials();
- if( !g.okHistory ){ login_needed(); return; }
+ if( !g.okRdWiki ){ login_needed(); return; }
rid = name_to_rid(PD("name","0"));
if( rid==0 ){
style_header("Wiki Page Information Error");
@ No such object: %h(g.argv[2])
@@ -417,8 +425,9 @@
const char *zUuid = db_column_text(&q, 1);
char *zTitle = mprintf("Wiki Page %s", zName);
style_header(zTitle);
free(zTitle);
+ login_anonymous_available();
@ <div class="section">Overview</div>
@ <p><table class="label-value">
@ <tr><th>Version:</th><td>%s(zUuid)</td></tr>
@ <tr><th>Date:</th><td>%s(db_column_text(&q, 2))</td></tr>
@@ -425,15 +434,17 @@
if( g.okSetup ){
@ <tr><th>Record ID:</th><td>%d(rid)</td></tr>
}
@ <tr><th>Original User:</th><td>%s(db_column_text(&q, 3))</td></tr>
- @ <tr><th>Commands:</th>
- @ <td>
-/* @ <a href="%s(g.zBaseURL)/wdiff/%d(rid)">diff</a> | */
- @ <a href="%s(g.zBaseURL)/whistory?name=%t(zName)">history</a>
- @ | <a href="%s(g.zBaseURL)/artifact/%d(rid)">raw-text</a>
- @ </td>
- @ </tr>
+ if( g.okHistory ){
+ @ <tr><th>Commands:</th>
+ @ <td>
+ /* @ <a href="%s(g.zBaseURL)/wdiff/%d(rid)">diff</a> | */
+ @ <a href="%s(g.zBaseURL)/whistory?name=%t(zName)">history</a>
+ @ | <a href="%s(g.zBaseURL)/artifact/%d(rid)">raw-text</a>
+ @ </td>
+ @ </tr>
+ }
@ </table></p>
}else{
style_header("Wiki Information");
rid = 0;
@@ -471,10 +482,11 @@
char zPrevDate[20];
Blob title;
login_check_credentials();
- if( !g.okHistory ){ login_needed(); return; }
+ if( !g.okRead ){ login_needed(); return; }
style_header("File History");
+ login_anonymous_available();
zPrevDate[0] = 0;
zFilename = PD("name","");
db_prepare(&q,
@@ -522,15 +534,17 @@
@ <td valign="top" align="left">
hyperlink_to_uuid(zVers);
@ %h(zCom) (By: %h(zUser))
@ Id: %s(zUuid)/%d(frid)
- @ <a href="%s(g.zBaseURL)/artifact/%d(frid)">[view]</a>
- if( fpid ){
- @ <a href="%s(g.zBaseURL)/fdiff?v1=%d(fpid)&v2=%d(frid)">[diff]</a>
- }
- @ <a href="%s(g.zBaseURL)/annotate?mid=%d(mid)&fnid=%d(fnid)">
- @ [annotate]</a>
- @ </td>
+ if( g.okHistory ){
+ @ <a href="%s(g.zBaseURL)/artifact/%d(frid)">[view]</a>
+ if( fpid ){
+ @ <a href="%s(g.zBaseURL)/fdiff?v1=%d(fpid)&v2=%d(frid)">[diff]</a>
+ }
+ @ <a href="%s(g.zBaseURL)/annotate?mid=%d(mid)&fnid=%d(fnid)">
+ @ [annotate]</a>
+ @ </td>
+ }
}
db_finalize(&q);
@ </table>
style_footer();
@@ -563,10 +577,11 @@
Stmt q;
char *zUuid;
login_check_credentials();
- if( !g.okHistory ){ login_needed(); return; }
+ if( !g.okRead ){ login_needed(); return; }
style_header("Baseline Changes");
+ login_anonymous_available();
rid = name_to_rid(PD("name",""));
if( rid==0 ){
cgi_redirect("index");
@@ -714,9 +729,9 @@
int v2 = name_to_rid(PD("v2","0"));
Blob c1, c2, diff;
login_check_credentials();
- if( !g.okHistory ){ login_needed(); return; }
+ if( !g.okRead ){ login_needed(); return; }
style_header("Diff");
@ <h2>Differences From:</h2>
@ <blockquote>
object_description(v1, 1);
@@ -751,9 +766,9 @@
Blob content;
rid = name_to_rid(PD("name","0"));
login_check_credentials();
- if( !g.okHistory ){ login_needed(); return; }
+ if( !g.okRead ){ login_needed(); return; }
if( g.zPath[0]=='i' ){
if( db_exists("SELECT 1 FROM tagxref JOIN tag USING(tagid)"
" WHERE rid=%d AND tagname LIKE 'wiki-%%'", rid) ){
winfo_page();