aboutsummaryrefslogtreecommitdiff
path: root/search
diff options
context:
space:
mode:
authorAlessandro Iezzi <aiezzi@alessandroiezzi.it>2021-12-27 15:58:27 +0100
committerAlessandro Iezzi <aiezzi@alessandroiezzi.it>2021-12-27 15:58:27 +0100
commitbd13286d87e6273db0f55e8fd95ba3730171def4 (patch)
treee577625a7afbe553925c8c99e2c50ae302a32362 /search
downloadwebsite-bd13286d87e6273db0f55e8fd95ba3730171def4.tar.gz
website-bd13286d87e6273db0f55e8fd95ba3730171def4.zip
Initial commit
Diffstat (limited to 'search')
-rw-r--r--search/.htaccess9
-rwxr-xr-xsearch/index.cgi49
-rw-r--r--search/index.rhtml11
-rw-r--r--search/index.rhtml.config1
4 files changed, 70 insertions, 0 deletions
diff --git a/search/.htaccess b/search/.htaccess
new file mode 100644
index 0000000..0807852
--- /dev/null
+++ b/search/.htaccess
@@ -0,0 +1,9 @@
+AddHandler cgi-script .cgi
+Options +ExecCGI
+DirectoryIndex index.cgi
+
+#AuthType Basic
+#AuthName "Accesso ad area riservata"
+#AuthUserFile /home/jbazwqye/public_html/search/.htpasswd
+#AuthUserFile /home/alessandro/devel/website/search/.htpasswd
+#Require valid-user
diff --git a/search/index.cgi b/search/index.cgi
new file mode 100755
index 0000000..86df972
--- /dev/null
+++ b/search/index.cgi
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+printf "Content-Type: text/html\n\n"
+
+IFS='&'
+
+for arg in $QUERY_STRING; do
+ case $arg in
+ q=*)
+ WORDS=`echo $arg | sed 's/q=//'`
+ ;;
+ esac
+done
+
+RETURN=$(
+find ../ -name "*.html" -not -path "../search/*" |
+ while read i; do
+ RESULTS=`grep "$WORDS" $i`
+ if [ ! -z "$RESULTS" ]; then
+ TITLE=`grep "<title>.*</title>" $i | sed 's/<[^>]*>//g' | sed 's/[ ]*//'`
+ echo $i | sed -E 's/[\.\/]*(.*)/<a href="\/\1"><h4>'$TITLE'<\/h4><\/a>/g'
+ echo "<ul>"
+ grep "$WORDS" $i \
+ | sed -E 's/<[^>]*>//g' \
+ | sed -E 's/[ ]*(.*)/<li>\1<\/li>/g' \
+ | sed -E 's/('$WORDS')/<span style="background: yellow">\1<\/span>/g'
+ echo "</ul>"
+ fi
+ done
+ )
+
+while read -r line; do
+ if [ $line == '<!-- DELIMITER -->' ]; then
+ if [ -z $RETURN ]; then
+ echo "<p>Nessun risultato</p>"
+ else
+ echo $RETURN
+ fi
+ else
+ echo $line
+ fi
+done < index.html
+
+#grep -r "$WORDS" ../ --exclude-dir=search --exclude-dir=assets
+# | sed -E 's/รจ/\&egrave;/g' \
+# | sed -E 's/<[^>]*>//g' \
+# | sed -E 's/[\.\/]*([^:]*):[ ]*(.*)/\/\1:\2/g' \
+# | sed -E 's/([^:]*):(.*)/<li><a href="\1">\2<\/a><\/li>/g'
+
diff --git a/search/index.rhtml b/search/index.rhtml
new file mode 100644
index 0000000..e7cebee
--- /dev/null
+++ b/search/index.rhtml
@@ -0,0 +1,11 @@
+<h1>Risultati della ricerca</h1>
+
+<!-- DELIMITER -->
+
+<script>
+ window.addEventListener("load", function() {
+ var url = new URL(window.location);
+ var q = url.searchParams.get("q");
+ document.getElementsByTagName('input')[0].value = q;
+ }, false);
+</script>
diff --git a/search/index.rhtml.config b/search/index.rhtml.config
new file mode 100644
index 0000000..3c92471
--- /dev/null
+++ b/search/index.rhtml.config
@@ -0,0 +1 @@
+title = "Cerca" \ No newline at end of file