História Tudósnaptár applet

Ez az alkalmazás a História Tudósnaptárhoz lett tervezve, hogy oldalakra belinkelhető formában jelenítse meg egy aktuális napon (ma) évfordulós tudósok fényképeit. Ez a leírás rendszergazdák számára készült, egyéni felhasználók csak akkor vehetik hasznát, ha a kiszolgálón engedélyezve van az include utasítás használata, és tudnak CGI vagy PHP programokat futtatni.

ÚJ!

Joomla 2.5-höz, Drupal6-hoz és Drupal7-hez! A modulok telepítésével kapcsolatos kérdésekkel, valamint az esetleges hibák kijavítása ügyében keresse Selmeci Bélát!

Modul használata statikus html oldalakon

A História tudósnaptár applet használatához az include módot engedélyezni kell a WWW-kiszolgálón (ennek módjáról lásd a kiszolgáló leírását), majd a
<!--#include virtual="/cgi-bin/tngate.pl?paraméterek..."-->
parancsot kell elhelyezni az shtml végződésű WWW-oldalba. Sajnos, az include általában nem hivatkozhat más gépen levő programra, ezért szükség van egy olyan programra, ami lekéri a História adatait, de az ön kiszolgálóján található, hogy be lehessen include-olni a lapjaiba. Ez a program (a példa szerint tngate.pl névre hallgat) a kiszolgáló cgi-bin könyvtárában helyezhető el, és összesen ennyiből áll:

#!/usr/bin/perl
use LWP::Simple;
$tnurl='http://'tudosnaptar.kfki.hu/historia/kepsor.php';
print "Content-type:text/html ";
$params = $ENV{'QUERY_STRING'}; if ($params ne "") { $tnurl .= '?' . $params; }
getprint ($tnurl);

(Ehhez a programhoz a Perl LWP::Simple moduljának telepítve kell lennie.)

Amennyiben szervere támogatja PHP programok include-ját, használhatja a következő kis (a példában tngate.php néven szereplő) php programot is (futtatásához a PHP Curl csomagra van szükség):

