ckfinder/_source/Connector/CommandHandlers/GetFoldersCommandHandler.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*
* CKFinder
* ========
* http://ckfinder.com
* Copyright (C) 2007-2012, 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.
*/
using System;
using System.Xml;
using System.Globalization;
namespace CKFinder.Connector.CommandHandlers
{
internal class GetFoldersCommandHandler : XmlCommandHandlerBase
{
public GetFoldersCommandHandler()
: base()
{
}
protected override void BuildXml()
{
if ( !this.CurrentFolder.CheckAcl( AccessControlRules.FolderView ) )
{
ConnectorException.Throw( Errors.Unauthorized );
}
// Map the virtual path to the local server path.
string sServerDir = this.CurrentFolder.ServerPath;
System.IO.DirectoryInfo oDir = new System.IO.DirectoryInfo( sServerDir );
if ( !oDir.Exists )
{
ConnectorException.Throw( Errors.FolderNotFound );
return;
}
// Create the "Folders" node.
XmlNode oFoldersNode = XmlUtil.AppendElement( this.ConnectorNode, "Folders" );
System.IO.DirectoryInfo[] aSubDirs = oDir.GetDirectories();
for ( int i = 0 ; i < aSubDirs.Length ; i++ )
{
string sSubDirName = aSubDirs[ i ].Name;
if ( Config.Current.CheckIsHiddenFolder( sSubDirName ) )
continue;
int aclMask = Config.Current.AccessControl.GetComputedMask( this.CurrentFolder.ResourceTypeName, this.CurrentFolder.ClientPath + sSubDirName + "/" );
if ( ( aclMask & (int)AccessControlRules.FolderView ) != (int)AccessControlRules.FolderView )
continue;
// Create the "Folders" node.
后面还有 16 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。