Witam. Próbuję dodać do maincore.php kod aby tekst wzięty w znacznik [hide2] byl widoczny dla grupy userow o id=1
Oto co udało mi się wymyśleć lecz zakończyło się niepowodzeniem...
Daję tu fragment kodu z prośbą o możliwą pomoc w rozwikłąniu problemu
if (iMEMBER) $text = preg_replace('#\[hide\](.*?)\[/hide\]#si', '\1', $text);
else $text = preg_replace('#\[hide\](.*?)\[/hide\]#si', $locale['200'], $text);
$text = preg_replace('#\[size=(8|10|12|14|16|18|20)\](.*?)\[/size\]#si', '<span style=\'font-size:\1\'>\2</span>', $text);
$text = preg_replace('#\[flash width=([0-9]*?) height=([0-9]*?)\]([^\s\'\";:\+]*?)(\.swf)\[/flash\]#si', '<object classid=\'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\' codebase=\'http://active.macromedia.com/flash6/cabs/swflash.cab#version=6,0,0,0\' id=\'\3\4\' width=\'\1\' height=\'\2\'><param name=movie value=\'\3\4\'><param name=\'quality\' value=\'high\'><param name=\'bgcolor\' value=\'#ffffff\'><embed src=\'\3\4\' quality=\'high\' bgcolor=\'#ffffff\' width=\'\1\' height=\'\2\' type=\'application/x-shockwave-flash\' pluginspage=\'http://www.macromedia.com/go/getflashplayer\'></embed></object>', $text);
$text = preg_replace("#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#sie","'<img src=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\' style=\'border:0px\' alt=\'\'>'",$text);
$qcount = substr_count($text, "[quote]"); $ccount = substr_count($text, "[code]");
for ($i=0;$i < $qcount;$i++) $text = preg_replace('#\[quote\](.*?)\[/quote\]#si', '<div class=\'quote\'>\1</div>', $text);
for ($i=0;$i < $ccount;$i++) $text = preg_replace('#\[code\](.*?)\[/code\]#si', '<div class=\'quote\' style=\'width:400px;white-space:nowrap;overflow:auto\'><code style=\'white-space:nowrap\'>\1<br><br><br></code></div>', $text);
$text = descript($text,false);
$grupa_userow = explode(".", $userdata['user_groups']);
[b]if (in_array(1, $grupa_userow)) or (iADMIN)) $text = preg_replace('#\[hide2\](.*?)\[/hide2\]#si', '\1', $text);[/b]
else { $text = preg_replace('#\[hide\](.*?)\[/hide\]#si', $locale['veto_200'], $text);
return $text;
}
W tekscie pogrubionym jest błąd - proszę o p0omoc w wyeliminowaniu go.
Pozdrawiam :)
Udało mi się wyeliminować błąd. Podaje poprawny kod ktory wkljam w maincore.php:
$grupa_userow = explode(".", $userdata['user_groups']);
if (in_array(1, $grupa_userow)) { $text = preg_replace('#\[hide2\](.*?)\[/hide2\]#si', '\1', $text);
} else { $text = preg_replace('#\[hide2\](.*?)\[/hide2\]#si', $locale['200'], $text);
}
return $text;
Niestety tekst wzięty w znacznik [hide2] nie jest widoczny dla nikogo. Ani dla admin, ani dla userra a już tymbardziej dla osoby będącej w grupie o id=1.
Prosze o pomoc
PW od moderatora:
- Przeniesienie tematu - Pieka 22.03 - 19:58
Edytowane przez veto dnia 24.03.2008 11:06:32
|