Exemple #1
0
        /// <summary>
        /// 用户注册(根据参数决定是否开启空间,是否安装应用程序)
        /// </summary>
        /// <param name="name">用户名</param>
        /// <param name="pwd">密码</param>
        /// <param name="email">电子邮件</param>
        /// <param name="friendlyUrl">用户的友好网址,可以为空</param>
        /// <param name="apps">默认开启的应用程序(从 home,blog,photo,microblog,friend,visitor,forumpost,about,feedback,share 中选择)。如果为空,则不安装程序</param>
        public Result UserRegister(String name, String pwd, String email, String friendlyUrl, String apps)
        {
            if (strUtil.IsNullOrEmpty(name) || strUtil.IsNullOrEmpty(pwd))
            {
                throw new ArgumentNullException("请设置用户名和密码");
            }

            User user = new User();

            user.Name  = name;
            user.Pwd   = pwd;
            user.Email = email;

            user.Url = friendlyUrl == null ? "" : friendlyUrl.ToLower();

            Result      result      = new Result();
            UserService userService = new UserService();

            if (strUtil.HasText(apps))
            {
                ISiteConfig sconfig = getSiteConfig(true);
                userService.Register(user, result, sconfig);
                new AppService().InstallAppAndMenu(user, apps);
            }
            else
            {
                ISiteConfig sconfig = getSiteConfig(false);
                userService.Register(user, result, sconfig);
            }


            result.Info = user;
            return(result);
        }
Exemple #2
0
        public virtual String HashPwd(String pwd, String salt, ISiteConfig sconfig)
        {
            if (sconfig.Md5Is16)
            {
                return(hashTool.Get(pwd.Trim(), HashType.MD5_16));
            }

            return(hashTool.GetBySalt(pwd.Trim(), salt, HashType.SHA384));
        }
Exemple #3
0
        private void setProfileAndTemplateAndHashPasswork(User user, ISiteConfig sconfig)
        {
            MemberProfile profile = new MemberProfile();

            db.insert(profile);
            user.ProfileId  = profile.Id;
            user.TemplateId = sconfig.UserSkinId;
            user.GroupId    = 3;

            user.PwdSalt = hashTool.GetSalt(4);
            user.Pwd     = HashPwd(user.Pwd, user.PwdSalt, sconfig);
        }
