Вход Регистрация
Файл: system/controllers/typograph/frontend.php
Строк: 39
<?php

class typograph extends cmsFrontend {

    private static 
$smiles;
    private 
$smiles_dir 'static/smiles/';

    public function 
actionGetSmiles() {

        return 
$this->cms_template->renderJSON(array(
            
'smiles' => $this->loadSmiles()->getSmiles()
        ));

    }

    public function 
replaceEmotionToSmile($text) {

        
$smiles_emotion = array(
            
' :) ' => 'smile',
            
' =) ' => 'smile',
            
':-)'  => 'smile',
            
' :( ' => 'sad',
            
':-('  => 'sad',
            
';-)'  => 'wink',
            
' ;) ' => 'wink',
            
' :D ' => 'laugh',
            
':-D'  => 'laugh',
            
'=-0'  => 'wonder',
            
':-0'  => 'wonder',
            
':-P'  => 'tongue'
        
);

        foreach(
$smiles_emotion as $find => $tag){
            
$text str_replace($find':'.$tag.':'$text);
        }

        
$smiles $this->loadSmiles()->getSmiles();

        if(
$smiles){
            foreach(
$smiles as $tag => $smile_path){
                
$text str_replace(':'.$tag.':'' <img src="'.$smile_path.'" alt="'.$tag.'" /> '$text);
            }
        }

        return 
$text;

    }

    private function 
loadSmiles() {

        if(
self::$smiles !== null){
            return 
$this;
        }

        
$cache cmsCache::getInstance();
        
$cache_key 'smiles';

        if (
false !== (self::$smiles $cache->get($cache_key))){
            return 
$this;
        }

        
$pattern $this->cms_config->root_path $this->smiles_dir '*.gif';

        
$files glob($pattern);

        if (
$files) {
            foreach (
$files as $file) {
                
self::$smiles[pathinfo($filePATHINFO_FILENAME)] = $this->cms_config->root$this->smiles_dir basename($file);
            }
        } else {
            
self::$smiles = array();
        }

        
$cache->set($cache_keyself::$smiles86400);

        return 
$this;

    }

    private function 
getSmiles() {
        return 
self::$smiles;
    }

}
Онлайн: 0
Реклама