<?php
$tnurl = 'http://'tudosnaptar.kfki.hu/historia/kepsor.php';
$params = $_SERVER['QUERY_STRING']; if (strcmp($params,'')!=0) { $tnurl .= '?' . $params; }
$tn_ch = curl_init();
curl_setopt($tn_ch, CURLOPT_URL, $tnurl);
curl_setopt($tn_ch, CURLOPT_HEADER, false);
curl_setopt($tn_ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($tn_ch);
echo $out;
?>

(ez esetben a hivatkozó fájl include bejegyzésében értelemszerűen a /cgi-bin/tn.pl helyett a tn.php szerepel)

Dinamikus tartalomkezelő programok

A Tudósnaptár modul formában elkészült Joomla 2.5-höz, Drupal6-hoz és Drupal7-hez. Ezek a modulok a fenti kódhoz hasonlóan működnek, csak a Tudósnaptár modul konfigurálása a tartalomkezelő programok beállításai között történik (diavetítés támogatása egyelőre csak drupal7 alatt). Amennyiben egyéb dinamikus (PHP alapú) tartalomkezelőt használ, és az az include bejegyzéseket nem támogatja, a fenti programot a következő módosítással használhatja (PHP Curl szükséges):

<?php
$tnurl = 'http://'tudosnaptar.kfki.hu/historia/kepsor.php';
if (strcmp($params,'')!=0) { $tnurl .= '?' . $params; }
$tn_ch = curl_init();
curl_setopt($tn_ch, CURLOPT_URL, $tnurl);
curl_setopt($tn_ch, CURLOPT_HEADER, false);
curl_setopt($tn_ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($tn_ch);
?>

és a tartalomkezelő kódértelmező moduljában (ami az include-okat, vagy az oldal tartalmát kezeli), vagy ha az egyáltalán nincs, az oldal tartalmát kezelő modulban:

...
$params="paraméterek";
require_once 'tngate.php';
$content = str_replace('<!--TN-->',$out,$content);
...

ahol $content az oldal tartalma. Amint látható, a tartalomba a <!--TN--> megjegyzéssel lehet beilleszteni a Tudósnaptár appletet.

ÚJ!

A képsor diavetítés módja a jquery javascript könyvtárat használja. A mód használatához a kódban hivatkozni kell a jquery könyvtárra, a rotátor scriptre (Dylan Wagstaff munkája), és egy stílusra, ami a képek megfelelő megjelenítéséért felel.

<link rel="stylesheet" type="text/css" href="http://tudosnaptar.kfki.hu/historia/css/rotator.css">
<script type="text/javascript" src="http://tudosnaptar.kfki.hu/historia/js/jquery.min.js"></script>
<script type="text/javascript" src="http://tudosnaptar.kfki.hu/historia/js/rotator.js"></script>

A Tudósnaptár program két (diavetítés esetén 3) egymásba skatulyázott táblázatot ad vissza, amelyek közül a belső tartalmazza a tudósok képeit.

A program meghívásánál használható paraméterek:

m=[0,1,2,3]1: függőleges mód, 0: a táblázat vízszintes elrendezésű, 2: szöveges mód, 3: diavetítés, alapérték: 0
b=érték3D keret vastagságának beállítása, alapérték: 1
lk=értékha meg van adva, a linkek nincsenek aláhúzva
bc=színkeret színe hextriplet (# nélkül) vagy angol színnév, none=nincs szin, alapérték: ffffff (white)
bgc=színcella háttérszín hextriplet (# nélkül) vagy angol színnév, none=nincs szin, alapérték: ffffff (white)
hbc=színfejléc háttérszín hextriplet (# nélkül) vagy angol színnév, none=nincs szin, alapérték: ffffff (white)
fc=színnormál betű színe hextriplet (# nélkül) vagy angol színnév, alapérték: 000000 (black)
lc=színhiperlink színe hextriplet (# nélkül) vagy angol színnév, alapérték: 0000ff (blue)
is=[0,1,2,3]Kép mérete, 0:30x40, 1:60x80, 2:90x120, 3:120x160, alapérték: 1 Vigyázat! Van olyan nap. amikor 10-15 tudós is évfordulós!
s=11: Mutasson minden ma született vagy meghalt tudóst, alapérték: csak az 5-tel és 10-el osztható évfordulókat mutassa
u=11: Minden szöveg UTF-8 karakterekkel kódolva jelenik meg, alapérték 0: a szöveg ISO-8859 + HTML kódolású
nf=11: A fentebb leírt formázások nélkül, de stílus elemekkel adja ki a szöveget. Stíluselemek: #tn_outertable, #tn_innertable, .tn_titlecell, .tn_imgcell, .tn_imgtext (csak m=3 -nál), .tn_counter (csak m=3 -nál), alapérték 0: a feljebb leírt formázó utasítások érvényesek

Példák:
<!--#include virtual="/cgi-bin/tngate.pl?b=0&bc=yellow&bgc=ffffe0&lk=1&fc=0000ff&lc=green"-->
<!--#include virtual="/php/tngate.php?b=0&bc=ffff00&bgc=ffffe0&lk=1&fc=blue&lc=00ff00"-->
jelentése: sima sárga keret, halvány sárga háttér, kék betűk, aláhúzás nélküli zöld linkek.
Diavetítés mód, UTF-8 szövegekkel, saját stílusokkal:
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
...
<link rel="stylesheet" type="text/css" href="tudosnaptar.css">
<link rel="stylesheet" type="text/css" href="http://tudosnaptar.kfki.hu/historia/css/rotator.css">
<script type="text/javascript" src="http://tudosnaptar.kfki.hu/historia/js/jquery.min.js"></script>
<script type="text/javascript" src="http://tudosnaptar.kfki.hu/historia/js/rotator.js"></script>
</head>
<body>
...
<!--#include virtual="/php/tngate.php?m=3&u=1&nf=1-->
...
</body>
</html>