Wymyśliłem lepsze rozwiązanie problemu
opisanego tutaj.
Ściągane strony są obrabiane ,,w locie'' a w pliku na dysku są zapisywane
tylko informacje o liczbie odsłon.
Mówiąc konkretniej korzystam z metod
store
/retrive
modułu Storable
,
zapisując/czytając hasz
postaci $PhotoLog{data}{photoid}= views
.
Generowaniem podsumowań zajmuje się inny skrypt, który wypisuje wyniki w postaci
dobrze sformatowanego fragmentu dokumentu HTML (,,opakowanego''
wewnątrz elementu <div>
).
Ten fragment następnie można wstawić w odpowiednie miejsce strony HTML.
Wreszcie ostatni skrypt tworzy wykres
liniowy (przy wykorzystaniu modułu GD::Graph
) liczby odsłon
oraz liczby odsłoniętych zdjęć. Trzy skrypty można połączyć w całość:
#!/bin/bash perl flick-store-views.pl if [ "$?" -ne "0" ] ; then echo "** Problems ..." ; exit 1 ; fi perl flick-report-views.pl -lang=pl -max=25 > 00-pl.phtml && \ perl flick-graph-views.pl if [ "$?" -ne "0" ] ; then echo "** Problems ..." ; exit 1 ; fi echo "OK"
Jakoś tak... Przykład wykorzystania
jest na tych stronach [1]
[2]
[3].
Skrypty można pobrać
stąd
(flick-store-views.pl,
flick-report-views.pl oraz
flick-graph-views.pl.)
Powyższe można nawet wsadzić do crona.
Skrypty wykorzystują m.in. moduły GD::Graph::lines
oraz
Storable
. Ten pierwszy musiałem doinstalować do mojej FC5.
Z tym był zresztą pewien kłopot ponieważ yum
nie zadziałał--nie
wiem czemu. Ostatecznie sprawę rozwiązało ,,ręczne'' ściągnięcie
perl-GDGraph-1.4307-1.fc5.noarch.rpm
,
perl-GDTextUtil-0.86-7.fc5.noarch.rpm
i perl-GD-2.35-1.fc5.i386.rpm
ze strony
rpm.pbone.net.
Przy okazji dowiedziałem się jak ,,porządnie'' wycentrować tabelę w oknie przeglądarki:
<table style='margin-left: auto; margin-right: auto;' ...