2.2 Version

pull/19/head
kalcaddle 2014-05-11 23:03:08 +08:00
parent 5015770eb9
commit e02d682c93
64 changed files with 527 additions and 180 deletions

View File

@ -1,16 +1,17 @@
#KODexplorer (http://kalcaddle.com/)
###ver2.1(2014.4.2) power by warlee
#KODexplorer (http://kalcaddle.com/)
###ver2.2(2014.4.19) power by warlee
商业版授权请联系QQ:kalcaddle@qq.com
##是什么:
Kodexplorer为千帆网络工作室开发的一款服务器文件管理程序。
可用于服务器文件管理,支持图片、音乐、视频预览。在线解压缩
支持几乎所有编程语言的在线编辑(高亮,多光标编辑.堪比本地的sublime)
中文编码全面兼容,文件编辑自动适配。
及其便捷的快捷键支持,让你拥有本地化的体验
全面采用Ajax+Json进行数据通信,毫秒级的响应速度;
完美取代落后的FTP管理可用于服务器文件管理,支持图片、音乐、视频预览,在线解压缩,文件夹拖拽上传……
在线编程:支持几乎所有编程语言的在线编辑(高亮,多光标编辑.堪比本地的sublime)
极佳的操作体验:及其便捷的快捷键支持,让你拥有本地化的体验
中文等多语言支持:中文编码全面兼容,文件编辑自动适配。
超快的速度:全面采用Ajax+Json进行数据通信,毫秒级的响应速度;
全平台兼容性Win Linux Mac (Apache、Nginx、IIS)
###使用场景:
取代古老的FTP,服务端、客户端软件等复杂的安装配置。kod可以一键安装随处使用.
你可以用它来管理你的服务器(备份,在线解压缩,版本发布....)
你可以把他当做管理linux的一个操作系统界面
可以用来作为私有云存储系统,存储你的文件...
@ -35,6 +36,20 @@
![](https://cloud.githubusercontent.com/assets/3761968/2583304/764f562a-b9cf-11e3-8e59-afdbdffc20eb.png)
ver2.2 `2014/4/19`
=====================
##update:
公共目录支持(多个用户可以共享目录,写权限跟随用户组权限设定)
自动升级优化
文件管理工具栏 增加菜单选项,方便移动设备操作
文件编辑器,文件树目录 上下左右键盘切换 快捷键加入
树目录去掉库,改为个人目录等多处文案修改
默认打开用户目录
##fix bug:bug解决和程序优化
桌面任务栏点不中bug
部分文案问题
ver2.1 `2014/4/2`
=====================
##update:

View File

@ -11,7 +11,7 @@ date_default_timezone_set('PRC');
@set_time_limit(600);//30min pathInfoMuti,search,upload,download...
function P($path){return str_replace('\\','/',$path);}
define('WEB_ROOT', str_replace(P($_SERVER['SCRIPT_NAME']),'',P(dirname(dirname(__FILE__))).'/index.php').'/');
define('WEB_ROOT',str_replace(P($_SERVER['SCRIPT_NAME']),'',P(dirname(dirname(__FILE__))).'/index.php').'/');
define('HOST', 'http://'.$_SERVER['HTTP_HOST'].'/');
define('BASIC_PATH', P(dirname(dirname(__FILE__))).'/');
define('APPHOST', HOST.str_replace(WEB_ROOT,'',BASIC_PATH));//程序根目录
@ -22,10 +22,12 @@ define('LIB_DIR', BASIC_PATH .'lib/'); //库目录
define('FUNCTION_DIR', LIB_DIR .'function/'); //函数库目录
define('CLASS_DIR', LIB_DIR .'class/'); //内目录
define('CORER_DIR', LIB_DIR .'core/'); //核心目录
define('LOG_PATH', BASIC_PATH .'data/log/'); //日志目录
define('USER_PATH', BASIC_PATH .'data/User/'); //用户目录
define('USER_SYSTEM', BASIC_PATH .'data/system/');//用户数据存储目录
define('LANGUAGE_PATH', BASIC_PATH .'data/i18n/');//库目录
define('DATA_PATH', BASIC_PATH .'data/'); //用户数据目录
define('LOG_PATH', DATA_PATH .'log/'); //日志目录
define('USER_PATH', DATA_PATH .'User/'); //用户目录
define('USER_SYSTEM', DATA_PATH .'system/'); //用户数据存储目录
define('LANGUAGE_PATH', DATA_PATH .'i18n/'); //多语言目录
define('PUBLIC_PATH', DATA_PATH .'public/'); //公共共享目录 读写权限跟随用户目录的读写权限
define('STATIC_JS',"app");//_dev app js编译||开发状态
define('STATIC_PATH',"./static/");//静态文件目录
@ -44,6 +46,12 @@ include(FUNCTION_DIR.'common.function.php');
include(BASIC_PATH.'config/setting.php');
include(BASIC_PATH.'config/version.php');
//集群.远程接口访问方式
define('REMOTE_OPEN', false);//eg:auth_key=f5e26983908f6ee6d54fbe3ada4b52db
define('REMOTE_KEY', '7eab16c4662b853f901d6e641a93c31d');
//数据地址定义。
$config['pic_thumb'] = BASIC_PATH.'data/thumb/'; // 缩略图生成存放地址
$config['cache_dir'] = BASIC_PATH.'data/cache/'; // 缓存文件地址

View File

@ -1,2 +1,2 @@
<?php
define('KOD_VERSION','2.1');//2014.4.2
define('KOD_VERSION','2.2');//2014.4.2

31
controller/api.class.php Normal file
View File

@ -0,0 +1,31 @@
<?php
/*
* @link http://www.kalcaddle.com/
* @author warlee | e-mail:kalcaddle@qq.com
* @copyright warlee 2014.(Shanghai)Co.,Ltd
* @license http://kalcaddle.com/tools/licenses/license.txt
*/
//集群 远程接口方式访问。多台服务器管理
class api extends Controller{
/**
* 构造函数
*/
function __construct() {
parent::__construct();
}
//自动创建key 远程key 可以随意设置。二次md5值即可
public function make_key(){
$auth_key = make_password();
$remote_key = md5(md5($auth_key));
echo 'auth_key:'.$auth_key.'<br/>remote_key:'.$remote_key;
}
//接口代理 所有参数合并为新的参数请求远程服务器,返回结果
public function get(){
$url = 'http://kalcaddle.duapp.com/';
$key = '&auth_key=f5e26983908f6ee6d54fbe3ada4b52db';
}
}

View File

@ -52,7 +52,7 @@ class debug extends Controller{
load_class('pclzip');
ini_set('memory_limit', '2028M');//2G;
$archive = new PclZip($this->zip_to);
$v_list = $archive->create($this->path_to,PCLZIP_OPT_REMOVE_PATH,$this->parent.'/kod_export');
$v_list = $archive->create($this->path_to,PCLZIP_OPT_REMOVE_PATH,$this->path_to);
echo '打包成功!<br/><h3>初始化配置文件</h3><hr/>';flush();
$this->_initUser();

View File

@ -27,11 +27,11 @@ class explorer extends Controller{
}else{
$dir = '/';//首次进入系统,不带参数
if ($GLOBALS['is_root']) $dir = WEB_ROOT;
}
}
$dir = rtrim($dir,'/').'/';
$is_frame = false;//是否以iframe方式打开
if ($this->in['type'] == 'iframe') $is_frame = true;//
$upload_max = get_post_max();
$upload_max = get_post_max();
$this->assign('upload_max',$upload_max);
$this->assign('is_frame',$is_frame);
$this->assign('dir',$dir);
@ -147,30 +147,30 @@ class explorer extends Controller{
'isParent' => path_haschildren(_DIR($val['path']),$check_file)
);
}
$tree_path = WEB_ROOT;
if (!$GLOBALS['is_root']) {
$tree_path = '/';
}
$list_root = $this->path(_DIR(MYHOME),true,true);
$list_share = $this->path(_DIR(PUBLIC_PATH),true,true);
if ($check_file) {//编辑器
$list=$this->path(_DIR($tree_path),true,true);
$res = array_merge($list['folderlist'],$list['filelist']);
$root = array_merge($list_root['folderlist'],$list_root['filelist']);
$share = array_merge($list_share['folderlist'],$list_share['filelist']);
$tree_data = array(
array('name'=>$this->L['fav'],'ext'=>'__fav__','iconSkin'=>"fav",'open'=>true,'children'=>$fav),
array('name'=>$this->L['root_path'],'ext'=>'__root__','children'=>$res,'iconSkin'=>"my",'open'=>true,'this_path'=> $tree_path,'isParent'=>true)
array('name'=>$this->L['fav'],'ext'=>'__fav__','iconSkin'=>"fav",
'open'=>true,'children'=>$fav),
array('name'=>$this->L['root_path'],'ext'=>'__root__','children'=>$root,
'iconSkin'=>"my",'open'=>true,'this_path'=> MYHOME,'isParent'=>true),
array('name'=>$this->L['public_path'],'ext'=>'__root__','children'=>$share,
'iconSkin'=>"lib",'open'=>true,'this_path'=> PUBLIC_PATH,'isParent'=>true)
);
}else{//文件管理器
$lib_array = array(
array('name'=>$this->L['desktop'],'ext'=>'_null_','iconSkin'=>"my",'this_path'=> MYHOME.'desktop/','isParent'=>true),
array('name'=>$this->L['my_document'],'ext'=>'_null_','iconSkin'=>"doc",'this_path'=> MYHOME.'doc/','isParent'=>true),
array('name'=>$this->L['my_picture'],'ext'=>'_null_','iconSkin'=>"pic",'this_path'=> MYHOME.'image/','isParent'=>true),
array('name'=>$this->L['my_music'],'ext'=>'_null_','iconSkin'=>"music",'this_path'=> MYHOME.'music/','isParent'=>true),
array('name'=>$this->L['my_movie'],'ext'=>'_null_','iconSkin'=>"movie",'this_path'=> MYHOME.'movie/','isParent'=>true),
array('name'=>$this->L['my_download'],'ext'=>'_null_','iconSkin'=>"download",'this_path'=> MYHOME.'download/','isParent'=>true)
);
$root = $list_root['folderlist'];
$share = $list_share['folderlist'];
$tree_data = array(
array('name'=>$this->L['fav'],'ext'=>'__fav__','iconSkin'=>"fav",'open'=>true,'children'=>$fav),
array('name'=>$this->L['lib'],'ext'=>'__lib__','iconSkin'=>"lib",'open'=>true,'children'=>$lib_array),
array('name'=>$this->L['root_path'],'ext'=>'__root__','iconSkin'=>"my",'open'=>true,'this_path'=> $tree_path,'isParent'=>true)
array('name'=>$this->L['fav'],'ext'=>'__fav__','iconSkin'=>"fav",
'open'=>true,'children'=>$fav),
array('name'=>$this->L['root_path'],'ext'=>'__root__','children'=>$root,
'iconSkin'=>"my",'open'=>true,'this_path'=> MYHOME,'isParent'=>true),
array('name'=>$this->L['public_path'],'ext'=>'__root__','children'=>$share,
'iconSkin'=>"lib",'open'=>true,'this_path'=> PUBLIC_PATH,'isParent'=>true)
);
}
show_json($tree_data);
@ -374,7 +374,6 @@ class explorer extends Controller{
$path_this_name=get_path_this($zip_list[0]['path']);
$zipname = $basic_path.$path_this_name.'.zip';
}else{
//$zipname = $basic_path.'temp_'.substr(md5(time()),5,3).'.zip';
$path_this_name=get_path_this(get_path_father($zip_list[0]['path']));
$zipname = $basic_path.$path_this_name.'.zip';
}

