Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /** * FecShop file. * * @link http://www.fecshop.com/ * @copyright Copyright (c)..

Decoded Output download

<?php
/**
 * FecShop file.
 *
 * @link http://www.fecshop.com/
 * @copyright Copyright (c) 2016 FecShop Software LLC
 * @license http://www.fecshop.com/license/
 */
namespace fecshopppppadmin\modules\Fecadminlock\cache;

use fec\helpers\CUrl;
use fec\helpers\CRequest;
use fecshopppppadmin\interfacesase\AppadminbaseBlockInterface;
use fecshopppppadmin\modules\AppadminbaseBlock;
use Yii;

/**
 * block cmsrticle.
 * @author Terry Zhao <[email protected]>
 * @since 1.0
 */
class Index extends AppadminbaseBlock implements AppadminbaseBlockInterface
{
    // rediscommonredis
    public $appRedisCache;
    // 
    public $errors; 
    //  commonrediskey
    public $commonConfigKey = 'commonConfig';
    
	public function init()
    {
		$this->_currentUrl = CUrl::getUrl("fecadmin/cache/index");
        $this->_currentParamUrl = CUrl::getCurrentUrl();
    }
	public function getLastData(){
		# 
		# 
		$pagerForm = $this->getPagerForm();  
		# 
		$searchBar = $this->getSearchBar();
		#    
		$editBar = $this->getEditBar();
		# 
		$thead = $this->getTableThead();
		# 
		$tbody = $this->getTableTbody();
		# 
		$toolBar = $this->getToolBar($this->_param['numCount'],$this->_param['pageNum'],$this->_param['numPerPage']); 
		
		return [
			'pagerForm'	 	=> $pagerForm,
			'searchBar'		=> $searchBar,
			'editBar'		=> $editBar,
			'thead'		=> $thead,
			'tbody'		=> $tbody,
			'toolBar'	=> $toolBar,
		];
	}
    public function getTableFieldArr(){
        return [];
    }
	# 
	public function getSearchArr(){
		return [];
	}
	
	public function getEditBar(){
		if(!strstr($this->_currentParamUrl,"?")){
			$csvUrl = $this->_currentParamUrl."?type=export";
		}else{
			$csvUrl = $this->_currentParamUrl."&type=export";
		}

		return '<ul class="toolBar">
					<li><a csrfName="' .CRequest::getCsrfName(). '" csrfVal="' .CRequest::getCsrfValue(). '" title="'.Yii::$service->page->translate->__('Are you sure you want to refresh the cache?').'" target="selectedTodo" rel="ids" postType="string" href="'.$this->_currentUrl.'?method=reflush" class="edit"><span>' . Yii::$service->page->translate->__('Refresh Cache') . '</span></a></li>
					<li class="line">line</li>
				</ul>';
	}
	
	public function getTableThead(){
		return '
			<thead>
				<tr>
					<th width="22"><input type="checkbox" group="ids" class="checkboxCtrl"></th>
					<th width="40">' . Yii::$service->page->translate->__('Cache Name')  . '</th>
					<th width="110">' . Yii::$service->page->translate->__('Cache Description') . '</th>
				</tr>
			</thead>';
	}
	
