コード例 #1
0
        public void PointActionTypeList(
            PointActionTypeListHeadFootTemplate head
            , PointActionTypeListHeadFootTemplate foot
            , PointActionTypeListItemTemplate item)
        {
            List <PointActionType> pointActionTypes = PointActionManager.GetAllPointActionTypes();

            int total = pointActionTypes.Count;

            head(total > 0, total);
            int i = 0;

            foreach (PointActionType pointActionType in pointActionTypes)
            {
                PointActionTypeListItemParams param = new PointActionTypeListItemParams(pointActionType, i);
                item(param, total);
                i++;
            }
            foot(total > 0, total);
        }
コード例 #2
0
ファイル: point-icon.aspx.cs プロジェクト: zhangbo27/bbsmax
        private void SavePointIcon()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay("pointValue", "iconCount", "icons");

            string valueString = _Request.Get("pointValue", Method.Post, string.Empty);
            int    pointValue;

            if (!int.TryParse(valueString, out pointValue))
            {
                msgDisplay.AddError("pointValue", string.Format(Lang_Error.User_UserPointIconValueError, CurrentUserPoint.Name));
            }

            valueString = _Request.Get("iconCount", Method.Post);
            int iconCount;

            if (!int.TryParse(valueString, out iconCount))
            {
                msgDisplay.AddError("iconCount", Lang_Error.User_UserPointUpgradeIconCountError);
            }

            string[] icons = StringUtil.GetLines(_Request.Get("icons", Method.Post, string.Empty));

            try
            {
                if (!PointActionManager.UpdatePointIcon(CurrentUserPoint.Type, pointValue, iconCount, icons))
                {
                    CatchError <ErrorInfo>(delegate(ErrorInfo error)
                    {
                        msgDisplay.AddError(error);
                    });
                }
                else
                {
                    Return(true);
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
コード例 #3
0
ファイル: point-icon.aspx.cs プロジェクト: zhangbo27/bbsmax
        private void DeletePointIcon()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay();

            try
            {
                if (!PointActionManager.DeletePointIcon(CurrentUserPoint.Type))
                {
                    CatchError <ErrorInfo>(delegate(ErrorInfo error)
                    {
                        msgDisplay.AddError(error);
                    });
                }
                else
                {
                    Return(true);
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
コード例 #4
0
        private void AddExchangeRule()
        {
            MessageDisplay msgDisplay    = CreateMessageDisplay();
            int?           pointID       = _Request.Get <int>("points", Method.Post);
            int?           targetPointID = _Request.Get <int>("targetpoints", Method.Post);

            if (pointID == null)
            {
                msgDisplay.AddError(Lang_Error.User_UserPointNotSellectExchangePointError);
                return;
            }
            if (targetPointID == null)
            {
                msgDisplay.AddError(Lang_Error.User_UserPointNotSellectExchangeTargetPointError);
                return;
            }

            UserPointType pointType       = (UserPointType)pointID;
            UserPointType targetPointType = (UserPointType)targetPointID;


            try
            {
                if (!PointActionManager.AddPointExchangeRule(pointType, targetPointType))
                {
                    CatchError <ErrorInfo>(delegate(ErrorInfo error)
                    {
                        msgDisplay.AddError(error);
                    });
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
コード例 #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <param name="nodeID"></param>
        /// <returns>如果NodeID为0则始终不返回NULL</returns>
        public PointAction GetPointAction(string type, int nodeID)
        {
            if (this.ContainsKey(type.ToLower() + "-" + nodeID))
            {
                return(this.GetValue(type.ToLower() + "-" + nodeID));
            }

            if (nodeID > 0)
            {
                PointActionType pointActionType = PointActionManager.GetPointActionType(type);
                NodeItem        item            = pointActionType.NodeItemList.GetValue(nodeID);

                if (item == null)
                {
                    return(null);
                }
                else
                {
                    return(GetPointAction(type, item.ParentID));
                }
            }

            return(new PointAction());
        }
コード例 #6
0
        public void ClearExperiesData()
        {
            //return;

            PointActionCollection pointActions = new PointActionCollection();

            foreach (PointAction pointAction in PointActions)
            {
                PointActionType pointActionType = PointActionManager.GetPointActionType(pointAction.Type);

                if (pointActionType == null)
                {
                    continue;
                }

                //检查nodeID
                if (pointActionType.HasNodeList && pointAction.NodeID != 0)
                {
                    bool isExperies = true;
                    foreach (NodeItem item in pointActionType.NodeItemList)
                    {
                        if (item.NodeID == pointAction.NodeID)
                        {
                            isExperies = false;
                            break;
                        }
                    }
                    if (isExperies)
                    {
                        continue;
                    }
                }

                PointAction tempPointAction = new PointAction();
                //检查roleID
                PointActionItemCollection pointActionItems = new PointActionItemCollection();


                foreach (PointActionItem pointActionItem in pointAction.PointActionItems)
                {
                    if (pointActionItem.RoleID == Guid.Empty || AllSettings.Current.RoleSettings.Roles.GetValue(pointActionItem.RoleID) != null)
                    {
                        pointActionItems.Add(pointActionItem);
                    }
                }

                tempPointAction.PointActionItems = pointActionItems;
                tempPointAction.NodeID           = pointAction.NodeID;
                tempPointAction.Type             = pointAction.Type;

                pointActions.Add(tempPointAction);
            }

            PointActionSettings setting = new PointActionSettings();

            setting.PointActions = pointActions;

            try
            {
                SettingManager.SaveSettings(setting);
            }
            catch
            { }
        }
コード例 #7
0
        private void SaveUserPoints()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay("maxValue", "minValue", "InitialValue", "name");
            string         type       = _Request.Get("type", Method.Get, string.Empty);

            UserPointCollection userPoints = new UserPointCollection();
            int i = 0;

            foreach (UserPoint tempUserPoint in AllSettings.Current.PointSettings.UserPoints)
            {
                int       pointID   = (int)tempUserPoint.Type;
                UserPoint userPoint = new UserPoint();
                userPoint.Enable  = _Request.Get <bool>("enable." + pointID, Method.Post, false);
                userPoint.Display = _Request.Get <bool>("display." + pointID, Method.Post, false);
                int    value;
                string valueString = _Request.Get("maxValue." + pointID, Method.Post, string.Empty);
                if (valueString == string.Empty)
                {
                    userPoint.MaxValue = int.MaxValue;
                }
                else if (int.TryParse(valueString, out value))
                {
                    userPoint.MaxValue = value;
                }
                else
                {
                    msgDisplay.AddError("maxValue", i, Lang_Error.User_UserPointMaxValueFormatError);
                }

                valueString = _Request.Get("minValue." + pointID, Method.Post, string.Empty);
                if (valueString == string.Empty)
                {
                    userPoint.MinValue = 0;
                }
                else if (int.TryParse(valueString, out value))
                {
                    userPoint.MinValue = value;
                }
                else
                {
                    msgDisplay.AddError("minValue", i, Lang_Error.User_UserPointMinValueFormatError);
                }

                valueString = _Request.Get("InitialValue." + pointID, Method.Post, string.Empty);
                if (valueString == string.Empty)
                {
                    userPoint.InitialValue = 0;
                }
                else if (int.TryParse(valueString, out value))
                {
                    userPoint.InitialValue = value;
                }
                else
                {
                    msgDisplay.AddError("InitialValue", i, Lang_Error.User_UserPointInitialValueFormatError);
                }

                userPoint.UnitName = _Request.Get("unitName." + pointID, Method.Post, string.Empty);
                userPoint.Name     = _Request.Get("name." + pointID, Method.Post, string.Empty);
                userPoint.Type     = tempUserPoint.Type;

                userPoints.Add(userPoint);

                i++;
            }

            if (msgDisplay.HasAnyError())
            {
                return;
            }


            try
            {
                using (ErrorScope errorScope = new ErrorScope())
                {
                    if (!PointActionManager.UpdateUserPointSetting(userPoints))
                    {
                        errorScope.CatchError <ErrorInfo>(delegate(ErrorInfo error)
                        {
                            msgDisplay.AddError(error.TatgetName, error.TargetLine, error.Message);
                        });
                    }
                    else
                    {
                        PostBOV5.Instance.ClearShowChargePointLinks();
                    }
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddError(ex.Message);
            }
        }
コード例 #8
0
ファイル: Booter.cs プロジェクト: zhangbo27/bbsmax
        /// <summary>
        /// 初始化业务逻辑层
        /// </summary>
        ///
        public static void Init()
        {
            //TODO:错误处理,不能因为异常导致程序启动失败

            //注册应用程序
            AppManager.RegisterApp(new BasicApp());

            #region 注册AppHandler

            AppHandlerManager.RegisterAppHandler(new DownloadHandler());
            AppHandlerManager.RegisterAppHandler(new DeleteTempFileHandler());
            AppHandlerManager.RegisterAppHandler(new OutputValidateCodeHandler());
            AppHandlerManager.RegisterAppHandler(new ExecuteJobHandler());
            AppHandlerManager.RegisterAppHandler(new StepByStepTaskHandler());
            AppHandlerManager.RegisterAppHandler(new UploadTempFileHandler());

            AppHandlerManager.RegisterAppHandler(new RegValidateHandler());
            AppHandlerManager.RegisterAppHandler(new ChatMessageHandler());
            AppHandlerManager.RegisterAppHandler(new AvatarHandler());
            AppHandlerManager.RegisterAppHandler(new TempDataHandler());
#if !Passport
            AppHandlerManager.RegisterAppHandler(new Js_EmoticonHandler());
            AppHandlerManager.RegisterAppHandler(new NotifyHandler());
            AppHandlerManager.RegisterAppHandler(new DoingHandler());
            AppHandlerManager.RegisterAppHandler(new ChangeSkinHandler());
            AppHandlerManager.RegisterAppHandler(new OnlineInfoHandler());
            AppHandlerManager.RegisterAppHandler(new PostAuthorInfoHandler());
            //AppHandlerManager.RegisterAppHandler(new AttachmentHandler());
#endif

            #endregion

            #region 注册积分动作规则

            PointActionManager.RegisterPointActionType(UserPointAction.Instance);
            PointActionManager.RegisterPointActionType(InvitePointAction.Instance);
#if !Passport
            PointActionManager.RegisterPointActionType(SharePointAction.Instance);
            PointActionManager.RegisterPointActionType(BlogPointAction.Instance);
            //PointActionManager.RegisterPointActionType(PointShowPointAction.Instance);
            PointActionManager.RegisterPointActionType(CommentPointAction.Instance);
            PointActionManager.RegisterPointActionType(AlbumPointAction.Instance);
            PointActionManager.RegisterPointActionType(DoingPointAction.Instance);
            PointActionManager.RegisterPointActionType(ForumPointAction.Instance);
#endif
            #endregion

            #region 注册验证码样式

            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style1());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style2());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style3());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style4());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style5());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style6());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style7());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style8());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style9());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style10());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style11());
            ValidateCodeManager.RegisterValidateCodeType(new ValidateCode_Style12());

            #endregion

            #region 注册验证码动作

            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("注册", "Register", false));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("登录", "Login", false));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("管理员登陆", "ManageLogin", false));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("找回密码", "recoverpassword", false));

            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("发表分享", "CreateShare", true));
            //ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("发表收藏", "CreateCollection", true));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("发表日志", "CreateBlogArticle", true));
            //ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("发表记录", "CreateDoing", true));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("发表评论", "CreateComment", true));

            //论坛---
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("发表主题", "CreateTopic", true));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("回复主题", "ReplyTopic", true));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("参与投票", "Vote", true));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("登陆带密码版块", "SignInForum", true));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("加好友", "AddFriend", true));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("对话", "SendMessage", true));
            ValidateCodeManager.RegisterValidateCodeAction(new ValidateCodeAction("打招呼", "Hail", true));
            #endregion

            #region 注册XCmd

            XCmdManager.RegisterXCmd(new DeleteFileCmd());
            XCmdManager.RegisterXCmd(new ResetVarsCacheCmd());
            XCmdManager.RegisterXCmd(new ResetUserCacheCmd());

            XCmdManager.RegisterXCmd(new RecodeTodayPostsCmd());

