晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/home/bolconlineco/public_html/combine/cms/ckfinder/core/connector/php/php4/Core/ |
| Current File : /home/bolconlineco/public_html/combine/cms/ckfinder/core/connector/php/php4/Core/FolderHandler.php |
<?php
/*
* CKFinder
* ========
* http://ckfinder.com
* Copyright (C) 2007-2010, CKSource - Frederico Knabben. All rights reserved.
*
* The software, this file and its contents are subject to the CKFinder
* License. Please read the license.txt file before using, installing, copying,
* modifying or distribute this file or part of its contents. The contents of
* this file is part of the Source Code of CKFinder.
*/
if (!defined('IN_CKFINDER')) exit;
/**
* @package CKFinder
* @subpackage Core
* @copyright CKSource - Frederico Knabben
*/
/**
* Include file system utils class
*/
require_once CKFINDER_CONNECTOR_LIB_DIR . "/Utils/FileSystem.php";
/**
* @package CKFinder
* @subpackage Core
* @copyright CKSource - Frederico Knabben
*/
class CKFinder_Connector_Core_FolderHandler
{
/**
* CKFinder_Connector_Core_ResourceTypeConfig object
*
* @var CKFinder_Connector_Core_ResourceTypeConfig
* @access private
*/
var $_resourceTypeConfig;
/**
* ResourceType name
*
* @var string
* @access private
*/
var $_resourceTypeName = "";
/**
* Client path
*
* @var string
* @access private
*/
var $_clientPath = "/";
/**
* Url
*
* @var string
* @access private
*/
var $_url;
/**
* Server path
*
* @var string
* @access private
*/
var $_serverPath;
/**
* Thumbnails server path
*
* @var string
* @access private
*/
var $_thumbsServerPath;
/**
* ACL mask
*
* @var int
* @access private
*/
var $_aclMask;
/**
* Folder info
*
* @var mixed
* @access private
*/
var $_folderInfo;
/**
* Thumbnails folder info
*
* @var mized
* @access private
*/
var $_thumbsFolderInfo;
function CKFinder_Connector_Core_FolderHandler()
{
if (isset($_GET["type"])) {
$this->_resourceTypeName = (string)$_GET["type"];
}
if (isset($_GET["currentFolder"])) {
$this->_clientPath = CKFinder_Connector_Utils_FileSystem::convertToFilesystemEncoding((string)$_GET["currentFolder"]);
}
if (!strlen($this->_clientPath)) {
$this->_clientPath = "/";
}
else {
if (substr($this->_clientPath, -1, 1) != "/") {
$this->_clientPath .= "/";
}
if (substr($this->_clientPath, 0, 1) != "/") {
$this->_clientPath = "/" . $this->_clientPath;
}
}
$this->_aclMask = -1;
}
/**
* Get resource type config
*
* @return CKFinder_Connector_Core_ResourceTypeConfig
* @access public
*/
function &getResourceTypeConfig()
{
if (!isset($this->_resourceTypeConfig)) {
$_config =& CKFinder_Connector_Core_Factory::getInstance("Core_Config");
$this->_resourceTypeConfig = $_config->getResourceTypeConfig($this->_resourceTypeName);
}
if (is_null($this->_resourceTypeConfig)) {
$connector =& CKFinder_Connector_Core_Factory::getInstance("Core_Connector");
$oErrorHandler =& $connector->getErrorHandler();
$oErrorHandler->throwError(CKFINDER_CONNECTOR_ERROR_INVALID_TYPE);
}
return $this->_resourceTypeConfig;
}
/**
* Get resource type name
*
* @return string
* @access public
*/
function getResourceTypeName()
{
return $this->_resourceTypeName;
}
/**
* Get Client path
*
* @return string
* @access public
*/
function getClientPath()
{
return $this->_clientPath;
}
/**
* Get Url
*
* @return string
* @access public
*/
function getUrl()
{
if (is_null($this->_url)) {
$this->_resourceTypeConfig = $this->getResourceTypeConfig();
if (is_null($this->_resourceTypeConfig)) {
$connector =& CKFinder_Connector_Core_Factory::getInstance("Core_Connector");
$oErrorHandler =& $connector->getErrorHandler();
$oErrorHandler->throwError(CKFINDER_CONNECTOR_ERROR_INVALID_TYPE);
$this->_url = "";
}
else {
$this->_url = $this->_resourceTypeConfig->getUrl() . ltrim($this->getClientPath(), "/");
}
}
return $this->_url;
}
/**
* Get server path
*
* @return string
* @access public
*/
function getServerPath()
{
if (is_null($this->_serverPath)) {
$this->_resourceTypeConfig = $this->getResourceTypeConfig();
$this->_serverPath = CKFinder_Connector_Utils_FileSystem::combinePaths($this->_resourceTypeConfig->getDirectory(), ltrim($this->_clientPath, "/"));
}
return $this->_serverPath;
}
/**
* Get server path to thumbnails directory
*
* @access public
* @return string
*/
function getThumbsServerPath()
{
if (is_null($this->_thumbsServerPath)) {
$this->_resourceTypeConfig = $this->getResourceTypeConfig();
$_config =& CKFinder_Connector_Core_Factory::getInstance("Core_Config");
$_thumbnailsConfig = $_config->getThumbnailsConfig();
// Get the resource type directory.
$this->_thumbsServerPath = CKFinder_Connector_Utils_FileSystem::combinePaths($_thumbnailsConfig->getDirectory(), $this->_resourceTypeConfig->getName());
// Return the resource type directory combined with the required path.
$this->_thumbsServerPath = CKFinder_Connector_Utils_FileSystem::combinePaths($this->_thumbsServerPath, ltrim($this->_clientPath, '/'));
if (!is_dir($this->_thumbsServerPath)) {
if(!CKFinder_Connector_Utils_FileSystem::createDirectoryRecursively($this->_thumbsServerPath)) {
/**
* @todo Ckfinder_Connector_Utils_Xml::raiseError(); perhaps we should return error
*
*/
}
}
}
return $this->_thumbsServerPath;
}
/**
* Get ACL Mask
*
* @return int
* @access public
*/
function getAclMask()
{
$_config =& CKFinder_Connector_Core_Factory::getInstance("Core_Config");
$_aclConfig = $_config->getAccessControlConfig();
if ($this->_aclMask == -1) {
$this->_aclMask = $_aclConfig->getComputedMask($this->_resourceTypeName, $this->_clientPath);
}
return $this->_aclMask;
}
/**
* Check ACL
*
* @access public
* @param int $aclToCkeck
* @return boolean
*/
function checkAcl($aclToCkeck)
{
$aclToCkeck = intval($aclToCkeck);
$maska = $this->getAclMask();
return (($maska & $aclToCkeck) == $aclToCkeck);
}
}
|