| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330 | Namespace.register("U.Dk.HP"); //网盘功能使用区域//#region 网盘功能区域//网盘文件排序U.Dk.HP.WPWJPX = function (UTF, UCB, userid) { //↑ ↓    var i, j, _UFT,      _UGE = U.Dk.DiskOperatingSwitch(userid),    _UDE = _UGE[1][1] ? _$(_UGE[0]).Select({ "UserDirectoryParentID": _UGE[1][1] }) : _UGE[1][5].concat(), _UDOD = $("#" + (_UGE[2] ? "UD_SYWOCRC" : "UD_SYWRZ"), _UGE.pdiv)[0], _UDAD = $(_UDOD).Child(), _UL = _UDAD.length, _UDFD = $$("frag");    if (_UDAD.length) {        for (i = 0; i < _UL; i++) {            if (_UDAD[i].id.indexOf(_UDE[i]["UserDirectoryID"]) == -1) {                _UFT = true; break;            }        };        if (!_UFT) {            if (UTF) {                U.M.Sequence(_UDE, UTF, UCB, UTF === "UserDirectoryAddTime" ? -1 : 1);            }            else if (UCB) {                _UDE = UCB(_UDE);            }        } //排序        for (i = 0; i < _UL; i++) {            _UDFD.appendChild(_UDAD[(j = _UDAD.objIndexOf({ "id": "R" + _UDE[i]["UserDirectoryID"] }))]);            _UDAD.splice(j, 1)[0];        };        _UDOD.appendChild(_UDFD);    }}//按照文件类型排序U.Dk.HP.WPWJPXLX = function (UTF, UDE) {    var i, _UTP, _UAE = {};    for (i = 0; i < UDE.length; i++) {        _UTP = UDE[i][UTF];        (!_UAE[_UTP]) && (_UAE[_UTP] = []);        _UAE[_UTP].push(UDE[i]);    }    return _$(_UAE).Merger(); //此处已经返回,下面的代码有什么意义?    //详细视图普通视图    if (!UTM) {        if (_UDTD && $(_UDTD).Parent().id.indexOf(_UGE[1][1]) > -1) {            _UDTD.onclick();        }        else {            U.Dk.LE.RecordNav([[U.Dk.LE.OpenFileDirectory, [_UGE[1][1] ? _$(_UGE[0]).Select({ "UserDirectoryID": _UGE[1][1] })[0] : _UGE[1][5], userid]]]);        }    }    else {        _UDPD.style.width = "";    }}//文件名字排序U.Dk.HP.WPWJNPX = function (UDE) {    _$(UDE).sort("UserDirectoryName", 1); return UDE;}//详细视图和普通视图切换U.Dk.HP.XWPDYQH = function (UDOD, UTF, userid, UTM) {    var i, _UDSD,    _UGE = U.Dk.DiskOperatingSwitch(userid),    _UDTD = U.D.SY.ET["Disk"]["SY"]["DJ"],    _UDAD = $($(UDOD).Parent()).Child(),    _UDPD = $("#" + (_UGE[2] ? "UD_SYWOCRC" : "UD_SYWRZ"), _UGE.pdiv)[0],    _UDE = UTF ? ["UD_SYWRKZOP UD_SYWRKZOPI", "UD_SYWRKZOS"] : ["UD_SYWRKZOP", "UD_SYWRKZOS UD_SYWRKZOSI"];    if (_UGE[1][1] || _UGE[1][5].length) {        _UGE[1][4] = UTF ? "Details" : "Normal"; for (i = 0; i < _UDE.length; i++) { _UDAD[_UDAD.length - 1 - i].className = "UD_SYWRKZOI UD_SYID " + _UDE[i]; } //点亮标题        (_UDSD = $("#UD_SYWRM" + (_UGE[2] ? "O" : ""), _UGE.pdiv))[0].style.display = UTF ? "block" : "none"; _UDSD.find("input")[0];        if (_UGE[1][5].length) { _UDPD.style.height = $(_UDPD).Parent(2).offsetHeight - _UDPD.offsetTop - 2 + "px"; }        if (!UTM) {            if (_UDTD && (_UDTD = $(_UDTD).Parent()).id.indexOf(_UGE[1][1]) > -1) {                $(_UDTD).Child()[0].onclick();            }            else {                U.Dk.LE.RecordNav([[U.Dk.LE.OpenFileDirectory, [_UGE[1][1] ? _$(_UGE[0]).Select({ "UserDirectoryID": _UGE[1][1] })[0] : _UGE[1][5], userid]]]);            }        }        else { _UDPD.style.width = ""; } //详细视图普通视图    }    else { U.Alert("本区域没有视图模式"); }}//详细视图的大小变化使用U.Dk.HP.DXSTSY = function (UDOD, UDTD, UDE, UTF) {    var i, j, k, _UCE, _UDSD,    _UDID = UDE[1][1],    _UW = $(UDOD).width(),     _UDAD = $(UDOD).Child(),     _USE = [[UDOD], $(UDTD).Child()],     _UDFD = $$("frag"),     _UAE = [0.1, 0.2, 0.1, 0.15, 0.15, 0.15, 0.14];    UTF = UTF || (_UDAD[0].style.width ? 1 : 0);    if (UDE[1][4] == "Details" && (_UDID && UDE[1][5].length) && ((UTF && (_UDID ? _$(UDE[0]).Select({ "UserDirectoryParentID": _UDID }).length : UDE[1][5].length)) || !UTF)) {        for (i = UTF || 0; i < _USE.length; i++) {            for (j = 0; j < _USE[i].length; j++) {                _UDSD = $(_USE[i][j]).Child();                for (k = 0; k < _UAE.length; k++) {                    _UDSD[k * (-(i - 2))].style.width = UTF ? _UDAD[k * 2].style.width : (_UW * _UAE[k] + (i - 2) + "px");                }            }        }        UDTD.style.width = UDOD.style.width;        UDTD.style.minWidth = UDOD.style.minWidth;    }}//整体点击U.Dk.HP.WPZTJD = function (UDOD) {    var i,    _UDID = $("input", UDOD),    _UE = U.M.GetMousep(),    _UTF = UDOD.componentFromPoint(_UE["MX"], _UE["MY"]);    for (i = 0; i < _UDID.length; i++) {        _UDID[i].blur();    } // (_UTF == "outside" || _UTF.indexOf("scroll") > -1) && (U.M.StopBubble());}/*** 判断是否具有添加网盘的操作权限 判断是否有添加的权限 和 获取的权限* @param  {string}  操作的目录id* @param  {array}  用户的网盘信息* @return  {array}  文件的权限信息*            0 目录id*            1-n 所有涉及到权限信息   ( 2只允许下载 1只允许上传)**/U.Dk.HP.ZDQXWPHQ = function (dirid, diskinfo) {    var i, _permi,    _fileinfo = diskinfo[4][dirid], //获取当前操作目录的目录信息    _dirs = [],    _returns = [];    //该目录未加载或者该目录id加载的不是目录,如我的协同、最近文件等    if (_fileinfo) {        //获取当前操作的目录所有的祖先文件夹        _dirs = U.Dk.HP.GetAncestors(_fileinfo, diskinfo);        _returns.push(_dirs);        for (i = 0; i < _dirs.length; i++) {            _permi = _dirs[i].UserDirectoryEncrypt; //获取该目录的操作权限的方式            if (_permi == "1" || _permi == "2") { //判断是否有上传下载权限                _returns.push(_permi); break;            }        } //获取权限    }    return _returns;}/*** 判断是否具有添加网盘的操作权限 判断是否有添加的权限 和 获取的权限* @param  {string}  操作的目录id* @param  {array}  用户的网盘信息* @param  {object}  在该目录下操作的文件* @return  {array}  得到操作权限数组*           0 判断该目录是否允许下载   1、自己建立的目录是可以上传的 2、ftp中没有限制只允许上传的是可以下载*           1 判断该目录是否允许上传  1、自己建立的目录是可以下载的 2、没有限制只允许上传的可以下载*           2 判断是否具有添加网盘的操作权限 判断是否有添加的权限 和 获取的权限*           3 获取上传的目录用户对应的临时目录*           4 判断操作的文件是否有本人有关 包含是本人创建、本人网盘里、在本人创建的群里*/U.Dk.HP.WPCZQXHQ = function (dirid, diskinfo, fileinfo) {    diskinfo = diskinfo || US.Disk.UserDisk; //需要操作的当前用户的网盘信息    var _isupload, //判断该目录是否允许下载   1、自己建立的目录是可以上传的 2、ftp中没有限制只允许上传的是可以下载        _isdownload, //判断该目录是否允许上传  1、自己建立的目录是可以下载的 2、没有限制只允许上传的可以下载        _tempdir, //获取上传的目录用户对应的临时目录        _isfileuser; //判断操作的文件是否有本人有关 包含是本人创建、本人网盘里、在本人创建的群里    //获取需要操作的文件夹,如果是传入的目录id为空,获取当前需要操作的目录id    if (!dirid) {        dirid = diskinfo[1][1];    }    var _userid = US.userInfo.userid,        _permis = U.Dk.HP.ZDQXWPHQ(dirid, diskinfo); //判断是否具有添加网盘的操作权限 判断是否有添加的权限 和 获取的权限    //根据上面调用的函数返回的目录的信息,如果没有返回说明操作的不是目录    if (_permis[0]) {        var _dirinfo = _permis[0][_permis[0].length - 1]; //获取目录使用最大的祖先目录        //该目录加载的形式有问题 主要是导航直接到达的目录        if (_dirinfo) {            //判断该目录是否允许下载   1、自己建立的目录是可以上传的 2、ftp中没有限制只允许上传的是可以下载            _isupload = (diskinfo[1][2] == _userid) || (_dirinfo.UserDirectoryID == US.FG && _permis[1] != "2");            //判断该目录是否允许上传  1、自己建立的目录是可以下载的 2、没有限制只允许上传的可以下载            _isdownload = (_userid == diskinfo[1][2]) || (_permis[1] != "1");            //获取上传的目录用户对应的临时目录            _tempdir = U.Dk.HP.LSWJCL(diskinfo);            if (fileinfo) {                //判断操作的文件是否有本人有关 包含是本人创建、本人网盘里、在本人创建的群里                _isfileuser = (fileinfo.UserId != _userid) && (_userid != diskinfo[1][2]) && _$(US.Friend[2]).Select({ "GroupManageID": _dirinfo.UserDirectoryID })[0].GroupManageCreateUserID == _userid;            }            return [_isupload, _isdownload, _permis, _tempdir, _isfileuser];        }    }    //文件不存在默认返回无权限操作处理    return [false, false, false, false, false];}//获取所有目录文件的文件和文件大小U.Dk.HP.MLWJSY = function (UDE, UGE) {    var i, j,    _UME = [0],    _UCE = _$(UDE).Select({ "filetype": 1 }),    _USE = _$(UDE).Select({ "filetype": 0 });    UGE = UGE || US.Disk.UserDisk[0];    for (i = 0; i < _USE.length; i++) {        for (j = 0; j < UGE.length; j++) {            if (UGE[j].UserDirectoryParentID == _USE[i].UserDirectoryID) {                (UGE[j].filetype == 1 ? (_UME[0] += UGE[j].UserDirectorySize, _UCE) : _USE).push(UGE[j]);            }        }    }    _UME.unshift(_UCE); _UME.push(_USE); return _UME;}//判断是否为临时文件夹 #errorU.Dk.HP.LSWJCL = function (diskinfo) {    var _userinfo = diskinfo[1][0];    return _userinfo.DHID + "," + _userinfo.BHID + "," + (_userinfo.UserDiskND || []).join(",");}/*** 获取目录树的一条线上的所有祖先* @param  {string}  操作的目录id* @param  {array}  用户的网盘信息* @param  {object}  在该目录下操作的文件* @return  {array}  得到操作权限数组*           0 判断该目录是否允许下载   1、自己建立的目录是可以上传的 2、ftp中没有限制只允许上传的是可以下载*           1 判断该目录是否允许上传  1、自己建立的目录是可以下载的 2、没有限制只允许上传的可以下载*           2 判断是否具有添加网盘的操作权限 判断是否有添加的权限 和 获取的权限*           3 获取上传的目录用户对应的临时目录*           4 判断操作的文件是否有本人有关 包含是本人创建、本人网盘里、在本人创建的群里*/U.Dk.HP.GetAncestors = function (fileinfo, diskinfo) {    var _ancestors = [], //这里是需要返回的祖先        _dirid = fileinfo.UserDirectoryID //搜索的目录id    ;    //不断的循环寻找自己的祖先    while (diskinfo[4][_dirid]) {        _ancestors.push(diskinfo[4][_dirid]); //找到后追加        _dirid = diskinfo[4][_dirid].UserDirectoryParentID; //设置搜索的目录id为上级的id不断的向上搜索祖先    }    return _ancestors; //返回自己的祖先元素}//递归获取目录U.Dk.HP.DGHQML = function (userid, UDID) {    var _UGE = U.Dk.DiskOperatingSwitch(userid);}//#region 网盘拖动//网盘拖动变化U.Dk.HP.WPTDSY = function (UDOD, UCB) {    U.D.DragAb(UDOD, { scb: UCB });}//#endregion//#region/*** 弹出选择网盘还是上传** @param  {string} 文件分类的id-----------------US.DG* @param  {string}* @param  {object} 传参-----------------FCP 上传成功处理-----------------CB 选择文件处理*/U.Dk.HP.FileSwitch = function (UDID, UTF, UDE, UP) {    var _UXY = U.M.GetMousep(),    _UGE = U.Dk.DiskOperatingSwitch(US.userInfo.userid),    _UME = $("body").GetElementInfo(),    _UDOD = $$("div", { "className": "UD_SYQZOCC" }),    _UDTD = $$("div", { "className": "UD_SYQZOCCL", "style": { "border": "0"} }, _UDOD),    _UDSD = $$("div", { "className": "UD_SYQZOCCLH" }, _UDTD);    _UDSD.onmousedown = U.M.apply(_UDSD, [[U.Dk.UP.SCXWPOP, [_UDSD, { "GS": "UP", "FCP": UDE.FCP, "URL": "http://main.1473.cn/USupfile.ashx?iframename=UseStudioEditor", "ID": Guid.newGuid() }, US.userInfo.userid, true]]]);    $$("span", { "innerHTML": "↑" }, _UDSD);    $$("span", { "className": "UD_SYQZOCCLO", "innerHTML": "本地上传" }, _UDSD);    if (_UGE) {        _UDTD = $$("div", { "className": "UD_SYQZOCCL", "id": "UD_SYQZOCCL" }, _UDOD);        $$("div", { "className": "UD_SYQZOCCLI UD_SYWLCT UD_SYID" }, _UDTD);        $$("span", { "className": "UD_SYQZOCCLO", "innerHTML": "云盘添加", "onclick": [[U.Dk.VW.CCWPXZK, [UDID, { onclick: UDE.CB }, UTF]]] }, _UDTD);    }    //弹出选择框    U.UI.Form({ draw: false, min: false, max: false, right: "true", attr: { "onmousedown": U.M.StopBubble }, del: "remove",        style: { width: _UGE ? "261px" : "130px", height: "85px", top: _UXY["Y"] + (UP ? 10 : -100) / (_UGE ? 1 : 2) + _UME["ST"] + "px", left: _UXY["X"] - 130 + _UME["SL"] + "px" }, content: _UDOD, title: "文件选择",        hst: { style: { "padding": "0 0 0 10px"} }, bst: { "style": { overflow: "hidden"} }    });    _UDSD.onmousedown(); //加上上传控件}/*** 弹出选择网盘还是上传** @param  {string} 文件的后缀* @return  {object} */U.Dk.HP.GetIcon = function (extendtype) {    var i,        _application = US.Disk.ApplicationTypes; //获取所有打开应用的信息    //循环信息中找到指定的应用的信息    for (i in _application) {        //找到后缀名对应的程序信息        if (_application[i].types.indexOf(extendtype) > -1) {            return _application[i]; //返回应用的信息        }    }    return _application["unknownfile"]; //如果是本站未知的后缀直接归属于文件}//#endregion
 |