]> git.plutz.net Git - serve0/blobdiff - templates/list.html.sh
submit page locators via post instead of relying on referrer
[serve0] / templates / list.html.sh
index 859878d7c8bb9b45be681ec2fbc690494777bf2b..b5b1ef6800535b27135a2229bac23e11eb13a013 100755 (executable)
@@ -35,17 +35,33 @@ cat <<EOF
       <label>Page:</label>
 EOF
 
+  pages="$(
   seq 1 $(pagecount) \
   | while read pn; do
     plink="$(($pn * $pagesize - $pagesize + 1))"
-    printf '<a %s href="?%spn=%s">%s</a>\n' "$([ $plink = $page ] && printf class=current)" "$page_link" "$plink" "$pn"
+    
+    case "$plink" in
+      $(($page - $pagesize))) class=previous;;
+      $page) class=current;;
+      $(($page + $pagesize))) class=next;;
+      * ) class='';;
+    esac
+
+    printf '<a class="%s" href="?%spn=%s">%s</a>\n' "$class" "$page_link" "$plink" "$pn"
   done
+  )"
+  printf %s "$pages"
       
 cat <<EOF
     </div>
   </form>
 
-  <form action="?action=multitag&${page_this}" method="post" accept-charset="UTF-8">
+  <form action="?action=multitag" method="post" accept-charset="UTF-8">
+    <input type="hidden" name="o" value="${order}">
+    <input type="hidden" name="s" value="${search}">
+    <input type="hidden" name="f" value="${filter}">
+    <input type="hidden" name="pn" value="${page}">
+
     <ul id="thumblist">
 EOF
 
@@ -63,12 +79,7 @@ cat <<EOF
 
     <div class="pagination_nav">
       <label>Page:</label>
-      $(seq 1 $(pagecount) \
-        | while read pn; do
-          plink="$(($pn * $pagesize - $pagesize + 1))"
-          printf '<a %s href="?%spn=%s">%s</a>\n' "$([ $plink = $page ] && printf class=current)" "$page_link" "$plink" "$pn"
-        done
-       )
+      ${pages}
     </div>
   </div>