| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | <?php 		/**	 * 模板风格列表	 * @param integer $siteid 站点ID,获取单个站点可使用的模板风格列表	 * @param integer $disable 是否显示停用的{1:是,0:否}	 */	function template_list($siteid = '', $disable = 0) {		$list = glob(PC_PATH.'templates'.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR);		$arr = $template = array();		if ($siteid) {			$site = pc_base::load_app_class('sites','admin');			$info = $site->get_by_id($siteid);			if($info['template']) $template = explode(',', $info['template']);		}		foreach ($list as $key=>$v) {			$dirname = basename($v);			if ($siteid && !in_array($dirname, $template)) continue;			if (file_exists($v.DIRECTORY_SEPARATOR.'config.php')) {				$arr[$key] = include $v.DIRECTORY_SEPARATOR.'config.php';				if (!$disable && isset($arr[$key]['disable']) && $arr[$key]['disable'] == 1) {					unset($arr[$key]);					continue;				}			} else {				$arr[$key]['name'] = $dirname;			}			$arr[$key]['dirname']=$dirname;		}		return $arr;	}	/**	 * 设置config文件	 * @param $config 配属信息	 * @param $filename 要配置的文件名称	 */	function set_config($config, $filename="system") {		$configfile = CACHE_PATH.'configs'.DIRECTORY_SEPARATOR.$filename.'.php';		if(!is_writable($configfile)) showmessage('Please chmod '.$configfile.' to 0777 !');		$pattern = $replacement = array();		foreach($config as $k=>$v) {			if(in_array($k,array('js_path','css_path','img_path','attachment_stat','admin_log','gzip','errorlog','phpsso','phpsso_appid','phpsso_api_url','phpsso_auth_key','phpsso_version','connect_enable', 'upload_url','sina_akey', 'sina_skey', 'snda_enable', 'snda_status', 'snda_akey', 'snda_skey', 'qq_akey', 'qq_skey','qq_appid','qq_appkey','qq_callback','admin_url'))) {				$v = trim($v);				$configs[$k] = $v;				$pattern[$k] = "/'".$k."'\s*=>\s*([']?)[^']*([']?)(\s*),/is";	        	$replacement[$k] = "'".$k."' => \${1}".$v."\${2}\${3},";								}		}		$str = file_get_contents($configfile);		$str = preg_replace($pattern, $replacement, $str);		return pc_base::load_config('system','lock_ex') ? file_put_contents($configfile, $str, LOCK_EX) : file_put_contents($configfile, $str);			}		/**	 * 获取系统信息	 */	function get_sysinfo() {		$sys_info['os']             = PHP_OS;		$sys_info['zlib']           = function_exists('gzclose');//zlib		$sys_info['safe_mode']      = (boolean) ini_get('safe_mode');//safe_mode = Off		$sys_info['safe_mode_gid']  = (boolean) ini_get('safe_mode_gid');//safe_mode_gid = Off		$sys_info['timezone']       = function_exists("date_default_timezone_get") ? date_default_timezone_get() : L('no_setting');		$sys_info['socket']         = function_exists('fsockopen') ;		$sys_info['web_server']     = strpos($_SERVER['SERVER_SOFTWARE'], 'PHP')===false ? $_SERVER['SERVER_SOFTWARE'].'PHP/'.phpversion() : $_SERVER['SERVER_SOFTWARE'];		$sys_info['phpv']           = phpversion();			$sys_info['fileupload']     = @ini_get('file_uploads') ? ini_get('upload_max_filesize') :'unknown';		return $sys_info;	}	/**	 * 检查目录可写性	 * @param $dir 目录路径	 */	function dir_writeable($dir) {		$writeable = 0;		if(is_dir($dir)) {  	        if($fp = @fopen("$dir/chkdir.test", 'w')) {	            @fclose($fp);      	            @unlink("$dir/chkdir.test"); 	            $writeable = 1;	        } else {	            $writeable = 0; 	        } 		}		return $writeable;	}		/**	 * 返回错误日志大小,单位MB	 */	function errorlog_size() {		$logfile = CACHE_PATH.'error_log.php';		if(file_exists($logfile)) {			return $logsize = pc_base::load_config('system','errorlog') ? round(filesize($logfile) / 1048576 * 100) / 100 : 0;		} 		return 0;	}?>
 |