dmesgdb/var/www/beautylist

57 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
. /var/common.sh
LIST=""
vendors=""
_SOURCE=$DB/*
get_param search
[ "$search" != "Unknown" ] && {
_SOURCE="$(grep -i -m1 -R -l "$search" $DB | sed -E -n 's/^(.*)\/(dmesg|state|vendor|date)$/\1/p' | sort | uniq)"
[ -z "$_SOURCE" ] && LIST="<h2>Not found</h2>" || LIST="<h2>Search result for '$search':</h2>"
} || search=""
# Assoc array challange accepted!
for _d in $_SOURCE
do
_vendor="$(<$_d/vendor)"
_model="$(<$_d/model)"
_state="$(<$_d/state)"
_date="$(<$_d/date)"
_notconf="$(<$_d/notconf)"
_md5="$(<$_d/md5)"
_comment="$(<$_d/comment)"
_uname="$(<$_d/uname)"
_dmesg_link="/list/$_vendor-$_model[$_state]-$_md5.txt"
_device_html="
<li>
<a class='dmesg-link' href='$_dmesg_link'>
<span class='$_state' title='$_state'>[$_state]</span>
$_model</a>
<span class='notconf'>Not configured: </span>
<span class='notconf-val'>$_notconf</span>
<span class='date'>$_date</span><br>
<span class='comment'>$_uname</span>
<br><span class='comment'>Comment: $_comment</span>
</li>"
vendors="${vendors}\n${_vendor}"
eval "vendor_$_vendor=\"\$vendor_$_vendor $_device_html\""
done
vendors="$(echo "$vendors" | sort | uniq)"
for _v in $vendors
do
LIST="$LIST\n<div><h3>$_v</h3>\n<ul>$(eval "echo \$vendor_$_v")</ul></div>"
done
# Challange complete
echo -en "Status: 200 OK\r\n"
echo -en "Content-type: text/html\r\n\r\n"
echo "$(<../tpl/_header.html)"
echo "<form method='GET'><input type='text' name='search' value='$search' placeholder='search'></form>"
echo "$LIST"
echo "$(<../tpl/_footer.html)"