Jak to přenést do Nette? Statická třída → Helper?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Kcko
- Člen | 469
Ve starém CMS jsem měl něco na způsob této „třídy“ (ve skutečnosti složitější s vícero metodami), která mi sloužila k nahrazování smajlíků v komentářích na webu.
Přemýšlím jak to „přenést“ do Nette. Asi je jasné, že to bude helper, ale nejsem si jist, jak tam zakomponovat tu „statiku“ tj proměnné a tu první metodu, která se zavolá jen 1× (resp asi podobně jako tady ale nebude to prasárna? A hlavně tady mám 2 oddělené metody, jak to udělat v helperu?)
Díky
<?php
class Smileys
{
public static $old_smileys = array();
public static $new_smileys = array();
public static $old_smileys_th = array();
public static $new_smileys_th = array();
public static function prepareSmileys($text)
{
if (!count(self::$old_smileys) && !count(self::$new_smileys))
{
for ($i = 1; $i <= 136; $i++)
{
$pic = 'dir=4&pic='.$i.'.gif&par='.@filemtime('./images/smileys/'.$i.'.gif');
self::$old_smileys[] = '*'.$i.'*';
self::$new_smileys[] = '<img src="/pic.php?'.$pic.'/'.$i.'.gif" alt="*'.$i.'*" />';
}
}
}
public static function replaceSmileys($text)
{
self::prepareSmileys(); //
$text = str_replace(self::$old_smileys, self::$new_smileys, $text);
return $text;
}