	public function getTableTbody(){
		$str = '';
        $reflushRedisCache = \Yii::$app->controller->module->params['cacheConfigFile'];
        if (is_array($reflushRedisCache)) {
            foreach ($reflushRedisCache as $appName => $c) {
                if ($appName != $this->commonConfigKey) {
                    $str .= '<tr target="sid_user" rel="'.$appName.'">
                        <td><input name="ids" value="'.$appName.'" type="checkbox"></td>
                        <td>'.$appName.'</td>
                        <td> '. Yii::$service->page->translate->__('Refresh all caches') .''.$appName.'</td>
                    </tr>
                    ';
                }
            }
        }
		
		return	$str;
	}
    /**
     * redis
     * redisredis
     *       commonredisredisredis componentredis
     */
    public function getRedisCacheConfig(){
        $arr = \Yii::$app->controller->module->params['cacheConfigFile'];
        if (is_array($arr)) {
            // commonredis
            if (!isset($arr[$this->commonConfigKey]) || !$arr[$this->commonConfigKey]) {
                $this->errors = 'module config: cacheConfigFile[commonConfig] can not empty';
                
                return false;
            }
            $file = Yii::getAlias($arr[$this->commonConfigKey]);
            $config = require($file);
            if (!isset($config['components']['cache']['class']) || !$config['components']['cache']['class'] || $config['components']['cache']['class'] != 'yii
edis\Cache') {
                $this->errors = 'can not find  $config[\'components\'][\'cache\'][\'redis\'] in '.$file;
                
                return false;
            }
            
            $baseConfig = isset($config['components']['redis']) ? $config['components']['redis'] : [];
            // redis
            foreach ($arr as $app => $appFile) {
                if ($app != $this->commonConfigKey) {
                    $file = Yii::getAlias($appFile);
                    $config = require($file);
                    $appRedisConfig = isset($config['components']['redis']) ? $config['components']['redis'] : [];
                    if (!empty($appRedisConfig)) {
                        $this->appRedisCache[$app] = \yii\helpers\ArrayHelper::merge($baseConfig, $appRedisConfig);
                    } else {
                        $this->appRedisCache[$app] = $baseConfig;
                    
                    }
                }
            }
            $baseCacheConfig = isset($config['components']['cache']['redis']) ? $config['components']['cache']['redis'] : [];
            foreach ($this->appRedisCache as $app => $config) {
                $this->appRedisCache[$app] = \yii\helpers\ArrayHelper::merge($config, $baseCacheConfig);
            }
            
            
            // redis
            foreach ($arr as $app => $appFile) {
                if ($app != $this->commonConfigKey) {
                    $file = Yii::getAlias($appFile);
                    $config = require($file);
                    $appRedisConfig = isset($config['components']['cache']['redis']) ? $config['components']['cache']['redis'] : [];
                    if (!empty($appRedisConfig)) {
                        $this->appRedisCache[$app] = \yii\helpers\ArrayHelper::merge($this->appRedisCache[$app], $appRedisConfig);
                    }
                }
            }
        }
        
        
        return true;
    }
    // cache
    public function isFileCache()
    {
        $arr = \Yii::$app->controller->module->params['cacheConfigFile'];
        if (is_array($arr)) {
            // commonredis
            if (!isset($arr[$this->commonConfigKey]) || !$arr[$this->commonConfigKey]) {
                $this->errors = 'module config: cacheFileConfigFile[commonConfig] can not empty';
                
                return false;
            }
            $file = Yii::getAlias($arr[$this->commonConfigKey]);
            $config = require($file);
            if (!isset($config['components']['cache']['class']) || !$config['components']['cache']['class'] || $config['components']['cache']['class'] != 'yii\caching\FileCache') {
                $this->errors = 'can not find  $config[\'components\'][\'cache\'][\'fileCache\'] in '.$file;
                
                return false;
            }
            
            return true;
        }
        
        return false;
    }
    
    // 
    public function flushFileCache()
    {
        $cachePath = Yii::$app->cache->cachePath;
        $cacheAppNameStr = Yii::$app->request->post('ids');
        $cacheAppNameArr = explode(",",$cacheAppNameStr);
        $successReflushAppNameArr = [];
        if (is_array($cacheAppNameArr)) {
            foreach ($cacheAppNameArr as $cacheAppName) {
                $cacheAppName = strtolower($cacheAppName);
                $appCachePath = str_replace('appadmin', $cacheAppName, $cachePath);
                //echo $cachePath;
                Yii::$app->cache->cachePath = $appCachePath;
                Yii::$app->cache->flush();
                $successReflushAppNameArr[] = $cacheAppName;
            }
        }
        
         echo  json_encode([
            "statusCode" => "200",
            "message" => Yii::$service->page->translate->__('Reflush cache success, AppName') . ":" . implode(',', $successReflushAppNameArr),
        ]);
    }
    
    /**
     * 
     */
	public function reflush(){
        // 
        if ($this->isFileCache()) {
            $this->flushFileCache();
            exit;
        }
        // flush redis cache
        $this->flushRedisCache();
        exit;
    }
    
    // redis
    public function flushRedisCache()
    {
        
        // redis cache
        if (!$this->getRedisCacheConfig()) {
            echo  json_encode([
                "statusCode"    => "300",
                "message"       => $this->errors,
            ]);
            return ;
        }
        
        $successReflushAppNameArr = [];
		$cacheAppNameStr = Yii::$app->request->post('ids');
		$cacheAppNameArr = explode(",",$cacheAppNameStr);
        if (is_array($cacheAppNameArr)) {
            foreach ($cacheAppNameArr as $cacheAppName) {
                $cacheAppName = trim($cacheAppName);
                if (isset($this->appRedisCache[$cacheAppName]) && $this->appRedisCache[$cacheAppName]) {
                    
                    $redisComponent = Yii::createObject($this->appRedisCache[$cacheAppName]);
                    $redisComponent->executeCommand('FLUSHDB');
                    $successReflushAppNameArr[] = $cacheAppName;
                }
            }
        }
		#   
		// ecadmin\helpers\CConfig::flushCacheConfig();
        echo  json_encode([
            "statusCode" => "200",
            "message" => Yii::$service->page->translate->__('Reflush cache success, AppName') . ":" . implode(',', $successReflushAppNameArr),
        ]);
    }
}






 ?>

Did this file decode correctly?

Original Code

