beautylist (1553B)
1 #!/bin/sh 2 3 . /var/common.sh 4 5 LIST="" 6 vendors="" 7 _SOURCE=$DB/* 8 9 get_param search 10 11 [ "$search" != "Unknown" ] && { 12 _SOURCE="$(grep -i -m1 -R -l "$search" $DB | sed -E -n 's/^(.*)\/(dmesg|state|vendor|date)$/\1/p' | sort | uniq)" 13 [ -z "$_SOURCE" ] && LIST="<h2>Not found</h2>" || LIST="<h2>Search result for '$search':</h2>" 14 } || search="" 15 16 # Assoc array challange accepted! 17 for _d in $_SOURCE 18 do 19 _vendor="$(<$_d/vendor)" 20 _model="$(<$_d/model)" 21 _state="$(<$_d/state)" 22 _date="$(<$_d/date)" 23 _notconf="$(<$_d/notconf)" 24 _md5="$(<$_d/md5)" 25 _comment="$(<$_d/comment)" 26 _uname="$(<$_d/uname)" 27 _dmesg_link="/list/$_vendor-$_model[$_state]-$_md5.txt" 28 _device_html=" 29 <li> 30 <a class='dmesg-link' href='$_dmesg_link'> 31 <span class='$_state' title='$_state'>[$_state]</span> 32 $_model</a> 33 <span class='notconf'>Not configured: </span> 34 <span class='notconf-val'>$_notconf</span> 35 <span class='date'>$_date</span><br> 36 <span class='comment'>$_uname</span> 37 <br><span class='comment'>Comment: $_comment</span> 38 </li>" 39 vendors="${vendors}\n${_vendor}" 40 eval "vendor_$_vendor=\"\$vendor_$_vendor $_device_html\"" 41 done 42 43 vendors="$(echo "$vendors" | sort | uniq)" 44 for _v in $vendors 45 do 46 LIST="$LIST\n<div><h3>$_v</h3>\n<ul>$(eval "echo \$vendor_$_v")</ul></div>" 47 done 48 49 50 # Challange complete 51 echo -en "Status: 200 OK\r\n" 52 echo -en "Content-type: text/html\r\n\r\n" 53 echo "$(<../tpl/_header.html)" 54 echo "<form method='GET'><input type='text' name='search' value='$search' placeholder='search'></form>" 55 echo "$LIST" 56 echo "$(<../tpl/_footer.html)"