хочу поделится своим опытом в вопросе оптимизации runcms.
для начала убьём 1 запрос к б.д. который считывает список смайликов.
ВНИМАНИЕ: не рекомендуется делать тем, кто нехочет растаться с функцией легкого добавления смайликов через админку(/modules/system/admin.php?fct=smilies).
находим файл
/class/module.textsanitizer.php
и меняем
PHP код:
function smiley($message) {
global $db;
if (count($this->smileys) == 0) {
if ( $getsmiles = $db->query("SELECT code, smile_url FROM ".$db->prefix("smiles")) ) {
while ($smiles = $db->fetch_array($getsmiles)) {
$message = str_replace($smiles['code'], '<img src="'.formatURL(XOOPS_URL.'/images/smilies/', $smiles['smile_url']).'" alt="'.$smiles['code'].'" />', $message);
array_push($this->smileys, $smiles);
}
}
} else {
foreach ($this->smileys as $smiles) {
$message = str_replace($smiles['code'], '<img src="'.formatURL(XOOPS_URL.'/images/smilies/', $smiles['smile_url']).'" alt="'.$smiles['code'].'" />', $message);
}
}
return $message;
}
на
PHP код:
function smiley($message) {
global $db;
$this->smileys=array
(
array("code"=>":-D","smile_url"=>"icon_biggrin.gif","emotion"=>"Куда еще лучше"),
array("code"=>":-)","smile_url"=>"icon_smile.gif","emotion"=>"Улыба"),
array("code"=>":-(","smile_url"=>"icon_frown.gif","emotion"=>"Грустно господа"),
array("code"=>":-o","smile_url"=>"icon_eek.gif","emotion"=>"Удивительно"),
array("code"=>":-?","smile_url"=>"icon_confused.gif","emotion"=>"Ничего не понял!"),
array("code"=>"8-)","smile_url"=>"icon_cool.gif","emotion"=>"Холосо"),
array("code"=>":lol:","smile_url"=>"icon_lol.gif","emotion"=>"Смеюсь"),
array("code"=>":-x","smile_url"=>"icon_mad.gif","emotion"=>"Безумный"),
array("code"=>":-P","smile_url"=>"icon_razz.gif","emotion"=>"Наверно непристойно"),
array("code"=>":cry:","smile_url"=>"icon_cry.gif","emotion"=>"Грущу (очень)"),
array("code"=>":evil:","smile_url"=>"icon_evil.gif","emotion"=>"И злой и противный"),
array("code"=>":roll:","smile_url"=>"icon_rolleyes.gif","emotion"=>"После сеанса NLP"),
array("code"=>";-)","smile_url"=>"icon_wink.gif","emotion"=>"Мигаю"),
array("code"=>":pint:","smile_url"=>"icon_drink.gif","emotion"=>"Пью пиво"),
array("code"=>":hammer:","smile_url"=>"icon_hammer.gif","emotion"=>"Трудоголик"),
array("code"=>":pint:","smile_url"=>"icon_drink.gif","emotion"=>"Пью пиво"),
array("code"=>":idea:","smile_url"=>"icon_idea.gif","emotion"=>"А у меня идея!")
);
if (count($this->smileys) == 0) :
if ( $getsmiles = $db->query("SELECT code, smile_url FROM ".$db->prefix("smiles")) ):
while ($smiles = $db->fetch_array($getsmiles)):
$message = str_replace($smiles['code'],
'<img src="'.formatURL(XOOPS_URL.'/images/smilies/', $smiles['smile_url']).'" alt="'.$smiles['code'].'" />',
$message);
array_push($this->smileys, $smiles);
endwhile;
endif;
else:
foreach ($this->smileys as $smiles)
$message = str_replace($smiles['code'], '<img src="'.formatURL(XOOPS_URL.'/images/smilies/', $smiles['smile_url']).'" alt="'.$smiles['code'].'" />', $message);
endif;
return $message;
}