User signature

zoliky képe

A kovetkezo kod megjeleniti a felhasznalo alairasat:

<?php if ($signature): ?>
  <div class="user-signature clear-block">
    <hr width="25%" align="left"/>
    <?php print $signature ?>
  </div>
<?php endif; ?>

Erdekes modon, ha nincs alairasa a felhasznalonak akkor is megjelenik a HR (Horizontal rule). Valoszinuleg azert, mert a "conditional operator" teljesul.

Probaltam megmondani neki, hogy csak akkor teljesuljon ha tenyeleg van alairasa a felhasznalonak es az "alairas mezo" nem ures.

<?php if ($signature && trim($signature)): ?>

probaltam igy is:

<?php if ($signature && !empty($signature)): ?>

Az egyik modszer sem mukodik, mindig megjelenik a HR. Van valami otlet?
Koszonom!

Fórum: 
pp képe

aztán majd meglátjuk mi van benne.

pp

0
0
zoliky képe

A kovetkezo jelenik meg (igy ahogy latszik, ket sorban):

string(7) "
" 

Fogalmam sincs mit jelent.

0
0
Illyés Edith képe

Az oldal HTML forrásában mi jelenik meg?

0
0
pp képe

a trim-nek ki kéne dobálnia http://hu.php.net/trim
próbáld az utolsó példát
$clean = trim($binary, "\x00..\x1F");

pp

0
0
zoliky képe

Az oldal forasaba ez jelenik meg:

<div class="user-signature clear-block"><hr width="25%" align="left"/><p></p></div> 

Ha nem igaz a konditional nem ertem miert nyomja ki a DIV-et meg a HR-t.
pp, ugyanaz a kimenet. Hiaba hasznalom a peldat.

0
0
zoliky képe

Ok, a problema azt hiszem az egyik modultol van (advanced_forum).. A modul a forumot alakitja at "flat" stilusura. Olyan mint peldaul a Vbulletin, phpbb, stb...

A modulban van egy kod, amely szerint a drupal nem rakja az alairast a node-hoz, csak commenthez, es a modult ezt probalja orvosolni, csak valoszinuleg hibasan :

// Load the signature since Drupal doesn't put it on nodes
if (variable_get('user_signatures', 0)) {
    $vars['signature'] = check_markup($vars['account']->signature, $vars['node']->format);
}

Az egesz a _preprocess_node(&$vars) fuggvenyben van.
Lehetne ezt orvosolni igy elso ranezesre, vagy tanulmanyozam at ?

0
0
zoliky képe

Velemenyem szerint ez a megoldas:

// Load the signature since Drupal doesn't put it on nodes
if (variable_get('user_signatures', 0) && !empty($vars['account']->signature)) {
   $vars['signature'] = check_markup($vars['account']->signature, $vars['node']->format);
}

Javisatok ki ha esetleg hibaztam! Bekuldom majd bug reportnak.

0
0