Fossil SCM

Extra buttons on wiki viewing pages that make it easier to find and delete spam.

drh 2012-11-20 17:14 trunk
Commit 66b3d398bb619168ac9c38d9999629e8ae878b8f
1 file changed +9
+9
--- src/wiki.c
+++ src/wiki.c
@@ -127,10 +127,11 @@
127127
*/
128128
void wiki_page(void){
129129
char *zTag;
130130
int rid = 0;
131131
int isSandbox;
132
+ char *zUuid;
132133
Blob wiki;
133134
Manifest *pWiki = 0;
134135
const char *zPageName;
135136
char *zBody = mprintf("%s","<i>Empty Page</i>");
136137
@@ -171,10 +172,11 @@
171172
}
172173
if( check_name(zPageName) ) return;
173174
isSandbox = is_sandbox(zPageName);
174175
if( isSandbox ){
175176
zBody = db_get("sandbox",zBody);
177
+ rid = 0;
176178
}else{
177179
zTag = mprintf("wiki-%s", zPageName);
178180
rid = db_int(0,
179181
"SELECT rid FROM tagxref"
180182
" WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
@@ -185,10 +187,17 @@
185187
if( pWiki ){
186188
zBody = pWiki->zWiki;
187189
}
188190
}
189191
if( !g.isHome ){
192
+ if( rid ){
193
+ style_submenu_element("Diff", "Last change",
194
+ "%R/wdiff?name=%T&a=%d", zPageName, rid);
195
+ zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
196
+ style_submenu_element("Details", "Details",
197
+ "%R/info/%S", zUuid);
198
+ }
190199
if( (rid && g.perm.WrWiki) || (!rid && g.perm.NewWiki) ){
191200
if( db_get_boolean("wysiwyg-wiki", 0) ){
192201
style_submenu_element("Edit", "Edit Wiki Page",
193202
"%s/wikiedit?name=%T&wysiwyg=1",
194203
g.zTop, zPageName);
195204
--- src/wiki.c
+++ src/wiki.c
@@ -127,10 +127,11 @@
127 */
128 void wiki_page(void){
129 char *zTag;
130 int rid = 0;
131 int isSandbox;
 
132 Blob wiki;
133 Manifest *pWiki = 0;
134 const char *zPageName;
135 char *zBody = mprintf("%s","<i>Empty Page</i>");
136
@@ -171,10 +172,11 @@
171 }
172 if( check_name(zPageName) ) return;
173 isSandbox = is_sandbox(zPageName);
174 if( isSandbox ){
175 zBody = db_get("sandbox",zBody);
 
176 }else{
177 zTag = mprintf("wiki-%s", zPageName);
178 rid = db_int(0,
179 "SELECT rid FROM tagxref"
180 " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
@@ -185,10 +187,17 @@
185 if( pWiki ){
186 zBody = pWiki->zWiki;
187 }
188 }
189 if( !g.isHome ){
 
 
 
 
 
 
 
190 if( (rid && g.perm.WrWiki) || (!rid && g.perm.NewWiki) ){
191 if( db_get_boolean("wysiwyg-wiki", 0) ){
192 style_submenu_element("Edit", "Edit Wiki Page",
193 "%s/wikiedit?name=%T&wysiwyg=1",
194 g.zTop, zPageName);
195
--- src/wiki.c
+++ src/wiki.c
@@ -127,10 +127,11 @@
127 */
128 void wiki_page(void){
129 char *zTag;
130 int rid = 0;
131 int isSandbox;
132 char *zUuid;
133 Blob wiki;
134 Manifest *pWiki = 0;
135 const char *zPageName;
136 char *zBody = mprintf("%s","<i>Empty Page</i>");
137
@@ -171,10 +172,11 @@
172 }
173 if( check_name(zPageName) ) return;
174 isSandbox = is_sandbox(zPageName);
175 if( isSandbox ){
176 zBody = db_get("sandbox",zBody);
177 rid = 0;
178 }else{
179 zTag = mprintf("wiki-%s", zPageName);
180 rid = db_int(0,
181 "SELECT rid FROM tagxref"
182 " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
@@ -185,10 +187,17 @@
187 if( pWiki ){
188 zBody = pWiki->zWiki;
189 }
190 }
191 if( !g.isHome ){
192 if( rid ){
193 style_submenu_element("Diff", "Last change",
194 "%R/wdiff?name=%T&a=%d", zPageName, rid);
195 zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
196 style_submenu_element("Details", "Details",
197 "%R/info/%S", zUuid);
198 }
199 if( (rid && g.perm.WrWiki) || (!rid && g.perm.NewWiki) ){
200 if( db_get_boolean("wysiwyg-wiki", 0) ){
201 style_submenu_element("Edit", "Edit Wiki Page",
202 "%s/wikiedit?name=%T&wysiwyg=1",
203 g.zTop, zPageName);
204

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button