#if !Passport
            XCmdManager.RegisterXCmd(new ResetAuthUserCacheCmd());
            XCmdManager.RegisterXCmd(new ResetAlbumCacheCmd());
            XCmdManager.RegisterXCmd(new ResetDenouncingCacheCmd());
            XCmdManager.RegisterXCmd(new ResetFeedCommentInfoCmd());
#endif

            #endregion

#if !Passport
            #region 注册 PermissionSetWithNode

            SettingManager.RegisterPermissionWithNode(new ForumPermissionSetNode().TypeName, new ForumPermissionSet());
            SettingManager.RegisterPermissionWithNode(new ManageForumPermissionSetNode().TypeName, new ManageForumPermissionSet());

            #endregion

            #region 注册UploadAction

            FileManager.RegisterUploadAction(new UploadAttachmentAction());
            FileManager.RegisterUploadAction(new UploadAlbumPhotoAction());
            FileManager.RegisterUploadAction(new UploadDiskFileAction());

            #endregion

            #region 注册 IShareProvider

            ProviderManager.Add <IShareProvider>(new ShareBlogArticleProvider());
            ProviderManager.Add <IShareProvider>(new ShareAlbumProvider());
            ProviderManager.Add <IShareProvider>(new SharePhotoProvider());
            ProviderManager.Add <IShareProvider>(new ShareUserProvider());
            ProviderManager.Add <IShareProvider>(new ShareThreadProvider());

            #endregion
