Fossil SCM

Reverted to original version of wiki.c.

michael 2010-07-26 06:18 ttmrichter
Commit 6078359f2a1c2887910d99aa48f9dea6effd9833
1 file changed +26 -30
+26 -30
--- src/wiki.c
+++ src/wiki.c
@@ -138,23 +138,23 @@
138138
@ %h(zHomePageName)</a> wiki home page.</li>
139139
}
140140
}
141141
@ <li> <a href="%s(g.zBaseURL)/timeline?y=w">Recent changes</a> to wiki
142142
@ pages. </li>
143
- @ <li> <a href="%s(g.zBaseURL)/wiki_rules">Formatting rules</a> for
143
+ @ <li> <a href="%s(g.zBaseURL)/wiki_rules">Formatting rules</a> for
144144
@ wiki.</li>
145145
@ <li> Use the <a href="%s(g.zBaseURL)/wiki?name=Sandbox">Sandbox</a>
146146
@ to experiment.</li>
147147
if( g.okNewWiki ){
148148
@ <li> Create a <a href="%s(g.zBaseURL)/wikinew">new wiki page</a>.</li>
149149
}
150150
@ <li> <a href="%s(g.zBaseURL)/wcontent">List of All Wiki Pages</a>
151151
@ available on this server.</li>
152
- @ <li> <form method="GET" action="%s(g.zBaseURL)/wfind">
153
- @ Search wiki titles: <input type="text" name="title"/>
152
+ @ <li> <form method="GET" action="%s(g.zBaseURL)/wfind">
153
+ @ Search wiki titles: <input type="text" name="title"/>
154154
@ &nbsp; <input type="submit" />
155
- @ </li>
155
+ @ </li>
156156
@ </ul>
157157
style_footer();
158158
return;
159159
}
160160
if( check_name(zPageName) ) return;
@@ -161,11 +161,11 @@
161161
isSandbox = is_sandbox(zPageName);
162162
if( isSandbox ){
163163
zBody = db_get("sandbox",zBody);
164164
}else{
165165
zTag = mprintf("wiki-%s", zPageName);
166
- rid = db_int(0,
166
+ rid = db_int(0,
167167
"SELECT rid FROM tagxref"
168168
" WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
169169
" ORDER BY mtime DESC", zTag
170170
);
171171
free(zTag);
@@ -233,11 +233,11 @@
233233
}
234234
if( cnt ){
235235
@ </ul>
236236
}
237237
db_finalize(&q);
238
-
238
+
239239
if( !isSandbox ){
240240
manifest_clear(&m);
241241
}
242242
style_footer();
243243
}
@@ -273,11 +273,11 @@
273273
if( zBody==0 ){
274274
zBody = db_get("sandbox","");
275275
}
276276
}else{
277277
zTag = mprintf("wiki-%s", zPageName);
278
- rid = db_int(0,
278
+ rid = db_int(0,
279279
"SELECT rid FROM tagxref"
280280
" WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
281281
" ORDER BY mtime DESC", zTag
282282
);
283283
free(zTag);
@@ -355,11 +355,11 @@
355355
if( n<20 ) n = 20;
356356
if( n>40 ) n = 40;
357357
@ <form method="POST" action="%s(g.zBaseURL)/wikiedit">
358358
login_insert_csrf_secret();
359359
@ <input type="hidden" name="name" value="%h(zPageName)">
360
- @ <textarea name="w" class="wikiedit" cols="80"
360
+ @ <textarea name="w" class="wikiedit" cols="80"
361361
@ rows="%d(n)" wrap="virtual">%h(zBody)</textarea>
362362
@ <br>
363363
@ <input type="submit" name="preview" value="Preview Your Changes">
364364
@ <input type="submit" name="submit" value="Apply These Changes">
365365
@ <input type="submit" name="cancel" value="Cancel">
@@ -381,11 +381,11 @@
381381
const char *zName;
382382
login_check_credentials();
383383
if( !g.okNewWiki ){
384384
login_needed();
385385
return;
386
- }
386
+ }
387387
zName = PD("name","");
388388
if( zName[0] && wiki_name_is_wellformed((const unsigned char *)zName) ){
389389
cgi_redirectf("wikiedit?name=%T", zName);
390390
}
391391
style_header("Create A New Wiki Page");
@@ -414,11 +414,11 @@
414414
const char *zRemark;
415415
char *zId;
416416
417417
zDate = db_text(0, "SELECT datetime('now')");
418418
zId = db_text(0, "SELECT lower(hex(randomblob(8)))");
419
- blob_appendf(p, "\n\n<hr><div id=\"%s\"><i>On %s UTC %h",
419
+ blob_appendf(p, "\n\n<hr><div id=\"%s\"><i>On %s UTC %h",
420420
zId, zDate, g.zLogin);
421421
free(zDate);
422422
zUser = PD("u",g.zLogin);
423423
if( zUser[0] && strcmp(zUser,g.zLogin) ){
424424
blob_appendf(p, " (claiming to be %h)", zUser);
@@ -443,11 +443,11 @@
443443
zPageName = PD("name","");
444444
if( check_name(zPageName) ) return;
445445
isSandbox = is_sandbox(zPageName);
446446
if( !isSandbox ){
447447
zTag = mprintf("wiki-%s", zPageName);
448
- rid = db_int(0,
448
+ rid = db_int(0,
449449
"SELECT rid FROM tagxref"
450450
" WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
451451
" ORDER BY mtime DESC", zTag
452452
);
453453
free(zTag);
@@ -530,11 +530,11 @@
530530
login_insert_csrf_secret();
531531
@ <input type="hidden" name="name" value="%h(zPageName)">
532532
@ Your Name:
533533
@ <input type="text" name="u" size="20" value="%h(zUser)"><br>
534534
@ Comment to append:<br>
535
- @ <textarea name="r" class="wikiedit" cols="80"
535
+ @ <textarea name="r" class="wikiedit" cols="80"
536536
@ rows="10" wrap="virtual">%h(PD("r",""))</textarea>
537537
@ <br>
538538
@ <input type="submit" name="preview" value="Preview Your Comment">
539539
@ <input type="submit" name="submit" value="Append Your Changes">
540540
@ <input type="submit" name="cancel" value="Cancel">
@@ -661,11 +661,11 @@
661661
style_submenu_element("Active", "Only Active Pages", "%s/wcontent", g.zTop);
662662
}else{
663663
style_submenu_element("All", "All", "%s/wcontent?all=1", g.zTop);
664664
}
665665
@ <ul>
666
- db_prepare(&q,
666
+ db_prepare(&q,
667667
"SELECT"
668668
" substr(tagname, 6),"
669669
" (SELECT value FROM tagxref WHERE tagid=tag.tagid ORDER BY mtime DESC)"
670670
" FROM tag WHERE tagname GLOB 'wiki-*'"
671671
" ORDER BY lower(tagname) /*sort*/"
@@ -696,14 +696,14 @@
696696
login_check_credentials();
697697
if( !g.okRdWiki ){ login_needed(); return; }
698698
zTitle = PD("title","*");
699699
style_header("Wiki Pages Found");
700700
@ <ul>
701
- db_prepare(&q,
701
+ db_prepare(&q,
702702
"SELECT substr(tagname, 6, 1000) FROM tag WHERE tagname like 'wiki-%%%q%%'"
703703
" ORDER BY lower(tagname) /*sort*/" ,
704
- zTitle);
704
+ zTitle);
705705
while( db_step(&q)==SQLITE_ROW ){
706706
const char *zName = db_column_text(&q, 0);
707707
@ <li><a href="%s(g.zBaseURL)/wiki?name=%T(zName)">%h(zName)</a></li>
708708
}
709709
db_finalize(&q);
@@ -747,11 +747,11 @@
747747
@ surrounded on both sides by two or more spaces or by a tab. Only a single
748748
@ level of enumeration list is supported by wiki. For nested lists or for
749749
@ enumerations that count using letters or roman numerials, use HTML.</p>
750750
@ <li> <p><b>Indented Paragraphs</b>.
751751
@ Any paragraph that begins with two or more spaces or a tab and
752
- @ which is not a bullet or enumeration list item is rendered
752
+ @ which is not a bullet or enumeration list item is rendered
753753
@ indented. Only a single level of indentation is supported by wiki; use
754754
@ HTML for deeper indentation.</p>
755755
@ <li> <p><b>Hyperlinks</b>.
756756
@ Text within square brackets ("[...]") becomes a hyperlink. The
757757
@ target can be a wiki page name, the artifact ID of a check-in or ticket,
@@ -879,11 +879,11 @@
879879
db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nrid);
880880
manifest_crosslink(nrid,&wiki);
881881
blob_reset(&wiki);
882882
content_deltify(rid,nrid,0);
883883
db_end_transaction(0);
884
- autosync(AUTOSYNC_PUSH);
884
+ autosync(AUTOSYNC_PUSH);
885885
return 1;
886886
}
887887
888888
/*
889889
** COMMAND: wiki
@@ -910,21 +910,21 @@
910910
** %fossil wiki list
911911
**
912912
** Lists all wiki entries, one per line, ordered
913913
** case-insentively by name.
914914
**
915
-** %fossil wiki delete WikiName
916
-**
917
-** The same as deleting a file entry, but i don't know if fossil
918
-** supports a commit message for Wiki entries.
919
-**
920915
** TODOs:
921916
**
922917
** %fossil wiki export ?-u ARTIFACT? WikiName ?FILE?
923918
**
924919
** Outputs the selected version of WikiName.
925920
**
921
+** %fossil wiki delete ?-m MESSAGE? WikiName
922
+**
923
+** The same as deleting a file entry, but i don't know if fossil
924
+** supports a commit message for Wiki entries.
925
+**
926926
** %fossil wiki ?-u? ?-d? ?-s=[|]? list
927927
**
928928
** Lists the artifact ID and/or Date of last change along with
929929
** each entry name, delimited by the -s char.
930930
**
@@ -956,11 +956,11 @@
956956
}
957957
zPageName = g.argv[3];
958958
rid = db_int(0, "SELECT x.rid FROM tag t, tagxref x"
959959
" WHERE x.tagid=t.tagid AND t.tagname='wiki-%q'"
960960
" ORDER BY x.mtime DESC LIMIT 1",
961
- zPageName
961
+ zPageName
962962
);
963963
if( rid ){
964964
Blob content;
965965
content_get(rid, &content);
966966
manifest_parse(&m, &content);
@@ -986,11 +986,11 @@
986986
fossil_fatal("wiki export could not open output file for writing.");
987987
}
988988
fprintf(zF,"%.*s\n", i, zBody);
989989
if( doClose ) fclose(zF);
990990
}else{
991
- printf("%.*s\n", i, zBody);
991
+ printf("%.*s\n", i, zBody);
992992
}
993993
return;
994994
}else
995995
if( strncmp(g.argv[2],"commit",n)==0
996996
|| strncmp(g.argv[2],"create",n)==0 ){
@@ -1013,22 +1013,18 @@
10131013
printf("Updated wiki page %s.\n", zPageName);
10141014
}
10151015
blob_reset(&content);
10161016
}else
10171017
if( strncmp(g.argv[2],"delete",n)==0 ){
1018
- char *zPageName;
1019
- Blob content;
1020
- if( g.argc!=4 ){
1018
+ if( g.argc!=5 ){
10211019
usage("delete PAGENAME");
10221020
}
1023
- zPageName == g.argv[3];
1024
- printf("%s %s %s %s\n", g.argv[0], g.argv[1], g.argv[2], g.argv[3]);
10251021
fossil_fatal("delete not yet implemented.");
10261022
}else
10271023
if( strncmp(g.argv[2],"list",n)==0 ){
10281024
Stmt q;
1029
- db_prepare(&q,
1025
+ db_prepare(&q,
10301026
"SELECT substr(tagname, 6) FROM tag WHERE tagname GLOB 'wiki-*'"
10311027
" ORDER BY lower(tagname) /*sort*/"
10321028
);
10331029
while( db_step(&q)==SQLITE_ROW ){
10341030
const char *zName = db_column_text(&q, 0);
10351031
--- src/wiki.c
+++ src/wiki.c
@@ -138,23 +138,23 @@
138 @ %h(zHomePageName)</a> wiki home page.</li>
139 }
140 }
141 @ <li> <a href="%s(g.zBaseURL)/timeline?y=w">Recent changes</a> to wiki
142 @ pages. </li>
143 @ <li> <a href="%s(g.zBaseURL)/wiki_rules">Formatting rules</a> for
144 @ wiki.</li>
145 @ <li> Use the <a href="%s(g.zBaseURL)/wiki?name=Sandbox">Sandbox</a>
146 @ to experiment.</li>
147 if( g.okNewWiki ){
148 @ <li> Create a <a href="%s(g.zBaseURL)/wikinew">new wiki page</a>.</li>
149 }
150 @ <li> <a href="%s(g.zBaseURL)/wcontent">List of All Wiki Pages</a>
151 @ available on this server.</li>
152 @ <li> <form method="GET" action="%s(g.zBaseURL)/wfind">
153 @ Search wiki titles: <input type="text" name="title"/>
154 @ &nbsp; <input type="submit" />
155 @ </li>
156 @ </ul>
157 style_footer();
158 return;
159 }
160 if( check_name(zPageName) ) return;
@@ -161,11 +161,11 @@
161 isSandbox = is_sandbox(zPageName);
162 if( isSandbox ){
163 zBody = db_get("sandbox",zBody);
164 }else{
165 zTag = mprintf("wiki-%s", zPageName);
166 rid = db_int(0,
167 "SELECT rid FROM tagxref"
168 " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
169 " ORDER BY mtime DESC", zTag
170 );
171 free(zTag);
@@ -233,11 +233,11 @@
233 }
234 if( cnt ){
235 @ </ul>
236 }
237 db_finalize(&q);
238
239 if( !isSandbox ){
240 manifest_clear(&m);
241 }
242 style_footer();
243 }
@@ -273,11 +273,11 @@
273 if( zBody==0 ){
274 zBody = db_get("sandbox","");
275 }
276 }else{
277 zTag = mprintf("wiki-%s", zPageName);
278 rid = db_int(0,
279 "SELECT rid FROM tagxref"
280 " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
281 " ORDER BY mtime DESC", zTag
282 );
283 free(zTag);
@@ -355,11 +355,11 @@
355 if( n<20 ) n = 20;
356 if( n>40 ) n = 40;
357 @ <form method="POST" action="%s(g.zBaseURL)/wikiedit">
358 login_insert_csrf_secret();
359 @ <input type="hidden" name="name" value="%h(zPageName)">
360 @ <textarea name="w" class="wikiedit" cols="80"
361 @ rows="%d(n)" wrap="virtual">%h(zBody)</textarea>
362 @ <br>
363 @ <input type="submit" name="preview" value="Preview Your Changes">
364 @ <input type="submit" name="submit" value="Apply These Changes">
365 @ <input type="submit" name="cancel" value="Cancel">
@@ -381,11 +381,11 @@
381 const char *zName;
382 login_check_credentials();
383 if( !g.okNewWiki ){
384 login_needed();
385 return;
386 }
387 zName = PD("name","");
388 if( zName[0] && wiki_name_is_wellformed((const unsigned char *)zName) ){
389 cgi_redirectf("wikiedit?name=%T", zName);
390 }
391 style_header("Create A New Wiki Page");
@@ -414,11 +414,11 @@
414 const char *zRemark;
415 char *zId;
416
417 zDate = db_text(0, "SELECT datetime('now')");
418 zId = db_text(0, "SELECT lower(hex(randomblob(8)))");
419 blob_appendf(p, "\n\n<hr><div id=\"%s\"><i>On %s UTC %h",
420 zId, zDate, g.zLogin);
421 free(zDate);
422 zUser = PD("u",g.zLogin);
423 if( zUser[0] && strcmp(zUser,g.zLogin) ){
424 blob_appendf(p, " (claiming to be %h)", zUser);
@@ -443,11 +443,11 @@
443 zPageName = PD("name","");
444 if( check_name(zPageName) ) return;
445 isSandbox = is_sandbox(zPageName);
446 if( !isSandbox ){
447 zTag = mprintf("wiki-%s", zPageName);
448 rid = db_int(0,
449 "SELECT rid FROM tagxref"
450 " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
451 " ORDER BY mtime DESC", zTag
452 );
453 free(zTag);
@@ -530,11 +530,11 @@
530 login_insert_csrf_secret();
531 @ <input type="hidden" name="name" value="%h(zPageName)">
532 @ Your Name:
533 @ <input type="text" name="u" size="20" value="%h(zUser)"><br>
534 @ Comment to append:<br>
535 @ <textarea name="r" class="wikiedit" cols="80"
536 @ rows="10" wrap="virtual">%h(PD("r",""))</textarea>
537 @ <br>
538 @ <input type="submit" name="preview" value="Preview Your Comment">
539 @ <input type="submit" name="submit" value="Append Your Changes">
540 @ <input type="submit" name="cancel" value="Cancel">
@@ -661,11 +661,11 @@
661 style_submenu_element("Active", "Only Active Pages", "%s/wcontent", g.zTop);
662 }else{
663 style_submenu_element("All", "All", "%s/wcontent?all=1", g.zTop);
664 }
665 @ <ul>
666 db_prepare(&q,
667 "SELECT"
668 " substr(tagname, 6),"
669 " (SELECT value FROM tagxref WHERE tagid=tag.tagid ORDER BY mtime DESC)"
670 " FROM tag WHERE tagname GLOB 'wiki-*'"
671 " ORDER BY lower(tagname) /*sort*/"
@@ -696,14 +696,14 @@
696 login_check_credentials();
697 if( !g.okRdWiki ){ login_needed(); return; }
698 zTitle = PD("title","*");
699 style_header("Wiki Pages Found");
700 @ <ul>
701 db_prepare(&q,
702 "SELECT substr(tagname, 6, 1000) FROM tag WHERE tagname like 'wiki-%%%q%%'"
703 " ORDER BY lower(tagname) /*sort*/" ,
704 zTitle);
705 while( db_step(&q)==SQLITE_ROW ){
706 const char *zName = db_column_text(&q, 0);
707 @ <li><a href="%s(g.zBaseURL)/wiki?name=%T(zName)">%h(zName)</a></li>
708 }
709 db_finalize(&q);
@@ -747,11 +747,11 @@
747 @ surrounded on both sides by two or more spaces or by a tab. Only a single
748 @ level of enumeration list is supported by wiki. For nested lists or for
749 @ enumerations that count using letters or roman numerials, use HTML.</p>
750 @ <li> <p><b>Indented Paragraphs</b>.
751 @ Any paragraph that begins with two or more spaces or a tab and
752 @ which is not a bullet or enumeration list item is rendered
753 @ indented. Only a single level of indentation is supported by wiki; use
754 @ HTML for deeper indentation.</p>
755 @ <li> <p><b>Hyperlinks</b>.
756 @ Text within square brackets ("[...]") becomes a hyperlink. The
757 @ target can be a wiki page name, the artifact ID of a check-in or ticket,
@@ -879,11 +879,11 @@
879 db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nrid);
880 manifest_crosslink(nrid,&wiki);
881 blob_reset(&wiki);
882 content_deltify(rid,nrid,0);
883 db_end_transaction(0);
884 autosync(AUTOSYNC_PUSH);
885 return 1;
886 }
887
888 /*
889 ** COMMAND: wiki
@@ -910,21 +910,21 @@
910 ** %fossil wiki list
911 **
912 ** Lists all wiki entries, one per line, ordered
913 ** case-insentively by name.
914 **
915 ** %fossil wiki delete WikiName
916 **
917 ** The same as deleting a file entry, but i don't know if fossil
918 ** supports a commit message for Wiki entries.
919 **
920 ** TODOs:
921 **
922 ** %fossil wiki export ?-u ARTIFACT? WikiName ?FILE?
923 **
924 ** Outputs the selected version of WikiName.
925 **
 
 
 
 
 
926 ** %fossil wiki ?-u? ?-d? ?-s=[|]? list
927 **
928 ** Lists the artifact ID and/or Date of last change along with
929 ** each entry name, delimited by the -s char.
930 **
@@ -956,11 +956,11 @@
956 }
957 zPageName = g.argv[3];
958 rid = db_int(0, "SELECT x.rid FROM tag t, tagxref x"
959 " WHERE x.tagid=t.tagid AND t.tagname='wiki-%q'"
960 " ORDER BY x.mtime DESC LIMIT 1",
961 zPageName
962 );
963 if( rid ){
964 Blob content;
965 content_get(rid, &content);
966 manifest_parse(&m, &content);
@@ -986,11 +986,11 @@
986 fossil_fatal("wiki export could not open output file for writing.");
987 }
988 fprintf(zF,"%.*s\n", i, zBody);
989 if( doClose ) fclose(zF);
990 }else{
991 printf("%.*s\n", i, zBody);
992 }
993 return;
994 }else
995 if( strncmp(g.argv[2],"commit",n)==0
996 || strncmp(g.argv[2],"create",n)==0 ){
@@ -1013,22 +1013,18 @@
1013 printf("Updated wiki page %s.\n", zPageName);
1014 }
1015 blob_reset(&content);
1016 }else
1017 if( strncmp(g.argv[2],"delete",n)==0 ){
1018 char *zPageName;
1019 Blob content;
1020 if( g.argc!=4 ){
1021 usage("delete PAGENAME");
1022 }
1023 zPageName == g.argv[3];
1024 printf("%s %s %s %s\n", g.argv[0], g.argv[1], g.argv[2], g.argv[3]);
1025 fossil_fatal("delete not yet implemented.");
1026 }else
1027 if( strncmp(g.argv[2],"list",n)==0 ){
1028 Stmt q;
1029 db_prepare(&q,
1030 "SELECT substr(tagname, 6) FROM tag WHERE tagname GLOB 'wiki-*'"
1031 " ORDER BY lower(tagname) /*sort*/"
1032 );
1033 while( db_step(&q)==SQLITE_ROW ){
1034 const char *zName = db_column_text(&q, 0);
1035
--- src/wiki.c
+++ src/wiki.c
@@ -138,23 +138,23 @@
138 @ %h(zHomePageName)</a> wiki home page.</li>
139 }
140 }
141 @ <li> <a href="%s(g.zBaseURL)/timeline?y=w">Recent changes</a> to wiki
142 @ pages. </li>
143 @ <li> <a href="%s(g.zBaseURL)/wiki_rules">Formatting rules</a> for
144 @ wiki.</li>
145 @ <li> Use the <a href="%s(g.zBaseURL)/wiki?name=Sandbox">Sandbox</a>
146 @ to experiment.</li>
147 if( g.okNewWiki ){
148 @ <li> Create a <a href="%s(g.zBaseURL)/wikinew">new wiki page</a>.</li>
149 }
150 @ <li> <a href="%s(g.zBaseURL)/wcontent">List of All Wiki Pages</a>
151 @ available on this server.</li>
152 @ <li> <form method="GET" action="%s(g.zBaseURL)/wfind">
153 @ Search wiki titles: <input type="text" name="title"/>
154 @ &nbsp; <input type="submit" />
155 @ </li>
156 @ </ul>
157 style_footer();
158 return;
159 }
160 if( check_name(zPageName) ) return;
@@ -161,11 +161,11 @@
161 isSandbox = is_sandbox(zPageName);
162 if( isSandbox ){
163 zBody = db_get("sandbox",zBody);
164 }else{
165 zTag = mprintf("wiki-%s", zPageName);
166 rid = db_int(0,
167 "SELECT rid FROM tagxref"
168 " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
169 " ORDER BY mtime DESC", zTag
170 );
171 free(zTag);
@@ -233,11 +233,11 @@
233 }
234 if( cnt ){
235 @ </ul>
236 }
237 db_finalize(&q);
238
239 if( !isSandbox ){
240 manifest_clear(&m);
241 }
242 style_footer();
243 }
@@ -273,11 +273,11 @@
273 if( zBody==0 ){
274 zBody = db_get("sandbox","");
275 }
276 }else{
277 zTag = mprintf("wiki-%s", zPageName);
278 rid = db_int(0,
279 "SELECT rid FROM tagxref"
280 " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
281 " ORDER BY mtime DESC", zTag
282 );
283 free(zTag);
@@ -355,11 +355,11 @@
355 if( n<20 ) n = 20;
356 if( n>40 ) n = 40;
357 @ <form method="POST" action="%s(g.zBaseURL)/wikiedit">
358 login_insert_csrf_secret();
359 @ <input type="hidden" name="name" value="%h(zPageName)">
360 @ <textarea name="w" class="wikiedit" cols="80"
361 @ rows="%d(n)" wrap="virtual">%h(zBody)</textarea>
362 @ <br>
363 @ <input type="submit" name="preview" value="Preview Your Changes">
364 @ <input type="submit" name="submit" value="Apply These Changes">
365 @ <input type="submit" name="cancel" value="Cancel">
@@ -381,11 +381,11 @@
381 const char *zName;
382 login_check_credentials();
383 if( !g.okNewWiki ){
384 login_needed();
385 return;
386 }
387 zName = PD("name","");
388 if( zName[0] && wiki_name_is_wellformed((const unsigned char *)zName) ){
389 cgi_redirectf("wikiedit?name=%T", zName);
390 }
391 style_header("Create A New Wiki Page");
@@ -414,11 +414,11 @@
414 const char *zRemark;
415 char *zId;
416
417 zDate = db_text(0, "SELECT datetime('now')");
418 zId = db_text(0, "SELECT lower(hex(randomblob(8)))");
419 blob_appendf(p, "\n\n<hr><div id=\"%s\"><i>On %s UTC %h",
420 zId, zDate, g.zLogin);
421 free(zDate);
422 zUser = PD("u",g.zLogin);
423 if( zUser[0] && strcmp(zUser,g.zLogin) ){
424 blob_appendf(p, " (claiming to be %h)", zUser);
@@ -443,11 +443,11 @@
443 zPageName = PD("name","");
444 if( check_name(zPageName) ) return;
445 isSandbox = is_sandbox(zPageName);
446 if( !isSandbox ){
447 zTag = mprintf("wiki-%s", zPageName);
448 rid = db_int(0,
449 "SELECT rid FROM tagxref"
450 " WHERE tagid=(SELECT tagid FROM tag WHERE tagname=%Q)"
451 " ORDER BY mtime DESC", zTag
452 );
453 free(zTag);
@@ -530,11 +530,11 @@
530 login_insert_csrf_secret();
531 @ <input type="hidden" name="name" value="%h(zPageName)">
532 @ Your Name:
533 @ <input type="text" name="u" size="20" value="%h(zUser)"><br>
534 @ Comment to append:<br>
535 @ <textarea name="r" class="wikiedit" cols="80"
536 @ rows="10" wrap="virtual">%h(PD("r",""))</textarea>
537 @ <br>
538 @ <input type="submit" name="preview" value="Preview Your Comment">
539 @ <input type="submit" name="submit" value="Append Your Changes">
540 @ <input type="submit" name="cancel" value="Cancel">
@@ -661,11 +661,11 @@
661 style_submenu_element("Active", "Only Active Pages", "%s/wcontent", g.zTop);
662 }else{
663 style_submenu_element("All", "All", "%s/wcontent?all=1", g.zTop);
664 }
665 @ <ul>
666 db_prepare(&q,
667 "SELECT"
668 " substr(tagname, 6),"
669 " (SELECT value FROM tagxref WHERE tagid=tag.tagid ORDER BY mtime DESC)"
670 " FROM tag WHERE tagname GLOB 'wiki-*'"
671 " ORDER BY lower(tagname) /*sort*/"
@@ -696,14 +696,14 @@
696 login_check_credentials();
697 if( !g.okRdWiki ){ login_needed(); return; }
698 zTitle = PD("title","*");
699 style_header("Wiki Pages Found");
700 @ <ul>
701 db_prepare(&q,
702 "SELECT substr(tagname, 6, 1000) FROM tag WHERE tagname like 'wiki-%%%q%%'"
703 " ORDER BY lower(tagname) /*sort*/" ,
704 zTitle);
705 while( db_step(&q)==SQLITE_ROW ){
706 const char *zName = db_column_text(&q, 0);
707 @ <li><a href="%s(g.zBaseURL)/wiki?name=%T(zName)">%h(zName)</a></li>
708 }
709 db_finalize(&q);
@@ -747,11 +747,11 @@
747 @ surrounded on both sides by two or more spaces or by a tab. Only a single
748 @ level of enumeration list is supported by wiki. For nested lists or for
749 @ enumerations that count using letters or roman numerials, use HTML.</p>
750 @ <li> <p><b>Indented Paragraphs</b>.
751 @ Any paragraph that begins with two or more spaces or a tab and
752 @ which is not a bullet or enumeration list item is rendered
753 @ indented. Only a single level of indentation is supported by wiki; use
754 @ HTML for deeper indentation.</p>
755 @ <li> <p><b>Hyperlinks</b>.
756 @ Text within square brackets ("[...]") becomes a hyperlink. The
757 @ target can be a wiki page name, the artifact ID of a check-in or ticket,
@@ -879,11 +879,11 @@
879 db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nrid);
880 manifest_crosslink(nrid,&wiki);
881 blob_reset(&wiki);
882 content_deltify(rid,nrid,0);
883 db_end_transaction(0);
884 autosync(AUTOSYNC_PUSH);
885 return 1;
886 }
887
888 /*
889 ** COMMAND: wiki
@@ -910,21 +910,21 @@
910 ** %fossil wiki list
911 **
912 ** Lists all wiki entries, one per line, ordered
913 ** case-insentively by name.
914 **
 
 
 
 
 
915 ** TODOs:
916 **
917 ** %fossil wiki export ?-u ARTIFACT? WikiName ?FILE?
918 **
919 ** Outputs the selected version of WikiName.
920 **
921 ** %fossil wiki delete ?-m MESSAGE? WikiName
922 **
923 ** The same as deleting a file entry, but i don't know if fossil
924 ** supports a commit message for Wiki entries.
925 **
926 ** %fossil wiki ?-u? ?-d? ?-s=[|]? list
927 **
928 ** Lists the artifact ID and/or Date of last change along with
929 ** each entry name, delimited by the -s char.
930 **
@@ -956,11 +956,11 @@
956 }
957 zPageName = g.argv[3];
958 rid = db_int(0, "SELECT x.rid FROM tag t, tagxref x"
959 " WHERE x.tagid=t.tagid AND t.tagname='wiki-%q'"
960 " ORDER BY x.mtime DESC LIMIT 1",
961 zPageName
962 );
963 if( rid ){
964 Blob content;
965 content_get(rid, &content);
966 manifest_parse(&m, &content);
@@ -986,11 +986,11 @@
986 fossil_fatal("wiki export could not open output file for writing.");
987 }
988 fprintf(zF,"%.*s\n", i, zBody);
989 if( doClose ) fclose(zF);
990 }else{
991 printf("%.*s\n", i, zBody);
992 }
993 return;
994 }else
995 if( strncmp(g.argv[2],"commit",n)==0
996 || strncmp(g.argv[2],"create",n)==0 ){
@@ -1013,22 +1013,18 @@
1013 printf("Updated wiki page %s.\n", zPageName);
1014 }
1015 blob_reset(&content);
1016 }else
1017 if( strncmp(g.argv[2],"delete",n)==0 ){
1018 if( g.argc!=5 ){
 
 
1019 usage("delete PAGENAME");
1020 }
 
 
1021 fossil_fatal("delete not yet implemented.");
1022 }else
1023 if( strncmp(g.argv[2],"list",n)==0 ){
1024 Stmt q;
1025 db_prepare(&q,
1026 "SELECT substr(tagname, 6) FROM tag WHERE tagname GLOB 'wiki-*'"
1027 " ORDER BY lower(tagname) /*sort*/"
1028 );
1029 while( db_step(&q)==SQLITE_ROW ){
1030 const char *zName = db_column_text(&q, 0);
1031

Keyboard Shortcuts

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