Exemple #4
0
        public Boolean IsReservedKeyContains(String inputName, ISiteConfig sconfig)
        {
            foreach (String key in sconfig.ReservedKey)
            {
                if (strUtil.EqualsIgnoreCase(inputName, key) || strUtil.EqualsIgnoreCase(inputName, key + "s"))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemple #5
0
        protected virtual void sendMsg(User member, ISiteConfig sconfig)
        {
            if (sconfig.IsSendMsg == false)
            {
                return;
            }

            String title = sconfig.MsgTitle;
            String body  = sconfig.MsgBody;

            IMessageService service = new MessageService();

            service.SiteSend(title, body, member);
        }
Exemple #6
0
        public virtual User Register(User user, Result errors, ISiteConfig sconfig)
        {
            if (isNameReserved(user.Name, sconfig))
            {
                errors.Add(lang.get("exNameFound"));
                return(null);
            }

            if (isUrlReserved(user.Url, sconfig))
            {
                errors.Add(lang.get("exUrlFound"));
                return(null);
            }


            if (validateUnique(user, errors) == false)
            {
                return(null);
            }

            setProfileAndTemplateAndHashPasswork(user, sconfig);
            user.RoleId = sconfig.NormalRoleId;
            Result result = db.insert(user);

            if (result.HasErrors)
            {
                db.delete(user.Profile);
                errors.Join(result);
                return(null);
            }

            if (sconfig.IsEnableUserSpace == false || strUtil.IsNullOrEmpty(user.Url))
            {
                user.Url = "user" + user.Id;
                db.update(user, "Url");
            }

            sendMsg(user, sconfig);

            userIncomeService.InitUserIncome(user);

            if (isFirstUser())
            {
                user.RoleId = sconfig.AdministratorId;
                db.update(user, "RoleId");
            }

            return(user);
        }
        public virtual IEnumerable <ITransformer> BuildTransformers(ISiteConfig siteConfig)
        {
            yield return(new CachedByTransformer());

            if (!string.IsNullOrEmpty(siteConfig.ImageCrops))
            {
                var crops = Crop.GetCropsFromCommaDelimitedString(siteConfig.ImageCrops);
                yield return(new CroppedImageUrlTransformer(new ImageCropNameGenerator(), crops));
            }

            if (!string.IsNullOrEmpty(siteConfig.TargetHostname))
            {
                yield return(new HostnameTransformer(siteConfig.TargetHostname));
            }
        }
Exemple #8
0
        private Boolean isUrlReserved(String inputUrl, ISiteConfig sconfig)
        {
            if (IsReservedKeyContains(inputUrl, sconfig))
            {
                return(true);
            }

            foreach (String name in sconfig.ReservedUserUrl)
            {
                if (strUtil.EqualsIgnoreCase(inputUrl, name))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemple #9
0
        public static void SetConfig(string configPath)
        {
            _config = new CurrentConfig(GetConfig.UseJsonFile(configPath)
                                        .UseTypeParser(new DictionaryParser())
                                        .Build());

            Site    = _config.Site;
            Browser = _config.Browser;
            Pages   = _config.Pages;

            if (_config.Login == null)
            {
                return;
            }

            Login = _config.Login;
        }
Exemple #10
0
        /// <summary>
        /// 用户注册(不开启空间)
        /// </summary>
        /// <param name="name">用户名</param>
        /// <param name="pwd">密码</param>
        /// <param name="email">电子邮件</param>
        public Result UserRegister(String name, String pwd, String email)
        {
            if (strUtil.IsNullOrEmpty(name) || strUtil.IsNullOrEmpty(pwd))
            {
                throw new NullReferenceException("请设置用户名和密码");
            }

            User user = new User();

            user.Name  = name;
            user.Pwd   = pwd;
            user.Email = email;

            Result      result      = new Result();
            UserService userService = new UserService();
            ISiteConfig sconfig     = getSiteConfig(false);

            userService.Register(user, result, sconfig);
            return(result);
        }
Exemple #11
0
        /// <summary>
        /// 用户注册(开启空间,安装应用程序)
        /// </summary>
        /// <param name="name">用户名</param>
        /// <param name="pwd">密码</param>
        /// <param name="email">电子邮件</param>
        /// <param name="friendlyUrl">开启空间需要的友好网址</param>
        /// <param name="apps">默认开启的应用程序(从 home,blog,photo,microblog,friend,visitor,forumpost,about,feedback,share 中选择)</param>
        public Result UserRegister(String name, String pwd, String email, String friendlyUrl, String apps)
        {
            User user = new User();

            user.Name  = name;
            user.Pwd   = pwd;
            user.Email = email;

            user.Url = friendlyUrl == null ? "" : friendlyUrl.ToLower();

            Result      result      = new Result();
            UserService userService = new UserService();
            ISiteConfig sconfig     = getSiteConfig(true);

            userService.Register(user, result, sconfig);

            new AppService().InstallAppAndMenu(user, apps);

            return(result);
        }
 private NBR.Comment CheckForSpam(NBR.Comment commt, ISiteConfig siteConfiguration)
 {
     try
     {
         if (siteConfiguration.SpamBlockingService.IsSpam(commt))
         {
             commt.SpamState = NBR.SpamState.Spam;
             commt.IsPublic  = false;
         }
         else
         {
             commt.SpamState = NBR.SpamState.NotSpam;
             commt.IsPublic  = true;
         }
     }
     catch (Exception ex)
     {
         logger.LogError(new EventDataItem(EventCodes.Error, null, String.Format("The external spam blocking service failed for comment {0}. Original exception: {1}", commt.EntryId, ex)));
     }
     return(commt);
 }
 public AdminPaymentController(ISiteConfig config) : base(config)
 {
 }
 public ProfilesController(ISiteConfig config)
     : base(config)
 {
 }
 public InstructorsController(ISiteConfig config) : base(config)
 {
 }
 public AdminSectionsController(ISiteConfig config)
     : base(config)
 {
 }
Exemple #17
0
 public static void UseSite(string siteId) => Site = _config.SetSiteConfig(siteId).Site;
 public VstsOAuthController(IUnitOfWork db, ISiteConfig siteConfig)
 {
     this.db = db;
     this.siteConfig = siteConfig;
 }
Exemple #19
0
 public MeetingsController(ISiteConfig config, IMeetingService meetingService) : base(config)
 {
     _meetingService = meetingService;
 }
Exemple #20
0
 public AdminTestimonialController(ISiteConfig config) : base(config)
 {
 }
Exemple #21
0
 public CMSController(ISiteConfig config)
     : base(config)
 {
 }
 public AdminAttendanceController(ISiteConfig config)
     : base(config)
 {
 }
 public EmailCampaignService(ISiteConfig config)
 {
     // MailChimp API credentials
     this._apiKey = config.mailChimpApi;
     this._listId = config.mailChimpListId;
 }
Exemple #24
0
 public virtual IEnumerable <ITransformer> BuildTransformers(ISiteConfig siteConfig)
 {
     yield return(new UmbracoContentUdiToJsonUrlTransformer());
 }
 public WolpframAlphaApi(ISiteConfig config)
 {
     this.config = config;
 }
Exemple #26
0
        public virtual String HashPwd( String pwd, String salt, ISiteConfig sconfig )
        {
            if (sconfig.Md5Is16) {
                return hashTool.Get( pwd.Trim(), HashType.MD5_16 );
            }

            return hashTool.GetBySalt( pwd.Trim(), salt, HashType.SHA384 );
        }
Exemple #27
0
        public virtual User Register( User user, Result errors, ISiteConfig sconfig )
        {
            if (isNameReserved( user.Name, sconfig )) {
                errors.Add( lang.get( "exNameFound" ) );
                return null;
            }

            if (isUrlReserved( user.Url, sconfig )) {
                errors.Add( lang.get( "exUrlFound" ) );
                return null;
            }

            if (validateUnique( user, errors ) == false) return null;

            setProfileAndTemplateAndHashPasswork( user, sconfig );
            user.RoleId = sconfig.NormalRoleId;
            Result result = db.insert( user );
            if (result.HasErrors) {
                db.delete( user.Profile );
                errors.Join( result );
                return null;
            }

            if (strUtil.IsNullOrEmpty( user.Url )) {
                user.Url = "user" + user.Id;
                db.update( user, "Url" );
            }

            sendMsg( user, sconfig );

            userIncomeService.InitUserIncome( user );

            if (isFirstUser()) {
                user.RoleId = sconfig.AdministratorId;
                db.update( user, "RoleId" );
            }

            return user;
        }
Exemple #28
0
        private Boolean isUrlReserved( String inputUrl, ISiteConfig sconfig )
        {
            if (IsReservedKeyContains( inputUrl, sconfig )) return true;

            foreach (String name in sconfig.ReservedUserUrl) {
                if (strUtil.EqualsIgnoreCase( inputUrl, name )) {
                    return true;
                }
            }

            return false;
        }
Exemple #29
0
 public static void UseSite(ISiteConfig siteConfig) => Site = siteConfig;
Exemple #30
0
 public AdminSectionsController(ISiteConfig config) : base(config)
 {
 }
Exemple #31
0
        public Boolean IsReservedKeyContains( String inputName, ISiteConfig sconfig )
        {
            foreach (String key in sconfig.ReservedKey) {
                if (strUtil.EqualsIgnoreCase( inputName, key ) || strUtil.EqualsIgnoreCase( inputName, key + "s" )) {
                    return true;
                }
            }

            return false;
        }
 public AdminWikiController(ISiteConfig config) : base(config)
 {
 }
Exemple #33
0
        protected virtual void sendMsg( User member, ISiteConfig sconfig )
        {
            if (sconfig.IsSendMsg == false) return;

            String title = sconfig.MsgTitle;
            String body = sconfig.MsgBody;

            IMessageService service = new MessageService();
            service.SiteSend( title, body, member );
        }
 public BensSlackBot(IUnitOfWork unitOfWork, IWolpframAlphaApi wolframApi, ISiteConfig config)
 {
     this.unitOfWork = unitOfWork;
     this.wolframApi = wolframApi;
     this.config = config;
 }
Exemple #35
0
        private void setProfileAndTemplateAndHashPasswork( User user, ISiteConfig sconfig )
        {
            MemberProfile profile = new MemberProfile();
            db.insert( profile );
            user.ProfileId = profile.Id;
            user.TemplateId = sconfig.UserSkinId;
            user.GroupId = 3;

            user.PwdSalt = hashTool.GetSalt( 4 );
            user.Pwd = HashPwd( user.Pwd, user.PwdSalt, sconfig );
        }
 public UsersDataController(ISiteConfig config)
     : base(config)
 {
 }
Exemple #37
0
 public OfficeHoursController(ISiteConfig config)
     : base(config)
 {
 }
Exemple #38
0
 public CMSController(ISiteConfig config) : base(config)
 {
 }
 public ModulesController(ISiteConfig config)
     : base(config)
 {
 }
Exemple #40
0
 public TrackController(ISiteConfig config) : base(config)
 {
 }
 public EventsController(ISiteConfig config) : base(config)
 {
 }
 public CoursesController(ISiteConfig config)
     : base(config)
 {
 }
 public WikiController(IWikiSpaceService wikiSpaceService, ISiteConfig config)
     : base(config)
 {
     _wikiSpaceService = wikiSpaceService;
 }
 public BlogController(ISiteConfig config) : base(config)
 {
 }
Exemple #45
0
 public FaqController(ISiteConfig config) : base(config)
 {
 }
Exemple #46
0
 public TestsController(ISiteConfig config) : base(config)
 {
 }
 public AdminTrackController(ISiteConfig config)
     : base(config)
 {
 }
 public SiteConfigApiController(ISiteConfig key)
 {
     this._siteConfig = key;
 }
 public SmsManager(IUnitOfWork uow, ISiteConfig config)
 {
     _uow = uow;
     _config = config;
 }
 public UserOnboardController(ISiteConfig config)
     : base(config)
 {
 }
 public AddressesController(ISiteConfig config) : base(config)
 {
 }
 public UserRoleController(ISiteConfig config)
     : base(config)
 {
 }