blob: a007822eb46cdc0f0be6e8d092ee60d4643e6ef4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
#!/bin/bash
set -xeuo pipefail
function besedilo () { # <tip -- html> <datoteka> <zaupanje - 0 za html escaping, 1 brez html escapinga> <nesting level>
seznam=1
echo "<div class=besedilo>"
tail -n+2 $2 | while read -r l
do
navadno=1
if grep ^!http <<<"$l" > /dev/null && grep -v \' <<<"$l" > /dev/null
then
echo "<img style=max-width:100% src='`sed -e s/!// <<<"$l"`' />"
navadno=0
fi
seznam=$(($seznam-1))
if grep '^*' <<<"$l" > /dev/null
then
[ $seznam -eq 0 ] && echo "<ul>"
seznam=2
navadno=0
fi
zelena=0
if grep '^>' <<<"$l" > /dev/null
then
echo "<span style=color:green>"
zelena=1
fi
[ $seznam -eq 1 ] && echo "</ul>"
if [ $navadno -eq 1 ]
then
if [ $3 -eq 0 ]
then
tekst=`sed -e 's/</</g' <<<"$l"`
else
tekst=$l
fi
if [ $seznam -eq 2 ]
then
tekst=`sed 's/^*/<li>/' <<<"$tekst"`
fi
if [ $4 -gt 0 ]
then
for you in `grep -Eo ">>[A-Za-z0-9+-]{8}" <<<"$l"`
do
stil="border:1px solid green"
if [ $(($4%2)) -eq 0 ]
then
stil="border:1px solid red"
fi
koment=`komentar $1 $(cut -d\> -f3 <<<$you) $(($4-1))`
echo "<details class=komentar style='$stil'><summary>`head -n1 <<<$koment`</summary>`tail -n+2 <<<$koment`</details>"
done
fi
sed -e 's,\(http[s]*://[A-Za-z0-9._~:/?#@!$&()*+,;=-]*\),<a href="\1">\1</a>,g' <<<"$tekst"
echo "<br>"
fi
if [ $zelena -eq 1 ]
then
echo "</span>"
fi
done
echo "</div>"
}
function komentar () { # tip id nesting-level
stat komentarji/$2 > /dev/null || { echo komentar ne $3 ne obstaja.; return; }
echo -n "<a onclick=citiraj('$2')><code>$2</code></a> <b class=avtor>$(head -n1 komentarji/$2 | cut -f2 | cut -d@ -f1 | sed -e 's/</</g')</b> "
echo "dne <span class=datum>`date --date @$(stat --format %W komentarji/$2)`</span> <a href=//z.4a.si/skovikanje/komentar.php?koga=$2 target=_blank>uredi</a> <a href=/skovikanje/skovik/$(head -n1 komentarji/$2 | cut -f1).html>na</a>"
besedilo $1 komentarji/$2 0 $3
}
if [ $1 = komentar ]
then
komentar $2 $3 5
fi
if [ $1 = objava ]
then
echo "<meta name=referrer content=unsafe-url />"
if [ $4 -eq 1 ]
then
echo "<title>`head -n1 objave/$3 | cut -f1`</title>"
echo "<h2><a href=..><<< nazaj</a></h2>"
fi
echo "<script>function citiraj(slug) {odgovor.hidden=false;besedilo.value+='>>'+slug+'\n';} </script>"
echo "<h1 class=naslov>`head -n1 objave/$3 | cut -f1`</h1>"
echo "<p>spisal <span class=spisal>`head -n1 objave/$3 | cut -f2`</span>"
if [ ! `head -n1 objave/$3 | cut -f2` = `date --iso-8601 --date @$(stat --format %Y objave/$3)` ]
then
echo "| nazadnje spremenil <span class=spremenil>`date --iso-8601 --date @$(stat --format %Y objave/$3)`</span>"
fi
echo "</p>"
if [ $4 -eq 1 ]
then
besedilo $2 objave/$3 1 5
echo "<hr><h2>komentarji</h2>"
komentiraj="<input id=komentiraj hidden type=button onclick='document.getElementById("odgovor").hidden=false' value=komentiraj />"
echo $komentiraj
for file in `ls --reverse --sort=time --time=birth komentarji`
do
grep "^$3 " komentarji/$file > /dev/null && { echo "<div class=komentar style='border:1px solid red'>"; komentar $1 $file 5; echo "</div>"; }
done
echo "<div id=odgovor>`curl --fail-with-body http://z.4a.si/skovikanje/komentar.php?action=//z.4a.si./skovikanje/komentar.php%3Fna=$3%26tip=objava%26ref=REPLACEME | sed s/REPLACEME/HTTP_REFERER/`</div>"
echo $komentiraj
echo "<script>odgovor.style='background:gray;position:fixed;right:0;bottom:0';odgovor.hidden=true;komentiraj.hidden=false;</script>"
else
besedilo $2 <(head -n4 objave/$3) 1 5
komentarjev=0
for file in `ls --reverse --sort=time --time=birth komentarji`
do
grep "^$3 " komentarji/$file > /dev/null && komentarjev=$(($komentarjev+1))
done
echo "<h4><a href=skovik/$3.html>Klikni sem za ogled celotnega besedila, komentiranje in branje komentarjev ($komentarjev).</a></h4>"
fi
fi
|