search="$(egrep -o '(^|&)(s=).+(&|$)' <<<"${QUERY_STRING}" |sed -r 's:^&?s=::;s:\+: :g;s:%:\\x:g')"
search="$(echo -e "${search}" |sed 's:\t: :g;s:\r::g;s:\\:\\\\:g' |head -n1)"
+[ -z "$ACL_WIKIEDIT" ] && ACL_WIKIEDIT=false
+
[ -n "$rev" ] && rev=".$rev"
if [ -n "$search" ]; then
info=''
lock="$(cut -d: -f1 "$lock")"
fi
-if [ -n "$edit" -a -r "Wiki/$edit" ]; then
+if [ -n "$edit" -a -r "Wiki/${edit}${rev}" ]; then
title="$(egrep -x 'title=.+' "Wiki/$edit.meta" |cut -d= -f2- || echo '(Untitled)')"
cat <<WikiEND
- <form class="edit" action="write/scriptedit.cgi?i=$edit" method="post" accept-charset="UTF-8">
- <div id="RIGHT"></div>
+ <form class="edit" action="write/$($LOGIN && echo user_)wikiedit.cgi?i=$edit" method="post" accept-charset="UTF-8">
<div id="LEFT">
Editing <b>$title</b><br>
- <input type="submit">
+ <input type="submit" value="Submit">
<input type="submit" name="cancel" value="Cancel">
<hr>
</div>
<div id="MAIN">
<div class="wiki">
<h1>$title</h1>
- <textarea name="page" rows=30 cols=40>$(cat "Wiki/$edit")</textarea>
+ <textarea name="page" rows=30 cols=40>$(cat "Wiki/${edit}${rev}")</textarea>
</div>
</div>
</form>
+ <div id="RIGHT">
+ $(stat -c '' Wiki/${edit}.comment.<0000000000-9999999999>_<000-999> && for each in $(ls -c Wiki/${edit}.comment.<0000000000-9999999999>_<000-999>); do
+ author=$(grep -m1 '^author=' "$each" |cut -d= -f2-)
+ echo "<div class='comment'><h1>$author wrote:</h1><div class='wikitext'>"
+ tail -n+2 $each |_wiki
+ echo '</div></div>'
+ done)
+ </div>
WikiEND
elif [ -n "$info" -a -r "Wiki/${info}${rev}" ]; then
rno=$(($rno+1))
done) <a class='rev' href='?p=Wiki&i=$info'>Latest</a><br>
<hr>
- $($LOGIN && [ -z "$rev" ] && if [ -z "$lock" ]; then
- echo "<a class='function' href='write/lock.cgi?p=Wiki&e=$info'>edit this page</a>"
+ $($LOGIN && if [ -z "$lock" ]; then
+ [ -z "$rev" ] && echo "<a class='function' href='write/$($LOGIN && echo user_)lock.cgi?p=Wiki&e=$info'>edit this page</a>"
+ [ -n "$rev" ] && echo "Click <a class='function' href='write/$($LOGIN && echo user_)lock.cgi?p=Wiki&e=${info}&r=${rev:s/.//}'>edit</a> to derive a new page revision from this one."
else
- echo "<b>This page is currently being edited by $lock</b><a class='function' href='write/lock.cgi?p=Wiki&e=$info'>edit anyway</a>"
+ echo "<b>This page is currently being edited by $lock</b><a class='function' href='write/$($LOGIN && echo user_)lock.cgi?p=Wiki&e=$info'>edit anyway</a>"
fi
$LOGIN && echo '<hr>')
<h1>Table of Content</h1>
<hr>
</div>
<div id="MAIN">
- <div class="wiki">
+ <div class="wiki"><div class="wikitext">
<h1>$title</h1>
$(_wiki Wiki/"${info}${rev}")
- </div>
+ </div></div>
</div>
WikiEND
$LOGIN && cat <<WikiEND
<a id='comment_button' class='function' href='#' onclick='javascript:show_screen("comment");hide_screen("comment_button");'>Comment / Ask</a>
<div id="comment" style="display: none;">
- <form action="/write/wikimeta.cgi?i=$info" method="post" accept-charset="UTF-8">
+ <form action="/write/$($LOGIN && echo user_)wikimeta.cgi?i=$info" method="post" accept-charset="UTF-8">
<b>Comment:</b><br>
<textarea name="comm" rows="6" style="width:99%;"></textarea><br>
- <input type="submit">
+ <input type="submit" value="Submit">
<a class="function" href="#" onclick="javascript:hide_screen('comment');show_screen('comment_button');">Cancel</a>
</form>
</div>
WikiEND
stat -c '' Wiki/${info}.comment.<0000000000-9999999999>_<000-999> && for each in $(ls -c Wiki/${info}.comment.<0000000000-9999999999>_<000-999>); do
author=$(grep -m1 '^author=' "$each" |cut -d= -f2-)
- echo "<div class="comment"><h1>$author wrote:</h1>"
- tail -n-1 $each
- echo '</div>'
+ echo "<div class='comment'><h1>$author wrote:</h1><div class='wikitext'>"
+ tail -n+2 $each |_wiki
+ echo '</div></div>'
done
echo '</div>'
<hr>
WikiEND
if [ -n "$search" ]; then
- echo "<h1>Search results for: $search</h1>"
+ echo "<h1>Wiki search results for: $search</h1>"
for each in $(grep -ile "$search" Wiki/<0000000000-9999999999>_<000-999>); do
echo "<div class='search'><a href='?p=Wiki&i=${each:t}'><h2>$(grep '^title=' "$each.meta" |cut -d= -f2-)</h2></a>"
grep -C1 -ie "$search" "$each" |sed "s:$search:<b>&</b>:g;s:$:<br>:g"
$LOGIN && cat <<WikiEND
<a id='addp_button' class='function' href='#' onclick='javascript:show_screen("add_page");hide_screen("addp_button");'>Add a new Page</a>
<div id="add_page" style="display: none;">
- <form action="/write/wikimeta.cgi" method="post" accept-charset="UTF-8">
+ <form action="/write/$($LOGIN && echo user_)wikimeta.cgi" method="post" accept-charset="UTF-8">
<br><b>Title:</b><br>
<input type="text" name="title" placeholder="Fill in a title"><br>
<b>Description:</b><br>
<textarea name="desc" rows="6" ></textarea><br>
- <input type="submit">
+ <input type="submit" value="Submit">
<a class="function" href="#" onclick="javascript:hide_screen('add_page');show_screen('addp_button');">Cancel</a>
</form>
</div>
<a name="$info" href="/?p=Wiki&i=$info"><h1>$title</h1></a>
$description<br><br>
<a class="function" href="/?p=Wiki&i=$info">View</a>
- $($LOGIN && echo "<a class='function' href='#' onclick=\"javascript:show_screen('change_$info');hide_screen('display_$info');\">Change Title</a>")
+ $($ACL_WIKIEDIT && echo "<a class='function' href='#' onclick=\"javascript:show_screen('change_$info');hide_screen('display_$info');\">Change Info</a>")
</div>
WikiEND
- $LOGIN && cat <<WikiEND
+ $ACL_WIKIEDIT && cat <<WikiEND
<div id="change_$info" style="display: none;">
- <form action="/write/wikimeta.cgi?i=$info" method="post" accept-charset="UTF-8">
+ <form action="/write/$($LOGIN && echo user_)wikimeta.cgi?i=$info" method="post" accept-charset="UTF-8">
<b>Title:</b> <input type="text" name="title" value="$title"><br>
<b>Description:</b><br>
<textarea name="desc" rows="6" style="width:100%;">$description</textarea><br>
- <input type="submit">
+ <input type="submit" value="Submit">
<a class="function" href="#" onclick="javascript:hide_screen('change_$info');show_screen('display_$info');">Cancel</a>
</form>
</div>