<?php
/**
 * FecShop file.
 *
 * @link http://www.fecshop.com/
 * @copyright Copyright (c) 2016 FecShop Software LLC
 * @license http://www.fecshop.com/license/
 */
namespace fecshop\app\appadmin\modules\Fecadmin\block\cache;

use fec\helpers\CUrl;
use fec\helpers\CRequest;
use fecshop\app\appadmin\interfaces\base\AppadminbaseBlockInterface;
use fecshop\app\appadmin\modules\AppadminbaseBlock;
use Yii;

/**
 * block cms\article.
 * @author Terry Zhao <[email protected]>
 * @since 1.0
 */
class Index extends AppadminbaseBlock implements AppadminbaseBlockInterface
{
    // rediscommonredis
    public $appRedisCache;
    // 
    public $errors; 
    //  commonrediskey
    public $commonConfigKey = 'commonConfig';
    
	public function init()
    {
		$this->_currentUrl = CUrl::getUrl("fecadmin/cache/index");
        $this->_currentParamUrl = CUrl::getCurrentUrl();
    }
	public function getLastData(){
		# 
		# 
		$pagerForm = $this->getPagerForm();  
		# 
		$searchBar = $this->getSearchBar();
		#    
		$editBar = $this->getEditBar();
		# 
		$thead = $this->getTableThead();
		# 
		$tbody = $this->getTableTbody();
		# 
		$toolBar = $this->getToolBar($this->_param['numCount'],$this->_param['pageNum'],$this->_param['numPerPage']); 
		
		return [
			'pagerForm'	 	=> $pagerForm,
			'searchBar'		=> $searchBar,
			'editBar'		=> $editBar,
			'thead'		=> $thead,
			'tbody'		=> $tbody,
			'toolBar'	=> $toolBar,
		];
	}
    public function getTableFieldArr(){
        return [];
    }
	# 
	public function getSearchArr(){
		return [];
	}
	
	public function getEditBar(){
		if(!strstr($this->_currentParamUrl,"?")){
			$csvUrl = $this->_currentParamUrl."?type=export";
		}else{
			$csvUrl = $this->_currentParamUrl."&type=export";
		}

		return '<ul class="toolBar">
					<li><a csrfName="' .CRequest::getCsrfName(). '" csrfVal="' .CRequest::getCsrfValue(). '" title="'.Yii::$service->page->translate->__('Are you sure you want to refresh the cache?').'" target="selectedTodo" rel="ids" postType="string" href="'.$this->_currentUrl.'?method=reflush" class="edit"><span>' . Yii::$service->page->translate->__('Refresh Cache') . '</span></a></li>
					<li class="line">line</li>
				</ul>';
	}
	
	public function getTableThead(){
		return '
			<thead>
				<tr>
					<th width="22"><input type="checkbox" group="ids" class="checkboxCtrl"></th>
					<th width="40">' . Yii::$service->page->translate->__('Cache Name')  . '</th>
					<th width="110">' . Yii::$service->page->translate->__('Cache Description') . '</th>
				</tr>
			</thead>';
	}
	
