version 4.23 release
parent
64dca78fbf
commit
657a2d9641
15
ChangeLog.md
15
ChangeLog.md
|
@ -1,3 +1,18 @@
|
|||
### ver4.23 `2017/10/9`
|
||||
-----
|
||||
#### update:
|
||||
- url获取服务器兼容性优化(sso部分使用)
|
||||
|
||||
#### fix bug
|
||||
- 安全漏洞修复:文件越权读取、删除漏洞;getshell漏洞紧急修复
|
||||
- 服务器做了端口转发,url获取兼容性问题解决
|
||||
- 移动端优化:文件列表,展开操作时页面滚动问题;桌面宽度不足问题
|
||||
- 插件自动更新数据同步问题优化
|
||||
- 分享文件夹,编辑器打开页面,左侧文件夹展开目录异常问题;(没有上传权限==>不显示上传按钮)
|
||||
- 其他优化:错别字更正; 移动端编辑器输入法出不来问题;
|
||||
|
||||
|
||||
|
||||
### ver4.22 `2017/9/20`
|
||||
-----
|
||||
#### update:
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
|
||||
|
||||
require_once(dirname(dirname(__FILE__)).'/function/web.function.php');
|
||||
class SSO{
|
||||
static private function init(){
|
||||
$sessionName = 'KOD_SESSION_SSO';
|
||||
|
@ -56,8 +57,10 @@ class SSO{
|
|||
|
||||
|
||||
static public function sessionCheck($key,$value='success'){
|
||||
$path = session_save_path();//还原session路径
|
||||
$session = self::init();
|
||||
if( isset($session[$key]) && $session[$key] == $value){
|
||||
session_save_path($path);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -65,20 +68,22 @@ class SSO{
|
|||
|
||||
/**
|
||||
* 直接调用kod的登陆检测(适用于同服务器同域名;)
|
||||
* @param [type] $kodHost kod的地址;例如 http://test.com/
|
||||
* @param [type] $kodHost kod的地址;例如 http://test.com/ ;默认为
|
||||
* @param [type] $appKey 应用标记 例如 loginCheck
|
||||
* @param [type] $appUrl 验证后跳转到的url
|
||||
* @param [type] $appUrl 验证后跳转到的url;默认为当前url
|
||||
* @param [type] $auth 验证方式:例如:'check=userName&value=smartx'
|
||||
* check (userID|userName|roleID|roleName|groupID|groupName) 校验方式,为空则所有登陆用户
|
||||
*/
|
||||
static public function sessionAuth($appKey,$auth,$kodHost,$appUrl=''){
|
||||
static public function sessionAuth($appKey,$auth,$kodHost='',$appUrl=''){
|
||||
if($kodHost==''){
|
||||
$basicPath = dirname(dirname(dirname(__FILE__))).'/';
|
||||
$kodHost = get_host().'/'.str_replace(get_webroot(),'',$basicPath);//程序根目录
|
||||
}
|
||||
$authUrl = rtrim($kodHost,'/').'/index.php?user/sso&app='.$appKey.'&'.$auth;
|
||||
if($appUrl == ''){
|
||||
$appUrl = $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['SERVER_NAME'].
|
||||
':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
|
||||
$appUrl = this_url();
|
||||
}
|
||||
if(!self::sessionCheck($appKey)){
|
||||
session_destroy();
|
||||
header('Location: '.$authUrl.'&link='.rawurlencode($appUrl));
|
||||
exit;
|
||||
}
|
||||
|
|
|
@ -58,6 +58,9 @@ class editor extends Controller{
|
|||
$displayName = rawurldecode($urlInfo['downFilename']);
|
||||
}
|
||||
}else{
|
||||
if(is_file($filepath) || substr($filepath,0,4) != 'http'){
|
||||
show_json(LNG('not url'),false);
|
||||
}
|
||||
$displayName = rawurldecode($urlInfo['name']);
|
||||
$filepath = $fileUrl.'&accessToken='.access_token_get();
|
||||
}
|
||||
|
|
|
@ -870,10 +870,10 @@ class explorer extends Controller{
|
|||
}
|
||||
//文件下载后删除,用于文件夹下载
|
||||
public function fileDownloadRemove(){
|
||||
$path = rawurldecode(_DIR_CLEAR($this->in['path']));
|
||||
$path = get_path_this(_DIR_CLEAR($this->in['path']));
|
||||
$path = iconv_system(USER_TEMP.$path);
|
||||
file_put_out($path,true);
|
||||
|
||||
|
||||
Hook::trigger("explorer.pathRemoveBefore",$path,false);
|
||||
del_file($path);
|
||||
Hook::trigger("explorer.pathRemoveAfter",$path);
|
||||
|
|
|
@ -102,8 +102,6 @@ class share extends Controller{
|
|||
$sharePath = _DIR_CLEAR($this->shareInfo['path']);
|
||||
if ($user['role'] != '1') {
|
||||
$sharePath = HOME.ltrim($sharePath,'/');
|
||||
}else{
|
||||
$sharePath = _DIR_CLEAR($this->shareInfo['path']);
|
||||
}
|
||||
if ($this->shareInfo['type'] != 'file'){
|
||||
$sharePath=rtrim($sharePath,'/').'/';
|
||||
|
@ -333,6 +331,9 @@ class share extends Controller{
|
|||
if (isset($this->in['project'])) {
|
||||
$path = $this->sharePath.$this->_clear($this->in['project']);
|
||||
}
|
||||
if (isset($this->in['path'])) {
|
||||
$path = $this->sharePath.$this->_clear($this->in['path']);
|
||||
}
|
||||
if (isset($this->in['name'])){
|
||||
$path=$path.'/'.$this->_clear($this->in['name']);
|
||||
}
|
||||
|
@ -382,7 +383,7 @@ class share extends Controller{
|
|||
public function fileUpload(){
|
||||
$fileName = $_FILES['file']['name']? $_FILES['file']['name']:$GLOBALS['in']['name'];
|
||||
$GLOBALS['isRoot']=0;
|
||||
$GLOBALS['auth']['extNotAllow'] = "php|asp|jsp|html|htm";
|
||||
$GLOBALS['auth']['extNotAllow'] = "php|asp|jsp|html|htm|htaccess";
|
||||
if(!checkExt($fileName)){
|
||||
show_json(LNG('no_permission_ext'),false);
|
||||
}
|
||||
|
@ -432,7 +433,7 @@ class share extends Controller{
|
|||
if ($this->shareInfo['notDownload']=='1') {
|
||||
show_json(LNG('share_not_download_tips'),false);
|
||||
}
|
||||
$path = _DIR_CLEAR($this->in['path']);
|
||||
$path = get_path_this(_DIR_CLEAR($this->in['path']));
|
||||
$path = iconv_system(USER_TEMP.$path);
|
||||
file_put_out($path,true);
|
||||
del_file($path);
|
||||
|
@ -467,7 +468,7 @@ class share extends Controller{
|
|||
$listNum = count($zipList);
|
||||
$files = array();
|
||||
for ($i=0; $i < $listNum; $i++) {
|
||||
$item = _DIR_CLEAR($this->path.$this->_clear($zipList[$i]['path']));
|
||||
$item = $this->path.$this->_clear($zipList[$i]['path']);
|
||||
if(file_exists($item)){
|
||||
$files[] = $item;
|
||||
}
|
||||
|
@ -496,8 +497,11 @@ class share extends Controller{
|
|||
$displayName = $this->in['name'];
|
||||
$filepath = _DIR_CLEAR($this->in['fileUrl']);
|
||||
$filepath = str_replace(':/','://',$filepath);
|
||||
if(is_file($filepath) || substr($filepath,0,4) != 'http'){
|
||||
show_json(LNG('url error!'),false);
|
||||
}
|
||||
}else{
|
||||
$displayName = _DIR_CLEAR(rawurldecode($this->in['filename']));
|
||||
$displayName = _DIR_CLEAR($this->in['filename']);
|
||||
$filepath= $this->sharePath.iconv_system($displayName);
|
||||
if (!path_readable($filepath)){
|
||||
show_json(LNG('no_permission_read'),false);
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -6,6 +6,8 @@ function checkExt($file){
|
|||
return 0;
|
||||
}
|
||||
$notAllow = $GLOBALS['auth']['extNotAllow'];
|
||||
|
||||
$notAllow .= '|htaccess';//防破解安全处理
|
||||
$extArr = explode('|',$notAllow);
|
||||
foreach ($extArr as $current) {
|
||||
if ($current !== '' && stristr($file,'.'.$current)){//含有扩展名
|
||||
|
|
|
@ -69,9 +69,17 @@ function this_url(){
|
|||
function reset_path($str){
|
||||
return str_replace('\\','/',$str);
|
||||
}
|
||||
function get_webroot($app_path){
|
||||
$webRoot = str_replace(reset_path($_SERVER['SCRIPT_NAME']),'',$app_path.'index.php').'/';
|
||||
if (substr($webRoot,-10) == 'index.php/') {//解决部分主机不兼容问题
|
||||
function get_webroot($app_path=''){
|
||||
$index='index.php';
|
||||
if($app_path == ''){
|
||||
$self_file = reset_path($_SERVER['SCRIPT_NAME']);
|
||||
$index_path = reset_path($_SERVER['SCRIPT_FILENAME']);
|
||||
$app_path = substr($index_path,0,strrpos($index_path,'/'));
|
||||
$index = substr($index_path,1+strrpos($index_path,'/'));
|
||||
}
|
||||
|
||||
$webRoot = str_replace($self_file,'',$app_path.$index).'/';
|
||||
if (substr($webRoot,-(strlen($index)+1)) == $index.'/') {//解决部分主机不兼容问题
|
||||
$webRoot = reset_path($_SERVER['DOCUMENT_ROOT']).'/';
|
||||
}
|
||||
return $webRoot;
|
||||
|
@ -659,16 +667,16 @@ function db_escape($str) {
|
|||
* 获取输入参数 支持过滤和默认值
|
||||
* 使用方法:
|
||||
* <code>
|
||||
* input('id',0); 获取id参数 自动判断get或者post
|
||||
* input('post.name','','htmlspecialchars'); 获取$_POST['name']
|
||||
* input('get.'); 获取$_GET
|
||||
* in('id',0); 获取id参数 自动判断get或者post
|
||||
* in('post.name','','htmlspecialchars'); 获取$_POST['name']
|
||||
* in('get.'); 获取$_GET
|
||||
* </code>
|
||||
* @param string $name 变量的名称 支持指定类型
|
||||
* @param mixed $default 不存在的时候默认值
|
||||
* @param mixed $filter 参数过滤方法
|
||||
* @return mixed
|
||||
*/
|
||||
function input($name,$default='',$filter=null) {
|
||||
function in($name,$default='',$filter=null) {
|
||||
$default_filter = 'htmlspecialchars,db_escape';
|
||||
if(strpos($name,'.')) { // 指定参数来源
|
||||
list($method,$name) = explode('.',$name,2);
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -370,12 +370,12 @@ class updateToV330{
|
|||
"guest" => array(
|
||||
"role" => "guest",
|
||||
"name" => "guest",
|
||||
"ext_not_allow" => "php|asp|jsp"
|
||||
"ext_not_allow" => "php|asp|jsp|html|htm|htaccess"
|
||||
),
|
||||
"default" => array(
|
||||
"role" => "default",
|
||||
"name" => "default",
|
||||
"ext_not_allow" => "php|asp|jsp",
|
||||
"ext_not_allow" => "php|asp|jsp|html|htm|htaccess",
|
||||
"explorer:mkdir" => 1,
|
||||
"explorer:mkfile" => 1,
|
||||
"explorer:pathDelete" => 1,
|
||||
|
|
|
@ -1,102 +0,0 @@
|
|||
<?php
|
||||
/*
|
||||
* @link http://kodcloud.com/
|
||||
* @author warlee | e-mail:kodcloud@qq.com
|
||||
* @copyright warlee 2014.(Shanghai)Co.,Ltd
|
||||
* @license http://kodcloud.com/tools/license/license.txt
|
||||
*/
|
||||
|
||||
define('GLOBAL_DEBUG',0);//0 or 1
|
||||
@date_default_timezone_set(@date_default_timezone_get());
|
||||
@set_time_limit(1200);//20min pathInfoMuti,search,upload,download...
|
||||
@ini_set("max_execution_time",1200);
|
||||
@ini_set('memory_limit','500M');//
|
||||
@ini_set('session.cache_expire',1800);
|
||||
|
||||
if(GLOBAL_DEBUG){
|
||||
define('STATIC_JS','_dev'); //_dev||app
|
||||
define('STATIC_LESS','less');//less||css
|
||||
@ini_set("display_errors","on");
|
||||
@error_reporting(E_ALL^E_NOTICE);//
|
||||
}else{
|
||||
define('STATIC_JS','app'); //app
|
||||
define('STATIC_LESS','css');//css
|
||||
@ini_set("display_errors","on");//on off
|
||||
@error_reporting(E_ALL^E_NOTICE^E_WARNING);// 0
|
||||
}
|
||||
|
||||
//header('HTTP/1.1 200 Ok');//兼容部分lightHttp服务器环境; php5.1以下会输出异常;暂屏蔽
|
||||
header("Content-type: text/html; charset=utf-8");
|
||||
define('BASIC_PATH',str_replace('\\','/',dirname(dirname(__FILE__))).'/');
|
||||
define('LIB_DIR', BASIC_PATH .'app/'); //系统库目录
|
||||
define('PLUGIN_DIR', BASIC_PATH .'plugins/'); //插件目录
|
||||
define('CONTROLLER_DIR',LIB_DIR .'controller/'); //控制器目录
|
||||
define('MODEL_DIR', LIB_DIR .'model/'); //模型目录
|
||||
define('TEMPLATE', LIB_DIR .'template/'); //模版文件路径
|
||||
define('FUNCTION_DIR', LIB_DIR .'function/'); //函数库目录
|
||||
define('CLASS_DIR', LIB_DIR .'kod/'); //工具类目录
|
||||
define('CORER_DIR', LIB_DIR .'core/'); //核心目录
|
||||
define('SDK_DIR', LIB_DIR .'sdks/'); //
|
||||
define('DEFAULT_PERRMISSIONS',0755); //新建文件、解压文件默认权限,777 部分虚拟主机限制了777
|
||||
|
||||
/*
|
||||
* 可以数据目录;移到web目录之外,可以使程序更安全, 就不用限制用户的扩展名权限了;
|
||||
* 1. 需要先将data文件夹移到别的地方 例如将data文件夹拷贝到D:/
|
||||
* 2. 在config文件夹下新建define.php 新增一行 <?php define('DATA_PATH','D:/data/');
|
||||
*/
|
||||
|
||||
if(file_exists(BASIC_PATH.'config/define.php')){
|
||||
include(BASIC_PATH.'config/define.php');
|
||||
}
|
||||
if(!defined('DATA_PATH')){
|
||||
define('DATA_PATH',BASIC_PATH .'data/'); //用户数据目录
|
||||
}
|
||||
define('USER_PATH', DATA_PATH .'User/'); //用户目录
|
||||
define('GROUP_PATH', DATA_PATH .'Group/'); //群组目录
|
||||
define('USER_SYSTEM', DATA_PATH .'system/'); //用户数据存储目录
|
||||
define('TEMP_PATH', DATA_PATH .'temp/'); //临时目录
|
||||
define('LOG_PATH', TEMP_PATH .'log/'); //日志
|
||||
define('DATA_THUMB', TEMP_PATH .'thumb/'); //缩略图生成存放
|
||||
define('LANGUAGE_PATH', BASIC_PATH .'config/i18n/');//多语言目录
|
||||
define('SESSION_ID','KOD_SESSION_ID_'.substr(md5(BASIC_PATH),0,5));
|
||||
define('KOD_SESSION', DATA_PATH .'session/'); //session目录
|
||||
include(FUNCTION_DIR.'common.function.php');
|
||||
include(FUNCTION_DIR.'web.function.php');
|
||||
include(FUNCTION_DIR.'file.function.php');
|
||||
include(FUNCTION_DIR.'helper.function.php');
|
||||
|
||||
$config['appStartTime'] = mtime();
|
||||
$config['appCharset'] = 'utf-8';//该程序整体统一编码
|
||||
$config['checkCharset'] = 'ASCII,UTF-8,GB2312,GBK,BIG5,UTF-16,UCS-2,'.
|
||||
'Unicode,EUC-KR,EUC-JP,SHIFT-JIS,EUCJP-WIN,SJIS-WIN,JIS,LATIN1';//文件打开自动检测编码
|
||||
$config['checkCharsetDefault'] = '';//if set,not check;
|
||||
|
||||
if(!defined('HOST')){
|
||||
define('HOST',get_host().'/');
|
||||
}
|
||||
define('WEB_ROOT',get_webroot(BASIC_PATH));
|
||||
define('APP_HOST',HOST.str_replace(WEB_ROOT,'',BASIC_PATH)); //程序根目录
|
||||
define('PLUGIN_HOST',APP_HOST.str_replace(BASIC_PATH,'',PLUGIN_DIR)); //插件目录
|
||||
|
||||
include(CONTROLLER_DIR.'util.php');
|
||||
include(BASIC_PATH.'config/setting.php');
|
||||
include(BASIC_PATH.'config/version.php');
|
||||
|
||||
//when edit a file ;check charset and auto converto utf-8;
|
||||
if (strtoupper(substr(PHP_OS, 0,3)) === 'WIN') {
|
||||
$config['systemOS']='windows';
|
||||
$config['systemCharset']='gbk';// EUC-JP/Shift-JIS/BIG5 //user set your server system charset
|
||||
if(version_compare(phpversion(), '7.1.0', '>=')){//7.1 has auto apply the charset
|
||||
$config['systemCharset']='utf-8';
|
||||
}
|
||||
} else {
|
||||
$config['systemOS']='linux';
|
||||
$config['systemCharset']='utf-8';
|
||||
}
|
||||
|
||||
init_common();
|
||||
$config['autorun'] = array(
|
||||
array('controller'=>'user','function'=>'loginCheck'),
|
||||
array('controller'=>'user','function'=>'authCheck'),
|
||||
array('controller'=>'user','function'=>'bindHook'),
|
||||
);
|
|
@ -1,33 +0,0 @@
|
|||
<div class="box">
|
||||
<div class="title"><span>KODExplorer غير ماذا؟</span></div>
|
||||
<p>KODExplorer هو إدارة الوثائق على الانترنت على شبكة الإنترنت مفتوح المصدر، محرر التعليمات البرمجية. ويوفر نوعا من النوافذ الكلاسيكية واجهة المستخدم، ومجموعة من إدارة الوثائق على الانترنت، ومعاينة ملف، تحرير، تحميل وتنزيل، بفك الانترنت تشغيل الموسيقى. يسمح لك لتحقيق التنمية على شبكة الإنترنت مباشرة في المتصفح، وشفرة المصدر معاينة الملف، ونشر صاحب الموقع والعملية المحلية وسهلة وسريعة وتجربة آمنة.</p>
|
||||
<p><b>- تصميم -</b></p>
|
||||
<p>التقاليد الكلاسيكية، والسعي للابتكار، لتزويد المستخدمين مع مريحة، آمنة وسهلة لاستخدام نظام إدارة سحابة على الانترنت.</p>
|
||||
<p>كلما (متى)، حيث (حيث)، لديه شبكة الإنترنت كلما تريد (تريد) هو أداة لإدارة الخاص بك (4W السياسة).</p>
|
||||
<p><b>- المستخدم المنحى -</b></p>
|
||||
<p>حاليا نظام إدارة KODExplorer تقع أساسا في سحابة استضافة شخصية، صغير إدارة المشاريع سحابة الموارد وإدارة القرص الشبكة، وإدارة المواقع الصغيرة والمتوسطة. مطور ويب و الماجستير (قدامى المحاربين): محرر على الانترنت، والنسخ الاحتياطي مضغوط، نشر، الكلاسيكية تشغيل ويندوز واجهة، من السهل أن تبدأ وتخلص من SSH المضيف، الأمر FTP عمليات الحفر معقدة.</p>
|
||||
<p>سحابة شخصية خاصة (الصاعد): موارد القرص شبكة الإدارية، ونفس العملية النوافذ الكلاسيكية واجهة، يمكنك وضع محرك الأقراص الموسيقى تصفح الشبكة، وملفات الشاشة، تحميل وتنزيل بسرعة وسهولة.</p>
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<div class="title"><span>ميزات</span></div>
|
||||
<p>إدارة ثيقة شاملة وقوية محرر الملفات على الإنترنت</p>
|
||||
<p>أينما كنت، يمكنك إدارة الملفات الخاصة بك، والترفيه عبر الإنترنت، على شبكة الإنترنت كتابة رمز! تماما كما مناسبة للاستخدام في نظام التشغيل.</p>
|
||||
<p>واسعة النطاق بحق عملية تجربة زرع المحلي، السحب، مربع التحديد، اختصارات، البحث عن الملفات (المحتوى البحث) ......</p>
|
||||
<p>مربع الاختيار، السحب الحركة، وسحب وإسقاط تحميل، محرر على الانترنت، ومشغل فيديو، ضغط. كامل الأداء ضمان اياكس والخبرة!</p>
|
||||
<p>كل وظيفة الربط السلس المباشر، في شكل حوار، وظائف إدارة متعددة المهام</p>
|
||||
<p>محرر يدعم-متعددة وثيقة، ودعم ZendCoding أتش تي أم أل، المغلق، شبيبة أعلى الترميز الكفاءة!</p>
|
||||
<p>الدعم الصيني الكمال، مشوه حل حالات مختلفة؛</p>
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<div class="title"><span>المصدر المفتوح اعتماد التكنولوجيا</span></div>
|
||||
<p><b>1.Jquery:</b>jpuery (المساعد: Hotkeys.ztree.contentmenu) شبيبة إطار التنمية السائد. تشغيل عملية دوم، BOM، عملية المغلق، وحزمة اياكس</p>
|
||||
<p><b>2.ArtDialog:</b>تصميم جميل، والتوافق متصفح قوي القطعة الحوار. لذا المنبثقة مقبض، والأحداث، ونقل البيانات للحصول على إدارة أفضل موحدة</p>
|
||||
<p><b>3.Ztree:</b>شجرة التحكم القائمة، والتدرجية هو جدا قوية شجرة معالجة البيانات القطعة</p>
|
||||
<p><b>4.codemirror:</b>محرر كود شبيبة الإضافات، ويدعم مجموعة متنوعة من لغات البرمجة لتسليط الضوء على</p>
|
||||
<p><b>5.zendcoding:</b>على رموز الدعم أتش تي أم أل الكتابة بسرعة المكونات الإضافية. يبسط يتم كتابة تعريف من التعليمات البرمجية. تجميع بسيط</p>
|
||||
<p><b>6.less:</b>نموذج تنمية المغلق كفاءة وظيفية لتحسين الواجهة الأمامية المغلق إعادة استخدام . تجميع بسيط</p>
|
||||
<p><b>7.SWFUpload:</b>ملف فلاش تحميل</p>
|
||||
<p><b>8 .CMP4:</b>لاعب فلاش جيد جدا المساعد ملفات الوسائط، ودعم تدفق وسائل الاعلام، شعبية أداة تشغيل الموسيقى والفيديو. دعم للبشرة، وإعدادات شكلي للغاية. قائمة ديناميكية أكس تحميل. رسائل الوسائط المتعددة تدفق وسائل الاعلام، RSTP رخصة مفتوحة المصدر دعم تشغيل الوسائط</p>
|
||||
</div>
|
|
@ -1,72 +0,0 @@
|
|||
<div class="intro-left" style=";text-align:right;direction:rtl">
|
||||
<div class="tips blue" style=";text-align:right;direction:rtl">
|
||||
<h1 style=";text-align:right;direction:rtl"> <span>الوظائف الغنية</span> </h1>
|
||||
<p style=";text-align:right;direction:rtl"> كود يطالب تلقائيا </p>
|
||||
<p style=";text-align:right;direction:rtl"> متعددة موضوع: اختيار أسلوب البرمجة المفضلة لديك </p>
|
||||
<p style=";text-align:right;direction:rtl"> الخط مخصص: للاستخدام في المشهد </p>
|
||||
<p style=";text-align:right;direction:rtl"> تحرير المؤشر متعددة، كتلة التحرير على الانترنت خبرة في البرمجة مماثلة للسامية </p>
|
||||
<p style=";text-align:right;direction:rtl"> كتلة قابلة للطي، التوسع؛ التفاف </p>
|
||||
<p style=";text-align:right;direction:rtl"> دعم العديد من علامات التبويب، اسحب تسلسل التبديل. </p>
|
||||
<p style=";text-align:right;direction:rtl"> الحفاظ على وثائق متعددة، والعثور على واستبدال، التاريخ؛ </p>
|
||||
<p style=";text-align:right;direction:rtl"> الإكمال التلقائي []، {}، ()، '' '' </p>
|
||||
<p style=";text-align:right;direction:rtl"> على الانترنت المعاينة في الوقت الحقيقي الذي يسمح لك أن تقع في الحب مع البرمجة على الانترنت! </p>
|
||||
<p style=";text-align:right;direction:rtl"> zendcodeing الدعم، كتابة التعليمات البرمجية ثمانين </p>
|
||||
<p style=";text-align:right;direction:rtl"> المزيد من الميزات انتظار اكتشاف الخاص بك ...... </p>
|
||||
</div>
|
||||
<div class="tips orange" style=";text-align:right;direction:rtl">
|
||||
<h1 style=";text-align:right;direction:rtl"> <span>150 نوعا من تسليط الضوء على كود</span> </h1>
|
||||
<p style=";text-align:right;direction:rtl"> نصيحة: أتش تي أم أل، وجافا سكريبت، المغلق، أقل، ساس، SCSS </p>
|
||||
<p style=";text-align:right;direction:rtl"> تطوير الشبكة: PHP، بيرل، بيثون، روبي، elang، انتقل ... </p>
|
||||
<p style=";text-align:right;direction:rtl"> اللغات التقليدية: جافا، C و C ++، C #، أكشن، فبسكريبت ... </p>
|
||||
<p style=";text-align:right;direction:rtl"> البعض: تخفيض السعر، قذيفة، مزود، لوا، أكس، YAML ... </p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="intro-right" style=";text-align:right;direction:rtl">
|
||||
<div class="tips green" style=";text-align:right;direction:rtl">
|
||||
<h1 style=";text-align:right;direction:rtl"> <span>عمل اختصار</span> </h1>
|
||||
<pre style=";text-align:right;direction:rtl"> الاختصارات المستخدمة شيوعا:
|
||||
CTRL + S لحفظ
|
||||
+ السيطرة على اختيار كل CTRL + X قص
|
||||
CTRL + C CTRL + V لصق نسخة
|
||||
CTRL + Z التراجع عن التراجع عن مكافحة CTRL + Y
|
||||
CTRL + F للبحث عن استبدال CTRL + و + و
|
||||
فوز + ALT + 0 انهيار كل فوز + Alt + العالي + 0 توسيع جميع
|
||||
ESC [بحث الخروج تلقائيا إلغاء يطالب ...]
|
||||
السيطرة التحول ليالي معاينة
|
||||
السيطرة التحول الإلكتروني تظهر وإغلاق وظيفة
|
||||
</pre>
|
||||
<pre style=";text-align:right;direction:rtl"> اختيار:
|
||||
سرادق الماوس - السحب
|
||||
تحول + الوطن / نهاية / أعلى / يسار / أسفل / الحق
|
||||
تحول + PAGEUP / بين pagedown الوجه صعودا وهبوطا لتحديد
|
||||
السيطرة تحول + + الوطن / نهاية المؤشر الحالي إلى بداية ونهاية
|
||||
ALT + الماوس لسحب اختيار كتلة
|
||||
CTRL + ALT + ز دفعة حدد وأدخل محرر متعدد التبويب الحالي
|
||||
</pre>
|
||||
<pre style=";text-align:right;direction:rtl"> المؤشر:
|
||||
الوطن / نهاية / أعلى / يسار / أسفل / الحق
|
||||
CTRL + الوطن / نهاية تحريك المؤشر إلى الوثيقة رأس / ذيل
|
||||
CTRL + ص الانتقال إلى العلامة مطابقة
|
||||
PAGEUP / بين pagedown المؤشر صعودا وهبوطا
|
||||
ALT + المؤشر الأيسر / الأيمن للانتقال إلى أعلى من خط
|
||||
تحول + المؤشر الأيسر / الأيمن إلى نهاية السطر و
|
||||
السيطرة + لتر إلى القفز إلى صف معين
|
||||
CTRL + ALT + لأعلى / أسفل (أدناه) زيادة المؤشر
|
||||
</pre>
|
||||
<pre style=";text-align:right;direction:rtl"> تحرير:
|
||||
CTRL + / تعليق والسيطرة غير تعليق + ALT + وبرر
|
||||
علامة التبويب جدول محاذاة التحول + طاولة التقدم الشامل
|
||||
حذف حذف حذف السيطرة خط كامل + د
|
||||
السيطرة + حذف لحذف الصف والكلمة الصحيحة
|
||||
السيطرة / التحول + BACKSPACE لحذف كلمة على اليسار
|
||||
SHIFT + ALT + أعلى / أسفل، وأضاف إلى خط النسخ (أدناه) طائرة
|
||||
ALT + DELETE لحذف محتويات يمين المؤشر
|
||||
بديل + أعلى / أسفل على السطر الحالي والخط (تبادل السطر التالي)
|
||||
CTRL + SHIFT + د صفوف نسخ وإضافة إلى ما يلي
|
||||
السيطرة + حذف لحذف يمين الكلمة
|
||||
السيطرة تحول + + يو تحويلها إلى أحرف صغيرة
|
||||
CTRL + ش النص المحدد إلى أحرف كبيرة
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
<div class="box" style=";text-align:right;direction:rtl">
|
||||
<div class="title" style=";text-align:right;direction:rtl"> <span>إدارة ملف</span> </div>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> اختيار ملف: راديو، سرادق الماوس، وتحول الانتخابات، السيطرة اختيارهم عشوائيا، لوحة المفاتيح صعودا وهبوطا، المنزل، واختيار نهاية. </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-folder-open"></i> تشغيل ملف: بعد اختيار الملف، يمكنك نسخ، قص، حذف، عرض خصائص ضغط، إعادة تسمية، ومعاينة المفتوحة وغيرها من العمليات ...... </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-cloud-upload"></i> تحميل الملف: تحميل ملفات متعددة دفعة، HTML5 تحميل السحب (سحب للتحميل بسهولة النافذة، سحب وإسقاط الدعم للمجلدات) </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-cogs"></i> وظيفة الصحيحة: بزر الماوس الأيمن ملف أو مجلد، الحق، الحق أكثر بعد العملية الانتخابية، سطح المكتب، والحق، والحق شجرة الدليل، اختصارات القائمة ملزمة اليمين <br/>
|
||||
(حدد الكل - نسخ - قص - لصق - حذف - إعادة تسمية، تعيين ......) </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-sitemap"></i> متصفح ملف: وضع قائمة، وضع رمز، انقر نقرا مزدوجا فوق في مجلدات فرعية، عملية شريط العنوان؛ فتح سجل سجل مجلد مناقضة (إلى الأمام والخلف) </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-move"></i> دعم السحب والإسقاط: تحقق من السحب، وقطع لتحقيق وظيفة المجلد المحدد </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-reply"></i> مفاتيح الاختصار: حذف حذف، CTRL + A تحديد الكل، CTRL + C لنسخ، + X قص، بحث ملف (محتوى البحث) السيطرة </p>
|
||||
</div>
|
||||
<div class="box" style=";text-align:right;direction:rtl">
|
||||
<div class="title" style=";text-align:right;direction:rtl"> <span>معاينة ملف</span> </div>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-edit"></i> معاينة الملف: عرض محتويات ملف تحرير النص والادخار، أتش تي أم أل، معاينة ملف فرنك سويسري، </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-picture"></i> معاينة الصورة: الجيل التلقائي للصور المصغرة، صورة عرض الشرائح. </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-music"></i> تشغيل الصوت: تشغيل الموسيقى على الانترنت وملفات الفيديو؛ دعم MP3، WMA، منتصف، AAC، WAV، MP4، </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-play"></i> فيديو: تشغيل الفيديو عبر الإنترنت، الصيغ المدعومة: FLV، F4V، 3GP </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-play"></i> المكتب: مكتب معاينة الانترنت، الصيغ المدعومة: وثيقة، docx، باور بوينت، PPTX، XLS، XLSX </p>
|
||||
</div>
|
||||
<div class="box" style=";text-align:right;direction:rtl">
|
||||
<div class="title" style=";text-align:right;direction:rtl"> <span>الاختصارات</span> </div>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> إدخال المفتوحة </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> + السيطرة مختارة جميع </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> CTRL + C لنسخ المحدد </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> CTRL + V للصق </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> CTRL + X قص </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> CTRL + F للبحث في الدليل الحالي </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> بديل + ن ملف جديد </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> ALT + م مجلد جديد </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> حذف حذف المحدد </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> مسافة للخلف العودة </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> CTRL + مسافة للخلف إلى الأمام </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> F2 إعادة تسمية مختارة (مجلد) </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> الوطن / نهاية / أعلى / أسفل / يسار / يمين لتحديد الملف </p>
|
||||
<p style=";text-align:right;direction:rtl"><i class="icon-tags"></i> لرد ضغط تحقق للضغط على الحرف الأول من الملفات الشخصية والمجلدات المحددة دورة التلقائي </p>
|
||||
</div>
|
|
@ -1,770 +0,0 @@
|
|||
<?php
|
||||
return array(
|
||||
"path_api_select_file" => "يرجى اختيار ملف ...",
|
||||
"path_api_select_folder" => "الرجاء تحديد مجلد ...",
|
||||
"path_api_select_image" => "يرجى اختيار صورة ...",
|
||||
"share_can_upload" => "السماح بالتحميل",
|
||||
"move_error" => "فشل نقل",
|
||||
"setting_basic" => "الإعدادات الأساسية",
|
||||
"setting_user_sound_open" => "فتح الصوت",
|
||||
"setting_user_animate_open" => "فتح الرسوم المتحركة",
|
||||
"recycle_open_if" => "فتح سلة المحذوفات",
|
||||
"recycle_open" => "فتح",
|
||||
"setting_user_recycle_desc" => "بعد حذف سيتم حذف الحذف المادي مباشرة",
|
||||
"setting_user_animate_desc" => "نافذة مفتوحة والرسوم المتحركة الأخرى",
|
||||
"setting_user_sound_desc" => "تشغيل الصوت",
|
||||
"setting_user_imageThumb" => "الصور المصغرة",
|
||||
"setting_user_imageThumb_desc" => "الموجهات وغيرها من المعدات منخفضة الأداء، يمكنك النظر في الإغلاق",
|
||||
"setting_user_fileSelect" => "فتح الاختيار رمز الملف",
|
||||
"setting_user_fileSelect_desc" => "رمز الملف الاختيار مفتاح اليسار، انقر بزر الماوس الأيمن فوق القائمة اختصار الإدخال",
|
||||
"qrcode" => "URL رمز الاستجابة السريعة",
|
||||
"theme_mac" => "ماك الأبيض الحد الأدنى",
|
||||
"theme_win7" => "Windows 7",
|
||||
"theme_win10" => "Windows 10",
|
||||
"theme_metro" => "المترو الأزرق كلاسيك",
|
||||
"theme_metro_green" => "مترو الضوء الأخضر",
|
||||
"theme_metro_purple" => "مترو أنيقة الأرجواني",
|
||||
"theme_metro_pink" => "مترو روز",
|
||||
"theme_metro_orange" => "مترو برتقالية زاهية",
|
||||
"theme_alpha_image" => "مشرق - الطيران",
|
||||
"theme_alpha_image_sun" => "مشرق - الغروب",
|
||||
"theme_alpha_image_sky" => "سمفونية - السماء الزرقاء",
|
||||
"theme_diy" => "<b>مخصص</b>",
|
||||
"theme_diy_title" => "إعدادات مخصصة لقضاء وقت الفراغ",
|
||||
"theme_diy_background" => "خلفية",
|
||||
"theme_diy_image" => "صور",
|
||||
"theme_diy_color_blur" => "التدرج اللوني",
|
||||
"theme_diy_image_blur" => "الصورة ضبابية",
|
||||
"theme_diy_image_url" => "عنوان صور",
|
||||
"theme_diy_color_start" => "اللون ابتداء من",
|
||||
"theme_diy_color_end" => "نهاية اللون",
|
||||
"theme_diy_color_radius" => "زاوية الانحدار",
|
||||
"system_role_admin_set" => "الإداريين من جميع الحقوق، دون أن يحدد!",
|
||||
"login_error_user_not_use" => "تم تعطيل المستخدم! الرجاء الاتصال بمسؤول",
|
||||
"login_error_kod_version" => "الصراع نسخة",
|
||||
"login_error_role" => "لا وجود مجموعة عرض أذونات، يرجى الاتصال بمسؤول",
|
||||
"no_permission_group" => "أنت لست في هذه المجموعة!",
|
||||
"no_permission_write" => "الدليل لايوجد إذن الكتابة",
|
||||
"user" => "المستخدم",
|
||||
"save_as" => "حفظ ك",
|
||||
"check_update" => "تحديث",
|
||||
"keyboard_type" => "وضع لوحة المفاتيح",
|
||||
"font_family" => "الخطوط",
|
||||
"code_mode" => "تسليط الضوء على تركيب",
|
||||
"path_can_not_share" => "يدعم فقط مشاركة المستندات الخاصة بك!",
|
||||
"path_can_not_action" => "هذا الدليل لا يدعم هذه العملية!",
|
||||
"wap_page_pc" => "نسخة الكمبيوتر",
|
||||
"wap_page_phone" => "متحرك",
|
||||
"image_size" => "أبعاد الصورة",
|
||||
"no_permission_action" => "لم يكن لديك هذا الإذن، يرجى الاتصال بمسؤول!",
|
||||
"path_is_root_tips" => "قد حان إلى الدليل الجذر!",
|
||||
"kod_group" => "منظمة",
|
||||
"my_kod_group" => "المجموعة حيث أنا",
|
||||
"space_tips_default" => "(GB) 0 لا حدود",
|
||||
"space_tips_full" => "دون الحد",
|
||||
"space_size" => "الفضاء",
|
||||
"space_size_use" => "استخدام الفضاء",
|
||||
"space_is_full" => "الفضاء هو كامل، يرجى الاتصال بمسؤول!",
|
||||
"system_open_true_path" => "افتتح بنجاح في إدارة ملف!",
|
||||
"group_role_error" => "خطأ أذونات دور (أي إعدادات إذن)",
|
||||
"group_role_error_admin" => "أذونات غير كافية",
|
||||
"markdown_content" => "جدول المحتويات",
|
||||
"system_group" => "المستخدمين والمجموعات",
|
||||
"system_group_edit" => "إدارة المجموعة",
|
||||
"system_group_role" => "هوية دور",
|
||||
"system_group_create" => "إنشاء مجموعة",
|
||||
"system_group_name" => "اسم المجموعة",
|
||||
"system_group_father" => "المجموعة العليا",
|
||||
"system_group_add" => "إضافة علبة الفرعية",
|
||||
"system_group_remove" => "حذف مجموعات المستخدمين",
|
||||
"system_group_remove_tips" => "تأكيد لحذف مجموعة مستخدمين؟<br/>بعد إزالة مستخدم ينتمي إلى مجموعة سيتم إزالتها، وهذه الخطوة المجموعة الفرعية إلى الدليل الجذر",
|
||||
"system_group_select" => "اختر قسم",
|
||||
"system_group_select_result" => "سوف الأعضاء تنتمي إلى القطاعات التالية",
|
||||
"system_member_action" => "إدارة المستخدم",
|
||||
"system_member_add" => "العضو الجديد",
|
||||
"system_member_role" => "أدوار إذن",
|
||||
"system_member_role_select" => "اختر",
|
||||
"system_member_password_tips" => "لا تملأ لا تعديل",
|
||||
"system_set_home_path" => "كتالوج مخصص",
|
||||
"system_set_home_path_tips" => "الدليل الافتراضي فارغ",
|
||||
"system_member_group" => "مجموعة فنادق",
|
||||
"system_member_group_edit" => "تحرير المجموعة",
|
||||
"system_member_remove" => "حذف العضو",
|
||||
"system_member_remove_tips" => "تأكيد المستخدم حذف؟<br/>بعد إزالة دليل المستخدم سوف تمحى تماما",
|
||||
"system_member_set_role" => "لتأكيد التغيير من الأذونات مجموعة مختارة من المستخدمين؟",
|
||||
"system_member_remove_group" => "تحديد ستتم إزالة المستخدم المحدد من هذه المجموعة؟",
|
||||
"system_member_import" => "إضافة السائبة",
|
||||
"system_member_import_desc" => "مستخدم واحد في كل سطر،<br/>بالفعل موجودة يتم تجاهل بصمت",
|
||||
"system_member_use" => "تمكين",
|
||||
"system_member_unuse" => "تعطيل",
|
||||
"system_member_group_config" => "دفعة لاقامة مجموعة",
|
||||
"system_member_group_remove" => "إزالة من الحزمة",
|
||||
"system_member_group_insert" => "إضافة إلى حزمة",
|
||||
"system_member_group_reset" => "حزمة إعادة تعيين",
|
||||
"system_member_group_error" => "خطأ المجموعة المستخدم",
|
||||
"system_group_action" => "إدارة المجموعة",
|
||||
"system_role_add" => "إضافة الهوية دور",
|
||||
"system_role_read" => "قراءة فقط",
|
||||
"system_role_write" => "يمكن القراءة والكتابة",
|
||||
"system_setting_root_path" => "وصول الجذر",
|
||||
"system_setting_root_path_desc" => "مسؤول النظام فقط يمكن الوصول إلى كافة الدلائل، يمكن للجماعات حقوقية أخرى من المستخدمين ترى سوى دليل المستخدم الخاص بهم. إذا كنت ترغب في تشغيل أو إيقاف وصول المسؤول<br/>إلى الدلائل الأخرى، يمكنك تعديل فب open_basedir المعلمات مكافحة المواقع المشتركة،<a href=\"https://www.google.com.hk/search?&q=php+open_basedir\" target=\"_ |