<?php if (isset($primary_links)) : ?> <?php // felulirom a $primary_links[$key]['title']-t, ami eredetileg egy string, a keppel. foreach ($primary_links as $key => $module) { $primary_links[$key]['title'] = ''; $primary_links[$key]['title'] .= '<img src="/themes/eaposztrof/images/img.php?t='.$module[title].'&s=20">'; // az eredeti szoveges menuelembol ($module[title]) az alab lathato img.php keszit .png-t $primary_links[$key]['html'] = TRUE; } ?> <div id="menu-img"> <?php print theme('links', $primary_links, array('class' => 'links primary-links')) ?> </div> <?php endif; ?>
<?php header("Content-type: image/png"); // itt adom meg az alap ertekeket imagepng(imagettfJustifytext($_GET['t']?$_GET['t']:'eaposztrof.com',"./84_rock.ttf",$_GET['a']?$_GET['a']:'1',$_GET['w']?$_GET['w']:'0',$_GET['h']?$_GET['h']:'28',$_GET['x']?$_GET['x']:'0',$_GET['y']?$_GET['y']:'0',$_GET['s']?$_GET['s']:'22')); // szinezeshez pelda: #D6DBD6 == array(0xD6,0xDB,0xD6) function imagettfJustifytext($text, $font="./84_rock.ttf", $Justify=1, $W=0, $H=0, $X=0, $Y=0, $fsize=0, $color=array(0x7B,0x79,0x31), $bgcolor=array(0xD6,0xDB,0xD6)){ $angle = 0; $L_R_C = $Justify; $_bx = imageTTFBbox($fsize,0,$font,$text); $W = ($W==0)?abs($_bx[2]-$_bx[0]):$W; $H = ($H==0)?abs($_bx[5]-$_bx[3]):$H; $im = @imagecreate($W, $H) or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($im, $bgcolor[0], $bgcolor[1], $bgcolor[2]); $text_color = imagecolorallocate($im, $color[0], $color[1], $color[2]); $bg_color = imagecolorat($im,1,1); imagecolortransparent($im, $bg_color); // ezzel teszem transzparensse if($L_R_C == 0){ imagettftext($im, $fsize, $angle, $X, $fsize, $text_color, $font, $text); }elseif($L_R_C == 1){ $s = split("[\n]+", $text); $__H=0; foreach($s as $key=>$val){ $_b = imageTTFBbox($fsize,0,$font,$val); $_W = abs($_b[2]-$_b[0]); $_X = $W-$_W; $_H = abs($_b[5]-$_b[3]); $__H += $_H; imagettftext($im, $fsize, $angle, $_X, $__H, $text_color, $font, $val); $__H += 6; } } elseif($L_R_C == 2){ $s = split("[\n]+", $text); $__H=0; foreach($s as $key=>$val){ $_b = imageTTFBbox($fsize,0,$font,$val); $_W = abs($_b[2]-$_b[0]); $_X = abs($W/2)-abs($_W/2); $_H = abs($_b[5]-$_b[3]); $__H += $_H; imagettftext($im, $fsize, $angle, $_X, $__H, $text_color, $font, $val); $__H += 6; } } return $im; } ?>
Fórum:
Szép. Nekem leninkább a _-kát
Szép. Nekem leginkább a _-kák tetsszettek, a __ kifejezetten szépen tagolja a forráskódot !
...mit tudok: http://web.termuves.hu
nem rossz, de
Nem rossz dolog, sőt egészen hasznos. Nekem viszont ezt használva nem jelennek meg a menüelemek Drupal 6 alatt, ha olyan aloldalra megyek, amelyik szerepel az elsődleges menüelemek között. csak a főoldalon, illetve az adminisztrációs menüben navigálva láthatóak a képek.
Ui.: Megoldódott a probléma. Az volt a gond, hogy tesztelésképpen csak belemásoltam a telepített Drupal 6 könyvtárába az img.php -t, viszont valamilyen aloldalra navigálva nem találta meg a relatív hivatkozás miatt. Így módosítottam a page.tpl.php fájlban egy sort, és már működik, igaz másik könyvtárba mozgatásánál át kell írni ezt a sort mindig a megfelelő értékre:
$primary_links[$key]['title'] .= '<img src="http://localhost/drupal6/img.php?t='.$module[title].'&s=20">';
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
modulként
Amúgy talán az lenne még szép, ha mindez modulként lenne megvalósítva, de így is használható. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
kep menuelemekkel hogyan az i18n modult?
problema adodott a fent leirt 'kisugyes'-sel.. tobbekkozt az, hogy most kellene hasznaljam a i18n modult az oldl tobbnyelvusitesehez, es mivel a block-okban nem tortnik meg a szoveges menuelemek kepekre valo csereje, gondban vagyok. bele kell ronditsak a i18nmenu vagy menu modulba, vagy mi a teendo? valakinek hasznalhato otlete ezzel kapcsolatban? megkoszonnem.
azon is tortem meg a fejem, h mivel a "contact" menuelem, ami a contact modul altal generalt, fordithato a localization modullal.. hogyan lehetne elerni hogy a node menuelemei is ezzel a modszerrel fordithatoak legyenek?
asszem kicsiket eltevedtem sajat gondolataimban.. uhogy abbahagyom.. :)
42
Biztonsági rés
Hoppá. Beteszed az eredeti title-t a kimenetbe ami normálisan keresztülmegy a check_plain-en, de ezt kikapcsolod a HTML TRUE-val. Ez egy szép, méretes XSS sechole.
nevergone aláírása tetszik és irtó ismerős :D