	public function getTableTbody(){
		$str = '';
        $reflushRedisCache = \Yii::$app->controller->module->params['cacheConfigFile'];
        if (is_array($reflushRedisCache)) {
            foreach ($reflushRedisCache as $appName => $c) {
                if ($appName != $this->commonConfigKey) {
                    $str .= '<tr target="sid_user" rel="'.$appName.'">
                        <td><input name="ids" value="'.$appName.'" type="checkbox"></td>
                        <td>'.$appName.'</td>
                        <td> '. Yii::$service->page->translate->__('Refresh all caches') .''.$appName.'</td>
                    </tr>
                    ';
                }
            }
        }
		
		return	$str;
	}
    /**
     * redis
     * redisredis
     *       commonredisredisredis componentredis
     */
    public function getRedisCacheConfig(){
        $arr = \Yii::$app->controller->module->params['cacheConfigFile'];
        if (is_array($arr)) {
            // commonredis
            if (!isset($arr[$this->commonConfigKey]) || !$arr[$this->commonConfigKey]) {
                $this->errors = 'module config: cacheConfigFile[commonConfig] can not empty';
                
                return false;
            }
            $file = Yii::getAlias($arr[$this->commonConfigKey]);
            $config = require($file);
            if (!isset($config['components']['cache']['class']) || !$config['components']['cache']['class'] || $config['components']['cache']['class'] != 'yii\redis\Cache') {
                $this->errors = 'can not find  $config[\'components\'][\'cache\'][\'redis\'] in '.$file;
                
                return false;
            }
            
            $baseConfig = isset($config['components']['redis']) ? $config['components']['redis'] : [];
            // redis
            foreach ($arr as $app => $appFile) {
                if ($app != $this->commonConfigKey) {
                    $file = Yii::getAlias($appFile);
                    $config = require($file);
                    $appRedisConfig = isset($config['components']['redis']) ? $config['components']['redis'] : [];
                    if (!empty($appRedisConfig)) {
                        $this->appRedisCache[$app] = \yii\helpers\ArrayHelper::merge($baseConfig, $appRedisConfig);
                    } else {
                        $this->appRedisCache[$app] = $baseConfig;
                    
                    }
                }
            }
            $baseCacheConfig = isset($config['components']['cache']['redis']) ? $config['components']['cache']['redis'] : [];
            foreach ($this->appRedisCache as $app => $config) {
                $this->appRedisCache[$app] = \yii\helpers\ArrayHelper::merge($config, $baseCacheConfig);
            }
            
            
            // redis
            foreach ($arr as $app => $appFile) {
                if ($app != $this->commonConfigKey) {
                    $file = Yii::getAlias($appFile);
                    $config = require($file);
                    $appRedisConfig = isset($config['components']['cache']['redis']) ? $config['components']['cache']['redis'] : [];
                    if (!empty($appRedisConfig)) {
                        $this->appRedisCache[$app] = \yii\helpers\ArrayHelper::merge($this->appRedisCache[$app], $appRedisConfig);
                    }
                }
            }
        }
        
        
        return true;
    }
    // cache
    public function isFileCache()
    {
        $arr = \Yii::$app->controller->module->params['cacheConfigFile'];
        if (is_array($arr)) {
            // commonredis
            if (!isset($arr[$this->commonConfigKey]) || !$arr[$this->commonConfigKey]) {
                $this->errors = 'module config: cacheFileConfigFile[commonConfig] can not empty';
                
                return false;
            }
            $file = Yii::getAlias($arr[$this->commonConfigKey]);
            $config = require($file);
            if (!isset($config['components']['cache']['class']) || !$config['components']['cache']['class'] || $config['components']['cache']['class'] != 'yii\caching\FileCache') {
                $this->errors = 'can not find  $config[\'components\'][\'cache\'][\'fileCache\'] in '.$file;
                
                return false;
            }
            
            return true;
        }
        
        return false;
    }
    
    // 
    public function flushFileCache()
    {
        $cachePath = Yii::$app->cache->cachePath;
        $cacheAppNameStr = Yii::$app->request->post('ids');
        $cacheAppNameArr = explode(",",$cacheAppNameStr);
        $successReflushAppNameArr = [];
        if (is_array($cacheAppNameArr)) {
            foreach ($cacheAppNameArr as $cacheAppName) {
                $cacheAppName = strtolower($cacheAppName);
                $appCachePath = str_replace('appadmin', $cacheAppName, $cachePath);
                //echo $cachePath;
                Yii::$app->cache->cachePath = $appCachePath;
                Yii::$app->cache->flush();
                $successReflushAppNameArr[] = $cacheAppName;
            }
        }
        
         echo  json_encode([
            "statusCode" => "200",
            "message" => Yii::$service->page->translate->__('Reflush cache success, AppName') . ":" . implode(',', $successReflushAppNameArr),
        ]);
    }
    
    /**
     * 
     */
	public function reflush(){
        // 
        if ($this->isFileCache()) {
            $this->flushFileCache();
            exit;
        }
        // flush redis cache
        $this->flushRedisCache();
        exit;
    }
    
    // redis
    public function flushRedisCache()
    {
        
        // redis cache
        if (!$this->getRedisCacheConfig()) {
            echo  json_encode([
                "statusCode"    => "300",
                "message"       => $this->errors,
            ]);
            return ;
        }
        
        $successReflushAppNameArr = [];
		$cacheAppNameStr = Yii::$app->request->post('ids');
		$cacheAppNameArr = explode(",",$cacheAppNameStr);
        if (is_array($cacheAppNameArr)) {
            foreach ($cacheAppNameArr as $cacheAppName) {
                $cacheAppName = trim($cacheAppName);
                if (isset($this->appRedisCache[$cacheAppName]) && $this->appRedisCache[$cacheAppName]) {
                    
                    $redisComponent = Yii::createObject($this->appRedisCache[$cacheAppName]);
                    $redisComponent->executeCommand('FLUSHDB');
                    $successReflushAppNameArr[] = $cacheAppName;
                }
            }
        }
		#   
		// \fecadmin\helpers\CConfig::flushCacheConfig();
        echo  json_encode([
            "statusCode" => "200",
            "message" => Yii::$service->page->translate->__('Reflush cache success, AppName') . ":" . implode(',', $successReflushAppNameArr),
        ]);
    }
}






Function Calls

None

Variables

None

Stats

MD5 45d7e4861d1cec5c1146b2a2377cd4b2
Eval Count 0
Decode Time 123 ms