Access.min.js 5.3 KB

1
  1. MWF.xApplication.Forum.IS_LOGIN=false;MWF.xApplication.Forum.ForumSetting=null;MWF.xApplication.Forum.RoleInfoList=[];MWF.xApplication.Forum.PermissionInfoList=[];MWF.xApplication.Forum.isBBSSystemAdmin=false;MWF.xApplication.Forum.Access=new Class({initialize:function(i,t,n){this.actions=i;this.lp=t;this.userName=n||layout.desktop.session.user.distinguishedName||"";this.anonymous=layout.desktop.session.user.name=="anonymous";if(this.anonymous){MWF.Actions.get("x_organization_assemble_personal").getRegisterMode(function(i){this.signUpMode=i.data.value}.bind(this),null,false)}if(!MWF.xApplication.Forum.ForumSetting){MWF.xApplication.Forum.ForumSetting={};this.actions.listCategoryAll(function(i){if(!i.data)i.data=[];i.data.each(function(i){MWF.xApplication.Forum.ForumSetting[i.id]=i}.bind(this))}.bind(this))}},login:function(t){if(!MWF.xApplication.Forum.IS_LOGIN){this.actions.login({},function(i){MWF.xApplication.Forum.RoleInfoList=i.data?i.data.roleInfoList:[];MWF.xApplication.Forum.PermissionInfoList=i.data?i.data.permissionInfoList:[];MWF.xApplication.Forum.IS_LOGIN=true;MWF.xApplication.Forum.isBBSSystemAdmin=i.data?i.data.isBBSSystemAdmin:false;if(t)t()}.bind(this))}else{if(t)t()}},isAnonymous:function(){return this.anonymous},isAnonymousDynamic:function(){var t=true;MWF.Actions.get("x_organization_assemble_authentication").authentication(function(i){if(i.data.tokenType=="anonymous"){this.userName=layout.desktop.session.user.distinguishedName="anonymous";t=true}else{this.userName=layout.desktop.session.user.distinguishedName=i.data.distinguishedName;t=false}}.bind(this),null,false);return t},isAdmin:function(){return MWF.AC.isBBSManager()||MWF.xApplication.Forum.isBBSSystemAdmin},inArray:function(i,t,n){var e=false;if(typeOf(i)=="string")i=i.split(",");if(i.indexOf(n||this.userName)!=-1)e=true;if(t)t(e);return e},isForumViewer:function(i){var t=true;if(this.hasForumAdminAuthority(i,null,null,false)){return true}this.getCategoryData(i,function(i){if(i.forumVisible!=this.lp.allPerson){if(MWF.xApplication.Forum.RoleInfoList.indexOf("FORUM_GUEST_"+i.id)==-1){t=false}}});return t},isSectionViewer:function(i){var n=true;if(this.hasSectionAdminAuthority(i,null,null,false)){return true}if(typeOf(i)=="string"){this.actions.getSection(i,function(i){var t=i.data;if(t.sectionVisible!=this.lp.allPerson){if(MWF.xApplication.Forum.PermissionInfoList.indexOf("SECTION_VIEW_"+t.id)==-1){n=false}}}.bind(this),null,async)}else{var t=i;if(t.sectionVisible!=this.lp.allPerson){if(MWF.xApplication.Forum.PermissionInfoList.indexOf("SECTION_VIEW_"+t.id)==-1){n=false}}}return n},isRecommender:function(i){var n=false;if(typeOf(i)=="string"){this.actions.getSection(i,function(i){var t=i.data;if(MWF.xApplication.Forum.RoleInfoList.indexOf("SECTION_RECOMMENDER_"+t.id)!=-1){n=true}else if(this.hasSectionAdminAuthority(t,null,null,false)){n=true}}.bind(this),null,async)}else{var t=i;if(MWF.xApplication.Forum.RoleInfoList.indexOf("SECTION_RECOMMENDER_"+t.id)!=-1){n=true}else if(this.hasSectionAdminAuthority(t,null,null,false)){n=true}}return n},isSubjectPublisher:function(i){var n=true;if(this.hasSectionAdminAuthority(i,null,null,false)){return true}if(typeOf(i)=="string"){this.actions.getSection(i,function(i){var t=i.data;if(t.subjectPublishAble!=this.lp.allPerson){if(MWF.xApplication.Forum.RoleInfoList.indexOf("SECTION_SUBJECT_PUBLISHER_"+t.id)==-1){n=false}}}.bind(this),null,async)}else{var t=i;if(t.subjectPublishAble!=this.lp.allPerson){if(MWF.xApplication.Forum.RoleInfoList.indexOf("SECTION_SUBJECT_PUBLISHER_"+t.id)==-1){n=false}}}return n},isReplyPublisher:function(i){var n=true;if(this.hasSectionAdminAuthority(i,null,null,false)){return true}if(typeOf(i)=="string"){this.actions.getSection(i,function(i){var t=i.data;if(t.replyPublishAble!=this.lp.allPerson){if(MWF.xApplication.Forum.RoleInfoList.indexOf("SECTION_REPLY_PUBLISHER_"+t.id)==-1){n=false}}}.bind(this),null,false)}else{var t=i;if(t.replyPublishAble!=this.lp.allPerson){if(MWF.xApplication.Forum.RoleInfoList.indexOf("SECTION_REPLY_PUBLISHER_"+t.id)==-1){n=false}}}return n},getCategoryData:function(t,n){if(typeOf(t)=="string"){if(MWF.xApplication.Forum.ForumSetting[t]){if(n)n(MWF.xApplication.Forum.ForumSetting[t])}else{this.actions.getCategory(t,function(i){MWF.xApplication.Forum.ForumSetting[t]=i.data;if(n)n(i.data)}.bind(this),null,false)}}else{if(!MWF.xApplication.Forum.ForumSetting[t.id]){MWF.xApplication.Forum.ForumSetting[t]=t}if(n)n(t)}},isForumManager:function(i,t,n,e){var s=false;this.getCategoryData(i,function(i){s=this.inArray(i.forumManagerName,t,n)}.bind(this));return s},isSectionManager:function(i,t,n,e){var s=false;if(typeOf(i)=="string"){this.actions.getSection(i,function(i){s=this.inArray(i.data.moderatorNames,t,n)}.bind(this),null,e)}else{s=this.inArray(i.moderatorNames,t,n)}return s},hasForumAdminAuthority:function(i,t,n,e){if(!n&&this.isAdmin()){if(t)t(true);return true}var s=false;s=this.isForumManager(i,function(i){if(t)t(i)}.bind(this),n,e);return s},hasSectionAdminAuthority:function(i,n,e,s){if(!e&&this.isAdmin()){if(n)n(true);return true}var o=false;var t=function(i){var t=i.moderatorNames;if(typeOf(t)=="string")t=t.split(",");if(t.indexOf(e||this.userName)!=-1)o=true;if(o){if(n)n(o)}else{o=this.isForumManager(i.forumId,function(i){if(n)n(i)}.bind(this),e,s)}}.bind(this);if(typeOf(i)=="string"){this.actions.getSection(i,function(i){t(i.data)}.bind(this),null,s)}else{t(i)}return o}});