#endif

            #region 取数据库时间和时区作为当前时间和时区,避免web和数据库时间不同步

            SetTimeAsDatabase();

            #endregion

            #region 注册计划任务

            JobManager.RegisterJob(new BeforeRequestInDay0AM());
            JobManager.RegisterJob(new BeforeRequestIn5M());



            JobManager.RegisterJob(new AfterRequestIn5M());
            JobManager.RegisterJob(new AfterRequestIn3H());
            JobManager.RegisterJob(new AfterRequestInDay3AM());

            JobManager.RegisterJob(new ClearNotifyJob());
            JobManager.RegisterJob(new ClearChatMessageJob());
            JobManager.RegisterJob(new ClearPointLogJob());

#if !Passport
            JobManager.RegisterJob(new UpdateThreadViewsJob());
            JobManager.RegisterJob(new SaveOnlineUserJob());

            JobManager.RegisterJob(new DeleteFeedJob());
            JobManager.RegisterJob(new DeletePropLogJob());
            JobManager.RegisterJob(new DeleteOperationLogJob());

            JobManager.RegisterJob(new BaiduPageOpJop());
#endif
            //在所有计划任务注册完之后  启动线程
            JobManager.StartJobThread();

            #endregion

            #region 初始化PASSPORT指令引擎

            if (AllSettings.Current.PassportServerSettings.EnablePassportService)
            {
                PassportBO.StartInstructEngine();
            }

            #endregion
        }