123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536 |
- Namespace.register("U.Dk"); //Disk的主命名空间
- //#region 初始化网盘
- //初始化网盘
- //
- //* @param {string} 用户id,可以是自己的用户id或者其他人的用户id。当为其他人的用户id时,为查看其他人的网盘信息
- //* @param {string} 目录id
- //* @param {string} 学习系统,博客目录,以后会删除不要。
- //* @returns {} 无
- //
- U.Dk.DiskLoad = function (userid, dirid) {
- //变量定义
- var _fileinfo, //文件信息
- _diskcontentdiv, //disk操作内容区域的元素
- _diskdiv, //disk整体元素
- _dirid = dirid, //目录id
- _isFirst, //导航到达时,判断是否为一级目录。如果为一级目录,则展开。
- _loginuserid = US.userInfo.userid || US.NU, //当前使用用户id
- _arriveDir, //根据dirid算出要到达的目录信息。
- _diskinfo = U.Dk.DiskOperatingSwitch(userid); //获取个人网盘的全局变量信息,返回类型为例:US.Disk.Disks["张三"]; //张三的网盘信息,张三需要用guid表示,US.Disk.Disks["95f7bacc-0b3a-4265-a2ea-15e066b97bf7"]
- //如果全局变量中有值,直接从全局变量中获取值。做这个目的是:用户已经生成弹框,直接从全局变量获取,否则,
- _diskdiv = $("#UD_SYW_" + userid)[0];
- //获取网盘右边的内容区域
- _diskcontentdiv = $("#UD_SYWT", _diskdiv)[0]; //获取元素内容区域
- if (userid) { //查看他人的文件,如果是在本地想打开自己的网盘必须先登录
- // 网盘数据为空的时候获取网盘的数据
- if (_diskinfo == null) { //网盘信息不存在,则加载网盘资料
- U.Dk.GetUserDisk(userid, dirid, _diskdiv, _diskcontentdiv); //加载网盘
- }
- //如果 不为空的话加载显示该网盘,_diskinfo[0] && _diskinfo.pdiv此判断是防止用户多次点击,多次加载数据
- else if (_diskinfo[0] && _diskinfo.pdiv) { //判断数据是否存在 && (!_selectElement || _selectElement == userid)
- U.Dk.Size(_diskdiv); //网盘大小设置
- _diskcontentdiv = $("#UD_SYWLTX", _diskinfo.pdiv)[0]; //清空头部导航栏
- _diskcontentdiv.innerText = "";
- U.Dk.LL.XWPDH([{ UserallDirectoryName: "我的协同", UserDirectoryID: "11111111-1111-1111-1111-111111111111" }, { UserallDirectoryName: "他人邀请", UserDirectoryID: "22222222-2222-2222-2222-222222222222"}], null, ["UD_SYWLTXOAIO", "UD_SYWLTXOAI"], _diskcontentdiv, userid);
- //打印左边树目录信息
- U.Dk.LL.XWPDH(_diskinfo[0].slice(0, 6), null, ["UD_SYWLCS", "UD_SYWLCF", "UD_SYWLCB", "UD_SYWLCT", "UD_SYWLCY", "UD_SYWLCP"], _diskcontentdiv, userid)
- ////初始化Disk用户资料,左边树目录上面区域,包括头像,用户名,追随按钮等。
- U.Dk.CSHYHWP(_diskinfo);
- //导航到达区域。因为现在是按需加载数据,不可能完全导航到达指定位置,则不做左边树目录展开功能。U.Json(_diskinfo[0]),给数组_diskinfo[0]赋予json方法。
- //var _tmp = new U.Json(_diskinfo[0]);
- //_arriveDir = _tmp.Select({ "UserDirectoryParentID": _dirid });
- //_arriveDir = U.Json.Select(_diskinfo[0],{ "UserDirectoryParentID": _dirid });
- //打开文件,目录及导航到达区域。因为现在是按需加载数据,不可能完全导航到达指定位置,则不做左边树目录展开功能
- U.Dk.LE.RecordNav([[U.Dk.LE.OpenFileDirectory, [_diskinfo[4][_dirid], userid]]]);
- }
- }
- else {
- alert("没有用户id!");
- }
- }
- //初始化网盘资料
- U.Dk.GetUserDisk = function (userid, dirid, diskdiv, diskcontentdiv) {
- // US.Disk.Disks 用户网盘数据前台存储的全局变量 该全局变量为一个数组 0为网盘所有目录的信息以数组形式 1为用户数组信息(0为当前用户基本信息集合,1为当前打开目录的id ,2为用户id,3未知,4网盘展示文件的格式形式样式),2为未知,3为未知 ,4、数据与0的数据是一样的,但是这里是以object形式展示的,这里可以更快的通过id去找指定的文件或者目录 pdiv为当前网盘用户的弹框
- var _loginuserid = US.userInfo.userid || US.NU; //登录用户的id,未登录为全0的Guid
- US.Disk.Disks[userid] = []; //定义用户网盘变量
- US.Disk.Disks[userid].pdiv = diskdiv; //以用户id设置全局变量,写入用户的操作硬盘的元素
- //dirid = U.Ut.isNumber(dirid) ? (dirid > -1 && dirid < 5 ? US.Disk.InitTree[dirid + (obj ? 2 : 0)][0] : US.FG) : dirid; //生成变量
- //数据库获取指定用户指定目录下的网盘数据
- U.A.Request(US.Auth, ["InitDisk", _loginuserid, userid, dirid], U.Dk.AsynCSXWP, [[diskcontentdiv, true], userid, dirid, _loginuserid]); //服务器加载
- }
- //异步获取
- U.Dk.AsynCSXWP = function (r) {
- //_loginid 当前登录用户id
- var i,
- context = r.context,
- _userid = context[1], //用户id
- _dirid = context[2], //目录id
- _loginuserid = context[3],
- _diskinfo = US.Disk.Disks[_userid]; //网盘的全局变量
- r = r.value;
- if (r) {
- //如果进来的用户是通过url进来,初始化变量的时候是用户名,这个时候把用户的全局变量改成以用户id作为标识的
- if (_userid != r[1].UserId) {
- $("#UD_SYW_" + _userid)[0].id = "UD_SYW_" + r[1].UserId;
- $("#U_D_" + _userid)[0].id = "U_D_" + r[1].UserId;
- _userid = r[1].UserId;
- }
- US.Disk.Disks[_userid] = _diskinfo;
- //把数据写入 US.Disk.Disks 这个全局变量中
- // U.D.SY.ET["Disk"]["SY"] = U.D.SY.ET["Disk"][_userid] = _diskinfo; // ; //添加
- _diskinfo = U.Dk.GUserBL(_userid, _dirid, null, r); //生成用户Disk变量
- //U.Dk.M.refreshfile(_dirid, r, _diskinfo); //撒选临时目录
- //如果成功获取到数据库里面的数据就把这些数据追加进去
- if (r[3]) {
- for (i = 0; i < r[3].length; i++) {
- _diskinfo[4][r[3][i].UserDirectoryID] = r[3][i];
- }
- }
- _diskinfo[1]["uid"] = _loginuserid; //使用用户的id,用于判断使用权限
- U.Dk.DiskLoad(_userid, _dirid); //打印网盘数据
- }
- else {
- U.Alert("帐号不存在...");
- $(_diskinfo.pdiv).remove();
- delete US.Disk.Disks[_userid];
- }
- }
- //初始化用户网盘音乐
- U.Dk.CSHYY = function (UIF, UTF) {
- var _UDOD,
- _userid = UIF.UserId || UIF.UserID,
- _UN = UIF.UserName,
- _UDE = U.D.SY.ET["FL"];
- if (_UDE[_userid]) {
- if (_userid == _UDE["userid"] && !UTF) {
- U.MPlayer.DKCSHYY();
- }
- else {
- U.MPlayer.YYLoad(US.MG, UIF, [[{ "UserallDirectoryName": _UN + "收听列表" }, [], _UDE[_userid]]]);
- }
- return _UDE[_userid];
- } //直接听取音乐
- else {
- U.A.Request(US.CD, [US.DB, "UseStudio_Disk", "GetDiskHallData", US.MG, US.NU, 0, 1000], U.Dk.AsynCSHYY, [[$("#UD_SYMMO")[0], true], UIF]);
- // U.A.Request(US.Auth,"UseStudioDisk.GetUserFNew", [US.NU, US.MG, 0, 1000, _userid, ""], U.Dk.AsynCSHYY, [[$("#UD_SYMMO")[0], true], UIF]);
- } //获取网盘音乐
- }
- //获取音乐异步
- U.Dk.AsynCSHYY = function (r) {
- var _UDE,
- context = r.context,
- _UIF = context[1],
- _userid = _UIF.UserId || _UIF.UserID;
- r = r.value;
- U.D.SY.ET["FL"][_userid] = r;
- U.Dk.CSHYY(_UIF, true);
- }
- //生成用户Disk变量
- U.Dk.GUserBL = function (userid, dirid, diskdiv, r) {
- var i, _disktree = {}, //一级目录转换成网盘树目录的变量
- _diskdir = US.Disk.InitTree.concat(), //初始化一级目录
- _diskinfo = US.Disk.Disks[userid]; //指定的userid 的网盘全局变量
- //补充disk网盘的全局变量数据 补充左边初始化目录数据我的电脑等
- for (i = 0; i < _diskdir.length; i++) { //初始化查看
- _diskdir[i] = new U.Dk.M.Entity(_diskdir[i][0], _diskdir[i][1], _diskdir[i][2], _diskdir[i][3], _diskdir[i][4], _diskdir[i][5], _diskdir[i][6], _diskdir[i][7], _diskdir[i][8], _diskdir[i][9], _diskdir[i][10], _diskdir[i][11], _diskdir[i][12], _diskdir[i][13], _diskdir[i][14], _diskdir[i][15], _diskdir[i][16]);
- _disktree[_diskdir[i].UserDirectoryID] = _diskdir[i];
- };
- _diskinfo.length = 0;
- _diskinfo.unshift(_diskdir, [((!r[1].UserDirectoryID && r[1].UserId == US.userInfo.userid) ? US.userInfo : r[1]), dirid, userid, diskdiv, "Normal"], null, null, _disktree);
- if (userid == US.userInfo.userid) {
- U.Dk.SGBL(userid, _diskinfo);
- }
- return _diskinfo; //初始化目录添加
- }
- //把群设置成网盘的文件夹,方便用户在网盘中直接打开群文件夹
- U.Dk.SGBL = function (userid, UDE) {
- var i, _UME = US.Friend[2];
- if (_UME) {
- for (i = 0; i < _UME.length; i++) {
- UDE[0].splice(6, 0, (UDE[4][_UME[i].GroupManageID] = new U.Dk.M.Entity(_UME[i].GroupManageID, 0, userid, _UME[i].GroupManageName, _UME[i].GroupManageName, "folder", null, U.MT.formatDateToArray(new Date()), U.UP.FFT("folder")[1], 1, null, null, 0, "", _UME[i].GroupManageID)));
- }
- }
- }
- //通过用户名搜索用户网盘信息
- U.Dk.getUserDiskByName = function (username) {
- var i, _userdisk, //获取的用户硬盘信息
- _diskinfo = US.Disk.Disks; //存储打开用户的网盘的信息
- for (i in _diskinfo) { //循环获取
- _userdisk = _diskinfo[i][1]; //查看用户网盘信息
- if (_userdisk && _userdisk[0].UserName == username) { //判断网盘信息的用户名是否等于传入的用户名
- return _userdisk[0];
- }
- }
- return {};
- }
- //初始化Disk用户资料,左边树目录上面区域,包括头像,用户名,追随按钮等。
- U.Dk.CSHYHWP = function (UDE) {//
- if ($("#UD_SYWRZ", UDE.pdiv)[0]) {
- var i, _UAE, _UCB,
- _UDTD,
- _userid = US.userInfo.userid,
- _UDOD = UDE.pdiv,
- _UDSD = $("#UD_SYWRZ", _UDOD)[0],
- _UIF = UDE[1][0],
- _UDED = $("#UD_SYWLTS", _UDOD).Child(),
- _UDAD = $("#UD_SYWLO", _UDOD).Child(), _UDCD = $("div", _UDAD[0]);
- //用户网盘信息设置
- _UDCD[0].innerText = _UDED[0].innerText = "";
- $$("img", { "onerror": U.M.ImgError, "title": "点击查看", "src": U.M.GetImgU(_UIF.UserThumbnailImageHead), "onclick": [[U.M.StopBubble], [U.U.I.ViewOtherUserInfo, [UDE[1][2]]]] }, _UDCD[0]); //[_UDCD[0], _UDED[0]]
- $$("img", { "onerror": U.M.ImgError, "title": "点击查看", "src": U.M.GetImgU(_UIF.UserThumbnailImageHead), "onclick": [[U.M.StopBubble], [U.U.I.ViewOtherUserInfo, [UDE[1][2]]]] }, _UDED[0]);
- _UDED[1].innerText = _UDCD[2].innerText = _UIF.UserNickName || _UIF.UserName; _UDCD[3].innerText = _UIF.UserIndividualitysignature || "暂无个人简介";
- if (_UIF.UserId != US.userInfo.userid) {
- _UDCD.addAttrArray({ "onclick": [[U.F.M.AddFriend, [_UIF]]], "style": { "display": "block"} }, 4);
- }
- else {
- _UDCD[4].style.display = "none";
- }
- //文件个数展示
- // _UDCD = $("div", _UDAD[1]);
- // _UAE = U.Dk.GetWPXX(UDE);
- // for (i = 0; i < 7; i++) {
- // _UDTD = _UDCD[(i + 1) * 4 - 1];
- // _UDTD.innerText = _UAE[i] > -1 ? _UAE[i] : 0; _UDTD = $(_UDTD).Parent();
- // _UDTD.onclick = U.M.apply(_UDTD, [[U.Dk.LL.MRHYHWP, ([_UDTD, (i - 2 ? (i > 1 ? i - 1 : i) : 6), UDE[1][2]])]]);
- // }
- //文件大小
- _UDCD = $("div", _UDAD[3]);
- _UAE = [_UIF.UserDiskSpace + "M", _UIF.FileSize + "B"];
- _UAE[2] = U.UP.GetSfileS(_UAE[0]) - U.UP.GetSfileS(_UAE[1]);
- for (i = 0; i < _UAE.length; i++) {
- _UAE[i] = U.UP.FileSize(_UAE[i]);
- }
- _UDCD[4].innerText = _UAE[2];
- _UDCD[7].innerText = _UAE[1];
- _UDCD[9].innerText = "所有文件:" + _UAE[1];
- _UDCD[10].innerText = "总大小:" + _UAE[0];
- //分享
- _UAE = [[(UDE[1][2] == US.userInfo.userid ? "" : ("回到")) + "我的分享", _UIF.FilesCount], ["好友查看", US.Friend[1] ? (US.Friend[1].length > 999 ? "999+" : US.Friend[1].length) : 0], ["群/讨论组", US.Friend[2] ? (US.Friend[2].length > 999 ? "999+" : US.Friend[2].length) : 0]];
- _UDCD = $("#UD_SYWRTC", _UDOD).Child();
- for (i = 0; i < _UDCD.length - 3; i++) {
- $(_UDCD[i]).addAttrArray({ onclick: [(i ? [U.Dk.LE.RecordNav, ([[[U.Dk.VW.XWPDYH, ([US.Friend[i], _UDSD])]]])] : [U.D.DT.YYDK, (["Disk", { "userid": _userid, "directoryid": US.FG}])])], innerHTML: _UAE[i][0] + "<span>(" + (_UAE[i][1] < 0 ? 0 : _UAE[i][1]) + ")</span>" });
- }
- _UDCD[4].onclick = U.M.apply(_UDCD[4], [[U.Dk.LE.aDomain, [UDE[1][2], UDE]]]);
- _UDCD[3].onclick = U.M.apply(_UDCD[3], [[U.Dk.DI.WPRMZL, [1, null, _userid]]]); //用户信息 好友 网盘 多少
- _UDCD = $("div", $("#UD_SYWRT", _UDOD)[0]);
- _UAE = ["folder", "txt", "uw", "ue"];
- _UDCD[5].onclick = U.Dk.RE.TSXXML;
- for (i = 1; i < 5; i++) {
- _UDCD[i].onclick = U.M.apply(_UDCD[i], [[U.Dk.RE.WPXJWJ, [_UAE[i - 1], null, UDE[1][2]]]]);
- }
- (_UDCD[0].onmousedown = U.M.apply(this, [[U.Dk.UP.SCXWPOP, [_UDCD[0], { "DS": true, "ID": "UD_SYWRTS" }, UDE[1][2]]]]))(); //新建文件和上传
- //设置前进后退
- _UDCD = $("div", $("#UD_SYWRY", _UDOD)[0]);
- _UAE = [[U.AFB.DrawBack, ["Disk" + UDE[1][2]]], [U.AFB.GoForward, ["Disk" + UDE[1][2]]]];
- for (i = 0; i < _UAE.length; i++) {
- _UDCD[i].onclick = U.M.apply(_UDCD[i], [_UAE[i]]);
- } //设置前进后退
- //功能绑定
- _UDAD = $("#UD_SYWRKZ", _UDOD).Child();
- for (i = 0; i < _UDAD.length; i++) {
- _UDAD[i].onclick = U.M.apply(_UDAD[i], [[i ? U.Dk.HP.XWPDYQH : U.Dk.HP.WPWJPX, (i ? [_UDAD[i], i - 1, UDE[1][2]] : ["UserDirectoryAddTime", U.MT.SizeComparison, UDE[1][2]])]]);
- }
- (_UDAD = $("#UD_SYSXZTSIO", _UDOD)[0]).onclick = U.M.apply(_UDAD, [[U.Dk.S.SSWPBD, [$("input", $(_UDAD).Parent())[0], _UDSD, UDE[1][2]]]]);
- U.Dk.CSHYHWPXS($("#UD_SYWRM", _UDOD)[0], UDE); //查询
- (_UDAD = $("input", _UDOD)[2]).onclick = U.M.apply(this, [[U.Dk.VW.XWPDYLXZ, [_UDAD, _UDSD, UDE[1][2]]]]);
- //右键菜单
- $("#UD_SYWM", _UDOD)[0].style.display = "none";
- (_UDAD = $(_UDSD)).addAttrArray({ "onmouseup": [(_UAE = [U.Dk.RM.WPYJCD, [_UDAD[0], null, null, null, UDE[1][2]]])], "onmousedown": [_UAE] });
- _UDOD.onclick = U.M.apply(_UDAD, [[U.Dk.RM.WPYJCD, [null, null, null, null, UDE[1][2]]]]); //取消
- }
- }
- //设置详细视图菜单区域事件
- U.Dk.CSHYHWPXS = function (UDOD, UDE) {
- var _UDTD = $(UDOD),
- _UDAD = _UDTD.childg(),
- _UAE = ["",
- [null, U.M.apply(this, U.Dk.HP.WPWJNPX), UDE[1][2]], "",
- [null, U.M.apply(this, [[U.Dk.HP.WPWJPXLX, ["UserName"]]]),
- UDE[1][2]],
- [null, U.M.apply(this, [[U.Dk.HP.WPWJPXLX, ["UserDirectoryExtendType"]]]),
- UDE[1][2]],
- ["UserDirectorySize", U.UP.IsSizeS, UDE[1][2]], ["UserDirectoryAddTime",
- U.MT.SizeComparison, UDE[1][2]]];
- _UCB = U.M.apply(this, [[U.Dk.HP.DXSTSY, [_UDTD[0], _UDTD.next()[0], UDE, 1]]]);
- for (i = 0; i < _UAE.length; i++) {
- (_UDTD = _UDAD[i * 2]).onclick = _UAE[i] ? U.M.apply(_UDTD, [[U.Dk.HP.WPWJPX, _UAE[i]]]) : null; (_UDTD = _UDAD[i * 2 + 1]);
- (_UDTD) && (_UDTD.onmousedown = U.M.apply(this, [[U.D.DragAb, [_UDTD, { tf: true, upcb: _UCB}]]]));
- }
- }
- //网盘大小调整
- U.Dk.Size = function (UDOD, userid) {
- var i, _UH, _UW, _UDOD, _UDTD, _UDAD, _UDCD,
- _UGE = US.Disk.Disks;
- for (i in _UGE) {
- if (_UGE.hasOwnProperty(i) && (userid == null || i == userid) && (_UGE[i][2] == null && (_UDOD = _UGE[i].pdiv) && (UDOD == null || UDOD == _UDOD) && $(_UDOD).Parent({ usform: "true" }).style.display != "none")) { //变化使用
- _UDTD = $("#UD_SYWRM", _UDOD);
- _UDOD = $(_UDOD);
- _UDAD = _UDOD.childg()[0];
- _UDAD = $(_UDAD).Child();
- _UW = _UDOD[0].offsetWidth;
- (_UDOD = _UDAD[2]).style.width = (_UW = _UW - _UDAD[0].offsetWidth - 3) + "px";
- _UDAD = $(_UDOD).childg()[1];
- _UDAD = $(_UDAD).Child(); //设置展示区域的长度
- _UDAD[2].style.height = (_UH = _UDOD.offsetHeight - _UDAD[2].offsetTop - 2) + "px";
- $(_UDAD[0]).Child()[3].style.width = _UW - 500 + "px";
- (_UGE && _UGE[1]) && (U.Dk.HP.DXSTSY(_UDTD[0], _UDTD.next()[0], _UGE));
- }
- }
- }
- /*
- 功能:用户操作切换,可以查看多个用户的硬盘,所以需要切换。登录用户和非登录用户有不同权限。
- 参数一:用户id
- 参数二:登录用户的用户名,未登录用户传递""。 只有这U.D.DT.YYDK函数中才有UN的定义。
- 返回值:当前操作的用户树目录。
- 问题:在用户登录时至少调用了五次,为什么?
- */
- U.Dk.DiskOperatingSwitch = function (userid, username) {
- userid = userid || US.userInfo.userid; //如果有用户id,则userid为用户id,否则为登录用户id。
- if (userid) {
- var i, _userinfo, //需要返回的用户网盘信息
- _diskinfo = US.Disk.Disks; //_UCE为包含了所有用户硬盘信息的集合。
- if (_diskinfo && !_diskinfo[userid]) { //判断用户的网盘信息是否可以通过userid找到
- for (i in _diskinfo) { //循环网盘信息
- if (_diskinfo[i] && _diskinfo[i][1] && _diskinfo[i][1][0] && _diskinfo[i][1][0].UserName == username) { //这里也会有null情况,因为这个变量的定义在U.A.Request之前,所以可能会存在还没有获取数据就在此进入这个函数的情况
- userid = _diskinfo[i][1][0].UserId;
- }
- }
- }
- US.Disk.UserDisk = _diskinfo[userid]; //设置当前使用的网盘用户的信息为得到的用户id
- return _diskinfo[userid];
- }
- }
- //#endregion
- //#region 论坛网盘处理
- /**
- * 初始化论坛网盘
- *
- * @param {string} 目录id
- * @param {object} 论坛网盘数据集合
- * @return {object} 命名空间
- */
- U.Dk.LTWP = function (UDID, UDE) {
- //U.Dk.DiskLoad(UDE["UserDirectoryID"], UDID, UDE); //初始化网盘资料
- //如果用户id不等于guid同时userid又存在的话,那么通过用户名去获取用户的id
- // if (userid && userid.length != 36) {
- // userid = U.Dk.getUserDiskByName(userid)["UserId"] || userid;
- // }
- //变量定义
- var _fileinfo, //文件信息
- _diskcontentdiv, //disk操作内容区域的元素
- _diskdiv, //disk整体元素
- _dirid = dirid, //目录id
- _loginuserid = US.userInfo.userid || US.NU, //当前使用用户id
- _diskinfo = U.Dk.DiskOperatingSwitch(userid); //获取网盘信息
- //获取网盘弹框
- if (_diskinfo && _diskinfo.pdiv) {
- _diskdiv = _diskinfo.pdiv;
- }
- else {
- _diskdiv = $((obj ? "#UD_SYWO_" : "#UD_SYW_") + userid)[0];
- if (_diskinfo) {
- _diskinfo.pdiv = _diskdiv
- }
- }
- //获取网盘右边的内容区域
- _diskcontentdiv = $("#" + (obj ? "UD_SYWOCRC" : "UD_SYWT"), _diskdiv)[0]; //获取元素内容区域
- /*
- //获取目录id
- if (dirid == null || dirid.toString().length != 32) { //如果传入的目录id不为guid
- if (_diskinfo && _diskinfo[1] && _diskinfo[1][1]) { //判断是否已经加载成功网盘数据了,如果成功就获取当前网盘打开的目录
- _dirid = _diskinfo[1][1];
- }
- else {
- _dirid = US.FG;
- }
- }
- else {
- _dirid = dirid;
- }
-
- dirid = _dirid;
- */
- if (userid || (!U.U.L.isLogin(3))) { //查看他人的文件,如果是在本地想打开自己的网盘必须先登录
- // 网盘数据为空的时候获取网盘的数据
- if (_diskinfo == null) { //网盘信息不存在,则加载网盘资料
- U.Dk.GetUserDisk(userid, dirid, _diskdiv, _diskcontentdiv, obj); //加载网盘
- }
- //如果 不为空的话加载显示该网盘
- else if (_diskinfo[0] && _diskinfo.pdiv) { //判断数据是否存在 && (!_selectElement || _selectElement == userid)
- (obj ? U.Dk.PbSize : U.Dk.Size)(_diskdiv); //大小设置
- if (obj) { //初始化pb网盘 不理
- _diskinfo[2] = obj;
- U.Dk.LTWPDH(obj, _diskinfo);
- U.Dk.SYWPBJYH(_diskinfo[0].slice(5), $("#UD_SYWOCLDU", _diskinfo.pdiv)[0]);
- }
- else { //初始化个人网盘
- _diskcontentdiv = $("#UD_SYWLTX", _diskinfo.pdiv)[0]; //清空头部导航栏
- _diskcontentdiv.innerText = "";
- U.Dk.LL.XWPDH(_diskinfo[0].slice(0, 6), null, ["UD_SYWLCS", "UD_SYWLCF", "UD_SYWLCB", "UD_SYWLCT", "UD_SYWLCY", "UD_SYWLCP"], _diskcontentdiv, userid)
- // .style.display = "block";
- U.Dk.CSHYHWP(_diskinfo);
- _diskcontentdiv = $("#UD_SYWRZ", _diskinfo.pdiv)[0];
- }
- (dirid.length == 36) && (dirid = _diskinfo[0].objIndexOf({ "UserDirectoryID": dirid }));
- dirid = dirid < 0 ? _dirid : dirid;
- if (U.Ut.isString(_dirid) && (dirid == -1 || dirid > 5)) { //指定目录到达
- _fileinfo = _diskinfo[4][_dirid];
- //如果为文件使用出发处理
- if (_fileinfo.filetype) {
- U.Dk.LE.RecordNav[[U.Dk.LE.OpenFileDirectory, [_diskinfo[4][_fileinfo.UserDirectoryParentID], userid]]]; //目录指引到指定的位置
- U.Dk.LE.OpenFileDirectory(_diskinfo[4][_dirid], userid); //文件查看处理
- }
- //文件夹处理
- else {
- U.Dk.LE.RecordNav[[U.Dk.LE.OpenFileDirectory, [_diskinfo[4][_dirid], userid]]];
- }
- }
- else if (Guid.isGuid(dirid) || Guid.isGuid(_dirid)) { //指引到达网盘信息
- U.Dk.LE.RecordNav([[U.Dk.LE.OpenFileDirectory, [_$(_diskinfo[0]).Select({ "UserDirectoryParentID": _dirid }), { UserDirectoryID: _dirid }, userid]]]);
- }
- else { //导航目录点击
- _fileinfo = _diskinfo[2] ? ["UD_SYWOC", dirid < 0 ? 0 : dirid - 1] : ["UD_SYWLTXO", dirid < 0 ? 1 : dirid];
- if (_fileinfo[0] == "UD_SYWOC") {
- _fileinfo[0] = $("#" + _fileinfo[0], _diskinfo.pdiv).Child()[_fileinfo[1]].onclick();
- }
- else {
- _fileinfo[0] = $("#" + _fileinfo[0], _diskinfo.pdiv).childg()[_fileinfo[1]];
- _fileinfo[0] = $(_fileinfo[0]).Child()[0].onclick();
- }
- }
- }
- }
- }
- //初始化论坛资料
- U.Dk.LTWPDH = function (UDE, UGE) {
- if ($("#UD_SYWOC")[0], UGE.pdiv) {
- var i,
- _UDKD = UGE.pdiv,
- _UDTD = $("#UD_SYWOC", _UDKD),
- _UDOD = $("div", _UDTD[0]),
- _UAE;
- //设置文件数量
- for (i = 0; i < 5; i++) {
- _UDTD = _UDOD[i * 4 + 3];
- (_UDTD = $(_UDTD).Parent()).onclick = U.M.apply(_UDTD, [[U.Dk.LL.MRHYHWP, [_UDTD, (i ? i + 1 : 6), UGE[1][2]]]]);
- } //_UDTD.innerText = _UAE[i] < 0 ? 0 : _UAE[i];
- //论坛信息设置
- _UDOD = $("#UD_SYWOM", _UDKD).Child();
- _UDCD = $("div", _UDOD[1]); _UDCD[1].innerText = UDE["UserDirectoryName"];
- _UDCD[5].innerText = "分类:" + ((UDE.Parent || "").UserDirectoryName || "学习系统"); //_UDCD[4].innerText = UDE.UserDirectoryDescript || "版块暂时还未添加简介";
- _UDCD = $("div", _UDCD[6]); _UAE = [UDE.ACF, UGE[1][0].FilesCount, UDE.DCF];
- for (i = 0; i < 3; i++) {
- _UDCD[i * 3 + 2].innerHTML = _UAE[i];
- }
- //事件赋值
- (_UDAD = $("#UD_SYWOMCSI", _UDKD)[0]).onclick = U.M.apply(_UDAD, [[U.Dk.S.SSWPBD, [$("input", $(_UDAD).Parent())[0], $("#UD_SYWOCRC", _UDKD)[0], UGE[1][2]]]]);
- _UDCD = $("div", _UDOD[2]);
- _UAE = [[U.Dk.RE.WPXJWJ, ["folder", (_UDTD = _UDKD), UGE[1][2]]],
- [U.Dk.RE.WPXJWJ, ["uw", _UDTD, UGE[1][2]]],
- [U.Dk.RE.WPXJWJ, ["ue", _UDTD, UGE[1][2]]],
- [U.M.StopBubble], [U.Dk.HP.XWPDYQH, [_UDCD[5], 0, UGE[1][2]]],
- [U.Dk.HP.XWPDYQH, [_UDCD[6], 1, UGE[1][2]]]];
- U.Dk.CSHYHWPXS($("#UD_SYWRMO", _UDKD)[0], UGE);
- (_UDCD[0].onmousedown = U.M.apply(_UDCD[0], [[U.Dk.UP.SCXWPOP, [_UDCD[0], { "ID": "UD_SYWRTSO", "DS": true }, UGE[1][2]]]]))();
- for (i = 1; i < _UDCD.length; i++) { _UDCD[i].onclick = U.M.apply(_UDCD[i], [_UAE[i - 1]]); } //详细视图使用 //设置上传,和新建文件夹 视图切换
- (_UDAD = $("input", _UDKD)[1]).onclick = U.M.apply(this, [[U.Dk.VW.XWPDYLXZ, [_UDAD, $("#UD_SYWOCRC", _UDKD)[0], UGE[1][2]]]]);
- //右键
- (_UDCD = $("#UD_SYWOCRC", _UDKD)[0]).onmousedown = _UDCD.onmouseup = U.M.apply(_UDCD, [[U.Dk.RM.WPYJCD, [_UDCD, null, null, null, UGE[1][2]]]]); //右键菜单
- $("#UD_SYWMO", _UDKD)[0].onclick = _UDTD.onclick = U.M.apply(_UDTD, [[U.Dk.RM.WPYJCD, [null, null, null, null, UGE[1][2]]]]); //取消
- U.AFB.RGoL("Disk" + UGE[1][2]); //前进后退
- }
- }
- //网盘论坛大小设置
- U.Dk.PbSize = function (UDOD, UDID) {
- var i, _UH, _UW, _UDOD, _UDAD, _UDE,
- _UGE = US.Disk.Disks;
- for (i in _UGE) { //所有的网盘
- if (_UGE.hasOwnProperty(i) && (_UDE = _UGE[i]) && _UDE[2] && ((UDID == null || UDID == i)) && ((UDOD == null || UDOD == _UDE.pdiv) && (_UDOD = _UDE.pdiv))) {
- _UDOD = $(_UDOD);
- _UDAD = _UDOD.Child();
- _UH = _UDOD[0].offsetHeight;
- _UW = _UDOD[0].offsetWidth;
- _UDAD[2].style.height = _UH - 71 + "px";
- _UDAD = $(_UDAD[2]).Child();
- _UDAD[2].style.width = _UW - _UDAD[0].offsetWidth - 6 + "px";
- _UDAD = $(_UDAD[2]).Child();
- (_UDE) && (U.Dk.HP.DXSTSY(_UDAD[0], _UDAD[1], _UDE));
- _UDAD[1].style.height = _UH - _UDAD[1].offsetTop - 71 + "px"; //设置详细视图大小变化
- }
- }
- }
- //论坛编辑用户打印
- U.Dk.SYWPBJYH = function (UDE, UDOD) {
- var i, j = 0,
- _UAE = {},
- _UDFD = $$("frag");
- UDOD.innerText = "";
- for (i = 0; (i < UDE.length && j < 8); i++) {
- if (UDE[i]["UserId"] && !_UAE[UDE[i]["UserId"]]) {
- $$("img", { "onerror": U.M.ImgError, "title": UDE[i]["UserNickName"] || UDE[i]["UserName"], "src": U.M.GetImgU(UDE[i].UserThumbnailImageHead), "onclick": [[U.M.StopBubble], [U.U.I.ViewOtherUserInfo, [UDE[i].UserId]]] }, _UDFD);
- _UAE[UDE[i]["UserId"]] = true; j++;
- }
- }
- UDOD.appendChild(_UDFD);
- }
- //#endregion
|