View File

@ -19,11 +19,30 @@ class user extends Controller
$this->tpl = TEMPLATE . 'user/';
$this->user = &$_SESSION['user'];
}
/**
* api方式访问,最高权限
*/
public function authApi(){
if (!REMOTE_OPEN) return;
if (isset($_GET['auth_key'])){
if(md5(md5($this->in['auth_key'])) == REMOTE_KEY) {
session_start();//记录session 写入文件
$_SESSION['isLogin'] = true;
$this->user['role'] = 'root';
}else{
show_json('error',false);
}
}
}
/**
* 登陆状态检测;并初始化数据状态
*/
public function loginCheck()
{
$this->authApi();//api方式验证
if($_SESSION['isLogin'] === true){
define('USER',USER_PATH.$this->user['name'].'/');
if ($this->user['role'] == 'root') {
@ -47,7 +66,7 @@ class user extends Controller
$member = new fileCache($this->config['system_file']['member']);
$user = $member->get($_COOKIE['kod_name']);
if(md5($user['password'].get_client_ip()) == $_COOKIE['kod_token']){
session_start();//记录session 写入文件
$_SESSION['isLogin'] = true;
$_SESSION['user']= $user;
setcookie('kod_name', $_COOKIE['kod_name'], time()+3600*24*365);
@ -144,7 +163,7 @@ class user extends Controller
* 权限验证;统一入口检验
*/
public function authCheck(){
if ($GLOBALS['is_root']) return;
if ($GLOBALS['is_root'] == 1) return;
if(ACT == 'loginSubmit' || ACT=='checkCode') return;
if (!array_key_exists(ST,$this->config['role_setting']) ){
return;

View File

@ -21,33 +21,33 @@ function _DIR($path,$pre_path=HOME){
$path = _DIR_CLEAR(rawurldecode($path));
$path = iconv_system($path);
if (is_dir($path)) $path.='/';
//公共目录处理
$share_len = strlen(PUBLIC_PATH);
if (substr($path,0,$share_len) == PUBLIC_PATH) {
$pre_path = '';//如果为共享目录 则不追加普通用户的目录前缀
}
return $pre_path.$path;
}
//处理成用户目录,并且不允许相对目录的请求操作
function _DIR_OUT(&$arr,$pre_path=HOME){
if ($GLOBALS['is_root']) return;
//公共目录处理
if (substr($path,0,$share_len) == PUBLIC_PATH) {
$pre_path = '';//如果为共享目录 则不追加普通用户的目录前缀
}
if (is_array($arr)) {
foreach ($arr['filelist'] as $key => $value) {
$arr['filelist'][$key]['path'] = '/'.str_replace(HOME, '', $value['path']);
//$arr['filelist'][$key]['path'] = '/'.str_replace($pre_path, '', $value['path']);
$arr['filelist'][$key]['path'] = str_replace($pre_path, '', $value['path']);
}
foreach ($arr['folderlist'] as $key => $value) {
$arr['folderlist'][$key]['path'] = '/'.str_replace(HOME, '', $value['path']);
$arr['folderlist'][$key]['path'] = str_replace($pre_path, '', $value['path']);
}
}else{
$arr = str_replace(HOME, '',$arr);
}
}
//处理成url连接返回是否是在web路径下
function _URL($path,$pre_path=HOME){
$path = _DIR_CLEAR(rawurldecode($path));
$path = $pre_path.$path;
$path = iconv_system($path);
if (substr($path,0,strlen(WEB_ROOT)) == WEB_ROOT) {
return array(true,HOST.str_replace(WEB_ROOT, '', $path));
}else{
return array(false,$pre_path.$path);
$arr = str_replace($pre_path, '',$arr);
}
}

View File

@ -1 +1 @@
<?php exit;?>{"list_type":"icon","list_sort_field":"name","list_sort_order":"up","theme":"metro\/","codetheme":"idle_fingers","wall":"4","musictheme":"mp3player","movietheme":"webplayer"}
<?php exit;?>{"list_type":"icon","list_sort_field":"name","list_sort_order":"up","theme":"simple\/","codetheme":"crimson_editor","wall":"1","musictheme":"mp3player","movietheme":"webplayer"}

View File

@ -65,6 +65,7 @@ $L = array(
"sort_type" => "sort of way",
"time_type" => "Y/m/d h:i",
"time_type_info" => "F j, Y, g:i a",
"public_path" => "Public path",
//right
"file" => "file",
@ -198,7 +199,7 @@ $L = array(
"server_dwonload_desc" => "task is added to the download list",
"parent_permission" => "parent permission",
"root_path" => "root directory",
"root_path" => "Home",
"lib" => "library",
"fav" => "bookmark",
"desktop" => "desktop",
@ -287,7 +288,7 @@ $L = array(
"group_role_upload" => "upload",
"group_role_download" => "server download",
"group_role_passowrd" => "change password",
"group_role_config" => "save user config to server",
"group_role_config" => "user data",
"group_role_fav" => "favourite(add/edit/delete)",
"group_role_list" => "list",
"group_role_member_add" => "member add",

View File

@ -66,6 +66,7 @@ $L= array(
"sort_type" => "排序方式",
"time_type" => "Y/m/d H:i",
"time_type_info" => "Y年m月d日 H:i:s",
"public_path" => "公共目录",
//右键
"file" => "文件",
@ -200,7 +201,7 @@ $L= array(
"server_dwonload_desc" => "个任务加入到下载列表",
"parent_permission" => "父目录权限",
"root_path" => "根目录",
"root_path" => "我的文件",
"lib" => "",
"fav" => "收藏夹",
"desktop" => "桌面",
@ -227,7 +228,7 @@ $L= array(
//设置
"setting" => "系统设置",
"setting_title" => "选项",
"setting_user" => "基础设置",
"setting_user" => "个人中心",
"setting_password" => "修改密码",
"setting_password_old" => "原密码",
"setting_password_new" => "修改为",
@ -292,7 +293,7 @@ $L= array(
"group_role_upload" => "允许上传",
"group_role_download" => "远程下载",
"group_role_passowrd" => "修改密码",
"group_role_config" => "保存用户配置",
"group_role_config" => "用户数据",
"group_role_fav" => "收藏夹操作(添加/编辑/删除)",
"group_role_list" => "列表查看",
"group_role_member_add" => "添加用户",

View File

@ -66,6 +66,7 @@ $L= array(
"sort_type" => "排序方式",
"time_type" => "Y/m/d H:i",
"time_type_info" => "Y年m月d日 H:i:s",
"public_path" => "公共目录",
//右鍵
"file" => "",
@ -200,7 +201,7 @@ $L= array(
"server_dwonload_desc" => "個任務加入到下載列表",
"parent_permission" => "父目錄許可權",
"root_path" => "根目錄",
"root_path" => "我的文件",
"lib" => "",
"fav" => "收藏夾",
"desktop" => "桌面",
@ -227,7 +228,7 @@ $L= array(
//設置
"setting" => "系統設置",
"setting_title" => "選項",
"setting_user" => "基礎設置",
"setting_user" => "个人中心",
"setting_password" => "修改密碼",
"setting_password_old" => "原密碼",
"setting_password_new" => "修改為",
@ -292,7 +293,7 @@ $L= array(
"group_role_upload" => "允許上傳",
"group_role_download" => "遠程下載",
"group_role_passowrd" => "修改密碼",
"group_role_config" => "保存用戶配置",
"group_role_config" => "用戶配置",
"group_role_fav" => "收藏夾操作(添加/編輯/刪除)",
"group_role_list" => "列表查看",
"group_role_member_add" => "添加用戶",

View File

@ -646,6 +646,18 @@ function rand_string($len = 4, $type = ''){
return $str;
}
/**
* 生成自动密码
*/
function make_password(){
$temp = '0123456789abcdefghijklmnopqrstuvwxyz'.
'ABCDEFGHIJKMNPQRSTUVWXYZ~!@#$^*)_+}{}[]|":;,.'.time();
for($i=0;$i<10;$i++){
$temp = str_shuffle($temp.substr($temp,-5));
}
return md5($temp);
}
/**
* php DES解密函数

View File

@ -96,7 +96,6 @@ define(function(require, exports) {
var _insert = function(fileList,player){
var new_list = _makeList(fileList);
var cmpo = _get(player);
console.log(fileList,player,5555,cmpo);
if (cmpo) {
cmpo.config('play_mode','normal');//写入配置,播放模式改为自动跳到next
var old_length = cmpo.list().length;

View File

@ -52,6 +52,13 @@ define(function(require, exports) {
path = path.replace(/\\/g, "/");
path = path.replace(/\/+/g, "/");
path = path.replace(/\/\.*\//g, "/");
//public path
if (path.substring(0,G.public_path.length) == G.public_path) {
return G.app_host+'data/public/'+path.replace(G.public_path,'');
}
//user group
if (G.is_root) {
if (path.substring(0,G.web_root.length) == G.web_root){//服务器路径下
return G.web_host+path.replace(G.web_root,'');
@ -72,8 +79,8 @@ define(function(require, exports) {
fixed:true,
resize:true,
title:LNG.setting,
width:'960px',
height:'580px'
width:960,
height:580
});
}else{
$.dialog.list['setting_mode'].display(true);
@ -85,9 +92,9 @@ define(function(require, exports) {
id:'app_store',
fixed:true,
resize:true,
title:'应用商店',
width:'800px',
height:'500px'
title:LNG.app_store,
width:800,
height:500
});
},
openApp:function(app){

View File

@ -182,7 +182,13 @@ define(function(require, exports) {
if (treeNode.type == 'folder') selector ='menuTreeFolder';
if (treeNode.ext == 'oexe') selector ='menuApp';
}
switchObj.parent().addClass(selector);
var title = LNG.name+':'+treeNode.name+"\n"+LNG.size+':'+treeNode.size_friendly+"\n"
+LNG.modify_time+':'+treeNode.mtime;
if (treeNode.type == 'folder') {
title = LNG.name+':'+treeNode.name+"\n"+LNG.modify_time+':'+treeNode.mtime;
}
switchObj.parent().addClass(selector).attr('title',title);
}
},
callback: {//事件处理回调函数
@ -204,7 +210,11 @@ define(function(require, exports) {
beforeClick: function(treeId, treeNode) {
if (treeNode.level == 0 ) {
var zTree = $.fn.zTree.getZTreeObj("folderList");
zTree.selectNode(treeNode);
zTree.expandNode(treeNode);
if (treeNode.ext == '__root__' && Config.pageApp=='explorer') {
ui.path.list(treeNode.this_path+'/');//更新文件列表
}
return false;
}
return true;
@ -288,9 +298,16 @@ define(function(require, exports) {
treeNode = zTree.getSelectedNodes()[0],
path = '',type='';
if (!treeNode) return {path:'',type:''};
if (treeNode.father) path = treeNode.father+treeNode.name;
if (treeNode.this_path) path = treeNode.this_path;
if (treeNode.path) path = treeNode.path+treeNode.name;
if (treeNode.father){
path = treeNode.father+treeNode.name;
}else if (treeNode.this_path){
path = treeNode.this_path;
}else if (treeNode.path != ''){
path = treeNode.path+treeNode.name;
}else if (treeNode.path == ''){
path = '/'+treeNode.name;
}
//打开文件夹&文件
type = treeNode.ext;

View File

@ -184,7 +184,7 @@
$(this).remove();
});
if ($('.selectDragTemp').length != 0) {
var dragTo = G.this_path+$('.selectDragTemp').attr('title')+'/';
var dragTo = G.this_path+fileLight.name($('.selectDragTemp'))+'/';
ui.path.cuteDrag(dragTo);
}
};
@ -403,7 +403,7 @@
},
//获取文件&文件夹名字
name:function($obj){
return $obj.attr("title");
return $obj.attr("data-name");
},
//获取文件&文件夹类型 folder为文件夹其他为文件扩展名
type:function($obj){

View File

@ -114,7 +114,8 @@
}
//图标样式,文件夹模版填充
this._getFolderBox = function(list){
var html="<div class='file folderBox menufolder' title='"+list['name']+"'>";
var html="<div class='file folderBox menufolder' data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.modify_time+':'+list.mtime+"'>";
html+="<div class='folder ico' filetype='folder'></div>";
html+="<div id='"+list['name']+"' class='titleBox'><span class='title' title='"+LNG.double_click_rename+"'>"+list['name']+"</span></div></div>";
return html;
@ -131,17 +132,23 @@
}
var code = urlEncode(json_encode(list));
var display = list.name.replace('.oexe','');
html ="<div class='file fileApp menuApp' data-app="+code+" title='"+list.name+"'>";
html ="<div class='file fileApp menuApp' data-app="+code+" data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.size+':'+list.size_friendly+"&#10;"
+LNG.modify_time+':'+list.mtime+"'>";
html+="<div class='ico' filetype='oexe' style='background-image:url("+icon+")'></div>";
html+="<div id='' class='titleBox'><span class='title' title='"+LNG.double_click_rename+"'>"+display+"</span></div></div>";
}else if (inArray(core.filetype['image'],list['ext'])) {//如果是图片,则显示缩略图
var filePath = core.path2url(G.this_path+list['name']);
var thumbPath = 'index.php?explorer/image&path='+urlEncode(G.this_path+list['name']);
html+="<div class='file fileBox menufile' title='"+list['name']+"' >";
html+="<div class='file fileBox menufile' data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.size+':'+list.size_friendly+"&#10;"
+LNG.modify_time+':'+list.mtime+"'>";
html+="<div picasa='"+filePath+"' thumb='"+thumbPath+"' title='"+list['name']+"' class='picasaImage picture ico' filetype='"+list['ext']+"' style='margin:3px 0 0 8px;background-image:url(\""+thumbPath+"\");'></div>";
html+="<div id='"+list['name']+"' class='titleBox'><span class='title' title='"+LNG.double_click_rename+"'>"+list['name']+"</span></div></div>";
}else{
html+="<div class='file fileBox menufile' title='"+list['name']+"' >";
html+="<div class='file fileBox menufile' data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.size+':'+list.size_friendly+"&#10;"
+LNG.modify_time+':'+list.mtime+"'>";
html+="<div class='"+list['ext']+" ico' filetype='"+list['ext']+"'></div>";
html+="<div id='"+list['name']+"' class='titleBox'><span class='title' title='"+LNG.double_click_rename+"'>"+list['name']+"</span></div></div>";
}

View File

@ -181,7 +181,7 @@ define(function(require, exports) {
$(this).remove();
});
if ($('.selectDragTemp').length != 0) {
var dragTo = G.this_path+$('.selectDragTemp').attr('title')+'/';
var dragTo = G.this_path+fileLight.name($('.selectDragTemp'))+'/';
ui.path.cuteDrag(dragTo);
}
};
@ -436,6 +436,7 @@ define(function(require, exports) {
Global.fileListAll = $listAll;
Global.fileListNum = $listAll.length;
Global.fileListSelectNum = 0;
fileLight.menuAction('clear');
},
//选择处理
@ -446,10 +447,11 @@ define(function(require, exports) {
if ($list.length > 1) {
fileLight.setMenu($list);
}
fileLight.menuAction('menufile');
},
//获取文件&文件夹名字
name:function($obj){
return $obj.attr("title");
return $obj.attr("data-name");
},
//获取文件&文件夹类型 folder为文件夹其他为文件扩展名
type:function($obj){
@ -459,6 +461,7 @@ define(function(require, exports) {
setMenu:function($obj){
$obj.removeClass("menufile menufolder menuApp")
.addClass("menuMore");
fileLight.menuAction();
},
//反选,或者框选已经选择的则恢复右键菜单标记
resumeMenu:function($obj){
@ -468,6 +471,7 @@ define(function(require, exports) {
$obj.removeClass("menuMore").addClass(menu[key]);
}
}
fileLight.menuAction();
},
//获取选中的文件名
@ -482,7 +486,7 @@ define(function(require, exports) {
},
//清空选择还原右键关联menu
clear:function(){
clear:function(){
if (Global.fileListSelectNum == 0) return;
var $list = Global.fileListSelect;
$list.removeClass(Config.SelectClassName);
@ -491,6 +495,22 @@ define(function(require, exports) {
});
Global.fileListSelect = '';
Global.fileListSelectNum = 0;
fileLight.menuAction();
},
menuAction:function(){
if (Global.fileListSelectNum == 0) {
$('.drop-menu-action li').addClass('disabled');
$('.drop-menu-action #past').removeClass('disabled');
$('.drop-menu-action #info').removeClass('disabled');
}else if (Global.fileListSelectNum > 1) {
$('.drop-menu-action li').removeClass('disabled');
$('.drop-menu-action #open').addClass('disabled');
$('.drop-menu-action #rname').addClass('disabled');
$('.drop-menu-action #past').addClass('disabled');
}else{
$('.drop-menu-action li').removeClass('disabled');
$('.drop-menu-action #past').addClass('disabled');
}
}
};
//对外接口

View File

@ -240,10 +240,30 @@ define(function(require, exports) {
});
};
//下拉菜单展开操作
var _menuActionBind = function(){
$('.drop-menu-action li').bind('click',function(){
if ($(this).hasClass('disabled'))return;
var action = $(this).attr('id');
switch(action){
case 'open':ui.path.open();break;
case 'copy':ui.path.copy();break;
case 'rname':ui.path.rname();break;
case 'cute':ui.path.cute();break;
case 'past':ui.path.past();break;
case 'remove':ui.path.remove();break;
case 'zip':ui.path.zip();break;
case 'download':ui.path.download();break;
case 'info':ui.path.info();break;
default:break;
}
});
};
//图标样式,文件夹模版填充
this._getFolderBox = function(list){
var html="";
html+="<div class='file folderBox menufolder' title='"+list['name']+"'>";
html+="<div class='file folderBox menufolder' data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.modify_time+':'+list.mtime+"'>";
html+="<div class='folder ico' filetype='folder'></div>";
html+="<div id='"+list['name']+"' class='titleBox'><span class='title' title='"+LNG.double_click_rename+"'>"+list['name']+"</span></div></div>";
return html;
@ -259,17 +279,23 @@ define(function(require, exports) {
}
var code = urlEncode(json_encode(list));
var display = list.name.replace('.oexe','');
html ="<div class='file fileApp menuApp' data-app="+code+" title='"+list.name+"'>";
html ="<div class='file fileApp menuApp' data-app="+code+" data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.size+':'+list.size_friendly+"&#10;"
+LNG.modify_time+':'+list.mtime+"'>";
html+="<div class='ico' filetype='oexe' style='background-image:url("+icon+")'></div>";
html+="<div id='' class='titleBox'><span class='title' title='"+LNG.double_click_rename+"'>"+display+"</span></div></div>";
}else if (inArray(core.filetype['image'],list['ext'])) {//如果是图片,则显示缩略图
var filePath = core.path2url(G.this_path+list['name']);
var thumbPath = 'index.php?explorer/image&path='+urlEncode(G.this_path+list['name']);
html+="<div class='file fileBox menufile' title='"+list['name']+"' >";
html+="<div picasa='"+filePath+"' thumb='"+thumbPath+"' title='"+list['name']+"' class='picasaImage picture ico' filetype='"+list['ext']+"'><img data-original='"+thumbPath+"'/></div>";
html+="<div class='file fileBox menufile' data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.size+':'+list.size_friendly+"&#10;"
+LNG.modify_time+':'+list.mtime+"'>";
html+="<div picasa='"+filePath+"' thumb='"+thumbPath+"' class='picasaImage picture ico' filetype='"+list['ext']+"'><img data-original='"+thumbPath+"'/></div>";
html+="<div id='"+list['name']+"' class='titleBox'><span class='title' title='"+LNG.double_click_rename+"'>"+list['name']+"</span></div></div>";
}else{
html+="<div class='file fileBox menufile' title='"+list['name']+"' >";
html+="<div class='file fileBox menufile' data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.size+':'+list.size_friendly+"&#10;"
+LNG.modify_time+':'+list.mtime+"'>";
html+="<div class='"+list['ext']+" ico' filetype='"+list['ext']+"'></div>";
html+="<div id='"+list['name']+"' class='titleBox'><span class='title' title='"+LNG.double_click_rename+"'>"+list['name']+"</span></div></div>";
}
@ -280,7 +306,8 @@ define(function(require, exports) {
//列表样式,文件夹模版填充
this._getFolderBoxList = function(list){
var html="";
html+="<div class='file folderBox menufolder' title='"+list['name']+"'>";
html+="<div class='file folderBox menufolder' data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.modify_time+':'+list.mtime+"'>";
html+=" <div class='folder ico' filetype='folder'></div>";
html+=" <div id='"+list['name']+"' class='titleBox'><span class='title' title='"+LNG.double_click_rename+"'>"+list['name']+"</span></div>";
html+=" <div class='filetype'>"+LNG.folder+"</div>";
@ -295,13 +322,18 @@ define(function(require, exports) {
var html="";
if (list['ext'] == 'oexe') {
var code = urlEncode(json_encode(list));
html ="<div class='file fileApp menuApp' data-app="+code+" title='"+list.title+"'>";
html ="<div class='file fileApp menuApp' data-app='"+code+"' data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.size+':'+list.size_friendly+"&#10;"
+LNG.modify_time+':'+list.mtime+"'>";
}else if (inArray(core.filetype['image'],list['ext'])) {//如果是图片,则显示缩略图,并绑定幻灯片插件
var filePath = core.path2url(G.this_path+list['name']);
var thumbPath = 'index.php?explorer/image&path='+urlEncode(G.this_path+list['name']);
html+="<div picasa='"+filePath+"' thumb='"+thumbPath+"' title='"+list['name']+"' class='picasaImage file fileBox menufile'>";
html+="<div picasa='"+filePath+"' thumb='"+thumbPath+"' class='picasaImage file fileBox menufile' data-name='"+list.name+"' title='"+LNG.name+':'+list.name+"&#10;"+LNG.size+':'+list.size_friendly+"&#10;"
+LNG.modify_time+':'+list.mtime+"'>";
}else {
html+="<div class='file fileBox menufile' title='"+list['name']+"'>";
html+="<div class='file fileBox menufile' data-name='"+list.name+"' title='"
+LNG.name+':'+list.name+"&#10;"+LNG.size+':'+list.size_friendly+"&#10;"
+LNG.modify_time+':'+list.mtime+"'>";
}
html+=" <div class='"+list['ext']+" ico' filetype='"+list['ext']+"'></div>";
html+=" <div id='"+list['name']+"' class='titleBox'><span class='title' title='"+LNG.double_click_rename+"'>"+list['name']+"</span></div>";
@ -454,7 +486,8 @@ define(function(require, exports) {
_bindEventTheme();
_bindEventTools();
_bindHotKey();
_bindFrameSizeEvent();
_bindFrameSizeEvent();
_menuActionBind();
ui.header.bindEvent();
$(window).bind("resize",function(){
ui.setStyle();//浏览器调整大小,文件列表区域调整高宽。
@ -515,7 +548,9 @@ define(function(require, exports) {
//地址栏点击,更换地址。
$("#yarnball li a").die('click').live('click',function(e) {
var path = $(this).attr('title');
ui.path.list(path);
$("input.path").val(path);
ui.header.gotoPath();
//ui.path.list(path);
stopPP(e);
});
@ -570,6 +605,10 @@ define(function(require, exports) {
//更新地址栏
addressSet:function(){
var path = G.this_path;
if (path.substring(0,G.public_path.length) == G.public_path) {
path = path.replace(G.public_path,'*public*/');
}
$("input.path").val(path);
$("#yarnball_input").css('display','none');
$("#yarnball").css('display','block');
@ -627,10 +666,14 @@ define(function(require, exports) {
if (url.substr(url.length-1,1)!='/'){
url+='/';
}
var temp_path = '*public*/';
if (url.substring(0,temp_path.length) == temp_path) {
url = url.replace(temp_path,G.public_path);
}
ui.path.list(url);
ui.header.addressSet();
},
// 更改前进后退状态
updateHistoryStatus:function(){
if (Global.historyStatus['back']==0) {
@ -667,7 +710,7 @@ define(function(require, exports) {
gopath=path.substr(0,len+1);
}
$("input.path").val(gopath);
ui.path.list(gopath);
ui.header.gotoPath();
}
}
}

View File

@ -100,8 +100,11 @@ define(function(require, exports) {
dataType:'json',
success:function(data){
tips(data);
if (data.code) {
window.top.location.href='./index.php?user/logout';
}
}
});
});
break;
case 'wall':
var image = $('#wall_url').val();
@ -114,7 +117,7 @@ define(function(require, exports) {
$.ajax({
url:geturl,type:'json',
success:function(data){
tips(data);
tips(data);
}
});
default:break;

View File

@ -174,7 +174,7 @@ define(function(require, exports) {
'update_ignore':"暂时忽略",
'update_readmore':"查看更多",
'update_whats_new':"更新说明",
'update_info':"1.多用户,权限管理<br/>2.文件夹拖拽上传<br/>3.解压缩优化<br/>4.非服务器路径预览&下载支持<br/>5.编辑器全面优化<br/>"
'update_info':"1.文件夹拖拽完美实现<br/>2.文件夹拖拽上传<br/>3.解压缩优化<br/>4.非服务器路径预览&下载支持<br/>5.树目录中文问题修复<br/>"
}
};
for (var key in L[type]) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
<cmp
name = "cloud explorer 在线播放器"
name = "KodExplorer 在线播放器"
link = "http://kalcaddle.com"
description = "cloud explorer 在线播放器"
description = "KodExplorer 在线播放器"
logo = "{src:logo.png,xywh:[10R,10R,0,0]}"
skins = "skins/movie/webplayer.zip,skins/movie/qqplayer.zip"

View File

@ -355,11 +355,11 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.desktop .fileList_icon .file.hover { background: #fff \9; background: rgba(255,255,255,0.15); border: 1px solid rgba(200,200,200,0.3); background-color: #aaa\9; border: 1px solid transition\9;}
.desktop .fileList_icon .file.select,.desktop .fileList_icon .file.selectDragTemp { background: #fff \9; background: rgba(255,255,255,0.6); background-color: #eee\9; border: 1px solid #ccc\9; color: #444\9;}
.desktop .fileList_icon .file .title .textarea { position: static;}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10001; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar a { position: absolute; text-align: center; width: 40px; height: 40px; left: 6px;}
#taskbar .start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: inline-block; z-index: 999; margin-top: -8px;}
#taskbar .start:hover { text-decoration: none; background-position: 0 -40px;}
#taskbar .start:active { text-decoration: none; background-position: 0 -80px;}
.start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: block; z-index: 999; margin-top: -8px; z-index: 99999; width: 40px; height: 40px; bottom: 0px; left: 5px; position: fixed;}
.start:hover { text-decoration: none; background-position: 0 -40px;}
.start:active { text-decoration: none; background-position: 0 -80px;}
.task_tab { position: fixed; bottom: 1px; left: 0; width: 100%; height: 30px; z-index: 9999;}
.task_tab .tabs { height: 100%; margin-right: 10px; margin-right: 60px;}
.task_tab .tabs .tab { float: left; height: 100%; margin-right: 2px; width: 110px; border: 1px solid rgba(255,255,255,0.4); line-height: 30px; text-shadow: 0 0 3px #000; box-shadow: 0 0 6px #000; padding-left: 10px; border-radius: 3px; cursor: default; color: #fff; overflow: hidden; font-size: 13px; background: rgba(255,255,255,0); background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -ms-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0));}

View File

@ -27,15 +27,17 @@
}
}
#taskbar{
height: 32px;position:fixed;bottom:0;left:0;width:100%;z-index:10001;padding:0;margin:0;
height: 32px;position:fixed;bottom:0;left:0;width:100%;padding:0;margin:0;
width:100%;background: url('@{img_desktop}taskbarbg.png');
a{ position: absolute; text-align: center; width:40px; height:40px;left:6px;}
.start{background: url('@{img_desktop}start.png') 0 0px no-repeat;
display: inline-block;z-index: 999;margin-top: -8px;
&:hover{ text-decoration: none; background-position: 0 -40px;}
&:active{ text-decoration: none; background-position: 0 -80px;}
}
}
.start{background: url('@{img_desktop}start.png') 0 0px no-repeat;
display:block;z-index: 999;margin-top: -8px;z-index: 99999;
width: 40px;height: 40px;bottom: 0px;left: 5px;position: fixed;
&:hover{ text-decoration: none; background-position: 0 -40px;}
&:active{ text-decoration: none; background-position: 0 -80px;}
}
.task_tab{position: fixed;bottom: 1px;left:0; width: 100%;height: 30px;z-index: 9999;
.tabs{height:100%;margin-right: 10px;margin-right: 60px;
.tab{float: left;height: 100%;margin-right: 2px;

View File

@ -437,6 +437,14 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.frame-main .frame-resize.active { background: #000; opacity: 0.2; filter: alpha(opacity=20);}
.frame-main .frame-right { left: 200px; right: 0; position: absolute; top: 0; bottom: 0; overflow: auto; min-width: 450px;}
.frame-main .frame-right .frame-right-main .font-icon { text-shadow: 0 0 1px; line-height: 16px; padding: 0 2px; font-size: 14px; color: #888;}
.frame-main .frame-right .frame-right-main .drop-menu-action { min-width: 130px; width: 130px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a { padding: 2px 30px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a i.font-icon { width: 18px; display: inline-block;}
.frame-main .frame-right .frame-right-main .drop-menu-action a:hover i.font-icon { color: #fff;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover { background: #fff; color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .tools { z-index: 100; height: 33px; min-width: 600px; border-bottom: 1px solid #ddd; background: #f6f6f6; -webkit-box-shadow: 1px 2px 15px #eee; -moz-box-shadow: 1px 2px 15px #eee; box-shadow: 1px 2px 15px #eee;}
.frame-main .frame-right .frame-right-main .tools a.left:hover,.frame-main .frame-right .frame-right-main .tools a.middle:hover { margin-right: 2px; padding-right: 8px;}
.frame-main .frame-right .frame-right-main .tools a.this { background: #eee; cursor: default;}

View File

@ -67,7 +67,6 @@
}
}
}
.frame-main{
position: absolute;left: 0;right: 0;top: 90px;bottom: 0;
.frame-left{
@ -83,6 +82,19 @@
left: 200px;right: 0;position: absolute;top: 0;bottom: 0;overflow: auto;min-width: 450px;
.frame-right-main{
.font-icon{text-shadow: 0 0 1px;line-height: 16px;padding: 0 2px;font-size: 14px;color: #888;}
.drop-menu-action{
min-width:130px;width:130px;
a{padding: 2px 30px;
i.font-icon{width:18px;display: inline-block;}
&:hover i.font-icon{color: #fff;}
}
.disabled a{
color:#bbb;
i.font-icon{color:#bbb;}
&:hover{background: #fff;color:#bbb;}
&:hover i.font-icon{color: #bbb;}
}
}
.tools{
z-index: 100;height:33px;min-width:600px;
border-bottom:1px solid #ddd;background:#f6f6f6;

View File

@ -346,11 +346,11 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.desktop .fileList_icon .file.hover { background: #fff \9; background: rgba(255,255,255,0.15); background: none\9;}
.desktop .fileList_icon .file.select,.desktop .fileList_icon .file.selectDragTemp { background: #fff \9; background: rgba(255,255,255,0.5); color: #000\9;}
.desktop .fileList_icon .file .title .textarea { position: static;}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10001; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar a { position: absolute; text-align: center; width: 40px; height: 40px; left: 6px;}
#taskbar .start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: inline-block; z-index: 999; margin-top: -8px;}
#taskbar .start:hover { text-decoration: none; background-position: 0 -40px;}
#taskbar .start:active { text-decoration: none; background-position: 0 -80px;}
.start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: block; z-index: 999; margin-top: -8px; z-index: 99999; width: 40px; height: 40px; bottom: 0px; left: 5px; position: fixed;}
.start:hover { text-decoration: none; background-position: 0 -40px;}
.start:active { text-decoration: none; background-position: 0 -80px;}
.task_tab { position: fixed; bottom: 1px; left: 0; width: 100%; height: 30px; z-index: 9999;}
.task_tab .tabs { height: 100%; margin-right: 10px; margin-right: 60px;}
.task_tab .tabs .tab { float: left; height: 100%; margin-right: 2px; width: 110px; border: 1px solid rgba(255,255,255,0.4); line-height: 30px; text-shadow: 0 0 3px #000; box-shadow: 0 0 6px #000; padding-left: 10px; border-radius: 3px; cursor: default; color: #fff; overflow: hidden; font-size: 13px; background: rgba(255,255,255,0); background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -ms-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0));}

View File

@ -28,15 +28,17 @@
}
}
#taskbar{
height: 32px;position:fixed;bottom:0;left:0;width:100%;z-index:10001;padding:0;margin:0;
height: 32px;position:fixed;bottom:0;left:0;width:100%;padding:0;margin:0;
width:100%;background: url('@{img_desktop}taskbarbg.png');
a{ position: absolute; text-align: center; width:40px; height:40px;left:6px;}
.start{background: url('@{img_desktop}start.png') 0 0px no-repeat;
display: inline-block;z-index: 999;margin-top: -8px;
&:hover{ text-decoration: none; background-position: 0 -40px;}
&:active{ text-decoration: none; background-position: 0 -80px;}
}
}
.start{background: url('@{img_desktop}start.png') 0 0px no-repeat;
display:block;z-index: 999;margin-top: -8px;z-index: 99999;
width: 40px;height: 40px;bottom: 0px;left: 5px;position: fixed;
&:hover{ text-decoration: none; background-position: 0 -40px;}
&:active{ text-decoration: none; background-position: 0 -80px;}
}
.task_tab{position: fixed;bottom: 1px;left:0; width: 100%;height: 30px;z-index: 9999;
.tabs{height:100%;margin-right: 10px;margin-right: 60px;
.tab{float: left;height: 100%;margin-right: 2px;

View File

@ -437,6 +437,14 @@ span.tmpzTreeMove_arrow { display: inline-block; margin: 4px 0 0 2px; position:
.frame-main .frame-resize.active { background: #000; opacity: 0.2; filter: alpha(opacity=20);}
.frame-main .frame-right { left: 200px; right: 0; position: absolute; top: 0; bottom: 0; overflow: auto; min-width: 450px;}
.frame-main .frame-right .frame-right-main .font-icon { text-shadow: 0 0 1px; line-height: 16px; padding: 0 2px; font-size: 14px; color: #888;}
.frame-main .frame-right .frame-right-main .drop-menu-action { min-width: 130px; width: 130px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a { padding: 2px 30px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a i.font-icon { width: 18px; display: inline-block;}
.frame-main .frame-right .frame-right-main .drop-menu-action a:hover i.font-icon { color: #fff;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover { background: #fff; color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .tools { z-index: 100; height: 33px; min-width: 600px; border-bottom: 1px solid #ddd; background: #f6f6f6; -webkit-box-shadow: 1px 2px 15px #eee; -moz-box-shadow: 1px 2px 15px #eee; box-shadow: 1px 2px 15px #eee;}
.frame-main .frame-right .frame-right-main .tools a.left:hover,.frame-main .frame-right .frame-right-main .tools a.middle:hover { margin-right: 2px; padding-right: 8px;}
.frame-main .frame-right .frame-right-main .tools a.this { background: #eee; cursor: default;}

View File

@ -81,6 +81,19 @@
left: 200px;right: 0;position: absolute;top: 0;bottom: 0;overflow: auto;min-width: 450px;
.frame-right-main{
.font-icon{text-shadow: 0 0 1px;line-height: 16px;padding: 0 2px;font-size: 14px;color: #888;}
.drop-menu-action{
min-width:130px;width:130px;
a{padding: 2px 30px;
i.font-icon{width:18px;display: inline-block;}
&:hover i.font-icon{color: #fff;}
}
.disabled a{
color:#bbb;
i.font-icon{color:#bbb;}
&:hover{background: #fff;color:#bbb;}
&:hover i.font-icon{color: #bbb;}
}
}
.tools{
z-index: 100;height:33px;min-width:600px;
border-bottom:1px solid #ddd;background:#f6f6f6;

View File

@ -346,11 +346,11 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.desktop .fileList_icon .file.hover { background: #fff \9; background: rgba(255,255,255,0.15); background: none\9;}
.desktop .fileList_icon .file.select,.desktop .fileList_icon .file.selectDragTemp { background: #fff \9; background: rgba(255,255,255,0.5); color: #000\9;}
.desktop .fileList_icon .file .title .textarea { position: static;}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10001; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar a { position: absolute; text-align: center; width: 40px; height: 40px; left: 6px;}
#taskbar .start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: inline-block; z-index: 999; margin-top: -8px;}
#taskbar .start:hover { text-decoration: none; background-position: 0 -40px;}
#taskbar .start:active { text-decoration: none; background-position: 0 -80px;}
.start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: block; z-index: 999; margin-top: -8px; z-index: 99999; width: 40px; height: 40px; bottom: 0px; left: 5px; position: fixed;}
.start:hover { text-decoration: none; background-position: 0 -40px;}
.start:active { text-decoration: none; background-position: 0 -80px;}
.task_tab { position: fixed; bottom: 1px; left: 0; width: 100%; height: 30px; z-index: 9999;}
.task_tab .tabs { height: 100%; margin-right: 10px; margin-right: 60px;}
.task_tab .tabs .tab { float: left; height: 100%; margin-right: 2px; width: 110px; border: 1px solid rgba(255,255,255,0.4); line-height: 30px; text-shadow: 0 0 3px #000; box-shadow: 0 0 6px #000; padding-left: 10px; border-radius: 3px; cursor: default; color: #fff; overflow: hidden; font-size: 13px; background: rgba(255,255,255,0); background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -ms-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0));}

View File

@ -437,6 +437,14 @@ span.tmpzTreeMove_arrow { display: inline-block; margin: 4px 0 0 2px; position:
.frame-main .frame-resize.active { background: #000; opacity: 0.2; filter: alpha(opacity=20);}
.frame-main .frame-right { left: 200px; right: 0; position: absolute; top: 0; bottom: 0; overflow: auto; min-width: 450px;}
.frame-main .frame-right .frame-right-main .font-icon { text-shadow: 0 0 1px; line-height: 16px; padding: 0 2px; font-size: 14px; color: #888;}
.frame-main .frame-right .frame-right-main .drop-menu-action { min-width: 130px; width: 130px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a { padding: 2px 30px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a i.font-icon { width: 18px; display: inline-block;}
.frame-main .frame-right .frame-right-main .drop-menu-action a:hover i.font-icon { color: #fff;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover { background: #fff; color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .tools { z-index: 100; height: 33px; min-width: 600px; border-bottom: 1px solid #ddd; background: #f6f6f6; -webkit-box-shadow: 1px 2px 15px #eee; -moz-box-shadow: 1px 2px 15px #eee; box-shadow: 1px 2px 15px #eee;}
.frame-main .frame-right .frame-right-main .tools a.left:hover,.frame-main .frame-right .frame-right-main .tools a.middle:hover { margin-right: 2px; padding-right: 8px;}
.frame-main .frame-right .frame-right-main .tools a.this { background: #eee; cursor: default;}

View File

@ -346,11 +346,11 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.desktop .fileList_icon .file.hover { background: #fff \9; background: rgba(255,255,255,0.15); background: none\9;}
.desktop .fileList_icon .file.select,.desktop .fileList_icon .file.selectDragTemp { background: #fff \9; background: rgba(255,255,255,0.5); color: #000\9;}
.desktop .fileList_icon .file .title .textarea { position: static;}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10001; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar a { position: absolute; text-align: center; width: 40px; height: 40px; left: 6px;}
#taskbar .start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: inline-block; z-index: 999; margin-top: -8px;}
#taskbar .start:hover { text-decoration: none; background-position: 0 -40px;}
#taskbar .start:active { text-decoration: none; background-position: 0 -80px;}
.start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: block; z-index: 999; margin-top: -8px; z-index: 99999; width: 40px; height: 40px; bottom: 0px; left: 5px; position: fixed;}
.start:hover { text-decoration: none; background-position: 0 -40px;}
.start:active { text-decoration: none; background-position: 0 -80px;}
.task_tab { position: fixed; bottom: 1px; left: 0; width: 100%; height: 30px; z-index: 9999;}
.task_tab .tabs { height: 100%; margin-right: 10px; margin-right: 60px;}
.task_tab .tabs .tab { float: left; height: 100%; margin-right: 2px; width: 110px; border: 1px solid rgba(255,255,255,0.4); line-height: 30px; text-shadow: 0 0 3px #000; box-shadow: 0 0 6px #000; padding-left: 10px; border-radius: 3px; cursor: default; color: #fff; overflow: hidden; font-size: 13px; background: rgba(255,255,255,0); background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -ms-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0));}

View File

@ -437,6 +437,14 @@ span.tmpzTreeMove_arrow { display: inline-block; margin: 4px 0 0 2px; position:
.frame-main .frame-resize.active { background: #000; opacity: 0.2; filter: alpha(opacity=20);}
.frame-main .frame-right { left: 200px; right: 0; position: absolute; top: 0; bottom: 0; overflow: auto; min-width: 450px;}
.frame-main .frame-right .frame-right-main .font-icon { text-shadow: 0 0 1px; line-height: 16px; padding: 0 2px; font-size: 14px; color: #888;}
.frame-main .frame-right .frame-right-main .drop-menu-action { min-width: 130px; width: 130px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a { padding: 2px 30px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a i.font-icon { width: 18px; display: inline-block;}
.frame-main .frame-right .frame-right-main .drop-menu-action a:hover i.font-icon { color: #fff;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover { background: #fff; color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .tools { z-index: 100; height: 33px; min-width: 600px; border-bottom: 1px solid #ddd; background: #f6f6f6; -webkit-box-shadow: 1px 2px 15px #eee; -moz-box-shadow: 1px 2px 15px #eee; box-shadow: 1px 2px 15px #eee;}
.frame-main .frame-right .frame-right-main .tools a.left:hover,.frame-main .frame-right .frame-right-main .tools a.middle:hover { margin-right: 2px; padding-right: 8px;}
.frame-main .frame-right .frame-right-main .tools a.this { background: #eee; cursor: default;}

View File

@ -346,11 +346,11 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.desktop .fileList_icon .file.hover { background: #fff \9; background: rgba(255,255,255,0.15); background: none\9;}
.desktop .fileList_icon .file.select,.desktop .fileList_icon .file.selectDragTemp { background: #fff \9; background: rgba(255,255,255,0.5); color: #000\9;}
.desktop .fileList_icon .file .title .textarea { position: static;}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10001; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar a { position: absolute; text-align: center; width: 40px; height: 40px; left: 6px;}
#taskbar .start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: inline-block; z-index: 999; margin-top: -8px;}
#taskbar .start:hover { text-decoration: none; background-position: 0 -40px;}
#taskbar .start:active { text-decoration: none; background-position: 0 -80px;}
.start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: block; z-index: 999; margin-top: -8px; z-index: 99999; width: 40px; height: 40px; bottom: 0px; left: 5px; position: fixed;}
.start:hover { text-decoration: none; background-position: 0 -40px;}
.start:active { text-decoration: none; background-position: 0 -80px;}
.task_tab { position: fixed; bottom: 1px; left: 0; width: 100%; height: 30px; z-index: 9999;}
.task_tab .tabs { height: 100%; margin-right: 10px; margin-right: 60px;}
.task_tab .tabs .tab { float: left; height: 100%; margin-right: 2px; width: 110px; border: 1px solid rgba(255,255,255,0.4); line-height: 30px; text-shadow: 0 0 3px #000; box-shadow: 0 0 6px #000; padding-left: 10px; border-radius: 3px; cursor: default; color: #fff; overflow: hidden; font-size: 13px; background: rgba(255,255,255,0); background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -ms-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0));}

View File

@ -437,6 +437,14 @@ span.tmpzTreeMove_arrow { display: inline-block; margin: 4px 0 0 2px; position:
.frame-main .frame-resize.active { background: #000; opacity: 0.2; filter: alpha(opacity=20);}
.frame-main .frame-right { left: 200px; right: 0; position: absolute; top: 0; bottom: 0; overflow: auto; min-width: 450px;}
.frame-main .frame-right .frame-right-main .font-icon { text-shadow: 0 0 1px; line-height: 16px; padding: 0 2px; font-size: 14px; color: #888;}
.frame-main .frame-right .frame-right-main .drop-menu-action { min-width: 130px; width: 130px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a { padding: 2px 30px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a i.font-icon { width: 18px; display: inline-block;}
.frame-main .frame-right .frame-right-main .drop-menu-action a:hover i.font-icon { color: #fff;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover { background: #fff; color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .tools { z-index: 100; height: 33px; min-width: 600px; border-bottom: 1px solid #ddd; background: #f6f6f6; -webkit-box-shadow: 1px 2px 15px #eee; -moz-box-shadow: 1px 2px 15px #eee; box-shadow: 1px 2px 15px #eee;}
.frame-main .frame-right .frame-right-main .tools a.left:hover,.frame-main .frame-right .frame-right-main .tools a.middle:hover { margin-right: 2px; padding-right: 8px;}
.frame-main .frame-right .frame-right-main .tools a.this { background: #eee; cursor: default;}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -346,11 +346,11 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.desktop .fileList_icon .file.hover { background: #fff \9; background: rgba(255,255,255,0.15); background: none\9;}
.desktop .fileList_icon .file.select,.desktop .fileList_icon .file.selectDragTemp { background: #fff \9; background: rgba(255,255,255,0.5); color: #000\9;}
.desktop .fileList_icon .file .title .textarea { position: static;}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10001; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar a { position: absolute; text-align: center; width: 40px; height: 40px; left: 6px;}
#taskbar .start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: inline-block; z-index: 999; margin-top: -8px;}
#taskbar .start:hover { text-decoration: none; background-position: 0 -40px;}
#taskbar .start:active { text-decoration: none; background-position: 0 -80px;}
.start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: block; z-index: 999; margin-top: -8px; z-index: 99999; width: 40px; height: 40px; bottom: 0px; left: 5px; position: fixed;}
.start:hover { text-decoration: none; background-position: 0 -40px;}
.start:active { text-decoration: none; background-position: 0 -80px;}
.task_tab { position: fixed; bottom: 1px; left: 0; width: 100%; height: 30px; z-index: 9999;}
.task_tab .tabs { height: 100%; margin-right: 10px; margin-right: 60px;}
.task_tab .tabs .tab { float: left; height: 100%; margin-right: 2px; width: 110px; border: 1px solid rgba(255,255,255,0.4); line-height: 30px; text-shadow: 0 0 3px #000; box-shadow: 0 0 6px #000; padding-left: 10px; border-radius: 3px; cursor: default; color: #fff; overflow: hidden; font-size: 13px; background: rgba(255,255,255,0); background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -ms-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0));}

View File

@ -437,6 +437,14 @@ span.tmpzTreeMove_arrow { display: inline-block; margin: 4px 0 0 2px; position:
.frame-main .frame-resize.active { background: #000; opacity: 0.2; filter: alpha(opacity=20);}
.frame-main .frame-right { left: 200px; right: 0; position: absolute; top: 0; bottom: 0; overflow: auto; min-width: 450px;}
.frame-main .frame-right .frame-right-main .font-icon { text-shadow: 0 0 1px; line-height: 16px; padding: 0 2px; font-size: 14px; color: #888;}
.frame-main .frame-right .frame-right-main .drop-menu-action { min-width: 130px; width: 130px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a { padding: 2px 30px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a i.font-icon { width: 18px; display: inline-block;}
.frame-main .frame-right .frame-right-main .drop-menu-action a:hover i.font-icon { color: #fff;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover { background: #fff; color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .tools { z-index: 100; height: 33px; min-width: 600px; border-bottom: 1px solid #ddd; background: #f6f6f6; -webkit-box-shadow: 1px 2px 15px #eee; -moz-box-shadow: 1px 2px 15px #eee; box-shadow: 1px 2px 15px #eee;}
.frame-main .frame-right .frame-right-main .tools a.left:hover,.frame-main .frame-right .frame-right-main .tools a.middle:hover { margin-right: 2px; padding-right: 8px;}
.frame-main .frame-right .frame-right-main .tools a.this { background: #eee; cursor: default;}

View File

@ -346,11 +346,11 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.desktop .fileList_icon .file.hover { background: #fff \9; background: rgba(255,255,255,0.15); background: none\9;}
.desktop .fileList_icon .file.select,.desktop .fileList_icon .file.selectDragTemp { background: #fff \9; background: rgba(255,255,255,0.5); color: #000\9;}
.desktop .fileList_icon .file .title .textarea { position: static;}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10001; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar a { position: absolute; text-align: center; width: 40px; height: 40px; left: 6px;}
#taskbar .start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: inline-block; z-index: 999; margin-top: -8px;}
#taskbar .start:hover { text-decoration: none; background-position: 0 -40px;}
#taskbar .start:active { text-decoration: none; background-position: 0 -80px;}
.start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: block; z-index: 999; margin-top: -8px; z-index: 99999; width: 40px; height: 40px; bottom: 0px; left: 5px; position: fixed;}
.start:hover { text-decoration: none; background-position: 0 -40px;}
.start:active { text-decoration: none; background-position: 0 -80px;}
.task_tab { position: fixed; bottom: 1px; left: 0; width: 100%; height: 30px; z-index: 9999;}
.task_tab .tabs { height: 100%; margin-right: 10px; margin-right: 60px;}
.task_tab .tabs .tab { float: left; height: 100%; margin-right: 2px; width: 110px; border: 1px solid rgba(255,255,255,0.4); line-height: 30px; text-shadow: 0 0 3px #000; box-shadow: 0 0 6px #000; padding-left: 10px; border-radius: 3px; cursor: default; color: #fff; overflow: hidden; font-size: 13px; background: rgba(255,255,255,0); background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -ms-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0));}

View File

@ -437,6 +437,14 @@ span.tmpzTreeMove_arrow { display: inline-block; margin: 4px 0 0 2px; position:
.frame-main .frame-resize.active { background: #000; opacity: 0.2; filter: alpha(opacity=20);}
.frame-main .frame-right { left: 200px; right: 0; position: absolute; top: 0; bottom: 0; overflow: auto; min-width: 450px;}
.frame-main .frame-right .frame-right-main .font-icon { text-shadow: 0 0 1px; line-height: 16px; padding: 0 2px; font-size: 14px; color: #888;}
.frame-main .frame-right .frame-right-main .drop-menu-action { min-width: 130px; width: 130px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a { padding: 2px 30px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a i.font-icon { width: 18px; display: inline-block;}
.frame-main .frame-right .frame-right-main .drop-menu-action a:hover i.font-icon { color: #fff;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover { background: #fff; color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .tools { z-index: 100; height: 33px; min-width: 600px; border-bottom: 1px solid #ddd; background: #f6f6f6; -webkit-box-shadow: 1px 2px 15px #eee; -moz-box-shadow: 1px 2px 15px #eee; box-shadow: 1px 2px 15px #eee;}
.frame-main .frame-right .frame-right-main .tools a.left:hover,.frame-main .frame-right .frame-right-main .tools a.middle:hover { margin-right: 2px; padding-right: 8px;}
.frame-main .frame-right .frame-right-main .tools a.this { background: #eee; cursor: default;}

View File

@ -346,11 +346,11 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.desktop .fileList_icon .file.hover { background: #fff \9; background: rgba(255,255,255,0.15); background: none\9;}
.desktop .fileList_icon .file.select,.desktop .fileList_icon .file.selectDragTemp { background: #fff \9; background: rgba(255,255,255,0.5); color: #000\9;}
.desktop .fileList_icon .file .title .textarea { position: static;}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10001; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar a { position: absolute; text-align: center; width: 40px; height: 40px; left: 6px;}
#taskbar .start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: inline-block; z-index: 999; margin-top: -8px;}
#taskbar .start:hover { text-decoration: none; background-position: 0 -40px;}
#taskbar .start:active { text-decoration: none; background-position: 0 -80px;}
.start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: block; z-index: 999; margin-top: -8px; z-index: 99999; width: 40px; height: 40px; bottom: 0px; left: 5px; position: fixed;}
.start:hover { text-decoration: none; background-position: 0 -40px;}
.start:active { text-decoration: none; background-position: 0 -80px;}
.task_tab { position: fixed; bottom: 1px; left: 0; width: 100%; height: 30px; z-index: 9999;}
.task_tab .tabs { height: 100%; margin-right: 10px; margin-right: 60px;}
.task_tab .tabs .tab { float: left; height: 100%; margin-right: 2px; width: 110px; border: 1px solid rgba(255,255,255,0.4); line-height: 30px; text-shadow: 0 0 3px #000; box-shadow: 0 0 6px #000; padding-left: 10px; border-radius: 3px; cursor: default; color: #fff; overflow: hidden; font-size: 13px; background: rgba(255,255,255,0); background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -ms-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0));}

View File

@ -437,6 +437,14 @@ span.tmpzTreeMove_arrow { display: inline-block; margin: 4px 0 0 2px; position:
.frame-main .frame-resize.active { background: #000; opacity: 0.2; filter: alpha(opacity=20);}
.frame-main .frame-right { left: 200px; right: 0; position: absolute; top: 0; bottom: 0; overflow: auto; min-width: 450px;}
.frame-main .frame-right .frame-right-main .font-icon { text-shadow: 0 0 1px; line-height: 16px; padding: 0 2px; font-size: 14px; color: #888;}
.frame-main .frame-right .frame-right-main .drop-menu-action { min-width: 130px; width: 130px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a { padding: 2px 30px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a i.font-icon { width: 18px; display: inline-block;}
.frame-main .frame-right .frame-right-main .drop-menu-action a:hover i.font-icon { color: #fff;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover { background: #fff; color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .tools { z-index: 100; height: 33px; min-width: 600px; border-bottom: 1px solid #ddd; background: #f6f6f6; -webkit-box-shadow: 1px 2px 15px #eee; -moz-box-shadow: 1px 2px 15px #eee; box-shadow: 1px 2px 15px #eee;}
.frame-main .frame-right .frame-right-main .tools a.left:hover,.frame-main .frame-right .frame-right-main .tools a.middle:hover { margin-right: 2px; padding-right: 8px;}
.frame-main .frame-right .frame-right-main .tools a.this { background: #eee; cursor: default;}

View File

@ -346,11 +346,11 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.desktop .fileList_icon .file.hover { background: #fff \9; background: rgba(255,255,255,0.15); background: none\9;}
.desktop .fileList_icon .file.select,.desktop .fileList_icon .file.selectDragTemp { background: #fff \9; background: rgba(255,255,255,0.5); color: #000\9;}
.desktop .fileList_icon .file .title .textarea { position: static;}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10001; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar a { position: absolute; text-align: center; width: 40px; height: 40px; left: 6px;}
#taskbar .start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: inline-block; z-index: 999; margin-top: -8px;}
#taskbar .start:hover { text-decoration: none; background-position: 0 -40px;}
#taskbar .start:active { text-decoration: none; background-position: 0 -80px;}
.start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: block; z-index: 999; margin-top: -8px; z-index: 99999; width: 40px; height: 40px; bottom: 0px; left: 5px; position: fixed;}
.start:hover { text-decoration: none; background-position: 0 -40px;}
.start:active { text-decoration: none; background-position: 0 -80px;}
.task_tab { position: fixed; bottom: 1px; left: 0; width: 100%; height: 30px; z-index: 9999;}
.task_tab .tabs { height: 100%; margin-right: 10px; margin-right: 60px;}
.task_tab .tabs .tab { float: left; height: 100%; margin-right: 2px; width: 110px; border: 1px solid rgba(255,255,255,0.4); line-height: 30px; text-shadow: 0 0 3px #000; box-shadow: 0 0 6px #000; padding-left: 10px; border-radius: 3px; cursor: default; color: #fff; overflow: hidden; font-size: 13px; background: rgba(255,255,255,0); background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -ms-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0));}

View File

@ -437,6 +437,14 @@ span.tmpzTreeMove_arrow { display: inline-block; margin: 4px 0 0 2px; position:
.frame-main .frame-resize.active { background: #000; opacity: 0.2; filter: alpha(opacity=20);}
.frame-main .frame-right { left: 200px; right: 0; position: absolute; top: 0; bottom: 0; overflow: auto; min-width: 450px;}
.frame-main .frame-right .frame-right-main .font-icon { text-shadow: 0 0 1px; line-height: 16px; padding: 0 2px; font-size: 14px; color: #888;}
.frame-main .frame-right .frame-right-main .drop-menu-action { min-width: 130px; width: 130px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a { padding: 2px 30px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a i.font-icon { width: 18px; display: inline-block;}
.frame-main .frame-right .frame-right-main .drop-menu-action a:hover i.font-icon { color: #fff;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover { background: #fff; color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .tools { z-index: 100; height: 33px; min-width: 600px; border-bottom: 1px solid #ddd; background: #f6f6f6; -webkit-box-shadow: 1px 2px 15px #eee; -moz-box-shadow: 1px 2px 15px #eee; box-shadow: 1px 2px 15px #eee;}
.frame-main .frame-right .frame-right-main .tools a.left:hover,.frame-main .frame-right .frame-right-main .tools a.middle:hover { margin-right: 2px; padding-right: 8px;}
.frame-main .frame-right .frame-right-main .tools a.this { background: #eee; cursor: default;}

View File

@ -368,11 +368,11 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.desktop .fileList_icon .file.hover { background: #fff \9; background: rgba(255,255,255,0.15); border: 1px solid rgba(200,200,200,0.3); background-color: #aaa\9; border: 1px solid transition\9;}
.desktop .fileList_icon .file.select,.desktop .fileList_icon .file.selectDragTemp { background: #fff \9; background: rgba(255,255,255,0.6); background-color: #eee\9; border: 1px solid #ccc\9; color: #444\9;}
.desktop .fileList_icon .file .title .textarea { position: static;}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10001; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar { height: 32px; position: fixed; bottom: 0; left: 0; width: 100%; padding: 0; margin: 0; background: url('../../../images/desktop/taskbarbg.png');}
#taskbar a { position: absolute; text-align: center; width: 40px; height: 40px; left: 6px;}
#taskbar .start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: inline-block; z-index: 999; margin-top: -8px;}
#taskbar .start:hover { text-decoration: none; background-position: 0 -40px;}
#taskbar .start:active { text-decoration: none; background-position: 0 -80px;}
.start { background: url('../../../images/desktop/start.png') 0 0px no-repeat; display: block; z-index: 999; margin-top: -8px; z-index: 99999; width: 40px; height: 40px; bottom: 0px; left: 5px; position: fixed;}
.start:hover { text-decoration: none; background-position: 0 -40px;}
.start:active { text-decoration: none; background-position: 0 -80px;}
.task_tab { position: fixed; bottom: 1px; left: 0; width: 100%; height: 30px; z-index: 9999;}
.task_tab .tabs { height: 100%; margin-right: 10px; margin-right: 60px;}
.task_tab .tabs .tab { float: left; height: 100%; margin-right: 2px; width: 110px; border: 1px solid rgba(255,255,255,0.4); line-height: 30px; text-shadow: 0 0 3px #000; box-shadow: 0 0 6px #000; padding-left: 10px; border-radius: 3px; cursor: default; color: #fff; overflow: hidden; font-size: 13px; background: rgba(255,255,255,0); background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: -ms-linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0)); background-image: linear-gradient(top,rgba(255,255,255,0.2),rgba(255,255,255,0));}

View File

@ -28,15 +28,17 @@
}
}
#taskbar{
height: 32px;position:fixed;bottom:0;left:0;width:100%;z-index:10001;padding:0;margin:0;
height: 32px;position:fixed;bottom:0;left:0;width:100%;padding:0;margin:0;
width:100%;background: url('@{img_desktop}taskbarbg.png');
a{ position: absolute; text-align: center; width:40px; height:40px;left:6px;}
.start{background: url('@{img_desktop}start.png') 0 0px no-repeat;
display: inline-block;z-index: 999;margin-top: -8px;
&:hover{ text-decoration: none; background-position: 0 -40px;}
&:active{ text-decoration: none; background-position: 0 -80px;}
}
}
.start{background: url('@{img_desktop}start.png') 0 0px no-repeat;
display:block;z-index: 999;margin-top: -8px;z-index: 99999;
width: 40px;height: 40px;bottom: 0px;left: 5px;position: fixed;
&:hover{ text-decoration: none; background-position: 0 -40px;}
&:active{ text-decoration: none; background-position: 0 -80px;}
}
.task_tab{position: fixed;bottom: 1px;left:0; width: 100%;height: 30px;z-index: 9999;
.tabs{height:100%;margin-right: 10px;margin-right: 60px;
.tab{float: left;height: 100%;margin-right: 2px;

View File

@ -450,6 +450,14 @@ div.dialog-simple .dialog_mouse_in .aui_header { opacity: 1; filter: alpha(opaci
.frame-main .frame-resize.active { background: #000; opacity: 0.2; filter: alpha(opacity=20);}
.frame-main .frame-right { left: 200px; right: 0; position: absolute; top: 0; bottom: 0; overflow: auto; min-width: 450px;}
.frame-main .frame-right .frame-right-main .font-icon { text-shadow: 0 0 1px; line-height: 16px; padding: 0 2px; font-size: 14px; color: #888;}
.frame-main .frame-right .frame-right-main .drop-menu-action { min-width: 130px; width: 130px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a { padding: 2px 30px;}
.frame-main .frame-right .frame-right-main .drop-menu-action a i.font-icon { width: 18px; display: inline-block;}
.frame-main .frame-right .frame-right-main .drop-menu-action a:hover i.font-icon { color: #fff;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover { background: #fff; color: #bbb;}
.frame-main .frame-right .frame-right-main .drop-menu-action .disabled a:hover i.font-icon { color: #bbb;}
.frame-main .frame-right .frame-right-main .tools { z-index: 100; height: 33px; min-width: 600px; border-bottom: 1px solid #ddd; background: #f6f6f6; -webkit-box-shadow: 1px 2px 15px #eee; -moz-box-shadow: 1px 2px 15px #eee; box-shadow: 1px 2px 15px #eee;}
.frame-main .frame-right .frame-right-main .tools a.left:hover,.frame-main .frame-right .frame-right-main .tools a.middle:hover { margin-right: 2px; padding-right: 8px;}
.frame-main .frame-right .frame-right-main .tools a.this { background: #eee; cursor: default;}

View File

@ -82,6 +82,19 @@
left: 200px;right: 0;position: absolute;top: 0;bottom: 0;overflow: auto;min-width: 450px;
.frame-right-main{
.font-icon{text-shadow: 0 0 1px;line-height: 16px;padding: 0 2px;font-size: 14px;color: #888;}
.drop-menu-action{
min-width:130px;width:130px;
a{padding: 2px 30px;
i.font-icon{width:18px;display: inline-block;}
&:hover i.font-icon{color: #fff;}
}
.disabled a{
color:#bbb;
i.font-icon{color:#bbb;}
&:hover{background: #fff;color:#bbb;}
&:hover i.font-icon{color: #bbb;}
}
}
.tools{
z-index: 100;height:33px;min-width:600px;
border-bottom:1px solid #ddd;background:#f6f6f6;

View File

@ -45,12 +45,10 @@
<div class="titleBox"><span><?php echo $L['app_store'];?></span></div>
</div>
</div>
</div><!-- html5拖拽上传list -->
<div id="taskbar" style="display:block;">
<a href="#" class="start"></a>
<div id="desktop"></div>
</div>
</div><!-- html5拖拽上传list -->
<a href="#" class="start"></a>
<div id="taskbar" style="display:block;"><div id="desktop"></div></div>
<div id="menuwin">
<div id="startmenu"></div>
<ul id="programs">
@ -85,10 +83,10 @@
web_host : "<?php echo HOST;?>",
static_path : "<?php echo STATIC_PATH;?>",
basic_path : "<?php echo BASIC_PATH;?>",
public_path : "<?php echo PUBLIC_PATH;?>",
upload_max : "<?php echo $upload_max;?>",
version : "<?php echo KOD_VERSION;?>",
app_host : "<?php echo APPHOST;?>",
this_path : "<?php echo MYHOME.'desktop/';?>",//当前绝对路径
web_path : "<?php echo str_replace(WEB_ROOT,'', USER.'home/desktop/');?>",// 当前url目录

View File

@ -105,6 +105,7 @@ http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
web_root : "<?php echo $GLOBALS['web_root'];?>",
web_host : "<?php echo HOST;?>",
static_path : "<?php echo STATIC_PATH;?>",
public_path : "<?php echo PUBLIC_PATH;?>",
basic_path : "<?php echo BASIC_PATH;?>",
myhome : "<?php echo MYHOME;?>",//当前绝对路径

View File

@ -51,6 +51,7 @@
web_root : "<?php echo $GLOBALS['web_root'];?>",
web_host : "<?php echo HOST;?>",
static_path : "<?php echo STATIC_PATH;?>",
public_path : "<?php echo PUBLIC_PATH;?>",
basic_path : "<?php echo BASIC_PATH;?>",
version : "<?php echo KOD_VERSION;?>",
app_host : "<?php echo APPHOST;?>",

View File

@ -79,6 +79,38 @@
<button id='upload' class="btn btn-default" type="button">
<i class="font-icon icon-cloud-upload"></i><?php echo $L['upload'];?>
</button>
<div class="btn-group btn-group-sm">
<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
<i class="font-icon icon-tasks"></i>more&nbsp;<span class="caret"></span>
</button>
<ul class="dropdown-menu pull-right drop-menu-action">
<li id="open"><a href='javascript:;'>
<i class="font-icon icon-folder-open-alt"></i><?php echo $L['open'];?></a></li>
<li id="copy"><a href='javascript:;'>
<i class="font-icon icon-copy"></i><?php echo $L['copy'];?></a></li>
<li id="rname"><a href='javascript:;'>
<i class="font-icon icon-pencil"></i><?php echo $L['rename'];?></a></li>
<li id="cute"><a href='javascript:;'>
<i class="font-icon icon-cut"></i><?php echo $L['cute'];?></a></li>
<li id="past"><a href='javascript:;'>
<i class="font-icon icon-paste"></i><?php echo $L['past'];?></a></li>
<li id="remove"><a href='javascript:;'>
<i class="font-icon icon-trash"></i><?php echo $L['remove'];?></a></li>
<li class="divider"></li>
<li id="zip"><a href='javascript:;'>
<i class="font-icon icon-folder-close"></i><?php echo $L['zip'];?></a></li>
<li id="download"><a href='javascript:;'>
<i class="font-icon icon-download"></i><?php echo $L['download'];?></a></li>
<li class="divider"></li>
<li id="info"><a href='javascript:;'>
<i class="font-icon icon-info"></i><?php echo $L['info'];?></a></li>
</ul>
</div>
</div>
<span class='msg'><?php echo $L['path_loading'];?></span>
</div>
@ -92,7 +124,7 @@
</button>
<div class="btn-group btn-group-sm">
<button id="set_theme" title="<?php echo $L['setting_theme'];?>" type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
<i class="font-icon icon-dashboard"></i>&nbsp;&nbsp;<span class="caret"></span>
<i class="font-icon icon-dashboard"></i>&nbsp;&nbsp;<span class="caret"></span>
</button>
<ul class="dropdown-menu pull-right dropdown-menu-theme">
<?php
@ -122,6 +154,7 @@
web_host : "<?php echo HOST;?>",
static_path : "<?php echo STATIC_PATH;?>",
basic_path : "<?php echo BASIC_PATH;?>",
public_path : "<?php echo PUBLIC_PATH;?>",
upload_max : "<?php echo $upload_max;?>",
version : "<?php echo KOD_VERSION;?>",
app_host : "<?php echo APPHOST;?>",

View File

@ -91,7 +91,7 @@
<div style="clear:both;"></div>
</div>
<div class="together">
<div class="title"><i><?php echo $L['setting_group'];?></i></div>
<div class="title"><i><?php echo $L['group_role_config'];?></i></div>
<a class="tag" href="javascript:;" data-role='user:changePassword'>
<input type="checkbox" class="checkbox"><span><?php echo $L['group_role_passowrd'];?></span>
</a>

View File

@ -15,3 +15,9 @@
权限前端验证(上传等 上传格式前端限制)
目录权限监 pathList时输出时代入目录权限(is_writeable);前端检测 新建、上传、删除、压缩、剪切
环境检测 目录权限(data目录必须可写)、GD库检测、set_time_out()...
设置默认根目录(个人设置)pathList=tree_init
共享目录测试 共享目录(地址栏显示问题)
树目录 根目录 点击没反应
集群