v3.22发布

pull/86/head
warlee 2016-08-10 11:59:23 +08:00
parent 94ed0841e4
commit 80c477e21e
32 changed files with 2838 additions and 2702 deletions

View File

@ -1,4 +1,19 @@
###ver3.2 `2015/10/25`
### ver3.22 `2016/8/10`
-----
#### update:
- 去掉异常请求判断问题(有误判)
- 删除默认存入到回收站;相关优化
- 没有GD库含有图片则默认显示
- 远程下载优化
- 本地文件输出加入缓存机制;支持断点续传;多线程下载
#### fix bug
- 修复验证码出错问题
- 优化对话框打开问题
### ver3.21 `2015/10/25`
-----
#### update:
- 编辑器函数列表匹配优化;底部高度优化

View File

@ -105,7 +105,6 @@ if(isset($in['PHPSESSID'])){//office edit post
}
@session_start();
check_post_many();
session_write_close();//避免session锁定问题;之后要修改$_SESSION 需要先调用session_start()
$config['autorun'] = array(
array('controller'=>'user','function'=>'loginCheck'),

View File

@ -1,2 +1,2 @@
<?php
define('KOD_VERSION','3.21');
define('KOD_VERSION','3.22');

View File

@ -250,12 +250,14 @@ class explorer extends Controller{
}
public function pathDelete(){
$list = json_decode($this->in['list'],true);
if (!is_writable(USER_RECYCLE)) show_json($this->L['no_permission_write'],false);
if (!is_dir(USER_RECYCLE)){
mk_dir(USER_RECYCLE);
}
$success=0;$error=0;
foreach ($list as $val) {
$path_this = _DIR($val['path']);
$filename = get_path_this($path_this);
$filename = get_filename_auto(USER_RECYCLE.$filename,date(' h:i:s'));//已存在处理 创建副本
$filename = get_filename_auto(USER_RECYCLE.$filename,date(' h:i:s'),'folder_rename');//已存在处理 创建副本
if (@rename($path_this,$filename)) {
$success++;
}else{
@ -560,8 +562,10 @@ class explorer extends Controller{
}
}
public function image(){
if (filesize($this->path) <= 1024*10) {//小于10k 不再生成缩略图
if (filesize($this->path) <= 1024*20 ||
!function_exists('imagecolorallocate') ) {//小于20k或者不支持gd库 不再生成缩略图
file_put_out($this->path);
return;
}
load_class('imageThumb');
$image= $this->path;
@ -585,7 +589,7 @@ class explorer extends Controller{
}
}
if (!file_exists($image_thum) || filesize($image_thum)<100){//缩略图生成失败则用默认图标
$image_thum=STATIC_PATH.'images/image.png';
$image_thum=$this->path;
}
//输出
file_put_out($image_thum);

View File

@ -179,7 +179,7 @@ class user extends Controller
$password = rawurldecode($this->in['password']);
session_start();//re start 有新的修改后调用
if(isset($_SESSION['code_error_time']) &&
if(need_check_code() && isset($_SESSION['code_error_time']) &&
intval($_SESSION['code_error_time']) >=3 &&
$_SESSION['check_code'] !== strtolower($this->in['check_code'])){
// pr($_SESSION['check_code'].'--'.strtolower($this->in['check_code']));exit;

View File

@ -137,9 +137,20 @@ function php_env_check(){
if(!function_exists('file_get_contents')) $error.='<li>'.$L['php_env_error_file'].'</li>';
if(!path_writable(BASIC_PATH)) $error.= '<li>'.$base_path.' '.$L['php_env_error_path'].'</li>';
if(!path_writable(BASIC_PATH.'data')) $error.= '<li>'.$base_path.'data '.$L['php_env_error_path'].'</li>';
if(!path_writable(BASIC_PATH.'data/system')) $error.= '<li>'.$base_path.'data/system '.$L['php_env_error_path'].'</li>';
if(!path_writable(BASIC_PATH.'data/User')) $error.= '<li>'.$base_path.'data/User '.$L['php_env_error_path'].'</li>';
if(!path_writable(BASIC_PATH.'data/thumb')) $error.= '<li>'.$base_path.'data/thumb '.$L['php_env_error_path'].'</li>';
$parent = get_path_father(BASIC_PATH);
$arr_check = array(
BASIC_PATH,
BASIC_PATH.'data',
BASIC_PATH.'data/system',
BASIC_PATH.'data/User',
BASIC_PATH.'data/thumb',
);
foreach ($arr_check as $value) {
if(!path_writable($value)){
$error.= '<li>'.str_replace($parent,'',$value).'/ '.$L['php_env_error_path'].'</li>';
}
}
if( !function_exists('imagecreatefromjpeg')||
!function_exists('imagecreatefromgif')||
!function_exists('imagecreatefrompng')||
@ -209,51 +220,12 @@ function init_setting(){
include($setting_user);
}
}
//防止恶意请求
function check_post_many(){
$check_time = 4;
$maxt_num = 40;//5秒内最大请求次数。超过则自动退出
$total_time = 60;//10nmin
$total_time_num = 500;
//管理员不受限制
if( isset($_SESSION['kod_user']) &&
$_SESSION['kod_user']['role']=='root'){
return;
}
//上传不受限制
$URI = $GLOBALS['in']['URLremote'];
if (isset($URI[1]) && $URI[1] =='fileUpload') {
return;
}
$session_key = 'check_post_many';
$_SESSION['check_session_has'] = 'kodexplorer';
if (!isset($_SESSION[$session_key])) {
$_SESSION[$session_key] = array('last_time'=>time(),'total_num'=>0,'max_time'=>time(),'max_num'=>0);
//登陆是否需要验证码
function need_check_code(){
if(!function_exists('imagecolorallocate')){
return false;
}else{
$info = $_SESSION[$session_key];
//----短期内并发控制
if (time()-$info['last_time'] >=$check_time) {//大于时长s 则清空
$info = array('last_time'=>time(),'total_num'=>0,'max_time'=>time(),'max_num'=>0);
}else{
if ($info['total_num'] >=$maxt_num) {//大于100次则直接退出
user_logout();
}else{
$info['total_num'] +=1;
}
}
//----总量控制
if (time()-$info['max_time'] >=$total_time) {//大于时长s 则清空
$info = array('last_time'=>time(),'total_num'=>0,'max_time'=>time(),'max_num'=>0);
}else{
if ($info['total_num'] >=$total_time_num) {//大于100次则直接退出
user_logout();
}else{
$info['max_num'] +=1;
}
}
$_SESSION[$session_key] = $info;
return true;
}
}
function is_wap(){

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,180 +1,171 @@
<?php
$L= array(
"upload_clear" =>'清',
"upload_setting" =>"",
"upload_tips" =>'采用分片上傳,不再受php.ini限制;推薦chrome體驗文件夾拖拽上傳',
"upload_exist" =>"同名文件處理",
"upload_exist_rename" =>"命名",
"upload_clear" =>'清',
"upload_setting" =>"",
"upload_tips" =>'採取分段上傳,不再受php.ini限制;推薦Chrome體驗資料夾拖曳上傳',
"upload_exist" =>"重名檔案處理",
"upload_exist_rename" =>"命名",
"upload_exist_replace" =>"覆蓋",
"upload_exist_skip" =>"跳過",
"upload_exist_skip" =>"略過",
"more" =>"更多",
'system_setting' =>"系統設",
"openProject" =>"編輯器開項目",
"url_download" =>"下載",
"url_link" =>"鏈地",
"app_type_link" =>"快捷方式",
"createLink" =>"創建快捷方式",
"createProject" =>"添加到編輯器工程",
"only_read" =>"",
"only_read_desc" =>"該目錄沒有寫權限<br/>可以在操作系統中設置此目錄的權限",
"explorerNew" =>'kod 鏈接',
'system_setting' =>"系統設",
"openProject" =>"編輯器項目",
"url_download" =>"下載",
"url_link" =>"部網",
"app_type_link" =>"捷徑",
"createLink" =>"建立捷徑",
"createProject" =>"新增志編輯器工程",
"only_read" =>"",
"only_read_desc" =>"此目錄無寫權限<br/>可以在作業系統中設定此目錄的權限",
"explorerNew" =>'KOD連結',
'zip_download_ready' =>'壓縮後會自動下載,請稍後...',
"set_background" =>"設置為桌面壁紙",
"share" =>"共享",
"share_path" =>"共享路径",
"share_title" =>"資源共享",
"share_name" =>"共享標題",
"share_time" =>"到期時間",
"share_time_desc" =>"留空表示不設置到期時間",
"set_background" =>"設定為桌面桌布",
"share" =>"共用",
"share_path" =>"共用路径",
"share_title" =>"資源共用",
"share_name" =>"共用標題",
"share_time" =>"逾期時間",
"share_time_desc" =>"留空表示不設定逾期時間",
"share_password" =>"提取密碼",
"share_password_desc" =>"留空表示不需要密碼",
"share_cancle" =>"取消共",
"share_create" =>"創建公開鏈接",
"share_url" =>"享地",
"share_cancle" =>"取消共",
"share_create" =>"建立公開連結",
"share_url" =>"用網",
"share_not_download" =>"禁止下載",
"share_not_download_tips" =>"者禁止了下載!",
"share_not_download_tips" =>"者禁止了下載!",
"share_code_read" =>"代碼閱讀",
"share_save" =>"保存配置",
"share_save" =>"儲存設定",
"share_error_param" =>'參數錯誤!',
"share_error_user" =>'用戶信息錯誤!',
"share_error_sid" =>'共不存在!',
"share_error_time" =>'您來晚了,該共享已經過期!',
"share_error_path" =>'共享文件不存在,被刪除或者移走了!',
"share_error_user" =>'使用者資訊錯誤!',
"share_error_sid" =>'共不存在!',
"share_error_time" =>'您來晚了,此共用已逾期!',
"share_error_path" =>'共用檔案不存在,被刪除或者移走了!',
"share_error_password" =>"密碼錯誤!",
'share_error_show_tips' =>"該類型文件暫不支持預覽!",
"share_view_num" =>'瀏覽:',
'share_error_show_tips' =>"此類型檔案暫不支援預覽!",
"share_view_num" =>'檢視:',
"share_download_num" =>'下載:',
"my_share" => "我的共",
"share_edit" => "編輯共",
"share_remove" => "取消共",
"share_remove_tips" => "確定取消共享?公開連接將失效.",
"share_open_page" => "打開共享頁面",
"share_open_path" => "進入文件所在目錄",
"recycle_clear" => '清空回收站',
"recycle_clear_success" => "空回收站成功!",
"recycle_clear_info" => "您確定要徹底刪除回收站嗎?",
"my_share" => "我的共",
"share_edit" => "編輯共",
"share_remove" => "取消共",
"share_remove_tips" => "確定取消共用?公開連結將失效.",
"share_open_page" => "開啟共用頁面",
"share_open_path" => "進入檔案所在目錄",
"recycle_clear" => '清除垃圾筒',
"recycle_clear_success" => "除垃圾筒成功!",
"recycle_clear_info" => "您確定要徹底刪除垃圾筒嗎?",
"recycle_remove" => "徹底刪除",
"fav_remove" => "取消收藏",
"remove_item" =>"項內容",//刪除3項內容 3 item
"uploading" =>"正在上傳",
'show_file' =>"新頁面預覽",
"unknow_file_title" =>"文件打開提示!",
"unknow_file_tips" =>"暫不支持打開",
"unknow_file_download" =>"下載到本地",
"unknow_file_office" =>"office預覽,此程序需要部署在外網",
"config_save_error_auth" => '配置保存失败,管理员禁止了此权限!',
"config_save_error_file" => '配置保存失败,kod目录需要有写权限!',
"unknow_file_title" =>"檔案開啟提示!",
"unknow_file_tips" =>"暫不支援開啟",
"unknow_file_download" =>"下載至本機",
"unknow_file_office" =>"Office預覽,此程式需要部署在外部網路",
"config_save_error_auth" => '設定儲存失敗,管理員禁止了此權限!',
"config_save_error_file" => '設定儲存失敗,KOD目錄需要有寫入權限!',
//editor
"shortcut" => '快鍵',
"shortcut" => '快鍵',
"learnMore" => '了解更多',
"code_mode" => '高亮語法',
"replace" => '替換',
"code_mode" => '語法反白',
"replace" => '取代',
"selectAll" => '全選',
"reload" => "重新載入",
"about" => "關於",
'complete_current' => "自動補全當前",
"view" => '',
'complete_current' => "自動完成",
"view" => '視',
"tools" => "工具",
"help" => "幫助",
"help" => "說明",
"not_exists" => "不存在",
"group_role_fileDownload" => "文件下載",
"group_role_share" => "共享",
"system_setting" => "系統設置",
"system_setting_menu" => "菜單管理",
"system_name" => "程序名稱",
"system_name_desc" => "程序logo標題",
"system_desc" => "程序描述",
"system_desc" => "程序描述",
"group_role_fileDownload" => "檔案下載",
"group_role_share" => "共用",
"system_setting" => "系統設定",
"system_setting_menu" => "選單管理",
"system_name" => "程式名稱",
"system_name_desc" => "程式logo標題",
"system_desc" => "程式描述",
"system_desc" => "程式描述",
"path_hidden" => "目錄排除",
"path_hidden_desc" => "默認不顯示的目錄和文件,逗號隔開",
"new_user_folder" => "用戶默認創建目錄",
"path_hidden_desc" => "預設不顯示的目錄和檔案,逗號隔開",
"new_user_folder" => "使用者預設建立目錄",
"new_user_folder_desc" => "用逗號隔開",
"new_user_app" =>"用戶默認創建app",
"new_user_app" =>"使用者預設建立應用程式",
"new_user_app_desc" =>"應用中心的應用,多個用逗號隔開",
"auto_login" =>"遊客自動登",
"auto_login_desc" =>"默認登錄用戶名為<code>guest</code>的用戶;開啟後確保<code>guest</code>用戶存在",
"first_in" =>"陸後默認進入",
"menu_name" =>"菜單名",
"auto_login" =>"遊客自動登",
"auto_login_desc" =>"預設登入使用者名稱為<code>guest</code>的使用者;開啟後確保<code>guest</code>使用者存在",
"first_in" =>"入後預設進入",
"menu_name" =>"選單名稱",
"menu_hidden" => "隱藏",
"menu_show" =>"顯示",
"menu_move_down" =>"下移",
"menu_move_up" =>"上移",
"menu_move_del" =>"刪除",
"menu_open_window" =>"口打",
"url_path" =>"url地",
"url_path_desc" =>"url地址或js代碼",
"no_permission_read" =>"該文件沒有讀取權限",
"no_permission_download" =>"管理员限制了下载和预览",
"menu_open_window" =>"窗開",
"url_path" =>"URL網",
"url_path_desc" =>"URL網址或JS代碼",
"no_permission_read" =>"此檔案無讀取權限",
"no_permission_download" =>"管理員限制了下載與預覽",
"php_env_check" => "運行環境監測:",
"php_env_check" => "執行環境檢查:",
"php_env_error" => "環境錯誤:",
"php_env_error_ignore" =>"忽略",
"php_env_error_version" =>"PHP版本不能低於5.0",
"php_env_error_iconv" =>"未開啟 iconv",
"php_env_error_mb_string" =>"未開啟 mb_string",
"php_env_error_file" =>"未開啟 file_get_contents",
"php_env_error_path" =>"不可寫",
"php_env_error_gd" =>"須開啟php GD庫, 否則驗證碼、縮圖使用將不正常",
"install_login" =>"您可以用如下號登陸",
"php_env_error_path" =>"無法寫入",
"php_env_error_gd" =>"須開啟php GD庫, 否則驗證碼、縮圖使用將不正常",
"install_login" =>"您可以用如下號登陸",
"install_enter" =>"進入系統",
"install_user_default" =>"管理員admin/admin(請務必修改密碼)<br/>普通用戶demo/demo<br/>遊客用戶guest/guest",
"copyright_desc" =>"這是壹款備受好評的web文檔管理系統妳可以用它來做內部文檔管理或共享、也可以用來管理服務器上的網站取代Ftp
甚至可以當作webIDE直接在線開發。同時妳也可以將此程序二次開發整合到妳現有的系統。",
'copyright_contact' =>'授權或定制請聯系QQ:<a href="http://wpa.qq.com/msgrd?v=3&uin=3232048103&site=qq&menu=yes" target="_blank">3232048103</a><a href="javascript:core.openIE(\'http://kalcaddle.com/qa.html\');">問題反饋</a>',
"install_user_default" =>"管理員admin/admin(請務必修改密碼)<br/>一般使用者demo/demo<br/>遊客使用者guest/guest",
"copyright_desc" =>"這是一款備受好評的web檔案管理系統你可以用它來做內部檔案管理或共用、也可以用來管理伺服器上的網站取代Ftp
甚至可以當作webIDE直接線上開發。同時你也可以將此程式二次開發整合進你現有的系統。",
'copyright_contact' =>'授權或客製請聯絡QQ:<a href="http://wpa.qq.com/msgrd?v=3&uin=3232048103&site=qq&menu=yes" target="_blank">3232048103</a><a href="javascript:core.openIE(\'http://kalcaddle.com/qa.html\');">問題反饋</a>',
"copyright_info" =>'Copyright © <a href="http://kalcaddle.com/" target="_blank">kalcaddle.com</a> All rights reserved.',
"copyright_pre" =>'Powered by KodExplorer',
"kod_name" => "KodExplorer",
"kod_name_desc" => "芒果雲•資源管理器",
"kod_power_by" => " - Powered by KodExplorer",
"kod_name_copyright" => "芒果雲•資源管理器",
"login" => "登六",
"guest_login" => "遊客登六",
"username" => "用護名",
"login" => "登入",
"guest_login" => "遊客登入",
"username" => "使用者名稱",
"password" => "密碼",
"login_code" => "驗證",
"login_code" => "驗證",
"login_rember_password" => "記住密碼",
"us" => "千帆網路工作室",
"login_not_null" => "用護名密碼不能為空!",
"login_not_null" => "使用者名稱密碼不能為空!",
"code_error" => "驗證碼錯誤",
"user_not_exists" => "用護名不存在!",
"user_not_exists" => "使用者名稱不存在!",
"password_error" => "密碼錯誤!",
"password_not_null" => "密碼不能為空!",
"old_password_error" => "原密碼錯誤!",
"permission" => "許可權!",
"permission" => "!",
"permission_edit" => "修改權限",
"no_permission" => "沒有此權限!",
"no_permission_ext" => "沒有該類型文件權限",
"no_permission" => "此權限!",
"no_permission_ext" => "無此類型檔案權限",
"dialog_min" => "最小化",
"dialog_min_all" => "最小化所有",
"dialog_display_all" => "顯示所有窗口",
"dialog_close_all" => "關閉所有窗口",
"dialog_display_all" => "顯示所有視窗",
"dialog_close_all" => "關閉所有視窗",
//通用
"open" => "",
"open" => "",
"others" => "其他",
"open_with" => "打開方式",
"open_with" => "開啟檔案",
"close" => "關閉",
"close_all" => "關閉全部",
"close_right" => "關閉右側標籤",
"close_others" => "關閉其他",
"loading" => "作中...",
"loading" => "中...",
"warning" => "警告",
"getting" => "取中...",
"sending" => "數據發送中...",
"data_error" => "數據出錯!",
"get_success" => "取成功!",
"save_success" => "存成功!",
"success" => "作成功",
"error" => "作失敗",
"error_repeat" => "'作失敗,請註意名稱不能重複!'",
"getting" => "中...",
"sending" => "資料傳送中...",
"data_error" => "資料出錯!",
"get_success" => "成功!",
"save_success" => "存成功!",
"success" => "成功",
"error" => "失敗",
"error_repeat" => "'失敗,請註意名稱不能重複!'",
"system_error" => "系統錯誤",
"name" => "名稱",
"type" => "類型",
@ -183,302 +174,289 @@ $L= array(
"size" => "大小",
"byte" => "位元組",
"path" => "路徑",
"action" => "",
"create_time" => "建時間",
"action" => "",
"create_time" => "時間",
"modify_time" => "修改時間",
"last_time" => "最後",
"last_time" => "最後",
"sort_type" => "排序方式",
"time_type" => "Y/m/d H:i:s",
"time_type_info" => "Y年m月d日 H:i:s",
"public_path" => "公共目錄",
//右鍵
"file" => "",
"folder" => "",
"file" => "",
"folder" => "資料",
"copy" => "複製",
"clone" => "創建副本",
"past" => "",
"cute" => "",
"clone" => "複製一份",
"past" => "",
"cute" => "",
"remove" => "刪除",
"info" => "屬性",
"list_type" => "查看",
"info" => "內容",
"list_type" => "檢視",
"list_icon" => "圖示排列",
"list_list" => "列表排列",
"list_list" => "清單排列",
"sort_up" => "遞增",
"sort_down" => "遞減",
"order_type" => "排序方式",
"order_desc" => "降序",
"order_asc" => "昇冪",
"rename" => "命名",
"add_to_fav" => "添加到收藏夾",
"search_in_path" => "檔夾中搜索",
"add_to_play" => "添加到播放列表",
"manage_fav" => "管理收藏夾",
"refresh_tree" => "刷新樹目錄",
"order_desc" => "遞減",
"order_asc" => "遞增",
"rename" => "命名",
"add_to_fav" => "新增至書籤",
"search_in_path" => "資料夾中搜尋",
"add_to_play" => "新增至播放清單",
"manage_fav" => "管理書籤",
"refresh_tree" => "重新整理樹目錄",
"manage_folder" => "管理目錄",
"close_menu" => "關閉",
"close_menu" => "關閉",
"zip" => "zip壓縮",
"unzip" => "zip解壓到當前",
"clipboard" => "查看剪貼板",
"full_screen" => "全屏/退出全屏",
"unzip" => "zip解壓至目前",
"clipboard" => "檢視剪貼簿",
"full_screen" => "全螢幕/離開全螢幕",
"tips" => "提示",
"ziping" => "正在壓縮...",
"unziping" => "正在解壓...",
"moving" => "移動操作中...",
"moving" => "移動中...",
"remove_title" => "刪除確認",
"remove_info" => "確認刪除選中內容嗎?",
"name_isexists" => "出錯了,名稱已存在!",
"name_isexists" => "出錯了,名稱已存在!",
"install" => '安裝',
"width" => '寬',
"height" => '高',
"app" => '應用',
"app_store" => '應用商店',
"app_create" => '建應用',
"app_create" => '應用',
"app_edit" => '修改應用',
"app_group_all" => '全部',
"app_group_game" => '遊戲',
"app_group_tools" => '工具',
"app_group_reader" => '閱讀',
"app_group_movie" => '影',
"app_group_movie" => '影',
"app_group_music" => '音樂',
"app_group_life" => '生活',
"app_group_others" => '其他',
"app_desc" => '描述',
"app_icon" => '應用圖示',
"app_icon_show" => 'url地址或該目錄',
"app_group" => '應用分組',
"app_icon" => '應用程式圖示',
"app_icon_show" => 'URL網址或此目錄',
"app_group" => '應用程式分組',
"app_type" => '類型',
"app_type_url" => '鏈接',
"app_type_code" => 'js擴展',
"app_display" => '外觀',
"app_type_url" => '連結',
"app_type_code" => 'JS擴充',
"app_display" => '顯示',
"app_display_border" => '無邊框(選中即無邊框)',
"app_display_size" => '調整大小(選中即可調整)',
"app_size" => '尺寸',
"app_url" => '鏈接地址',
"app_code" => 'js 代碼',
//檔管理
"app_size" => '大小',
"app_url" => '連結網址',
"app_code" => 'JS代碼',
//檔案管理
"edit" => "編輯",
"edit_can_not" => "不是文本檔",
"edit_too_big" => "文件太大,不能大於20M",
"open_default" => "默認方式打開",
"open_ie" => "流覽器打開",
"refresh" => "刷新",
"refresh_all" => "強制刷新",
"newfile" => "建檔",
"newfolder" => "建檔",
"newothers" => "其他",
"edit_can_not" => "不是文字檔案",
"edit_too_big" => "檔案太大,不能大於20M",
"open_default" => "預設方式開啟",
"open_ie" => "瀏覽器開啟",
"refresh" => "重新整理",
"refresh_all" => "強制重新整理",
"newfile" => "增檔案",
"newfolder" => "增資料",
"newothers" => "其他",
"path_loading" => "載入中...",
"go" => "走著!",
"go" => "移至",
"go_up" => "上層",
"history_next" => "前進",
"history_back" => "後退",
"address_in_edit" => "點擊進入編輯狀態",
"double_click_rename" => "雙擊名稱重命名",
"double_click_open" => "雙擊打開",
"path_null" => "該檔夾為空,可以拖拽檔到該窗口上傳。",
"history_next" => "下一頁",
"history_back" => "上一頁",
"address_in_edit" => "按一下進入編輯狀態",
"double_click_rename" => "按兩下名稱重新命名",
"double_click_open" => "按兩下開啟",
"path_null" => "此資料夾為空,可以拖曳檔案至此視窗上傳。",
//上傳下載
"upload" => "上傳",
"upload_ready" => "等待上傳...",
"uploading" => "上傳中...",
"upload_success" => "上傳成功",
"upload_path_current" => "切換到當前目錄",
"upload_select" => "選擇檔",
"upload_path_current" => "切換至目前目錄",
"upload_select" => "選擇檔",
"upload_max_size" => "最大允許",
"upload_size_info" => "如果想配置更大請修改php.ini中允許上傳的最大值。選擇檔時,大於該配置的將自動過濾掉。",
"upload_size_info" => "如果想設定更大請修改php.ini中允許上傳的最大值。選擇檔案時,大於此設定的將自動篩選掉。",
"upload_error" => "上傳失敗",
"upload_muti" => "多檔上傳",
"upload_drag" => "上傳",
"upload_drag" => "上傳",
"upload_drag_tips" => "鬆開即可上傳!",
"path_not_allow" => "檔案名不允許出現",
"path_not_allow" => "檔案名不允許出現",
"download" => "下載",
"download_address" => "下載",
"download_address" => "下載",
"download_ready" => "即將下載",
"download_success" => "下載成功!",
"download_error" => "下載失敗!",
"download_error_create" => "寫入出錯!",
"download_error_exists" => "遠程檔不存!",
"upload_error_null" => "沒有檔!",
"upload_error_big" => "檔大小超過伺服器限制",
"upload_error_move" => "移動檔失敗!",
"upload_error_exists" => "該檔已存在",
"upload_local" => "本地上傳",
"download_from_server" => "遠程下載",
"save_path" => "保存路徑",
"upload_select_muti" => "可選擇多個檔上傳",
//搜索
"search" => "搜索",
"searching" => "搜索中...",
"search_null" => "沒有搜索結果!",
"download_error_exists" => "遠端檔案不存在!",
"upload_error_null" => "無檔案!",
"upload_error_big" => "檔案大小超過伺服器限制",
"upload_error_move" => "移動檔案失敗!",
"upload_error_exists" => "此檔案已存在",
"upload_local" => "本機上傳",
"download_from_server" => "遠端下載",
"save_path" => "儲存路徑",
"upload_select_muti" => "可選擇多個檔案上傳",
//搜尋
"search" => "搜尋",
"searching" => "搜尋中...",
"search_null" => "無搜尋結果!",
"search_uplow" => "區分大小寫",
"search_content" => "索檔內容",
"search_info" => "請輸入搜索詞和路徑進行搜索",
"search_ext_tips" => "用|隔開;例如 php|js|css<br/>不填則搜索默認文本檔",
"search_content" => "尋檔案內容",
"search_info" => "請輸入搜尋詞和路徑進行搜尋",
"search_ext_tips" => "用|隔開;例如 php|js|css<br/>不填則搜尋預設文字檔案",
"file_type" => "檔類型",
"goto" => "跳轉",
"goto" => "跳轉",
"contain" => "包含",
"server_dwonload_desc" => "個任務加入到下載列表",
"parent_permission" => "父目錄許可權",
"root_path" => "我的文件",
"server_dwonload_desc" => "個任務加入至下載清單",
"parent_permission" => "父目錄權限",
"root_path" => "根目錄",
"lib" => "",
"fav" => "收藏夾",
"fav" => "書籤",
"desktop" => "桌面",
"browser" => "覽器",
"browser" => "覽器",
"my_computer" => "我的電腦",
"recycle" => "回收站",
"my_document" => "我的文",
"recycle" => "垃圾筒",
"my_document" => "我的文",
"my_picture" => "我的照片",
"my_music" => "我的音樂",
"my_movie" => "我的視頻",
"my_movie" => "我的影片",
"my_download" => "我的下載",
//介面
"ui_desktop" => "桌面",
"ui_explorer" => "管理",
"ui_explorer" => "管理",
"ui_editor" => "編輯器",
"adminer" => "adminer",
"ui_project_home" => "專案主頁",
"ui_login" => "登六",
"ui_logout" => "退出",
//設置
"setting" => "系統設置",
"ui_login" => "登入",
"ui_logout" => "登出",
//設定
"setting" => "系統設定",
"setting_title" => "選項",
"setting_user" => "個人中心",
"setting_password" => "修改密碼",
"setting_password_old" => "原密碼",
"setting_password_new" => "修改為",
"setting_language" => "語言設",
"setting_member" => "用護管理",
"setting_group" => "用護組管理",
"setting_group_add" => "添加用護",
"setting_group_edit" => "編輯用護",
"setting_language" => "語言設",
"setting_member" => "使用者管理",
"setting_group" => "使用者群組管理",
"setting_group_add" => "新增使用者群",
"setting_group_edit" => "編輯使用者群",
"setting_theme" => "主題切換",
"setting_wall" => "更換壁紙",
"setting_wall_diy" => "定義壁紙",
"setting_wall_info" => "圖片url地址本地圖片可以右鍵圖片流覽器打開即可得到",
"setting_fav" => "收藏夾管理",
"setting_wall" => "變換桌布",
"setting_wall_diy" => "訂桌布",
"setting_wall_info" => "圖片URL網址本機圖片可以右鍵圖片瀏覽器開啟即可得到",
"setting_fav" => "書籤管理",
"setting_player" => "播放器",
"setting_player_music" => "音樂播放器設",
"setting_player_movie" => "視頻播放器設置",
"setting_help" => "使用幫助",
"setting_about" => "關於作品",
"setting_player_music" => "音樂播放器設",
"setting_player_movie" => "影片播放器設定",
"setting_help" => "說明",
"setting_about" => "關於",
"setting_success" => "修改已生效!",
"can_not_repeat" => "不允許重複",
"absolute_path" => "絕對地址",
"absolute_path" => "絕對位址",
// setting page
"group" => "用護",
"data_not_full" => "數據提交不完整!",
"default_user_can_not_do" => "默認用護不能操作",
"default_group_can_not_do" => "默認用護組不能操作",
"username_can_not_null" => "用護名不能為空!",
"groupname_can_not_null" => "用護組名不能為空!",
"groupdesc_can_not_null" => "用護組描述不能為空!",
"group_move_user_error" => "所屬用護組用護移動失敗",
"group_already_remove" => "該用護組已被刪除",
"group_not_exists" => "該用護組不存在",
"member_add" => "添加用護",
"password_null_not_update" => "密碼不填表示不",
"if_save_file" => "尚未保存,是否保存?",
"group" => "使用者群",
"data_not_full" => "資料送出不完整!",
"default_user_can_not_do" => "預設使用者不能操作",
"default_group_can_not_do" => "預設使用者群組不能操作",
"username_can_not_null" => "使用者名稱不能為空!",
"groupname_can_not_null" => "使用者群組名稱不能為空!",
"groupdesc_can_not_null" => "使用者群組描述不能為空!",
"group_move_user_error" => "所屬使用者群組使用者移動失敗",
"group_already_remove" => "此使用者群組已被刪除",
"group_not_exists" => "此使用者群組不存在",
"member_add" => "新增使用者",
"password_null_not_update" => "密碼不填表示不",
"if_save_file" => "案尚未儲存,是否儲存?",
"if_remove" => "確認刪除",
"member_remove_tips" => "刪除後該用護目錄會被清空",
"group_remove_tips" => "刪除後該用護組用護無法登六<br/>(需要重新設置用護組)",
"group_name" => "用護組名",
"group_name_tips" => "建議英文名,不能重複",
"member_remove_tips" => "刪除後此使用者目錄會被清除",
"group_remove_tips" => "刪除後此使用者群組使用者無法登入<br/>(需要重新設定使用者群組)",
"group_name" => "使用者群組名稱",
"group_name_tips" => "建議英文名,不能重複",
"group_desc" => "展示名稱",
"group_desc_tips" => "組名描述",
"group_role_ext" => "擴展名限制",
"group_desc_tips" => "組名描述",
"group_role_ext" => "副檔名限制",
"group_role_ext_tips" => "多個用|分隔開",
"group_role_file" => "管理",
"group_role_file" => "管理",
"group_role_upload" => "上傳下載",
"group_role_user" => "用護數據",
"group_role_group" => "用護組管理",
"group_role_member" => "用護管理",
"group_role_mkfile" => "建檔",
"group_role_mkdir" => "建檔",
"group_role_pathrname" => "命名",
"group_role_user" => "使用者資料",
"group_role_group" => "使用者群組管理",
"group_role_member" => "使用者管理",
"group_role_mkfile" => "增檔案",
"group_role_mkdir" => "增資料",
"group_role_pathrname" => "命名",
"group_role_pathdelete" => "檔(夾)刪除",
"group_role_pathinfo" => "檔(夾)屬性",
"group_role_pathmove" => "移動(複製/剪切/粘貼/拖拽操作)",
"group_role_pathinfo" => "檔(夾)內容",
"group_role_pathmove" => "移動(複製/剪下/貼上/拖曳操作)",
"group_role_zip" => "zip壓縮",
"group_role_unzip" => "zip解壓",
"group_role_search" => "",
"group_role_filesave" => "編輯保存檔",
"group_role_search" => "",
"group_role_filesave" => "編輯儲存檔案",
"group_role_can_upload" => "上傳下載",
"group_role_upload" => "允許上傳",
"group_role_download" => "下載",
"group_role_download" => "下載",
"group_role_passowrd" => "修改密碼",
"group_role_config" => "用護配置",
"group_role_fav" => "收藏夾操作(添加/編輯/刪除)",
"group_role_list" => "列表查看",
"group_role_member_add" => "添加用護",
"group_role_member_edit" => "編輯用護",
"group_role_member_del" => "刪除用護",
"group_role_group_add" => "添加用護組",
"group_role_group_edit" => "編輯用護組",
"group_role_group_del" => "刪除用護組",
"group_role_ext_warning" => "不允許此類檔的上傳,<br/>重命名(重命名為指定擴展名),<br/>編輯保存,遠程下載,解壓",
"group_tips"=>"<li>1.用護組名不能重複,修改組名後原屬於改組用護會自動關聯</li><li>2.擴展名限制關系系統安全性,請務必謹慎操作<i>(果在web目錄下新建php;就意味著改程式的許可權對此用護形同虛設)</i></li><li>3.護管理、許可權組管理;查看許可權和增刪改許可權是邦定的;程式會自動關聯</li><li>4.設定許可權組能添加許可權組後,後續許可權是不繼承的<i>(此許可權相當於最高許可權)</i></li>",
"group_role_config" => "使用者設定",
"group_role_fav" => "書籤操作(新增/編輯/刪除)",
"group_role_list" => "清單檢視",
"group_role_member_add" => "新增使用者",
"group_role_member_edit" => "編輯使用者",
"group_role_member_del" => "刪除使用者",
"group_role_group_add" => "新增使用者群組",
"group_role_group_edit" => "編輯使用者群組",
"group_role_group_del" => "刪除使用者群組",
"group_role_ext_warning" => "不允許此類檔案的上傳,<br/>重新命名(重新命名為指定副檔名),<br/>編輯儲存,遠端下載,解壓",
"group_tips"=>"<li>1.使用者群組名稱不能重複,修改群組名稱後原屬於改群組使用者會自動關聯</li><li>2.副檔名限制關聯系統安全性,請務必謹慎作業<i>(如果在web目錄下新增php;就意味著改程式的權限對此使用者形同虛設)</i></li><li>3.使用者管理、權限群組管理;檢視權限和增刪改權限是連結的;程式會自動關聯</li><li>4.設定權限群組能新增權限群組後,後續權限是不繼承的<i>(此權限相當於最高權限)</i></li>",
//explorer_ajax
"not_null" => "必填項不能為空!",
"picture_can_not_null" => "圖片址不能為空!",
"rname_success" => "命名成功!",
"please_inpute_search_words" => "請輸入要搜的字串",
"picture_can_not_null" => "圖片址不能為空!",
"rname_success" => "命名成功!",
"please_inpute_search_words" => "請輸入要搜的字串",
"remove_success" => "刪除成功!",
"remove_fali" => "刪除失敗!",
"clipboard_null" => "剪貼為空!",
"create_success" => "成功!",
"create_error" => "建失敗,請檢查目錄許可權",
"copy_success" => "【複製】—— 覆蓋剪貼成功!",
"cute_success" => "【剪切】—— 覆蓋剪貼板成功!",
"clipboard_state" => "切板狀態:",
"no_permission_write" => "該目錄沒有寫權限",
"no_permission_write_all" => "该文件或目录没有写权",
"no_permission_write_file" => "该文件沒有寫權限",
"clipboard_null" => "剪貼簿為空!",
"create_success" => "成功!",
"create_error" => "增失敗,請檢查目錄權限",
"copy_success" => "【複製】—— 覆蓋剪貼簿成功!",
"cute_success" => "【剪下】—— 覆蓋剪貼簿成功!",
"clipboard_state" => "貼簿狀態:",
"no_permission_write" => "此目錄無寫權限",
"no_permission_write_all" => "此檔案或目錄無寫入權",
"no_permission_write_file" => "此檔案無寫權限",
"copy_not_exists" => "來源不存在",
"current_has_parent" => "目標檔夾是原始檔案夾的子檔夾!",
"past_success" => "<b>貼操作完成</b>",
"cute_past_success" => "<b>剪切操作完成</b>(原始檔案被刪除,剪貼板清空)",
"current_has_parent" => "目標資料夾是原始資料夾的子資料夾!",
"past_success" => "<b>操作完成</b>",
"cute_past_success" => "<b>剪下作業完成</b>(原始檔案被刪除,剪貼簿清除)",
"zip_success" => "壓縮完成",
"not_zip" => "不是壓縮檔",
"zip_null" => "沒有選擇的檔或目錄",
"zip_null" => "無選擇的檔案或目錄",
"unzip_success" => "解壓完成",
"gotoline" => "跳轉到行",
"path_is_current" => "所打開路徑和當前路徑壹洋!",
"path_exists" => "該名稱已存在!",
"gotoline" => "跳轉至列",
"path_is_current" => "所開啟路徑與目前路徑一致!",
"path_exists" => "此名稱已存在!",
//編輯器
"undo" => "撤銷",
"redo" => "撤銷",
"undo" => "復原",
"redo" => "復原",
"preview" => "預覽",
"wordwrap" => "自動換行/不自動換行",
"char_all_display" => "顯示&隱藏不可見字元",
"auto_complete" => "自動提示(取消)",
"function_list" => "函數列表",
"function_list" => "函數清單",
"code_theme" => "代碼風格",
"font_size" => "字體",
"font_size" => "字型",
//button
"button_ok" => "確定",
"button_submit" => "提交",
"button_set" => "",
"button_submit" => "送出",
"button_set" => "",
"button_cancel" => "取消",
"button_edit" => "編輯",
"button_save" => "",
"button_save_all" => "存全部",
"button_not_save" => "",
"button_add" => "添加",
"button_back_add" => "返回添加",
"button_save" => "",
"button_save_all" => "存全部",
"button_not_save" => "",
"button_add" => "新增",
"button_back_add" => "返回新增",
"button_del" => "刪除",
"button_save_edit" => "存修改",
"button_save_submit" => "保存提交",
"button_save_edit" => "存修改",
"button_save_submit" => "儲存送出",
"button_select_all" => "全選/反選"
);

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -145,7 +145,6 @@ function spend_time(&$pretime){
}
function check_code($code){
header("Content-type: image/png");
$fontsize = 18;$len = strlen($code);
$width = 70;$height=27;
$im = @imagecreatetruecolor($width, $height) or die("create image error!");
@ -162,11 +161,20 @@ function check_code($code){
imagerectangle($im, 0, 0, $width-1, $height-1, $border_color);//画矩形边框颜色200,200,200
for ($i = 0; $i < $len; $i++) {//写入随机字串
$current = $str[mt_rand(0, strlen($str)-1)];
$current = $code[mt_rand(0, strlen($code)-1)];
$text_color = imagecolorallocate($im,mt_rand(30, 140),mt_rand(30,140),mt_rand(30,140));
imagechar($im,10,$i*$fontsize+6,rand(1,$height/3),$code[$i],$text_color);
}
imagejpeg($im);//显示图
if(function_exists("imagejpeg")){
header("Content-Type: image/jpeg");
imagejpeg($im, null,90);//图片质量
}else if(function_exists("imagegif")){
header("Content-Type: image/gif");
imagegif($im);
}else if(function_exists("imagepng")){
header("Content-Type: image/x-png");
imagepng($im);
}
imagedestroy($im);//销毁图片
}

View File

@ -127,21 +127,13 @@ function get_path_ext($path){
return $ext;
}
//自动获取不重复文件(夹)名
//如果传入$file_add 则检测存在则自定重命名 a.txt 为a{$file_add}.txt
function get_filename_auto($path,$file_add = "",$same_file_type=''){
if (is_dir($path)) {//文件夹则忽略
//$same_file_type rename,replace,skip,folder_rename
function get_filename_auto($path,$file_add = "",$same_file_type='replace'){
if (is_dir($path) && $same_file_type!='folder_rename') {//文件夹则忽略
return $path;
}
//重名处理方式;replace,skip,filename_auto
if ($same_file_type == '') {
$same_file_type = 'replace';
}
//重名处理
if (file_exists($path)) {
if ($same_file_type=='replace') {
@ -172,14 +164,28 @@ function get_filename_auto($path,$file_add = "",$same_file_type=''){
}
/**
* 判断文件夹是否可写
* 文件或目录是否可写 is_writeable();
* 兼容性处理挂载目录755 bug
*/
function path_writable($path){
$file = $path.'/test'.time().'.txt';
$dir = $path.'/test'.time();
if(@is_writable($path) && @touch($file) && @unlink($file)) return true;
if(@mkdir($dir,0777) && @rmdir($dir)) return true;
if (is_dir($path)) {
$file = $path.'/writeable_test_'.time().'.txt';
@touch($file);
if(file_exists($file)){
@unlink($file);
return true;
}
return false;
}else if(file_exists($path)){
$fp = @fopen($path,'a+');
if($fp){
fclose($fp);
return true;
}
fclose($fp);
return false;
}
return false;//不存在
}
/**
@ -590,18 +596,14 @@ function ext_type($ext){
*/
function file_put_out($file,$download=false){
if (!is_file($file)) show_json('not a file!');
set_time_limit(0);
//ob_clean();//清除之前所有输出缓冲
if (!file_exists($file)) show_json('file not exists',false);
if (isset($_SERVER['HTTP_RANGE']) && ($_SERVER['HTTP_RANGE'] != "") &&
preg_match("/^bytes=([0-9]+)-$/i", $_SERVER['HTTP_RANGE'], $match) && ($match[1] < $fsize)) {
$start = $match[1];
}else{
$start = 0;
}
$size = get_filesize($file);
if (!is_readable($file)) show_json('file not readable',false);
set_time_limit(0);
ob_clean();//清除之前所有输出缓冲 TODO
$mime = get_file_mime(get_path_ext($file));
if ($download || strstr($mime,'application/')) {//下载或者application则设置下载头
if ($download ||
(strstr($mime,'application/') && $mime!='application/x-shockwave-flash') ) {//下载或者application则设置下载头
$filename = get_path_this($file);//解决在IE中下载时中文乱码问题
if( preg_match('/MSIE/',$_SERVER['HTTP_USER_AGENT']) ||
preg_match('/Trident/',$_SERVER['HTTP_USER_AGENT'])){
@ -611,24 +613,76 @@ function file_put_out($file,$download=false){
}
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment;filename=".$filename);
}else{
//缓存文件
header('Expires: '.date('D, d M Y H:i:s',time()+3600*24*20).' GMT');
header("Cache-Pragma: public");
header("Cache-Control: cache, must-revalidate");
if (isset($_SERVER['If-Modified-Since']) && (strtotime($_SERVER['If-Modified-Since']) == filemtime($file))) {
header('HTTP/1.1 304 Not Modified');
header('Last-Modified: '.date('D, d M Y H:i:s', filemtime($file)).' GMT');//304
exit;
} else {
header('Last-Modified: '.date('D, d M Y H:i:s', filemtime($file)).' GMT', true, 200);
}
$etag = '"'.md5(date('D, d M Y H:i:s',filemtime($file))).'"';
if (isset($_SERVER['HTTP_IF_NONE_MATCH']) && $_SERVER['HTTP_IF_NONE_MATCH'] == $etag){
header('HTTP/1.1 304 Not Modified');
header('Etag: '.$etag);
exit;
}else{
header('Etag: '.$etag);
}
}
header("Cache-Control: public");
header("X-Powered-By: kodExplorer.");
header("Content-Type: ".$mime);
if ($start > 0){
header("HTTP/1.1 206 Partial Content");
header("Content-Ranges: bytes".$start ."-".($size - 1)."/" .$size);
header("Content-Length: ".($size - $start));
}else{
header("Accept-Ranges: bytes");
header("Content-Length: $size");
$size = get_filesize($file);
$length = $size; // Content length
$start = 0; // Start byte
$end = $size - 1; // End byte
if (isset($_SERVER['HTTP_RANGE']) || isset($_GET['start'])) {//分段请求;视频拖拽
$c_start = $start;
$c_end = $end;
if(isset($_GET['start'])){
$c_start = intval($_GET['start']);
}else{//range
list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
if (strpos($range, ',') !== false) {
header('HTTP/1.1 416 Requested Range Not Satisfiable');
header("Content-Range: bytes $start-$end/$size");
exit;
}
if ($range == '-') {
$c_start = $size - substr($range, 1);
}else{
$range = explode('-', $range);
$c_start = $range[0];
$c_end = (isset($range[1]) && is_numeric($range[1])) ? $range[1] : $size;
}
$c_end = ($c_end > $end) ? $end : $c_end;
if ($c_start > $c_end || $c_start > $size - 1 || $c_end >= $size) {
header('HTTP/1.1 416 Requested Range Not Satisfiable');
header("Content-Range: bytes $start-$end/$size");
exit;
}
}
$start = $c_start;
$end = $c_end;
$length = $end - $start + 1;
header('HTTP/1.1 206 Partial Content');
}
header("Content-Range: bytes $start-$end/$size");
header("Content-Length: ".$length);
$fp = fopen($file, "rb");
//header("X-Sendfile: $file");exit;
if(!$fp = @fopen($file, "rb")){
exit;
}
fseek($fp, $start);
while (!feof($fp)) {
print (fread($fp, 1024 * 8)); //输出文件
set_time_limit(0);
print(fread($fp,1024*4)); //输出文件
flush();
ob_flush();
}
@ -642,12 +696,10 @@ function file_put_out($file,$download=false){
*/
function file_download_this($from, $file_name){
set_time_limit(0);
$fp = @fopen ($from, "rb");
if ($fp){
$new_fp = @fopen ($file_name, "wb");
fclose($new_fp);
$download_fp = @fopen ($file_name, "wb");
if ($fp = @fopen ($from, "rb")){
if(!$download_fp = @fopen($file_name, "wb")){
return false;
}
while(!feof($fp)){
if(!file_exists($file_name)){//删除目标文件;则终止下载
fclose($download_fp);
@ -657,6 +709,7 @@ function file_download_this($from, $file_name){
}
//下载完成,重命名临时文件到目标文件
fclose($download_fp);
fclose($fp);
return true;
}else{
return false;

View File

@ -37,7 +37,9 @@ var dialogList = {//加入人物列表
;(function ($, window, undefined) {
$.noop = $.noop || function () {}; // jQuery 1.3.2
var _box, _thisScript,_path,
//var _box, _thisScript,_path,
var _thisScript,_path,
_count = 0,
_$window = $(window),
_$document = $(document),
@ -72,6 +74,13 @@ var artDialog = function (config, ok, cancel) {
config.id = elem && elem[_expando + 'follow'] || config.id || _expando + _count;
api = artDialog.list[config.id];
//被意外删除dom
if(api && $('.'+config.id).length==0){
//_box = null;
api = null;
delete artDialog.list[config.id];
dialogList.close(config.id);
}
if (elem && api) return api.follow(elem).zIndex().focus();
if (api) return api.zIndex().focus().display(true);
@ -104,8 +113,10 @@ var artDialog = function (config, ok, cancel) {
config.title = '<img draggable="false" src="'+config.ico+'" />'+config.title;
if (_count>=1) dialogList.add(config.id,config.title);
}
return artDialog.list[config.id] = _box ?
_box._init(config) : new artDialog.fn._init(config);
var dialog = new artDialog.fn._init(config);
artDialog.list[config.id] = dialog;
return dialog;
};
artDialog.fn = artDialog.prototype = {
@ -117,13 +128,19 @@ artDialog.fn = artDialog.prototype = {
iconBg = icon && {'background-image': 'url(\'' + config.path + '/icons/' + icon + '.png\')','background-repeat':'no-repeat','background-position':'center'};
that.closed = false;
that.config = config;
that.DOM = DOM = that.DOM || that._getDOM();
//that.DOM = DOM = that.DOM || that._getDOM();
that.DOM = DOM = that._getDOM();
//是否可以调节大小 对应样式处理
//可以调节窗口大小——那么对应可以最大最小化
if (config.resize && config.title != false) {
DOM.wrap.addClass('dialog-can-resize');
}
//没有title
if(!config.title){
//DOM.wrap.find('.dialogShow').removeClass('dialogShow');
}
//是否可以调节大小 对应样式处理
if (config.simple && config.title != false) {
DOM.wrap.addClass('dialog-simple');
@ -152,24 +169,28 @@ artDialog.fn = artDialog.prototype = {
? that.follow(config.follow)
: that.position(config.left, config.top);
if($('.'+config.id).length==0){
dialogList.close(config.id);
that.close();
return;
}
that.zIndex().focus();
config.lock && that.lock();
that._addEvent();
_box = null;
//初始化设定高度;避免拖出可视区导致变形问题
if($(DOM.wrap).get(0).style.width == 'auto'){
$(DOM.wrap).css('width',DOM.wrap.outerWidth());
}
that._addEvent();
config.init && config.init.call(that, window);
_titleBarHeight = DOM.title.css('height');
_titleBarHeight = _titleBarHeight.replace('px','');
// DOM.wrap
// .css({opacity:0.6,top:'-='+DOM.wrap.height()*0.02})
// .animate(
// {opacity:1,top:'+='+DOM.wrap.height()*0.02},
// {easing: 'swing',duration:200});
$(DOM.wrap).find('iframe').focus();
return that;
},
/**
* 设置内容
* @param {String, HTMLElement} 内容 (可选)
@ -189,7 +210,7 @@ artDialog.fn = artDialog.prototype = {
content = $content[0];
that._elemBack && that._elemBack();
wrap.style.width = 'auto';
//wrap.style.width = 'auto';
if (msg === undefined) return content;
if (typeof msg === 'string') {
@ -200,6 +221,7 @@ artDialog.fn = artDialog.prototype = {
$frame.css('display','none');
$frame.load(function(){
$content.find('.aui_loading').fadeOut(600);
that.reset_title_length();
});
$frame.fadeIn(300);
}
@ -264,13 +286,64 @@ artDialog.fn = artDialog.prototype = {
title.hide().html('');
wrap.addClass(className);
} else {
title.show().html(text || '');
//title.show().html("<span>"+text+"</span>" || '');
wrap.removeClass(className);
title.show().html(text || '');
title.data('data-title',text);
var that = this;
setTimeout(function(){
that.reset_title_length();
},50);
};
return this;
},
string_width:function(str,font_size){
var span = $("#__getwidth");
if (span.length==0) {
$("<span id='__getwidth'></span>").appendTo('body');
span = $("#__getwidth");
span.css({'visibility':'hidden','whiteSpace':'nowrap'});
}
span.html(str);
span.css({'font-size':font_size+'px'});
return span.width();
},
reset_title_length:function(){
if(!this.config.resize){
return;
}
var DOM = this.DOM,
title = DOM.title,
font_size = parseInt(title.css("font-size")),
title_str = title.data('data-title'),
default_width = 200, //其他占用
max_width = title.width();
var str_width = this.string_width(title_str,font_size);
if( str_width<max_width-default_width || str_width< 150){
title.html(title_str);
return;
}
//截取title头部iocn
var str_pre='';
if(title_str.substr(0,4)=="<img"){
var point = title_str.indexOf('>')+1;
str_pre = title_str.substr(0,point);
title_str = title_str.substr(point)
}
while(this.string_width(title_str,font_size)>max_width-default_width){
title_str= title_str.substr(1);
if(title_str.length<10){
break;
}
}
if($(title).text() == title_str){
return;
}
title.html(str_pre+"..."+title_str);
},
/**
* 位置(相对于可视区域)
* @param {Number, String}
@ -484,14 +557,31 @@ artDialog.fn = artDialog.prototype = {
//控制隐藏和显示
display:function(type){
var $wrap = this.DOM.wrap;
var that = this;
if(type == undefined) type = true;//默认显示
if (type){//显示
if (this.DOM.wrap.css('visibility') != 'hidden') return;
this.DOM.wrap.css({visibility:'visible',left:'-=10000'});
that.reset_title_length();
this.zIndex();
if ($wrap.css('visibility') != 'hidden') return this;
$wrap
.css({visibility:'visible',left:$wrap.attr("data-left")})
.addClass('animated dialogDisplayShow')
.stop(true,true)
.animate({opacity:1},{duration:200,complete:function(){
$wrap.removeClass('animated').removeClass('dialogDisplayShow');
that.reset_title_length();
}});
}else{//隐藏 left+10000
if (this.DOM.wrap.css('visibility') == 'hidden') return;
this.DOM.wrap.css({visibility:'hidden',left:'+=10000'});
if ($wrap.css('visibility') == 'hidden') return this;
$wrap
.attr('data-left',$wrap.css("left"))
.addClass('animated dialogDisplayHide')
.stop(true,true)
.animate({opacity:0.01},{duration:200,complete:function(){
$wrap.removeClass('animated').removeClass('dialogDisplayHide');
$wrap.css({visibility:'hidden',left:'=10000'});
}});
this.resetIndex();
}
return this;
@ -502,7 +592,10 @@ artDialog.fn = artDialog.prototype = {
var dialog_index = 0;
var dialog_this = '';
for (var i in artDialog.list) {
if (artDialog.list[i]['config'] == undefined) continue;
if (typeof(artDialog.list[i]['config']) == "undefined"){
delete artDialog.list[i];
continue;
}
if (artDialog.list[i].DOM.wrap.css('visibility') == 'hidden') continue;
var this_index =artDialog.list[i]['config']['zIndex'];
@ -559,13 +652,16 @@ artDialog.fn = artDialog.prototype = {
follow = that.config.follow;
that.time();
if (typeof fn === 'function' && fn.call(that, window) === false) {
return that;
};
that.unlock();
wrap.animate({opacity:0,top:'-='+wrap.height() * 0.03},
{easing:'swing',duration:250,complete:function(){
if (that.config && that.config['title'] !== false){
dialogList.close(that.config.id);
}
that.config && (delete list[that.config['id']]);
wrap.addClass('animated dialogClose').animate(
{bottom:0},{duration:250,complete:function(){
if (typeof fn === 'function' && fn.call(that, window) === false) {//iframe关闭调用
//return that;//执行动画
}
// 置空内容
that._elemBack && that._elemBack();
wrap[0].className = wrap[0].style.cssText = '';
@ -576,20 +672,13 @@ artDialog.fn = artDialog.prototype = {
if (artDialog.focus === that) artDialog.focus = null;
if (follow) follow.removeAttribute(_expando + 'follow');
//if (that.config.resize)
if (that.config && that.config['title'] !== false){
dialogList.close(that.config.id);
}
that.config && (delete list[that.config['id']]);
that._removeEvent();
that.hide(true)._setAbsolute();
// 清空除this.DOM之外临时对象恢复到初始状态以便使用单例模式
for (var i in that) {
if (that.hasOwnProperty(i) && i !== 'DOM') delete that[i];
};
// 移除HTMLElement或重用
_box ? wrap.remove() : _box = that;
wrap.remove();
that.resetIndex();
return that;
}});
@ -611,7 +700,6 @@ artDialog.fn = artDialog.prototype = {
that._click(cancel);
}, 1000 * second);
};
return that;
},
@ -634,7 +722,11 @@ artDialog.fn = artDialog.prototype = {
top = artDialog.focus,
index = artDialog.defaults.zIndex ++;
//if (that.config.resize)
//if (that.config.resize) TODO
if($('.'+that.config.id).length==0){//找不到了
this.close();
return;
}
if (that.config["title"] !== false ){
dialogList.focus(that.config.id);
}
@ -703,7 +795,8 @@ artDialog.fn = artDialog.prototype = {
var style = lockMaskWrap[0].style;
var un = function () {
style.cssText = 'display:none';
_box && lockMaskWrap.remove();
//_box && lockMaskWrap.remove();
lockMaskWrap.remove();
};
lockMask.stop().unbind();
@ -722,6 +815,10 @@ artDialog.fn = artDialog.prototype = {
_getDOM: function () {
var wrap = document.createElement('div'),
body = document.body;
if(this.config.parentAt && $(this.config.parentAt).length!=0){
body = $(this.config.parentAt).get(0);
}
wrap.style.cssText = 'position:absolute;left:0;top:0';
wrap.innerHTML = artDialog._templates;
body.insertBefore(wrap, body.firstChild);
@ -735,7 +832,6 @@ artDialog.fn = artDialog.prototype = {
name = els[i].className.split('aui_')[1];
if (name) DOM[name] = $(els[i]);
};
return DOM;
},
@ -816,37 +912,58 @@ artDialog.fn = artDialog.prototype = {
that.close() : that;
},
_clickMax:function(){
var _dialogMaxFlag = this.config['dialogMaxFlag'];
if (this.DOM.wrap.hasClass(_dialogMaxFlag)) {//还原
this.DOM.wrap.removeClass(_dialogMaxFlag);
this.DOM.wrap.css({
'left':this.DOM.wrap.data('initSize').left + 'px',
'top':this.DOM.wrap.data('initSize').top + 'px',
'width':this.DOM.wrap.data('initSize').width + 'px'
var that = this,
$wrap = this.DOM.wrap,
$main = $(this.DOM.main[0]);
if(!this.has_frame()){//缩放动画
$wrap.addClass('dialogChangeMax');
setTimeout(function(){
$('.dialogChangeMax').removeClass('dialogChangeMax');
},300);
}
if ($wrap.hasClass('dialogMax')) {//还原
$wrap.removeClass('dialogMax');
$wrap.css({
'left':$wrap.data('initSize').left + 'px',
'top':$wrap.data('initSize').top + 'px',
'width':$wrap.data('initSize').width,
'height':$wrap.data('initSize').height
});
$main.css({
'height':$wrap.data('initSize').height
});
this.DOM.main[0].style.height = this.DOM.wrap.data('initSize').height;
}else{//最大化
this.DOM.wrap.addClass(_dialogMaxFlag);
var dialogDom = this.DOM.wrap.context;
var dialogDom = $wrap.context;
var size = {
left: dialogDom.offsetLeft,
top: dialogDom.offsetTop,
width: dialogDom.offsetWidth,
height:this.DOM.main[0].style.height
width: $wrap.css("width"),
height:$wrap.css("height")
};
this.DOM.wrap.data('initSize',size);
this.DOM.wrap.css({
$wrap.addClass('dialogMax');
$wrap.data('initSize',size);
$wrap.css({
'left':0,
'top':0,
'width':_$window.width()
'width':_$window.width(),
'height':_$window.height()
});
this.DOM.main[0].style.height = (_$window.height()-_titleBarHeight) + 'px';
var header_height = $wrap.find('.aui_n').height();
if(header_height == 0){
header_height = $wrap.find('.aui_header').height()
}
$main.css({
'height':(_$window.height()-header_height-5) + 'px'
});
}
that.reset_title_length();
},
_clickMin:function(){
try{
if (TaskTap!=undefined){
this.display(false);
}
} catch(e) {};
},
// 重置位置与尺寸
_reset: function (test) {
@ -996,9 +1113,9 @@ _path = window['_artDialog_path'] || (function (script, i, me) {
// });
// 使用uglifyjs压缩能够预先处理"+"号合并字符串
// uglifyjs: http://marijnhaverbeke.nl/uglifyjs
// uglifyjs: http://marijnhaverbeke.nl/uglifyjs fadeIn dialogShow zoomInUp
artDialog._templates =
'<div class="aui_outer pop_fadein"><div class="aui_mask"></div>'
'<div class="aui_outer animated dialogShow"><div class="aui_mask"></div>'
+ '<table class="aui_border">'
+ '<tbody>'
+ '<tr>'
@ -1066,6 +1183,7 @@ artDialog._templates =
*/
artDialog.defaults = {
content: '', // 消息内容
parentAt: '', // 所在父级元素
title: '\u6d88\u606f', // 标题. 默认'消息'
button: null, // 自定义按钮
ok: null, // 确定按钮回调函数
@ -1095,10 +1213,8 @@ artDialog.defaults = {
top: '38.2%', // Y轴坐标
zIndex: 300, // 对话框叠加高度值(重要:此值不能超过浏览器最大限制)
ico:'./static/images/file_16/file.png',//默认标题小图标
ico:'./static/images/file_icon/icon_others/info.png',//默认标题小图标
resize: false, // 是否允许用户调节尺寸
dialogMaxFlag:'dialogMax', // 最大化状态标记class
dialogMinFlag:'dialogMin', // 最小化状态标记class
drag: true // 是否允许用户拖动位置
};
@ -1217,8 +1333,7 @@ _use = function (event) {
// 对话框拖动,8个方向调整大小
_dragEvent.onmove = function (x, y) {
if (wrap.hasClass(api.config['dialogMaxFlag'])) return;//最大化则不可拖动
if (wrap.hasClass('dialogMax')) return;//最大化则不可拖动
x = (x >= screenWidth ? screenWidth : x);
y = (y >= screenHeight ? screenHeight : y);
x = (x <= 0 ? 0 : x);
@ -1283,6 +1398,7 @@ _use = function (event) {
style.width = Math.max(0, width) + 'px';
style.height = Math.max(0, height) + 'px';
api.reset_title_length();
} else {
var style = wrap[0].style;
style.left = x + startLeft + 'px';
@ -1311,6 +1427,11 @@ _use = function (event) {
!api.closed && api._autoPositionType();
wrap.removeClass('aui_state_drag');
//iframe的话焦点移到iframe中
if($(DOM.wrap).find('iframe').length>=1){
$(DOM.wrap).find('iframe').focus();
}
};
isResize = $(event.target).hasClass('resize-handle');
@ -1333,7 +1454,7 @@ _$document.bind('mousedown', function (event) {
|| config.resize !== false && $(target).hasClass('resize-handle')) {
_dragEvent = _dragEvent || new artDialog.dragEvent();
_use(event);
return false;// 防止firefox与chrome滚屏
//return false;// 防止firefox与chrome滚屏 changed by warlee
};
});
})(this.art || this.jQuery && (this.art = jQuery));
@ -1372,27 +1493,33 @@ $(function () {
/** 获取 artDialog 可跨级调用的最高层的 window 对象 */
var _top = artDialog.top = function () {
var top = window,
test = function (name) {
try {
var doc = window[name].document; // 跨域|无权限
doc.getElementsByTagName; // chrome 本地安全限制
return share.frameTop();
} catch (e) {
return false;
return window;
};
return window[name].artDialog
// 框架集无法显示第三方元素
&& doc.getElementsByTagName('frameset').length === 0;
};
//-----unused
// var top = window,
// test = function (name) {
// try {
// var doc = window[name].document; // 跨域|无权限
// doc.getElementsByTagName; // chrome 本地安全限制
// } catch (e) {
// return false;
// };
if (test('top')) {
top = window.top;
} else if (test('parent')) {
top = window.parent;
};
// return window[name].artDialog
// // 框架集无法显示第三方元素
// && doc.getElementsByTagName('frameset').length === 0;
// };
return top;
// if (test('top')) {
// top = window.top;
// } else if (test('parent')) {
// top = window.parent;
// };
// return top;
}();
artDialog.parent = _top; // 兼容v4.1之前版本,未来版本将删除此
@ -1456,7 +1583,6 @@ _top !== window && $(window).bind('unload', function () {
config = list[i].config;
if (config) config.duration = 0; // 取消动画
list[i].close();
//delete list[i];
};
};
});
@ -1483,7 +1609,6 @@ artDialog.open = function (url, options, cache) {
url = ret + ((ret === url) ? (/\?/.test(url) ? "&" : "?") + "_=" + ts : "");
};
var load = function () {
var iWidth, iHeight,aConfig = api.config;
DOM.content.find('.aui_loading').remove();
@ -1541,29 +1666,27 @@ artDialog.open = function (url, options, cache) {
iframe.style.cssText = initCss;
iframe.setAttribute('frameborder', 0, 0);
iframe.setAttribute('allowTransparency', true);
if(iframe){
//$main.css('background','none');
}
$iframe = $(iframe);
api.content().appendChild(iframe);
api.content().appendChild(iframe);//TODO
iwin = iframe.contentWindow;
try {
iwin.name = iframe.name;
artDialog.data(iframe.name + _open, api);
artDialog.data(iframe.name + _opener, window);
} catch (e) {};
$iframe.one('load', load);
//$frame.css('display','none');
},
close: function () {
$iframe.css('display', 'none').unbind('load', load);
if (options.close && options.close.call(this, iframe.contentWindow, top) === false) {
return false;
};
$content.removeClass('aui_state_full');
// 重要需要重置iframe地址否则下次出现的对话框在IE6、7无法聚焦input
// 重要重置iframe地址否则下次出现的对话框在IE6、7无法聚焦input
// IE删除iframe后iframe仍然会留在内存中出现上述问题置换src是最容易解决的方法
$iframe[0].src = 'about:blank';
$iframe.remove();
@ -1644,7 +1767,6 @@ artDialog.load = function(url, options, cache){
};
delete options.content;
for (var i in opt) {
if (config[i] === undefined) config[i] = opt[i];
};
@ -1785,7 +1907,6 @@ $(function () {
dragEvent._start.apply(this, arguments);
style.display = 'block';
style.zIndex = artDialog.defaults.zIndex + 3;
if (positionType === 'absolute') {
style.width = $window.width() + 'px';
style.height = $window.height() + 'px';

File diff suppressed because one or more lines are too long

View File

@ -30,7 +30,7 @@
<div><span><?php echo $L['username'];?></span><input id="username" name='name' type="text" placeholder="<?php echo $L['username'];?>" required/> </div>
<div><span><?php echo $L['password'];?></span><input id="password" name='password' type="password" placeholder="<?php echo $L['password'];?>" required /></div>
<?php if(isset($_SESSION['code_error_time']) && intval($_SESSION['code_error_time']) >=3){?>
<?php if(need_check_code() && isset($_SESSION['code_error_time']) && intval($_SESSION['code_error_time']) >=3){?>
<div class='check_code'>
<span><?php echo $L['login_code'];?></span>
<input name='check_code' class="check_code" type="text" placeholder="<?php echo $L['login_code'];?>" required /> <img src='./index.php?user/checkCode' onclick="this.src='./index.php?user/checkCode'" />

View File

@ -22,7 +22,7 @@
<div><span><?php echo $L['username'];?></span><input id="username" name='name' type="text" placeholder="<?php echo $L['username'];?>" required/> </div>
<div><span><?php echo $L['password'];?></span><input id="password" name='password' type="password" placeholder="<?php echo $L['password'];?>" required /></div>
<?php if(isset($_SESSION['code_error_time']) && intval($_SESSION['code_error_time']) >=3){?>
<?php if(need_check_code() && isset($_SESSION['code_error_time']) && intval($_SESSION['code_error_time']) >=3){?>
<div class='check_code'>
<span><?php echo $L['login_code'];?></span>
<input name='check_code' class="check_code" type="text" placeholder="<?php echo $L['login_code'];?>" required /> <img src='./index.php?user/checkCode' onclick="this.src='./index.php?user/checkCode'" />