cat <<-EOF
<h1>Move Page</h1>
<p class="pageid">$(HTML "${page}")</p>
- <input name="newlocation" value="$(HTML "$location")" placeholder="New Location">
+ <input list="locations" autocomplete="off" name="newlocation" value="$(HTML "$location")" placeholder="New Location">
<ul>
<li>A page with the same name must not already exist at the new location.</li>
<li>You must have permission to create new pages at this location.</li>
cat <<-EOF
<h1>Rename Page</h1>
<p class="pageid">$(HTML "${page}")</p>
- <input name="newname" value="$(HTML "$name")" placeholder="New Name">
+ <input autocomplete="off" name="newname" value="$(HTML "$name")" placeholder="New Name">
<ul>
<li>A page with the new name must not already exist.</li>
<li>You must have permission to create new pages at this location.</li>
else case "${PATH_INFO}" in
*/\[move\])
location="${page%/}" location="${location%/*}/"
- theme_page - <<-EOF
+ theme_page - "$(_ Move): ${PAGE_TITLE}"<<-EOF
<form method=POST id=movepage>
<input type=hidden name=session_id value="$SESSION_KEY">
+ <datalist id="locations">
+ $(page_glob / -1 |while read loc; do
+ [ "$loc" = "$page" ] && continue
+ acl_write "$loc" || continue
+ printf '\n <option>%s</option>' "$(HTML "$loc")"
+ done)
+ </datalist>
$(l10n_movepage)
</form>
EOF
;;
*/\[rename\])
name="${page%/}" name="${name##*/}"
- theme_page - <<-EOF
+ theme_page - "$(_ Rename): ${PAGE_TITLE}"<<-EOF
<form method=POST id=renamepage>
<input type=hidden name=session_id value="$SESSION_KEY">
$(l10n_renamepage)
return 0
;;
*/\[delete\])
- theme_page - <<-EOF
+ theme_page - "$(_ Delete): ${PAGE_TITLE}"<<-EOF
<form method=POST id=deletepage>
<input type=hidden name=session_id value="$SESSION_KEY">
$(l10n_deletepage)
printf 'Refresh: %i\r\n' 4
theme_error 403
return 0
- elif [ "$REV_PAGES" = true ]; then
+ fi
+ if [ "$REV_PAGES" = true ]; then
git -C "$_DATA" mv "pages/$oldname" "pages/$newname"
git -C "$_DATA" commit -m 'Page # '"$oldname"' # renamed to # '"$newname"' # by user @ '"$USER_NAME"' @' \
-- "pages/$oldname" "pages/$newname"
- REDIRECT "$_BASE${newname}"
else
mv -- "$_DATA/pages/$oldname" "$_DATA/pages/$newname"
- REDIRECT "$_BASE${newname}"
fi
+ if [ "$SEARCH_INDEX" = true ]; then
+ find "$_DATA/pages/$newname" -name "#index.flag" -delete
+ ( "$_EXEC/searchindex.sh" index --location "$newname" & ) &
+ fi
+ REDIRECT "$_BASE${newname}"
+
elif [ "$action" = move -a "$newlocation" ]; then
oldname="${PATH_INFO%\[*\]}"
newlocation="$(PATH "$newlocation")"
printf 'Refresh: %i\r\n' 4
theme_error 403
return 0
- elif [ "$REV_PAGES" = true ]; then
+ fi
+ if [ "$REV_PAGES" = true ]; then
git -C "$_DATA" mv "pages/${oldname}" "pages/${newname}"
git -C "$_DATA" commit -m 'Page # '"$oldname"' # moved to # '"$newname"' # by user @ '"$USER_NAME"' @' \
-- "pages/${oldname}" "pages/${newname}"
- REDIRECT "$_BASE${newname}"
else
mv -- "$_DATA/pages/$oldname" "$_DATA/pages/$newname"
- REDIRECT "$_BASE${newname}"
fi
+ if [ "$SEARCH_INDEX" = true ]; then
+ find "$_DATA/pages/$newname" -name "#index.flag" -delete
+ ( "$_EXEC/searchindex.sh" index --location "$newname" & ) &
+ fi
+ REDIRECT "$_BASE${newname}"
+
elif [ "$action" = delete ]; then
oldname="${PATH_INFO%\[*\]}"
if ! acl_write "$oldname"; then