コード例 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!Page.IsPostBack)
                {
                    //if (Information.IsNumeric(_CreatedByUser))
                    Int32.Parse( _CreatedByUser );
                    {
                        // contains a UserID
                        UserController objUsers = new UserController();
                        UserInfo objUser = UserController.GetUser(PortalController.GetCurrentPortalSettings().PortalId, int.Parse(_CreatedByUser), false);
                        if (objUser != null)
                        {
                            _CreatedByUser = objUser.DisplayName;
                        }
                    }

                    string str = Localization.GetString("UpdatedBy", Localization.GetResourceFile(this, MyFileName));
                    lblCreatedBy.Text = string.Format(str, _CreatedByUser, _CreatedDate);
                }
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
コード例 #2
0
        public ProfesionalServicio(DataRow dr)
        {
            idServicio    = int.Parse(dr["IdServicio"].ToString());
            idProfesional = int.Parse(dr["IdProfesional"].ToString());
            id            = int.Parse(dr["Id"].ToString());
            DotNetNuke.Entities.Users.UserController UC = new DotNetNuke.Entities.Users.UserController();
            UserInfo UI = UC.GetUser(0, idProfesional);

            user = Usuario.GetUserByUserInfo(UI);
        }
コード例 #3
0
        private User GetDNNUser(int SiteId, int ModuleId, int userId)
        {
            PortalSettings _portalSettings = PortalController.GetCurrentPortalSettings();
            User           u = new User();

            DotNetNuke.Entities.Users.UserController uc      = new DotNetNuke.Entities.Users.UserController();
            DotNetNuke.Entities.Users.UserInfo       dnnUser = uc.GetUser(_portalSettings.PortalId, userId);
            u = LoadUser(dnnUser);
            return(u);
        }
コード例 #4
0
        private void LoadAuthorInfo()
        {
            var uc = new UserController();
            UserInfo ui = uc.GetUser(this.PortalId, this.VersionInfoObject.AuthorUserId);

            // configure author link
            this.lblAuthorLink.NavigateUrl = ui.Profile.Website;
            this.lblAuthorLink.Text = ui.DisplayName;

            this.lblAuthorInfo.Text = ui.Profile.GetPropertyValue("Bio");
        }
コード例 #5
0
        public override List<UrlRule> GetRules(int PortalId)
        {
            bool UseDisplayName = GetPortalSettingAsBoolean(PortalId, "UseDisplayName");

            List<UrlRule> Rules = new List<UrlRule>();

            UserController uc = new UserController();
            //ArrayList users = uc.GetUsers(PortalId,false, false);

            ArrayList users = UserController.GetUsers(PortalId);

            foreach (UserInfo user in users)
            {
                if (true)
                {
                    var rule = new UrlRule
                    {
                        RuleType = UrlRuleType.Module,
                        Parameters = "userid=" + user.UserID.ToString(),
                        Action = UrlRuleAction.Rewrite,
                        Url = CleanupUrl(UseDisplayName ? user.DisplayName : user.Username)
                    };
            #if DNN71
                    if (!string.IsNullOrEmpty(user.VanityUrl)) {
                        rule.Url = CleanupUrl(user.VanityUrl);
                    }
            #endif

                    Rules.Add(rule);
                }
            }

            var roles = TestableRoleController.Instance.GetRoles(PortalId, r => r.SecurityMode != SecurityMode.SecurityRole);

            foreach (RoleInfo role in roles)
            {
                if (true)
                {
                    var rule = new UrlRule
                    {
                        RuleType = UrlRuleType.Module,
                        Parameters = "groupid=" + role.RoleID.ToString(),
                        Action = UrlRuleAction.Rewrite,
                        Url = CleanupUrl(role.RoleName)
                    };

                    Rules.Add(rule);
                }
            }

            return Rules;
        }
コード例 #6
0
        public HttpResponseMessage GetList()
        {
            var userList     = DNNUserController.GetUsers(this.PortalSettings.PortalId);
            var hostUserList = DNNUserController.GetUsers(false, true, -1);

            userList.AddRange(hostUserList);

            var users = userList.Cast <UserInfo>().ToList()
                        .Select(user => new UserViewModel(user))
                        .OrderBy(user => user.Name)
                        .ToList();

            return(Request.CreateResponse(users));
        }
コード例 #7
0
ファイル: FileController.cs プロジェクト: heitkea/DNN_DEV_7_2
        public File CreateRootGroupsFolder(int userID, int portalID)
        {
            //create folder
            FileController ctrl = new FileController();
            UserController ctrlUser = new UserController();
            UserInfo user = ctrlUser.GetUser(portalID, userID);

            //create root shared folder
            File rootPortalFolder = new File();
            //rootPortalFolder.ChildCount = 0;
            rootPortalFolder.CreatedByUserID = userID;
            rootPortalFolder.CreatedByUserName = user.DisplayName;
            rootPortalFolder.CreatedDate = System.DateTime.Now;
            rootPortalFolder.IsInTrash = false;
            rootPortalFolder.IsFolder = true;
            rootPortalFolder.ItemType = 0;
            rootPortalFolder.LastModifiedByUserID = userID;
            rootPortalFolder.LastModifiedByUserName = user.DisplayName;
            rootPortalFolder.LastModifiedDate = System.DateTime.Now;
            rootPortalFolder.Name = "Groups Root Folder";
            rootPortalFolder.Description = "";
            rootPortalFolder.ParentID = GetRootPortalFolder(portalID, userID).ID;
            rootPortalFolder.PortalID = portalID;

            ctrl.Create(rootPortalFolder);

            //add permissions
            //admins only

            //update files config
            FileConfigurationController ctrlConfig = new FileConfigurationController();
            var configs = ctrlConfig.GetItems(portalID) as List<FileConfiguration>;
            configs[0].RootGroupsFolderID = rootPortalFolder.ID;
            ctrlConfig.Update(configs[0]);

            //unify existing user folders under default users folder
            foreach (var userFolder in ctrl.GetV702GroupFolders(portalID))
            {
                userFolder.ParentID = rootPortalFolder.ID;
                ctrl.Update(userFolder);
            }

            //return default new root users folder
            return rootPortalFolder;
        }
コード例 #8
0
ファイル: AddressController.cs プロジェクト: helder1978/Store
        public IAddressInfo GetAddress(int portalID, int userID)
        {
            UserController controller = new UserController();
            UserInfo userInfo = controller.GetUser(portalID, userID);

            AddressInfo addressInfo = new AddressInfo();

            addressInfo.AddressID = 0;
            addressInfo.Name = userInfo.DisplayName;
            addressInfo.Description = "Registration Address";
            addressInfo.Address1 = userInfo.Profile.Street;
            addressInfo.Address2 = userInfo.Profile.Unit;
            addressInfo.City = userInfo.Profile.City;
            addressInfo.RegionCode = userInfo.Profile.Region;
            addressInfo.CountryCode = userInfo.Profile.Country;
            addressInfo.PostalCode = userInfo.Profile.PostalCode;
            addressInfo.Phone1 = userInfo.Profile.Telephone;
            addressInfo.Phone2 = userInfo.Profile.Fax;

            return addressInfo;
        }
コード例 #9
0
 void EditUserLink_Init(object sender, EventArgs e)
 {
     if (IsNotAListOfValues)
     {
         CtlUrl = (UrlControl) (Page.LoadControl("~/controls/URLControl.ascx"));
         CtlUrl.ID = CleanID(string.Format("{0}_url", FieldTitle));
         var container = new HtmlGenericControl("div");
         container.Attributes.Add("class", "dnnLeft");
         container.Controls.Add(CtlUrl);
         ValueControl = CtlUrl ;
         Controls.Add(container );
     }
     else
     {
         var ctlListControl = GetListControl();
         AddListItems(ctlListControl);
         foreach (var username in InputValueList)
         {
             var user = UserController.GetUserByName(PortalId, username);
             if (user == null && Information.IsNumeric(username)) //check for valid userID:
             {
                 user = new UserController().GetUser(PortalId, int.Parse(username));
             }
             if (user != null)
             {
                 var item = new ListItem
                     {
                         Text = NormalizeFlag ? user.Username : user.DisplayName,
                         Value = string.Format("UserId={0}", user.UserID)
                     };
                 ctlListControl.Items.Add(item);
             }
         }
         CtlValueBox = ctlListControl;
         CtlValueBox.CssClass = "NormalTextBox";
         CtlValueBox.ID = CleanID(FieldTitle);
         Controls.Add(CtlValueBox);
     }
 }
コード例 #10
0
ファイル: RoleProvider.cs プロジェクト: rrsc/Dnn.Platform
        public virtual ArrayList GetUserRoles(int portalId, int userId, bool includePrivate)
        {
            UserInfo user;
            if(userId != -1)
            {
                var userController = new UserController();
                user = userController.GetUser(portalId, userId);
            }
            else
            {
                user = new UserInfo() {UserID = -1, PortalID = portalId};
            }

            return new ArrayList(GetUserRoles(user, includePrivate).ToArray());
        }
コード例 #11
0
        void EditUserLink_Load(object sender, EventArgs e)
        {
            //we need to initialize once only
            if (!Page.IsPostBack)
            {
                if (IsNotAListOfValues)
                {
                    var mc = new ModuleController();
                    var settings = mc.GetModuleSettings(ModuleId);
                    var showInNewWindow = settings[SettingName.URLNewWindow].AsBoolean();
                    //The following code must be executed during load, because the URLcontrol uses the viewstate
                    CtlUrl.UrlType = "M";
                    CtlUrl.ShowUsers = true;
                    CtlUrl.ShowFiles = false;
                    CtlUrl.ShowTabs = false;
                    CtlUrl.ShowUrls = false;
                    CtlUrl.ShowUpLoad = false;
                    CtlUrl.ShowLog = false;
                    CtlUrl.ShowTrack = false;
                    CtlUrl.Required = Required;
                    CtlUrl.ShowNewWindow = showInNewWindow;
                }

                if (!ValueIsSet && DefaultValue.Length > 0)
                {
                    var user = UserController.GetUserByName(PortalId, DefaultValue);
                    if (user == null && Information.IsNumeric(DefaultValue)) //check for valid userID:
                    {
                        user = new UserController().GetUser(PortalId, int.Parse(DefaultValue));
                    }
                    
                    Value = string.Format("UserId={0}", user.UserID);
                }
            }
        }
コード例 #12
0
 public UserInfo GetUser(string fieldName, DataRow row)
 {
     var strUserid = (row.Table.Columns.Contains(fieldName + DataTableColumn.Appendix_Original) 
                          ? row[fieldName + DataTableColumn.Appendix_Original] 
                          : row[fieldName]).AsString();
     if (strUserid != string.Empty)
     {
         var userInfo = new UserController().GetUser(Globals.GetPortalSettings().PortalId,
                                                     int.Parse(strUserid.Substring(7)));
         return userInfo;
     }
     return null;
 }
コード例 #13
0
        /// <summary>
        /// Gets the search items.
        /// </summary>
        /// <param name="modInfo">The module information.</param>
        /// <returns>Topics that meet the search criteria.</returns>
        public SearchItemInfoCollection GetSearchItems(ModuleInfo modInfo)
        {
            using (UnitOfWork uOw = new UnitOfWork())
            {
                TopicBO topicBo = new TopicBO(uOw);

                SearchItemInfoCollection searchItemCollection = new SearchItemInfoCollection();
                var topics = topicBo.GetAllByModuleID(modInfo.ModuleID);
                UserController uc = new UserController();

                foreach (var topic in topics)
                {
                    SearchItemInfo searchItem = new SearchItemInfo();

                    string strContent = null;
                    string strDescription = null;
                    string strTitle = null;
                    if (!string.IsNullOrWhiteSpace(topic.Title))
                    {
                        strTitle = topic.Title;
                    }
                    else
                    {
                        strTitle = topic.Name;
                    }

                    if (topic.Cache != null)
                    {
                        strContent = topic.Cache;
                        strContent += " " + topic.Keywords;
                        strContent += " " + topic.Description;

                        strDescription = HtmlUtils.Shorten(HtmlUtils.Clean(HttpUtility.HtmlDecode(topic.Cache), false), 100,
                            Localization.GetString("Dots", this.mSharedResourceFile));
                    }
                    else
                    {
                        strContent = topic.Content;
                        strContent += " " + topic.Keywords;
                        strContent += " " + topic.Description;

                        strDescription = HtmlUtils.Shorten(HtmlUtils.Clean(HttpUtility.HtmlDecode(topic.Content), false), 100,
                            Localization.GetString("Dots", this.mSharedResourceFile));
                    }

                    int userID = 0;

                    userID = Null.NullInteger;
                    if (topic.UpdatedByUserID != -9999)
                    {
                        userID = topic.UpdatedByUserID;
                    }

                    searchItem = new SearchItemInfo(strTitle, strDescription, userID, topic.UpdateDate, modInfo.ModuleID, topic.Name, strContent, "topic=" + WikiMarkup.EncodeTitle(topic.Name));

                    //// New SearchItemInfo(ModInfo.ModuleTitle & "-" & strTitle, strDescription,
                    //// userID, topic.UpdateDate, ModInfo.ModuleID, topic.Name, strContent, _
                    //// "topic=" & WikiMarkup.EncodeTitle(topic.Name))

                    searchItemCollection.Add(searchItem);
                }

                return searchItemCollection;
            }
        }
コード例 #14
0
        private void showOrderDetails(int orderID)
        {
            pnlOrderDetails.Visible = true;
            // Obtain Order Details from Database
            //      OrdersDB orderHistory = new OrdersDB();
            //      Commerce.OrderDetails myOrderDetails = orderHistory.GetOrderDetails(OrderID, CustomerId);
            OrderController orderController = new OrderController();
            OrderInfo order = orderController.GetOrder(orderID);

            if(order != null)
            {
                // Update labels with summary details
                lblTotal.Text = order.OrderTotal.ToString("C", LocalFormat);
                lblPostage.Text = order.ShippingCost.ToString("C", LocalFormat);
                lblTotalIncPostage.Text = order.GrandTotal.ToString("C", LocalFormat);
                lblOrderNumber.Text = order.OrderID.ToString();
                lblOrderDate.Text = order.OrderDate.ToString(_OrderDateFormat);
                lblShipDate.Text = order.ShipDate.ToShortDateString();

                UserController userController = new UserController();
                UserInfo userInfo = userController.GetUser(this.PortalId, order.CustomerID);
                lblOrderCompany.Text = "Profile: " + userInfo.Profile.GetPropertyValue("Company") + "<br>" + "Wisdom: " + DotNetNuke.Modules.Store.WebControls.CustomerAdmin.getUserCompanyName(order.CustomerID);

                //Tax
                if (order.Tax > 0)
                {
                    lblTax.Text = order.Tax.ToString("C", LocalFormat);
                    trTax.Visible = true;
                }
                else
                {
                    trTax.Visible = false;
                }

                getShipToAddress(order.ShippingAddressID);
                getBillToAddress(order.BillingAddressID);
                ArrayList orderDetails = orderController.GetOrderDetails(orderID);

                // if order was found, display it
                if (orderDetails != null)
                {
                    detailsTable.Visible = true;

                    // Bind Items to GridControl
                    grdOrderDetails.DataSource = orderDetails;
                    grdOrderDetails.DataBind();
                }
                // otherwise display an error message
                else
                {
                    lblDetailsError.Text = Localization.GetString("DetailsNotFound", this.LocalResourceFile);
                    detailsTable.Visible = false;
                }
            }

            if (order.OrderStatusID == (int)OrderInfo.OrderStatusList.AwaitingPayment
                && storeInfo.GatewayName == "PayPalProvider")
            {
                btnPayViaPayPal.Visible = true;
            }
            else
            {
                btnPayViaPayPal.Visible = false;
            }

            //Cancel button
            spanBR.Visible = false;
            if (storeInfo.AuthorizeCancel && !UserInfo.IsSuperUser)
            {
                if (order.OrderStatusID == (int)OrderInfo.OrderStatusList.AwaitingPayment
                    || order.OrderStatusID == (int)OrderInfo.OrderStatusList.AwaitingStock
                    || order.OrderStatusID == (int)OrderInfo.OrderStatusList.Paid)
                {
                    btnCancel.CommandArgument = order.OrderID.ToString();
                    btnCancel.Click += this.btnCancel_Click;
                    btnCancel.Visible = true;
                    if (btnPayViaPayPal.Visible)
                    {
                        spanBR.Visible = true;
                    }
                }
                else
                {
                    btnCancel.Visible = false;
                }
            }
            else
            {
                btnCancel.Visible = false;
            }

            //if (UserInfo.IsInRole("Administrators"))
            if (UserInfo.IsSuperUser || CheckForAdminRole() || UserInfo.IsInRole("ShopAdmin") || UserInfo.IsInRole("Webmaster"))
            {
                ddlOrderStatus.Visible = true;
                lnkbtnSave.Visible = true;
                lblOrderStatus.Visible = false;

                //Bind order status list...
                ddlOrderStatus.DataSource = orderController.GetOrderStatuses();
                ddlOrderStatus.DataTextField = "OrderStatusText";
                ddlOrderStatus.DataValueField = "OrderStatusID";
                ddlOrderStatus.DataBind();

                //Value...
                if (ddlOrderStatus.Items.FindByValue(order.OrderStatusID.ToString()) != null)
                {
                    ddlOrderStatus.Items.FindByValue(order.OrderStatusID.ToString()).Selected = true;
                }
            }
            else
            {
                /*
                ArrayList orderStatusList = orderController.GetOrderStatuses();
                string OrderStatusText = "";
                foreach (OrderStatus orderStatus in orderStatusList)
                {
                    if (orderStatus.OrderStatusID == order.OrderStatusID)
                    {
                        if (order.OrderStatusID > 1)
                        {
                            OrderStatusText = orderStatus.OrderStatusText + " - " + order.ShipDate.ToString(_OrderDateFormat);
                        }
                        else
                        {
                            OrderStatusText = orderStatus.OrderStatusText;
                        }
                        break;
                    }
                }
                */
                string OrderStatusText = "";
                OrderStatusText = GetOrderStatus(order.OrderStatusID, order.OrderIsPlaced);
                if (order.OrderStatusID > 1)
                {
                    OrderStatusText = OrderStatusText + " - " + order.ShipDate.ToString(_OrderDateFormat);
                }
                ddlOrderStatus.Visible = false;
                lnkbtnSave.Visible = false;
                lblOrderStatus.Visible = true;
                lblOrderStatus.Text = OrderStatusText;
            }
        }
コード例 #15
0
        protected void btnSubmitComment_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                //TODO: we're allowing anonymous comments, we should have a setting for this.
                var objSecurity = new DotNetNuke.Security.PortalSecurity();
                if (UseForumComments)
                {
                    int? categoryForumId = GetCategoryForumId();
                    if (categoryForumId.HasValue)
                    {
                        int threadId = ForumProvider.GetInstance(PortalId).AddComment(categoryForumId.Value, VersionInfoObject.AuthorUserId,
                            VersionInfoObject.Name, VersionInfoObject.Description, GetItemLinkUrl(VersionInfoObject.ItemId, PortalId),
                            objSecurity.InputFilter(txtComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), UserId,
                            Request.UserHostAddress);

                        var threadIdSetting = new ItemVersionSetting(Setting.CommentForumThreadId)
                                                  {
                                                      PropertyValue = threadId.ToString(CultureInfo.InvariantCulture),
                                                      ItemVersionId = VersionInfoObject.ItemVersionId
                                                  };
                        threadIdSetting.Save();
                        //VersionInfoObject.VersionSettings.Add(threadIdSetting);
                        //VersionInfoObject.Save(VersionInfoObject.AuthorUserId);
                        Response.Redirect(ForumProvider.GetInstance(PortalId).GetThreadUrl(threadId), true);
                    }
                }
                else
                {
                    if (txtHumanTest.Text.Trim().ToLower() == "human")
                    {
                        string urlText = txtUrlComment.Text;
                        if (urlText.Trim().Length > 0 && !urlText.StartsWith("http://", StringComparison.OrdinalIgnoreCase) && !urlText.StartsWith("https://", StringComparison.OrdinalIgnoreCase))
                        {
                            urlText = "http://" + urlText;
                        }

                        int approvalStatusId = ApprovalStatus.Waiting.GetId();
                        if (IsAdmin)
                        {//automatically approve admin comments
                            approvalStatusId = ApprovalStatus.Approved.GetId();
                        }

                        //TODO: format the comment text
                        UserFeedback.Comment.AddComment(VersionInfoObject.ItemVersionId, (UserId == -1 ? null : (int?)UserId),
                            objSecurity.InputFilter(txtComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting), approvalStatusId,
                            null, objSecurity.InputFilter(txtFirstNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting),
                            objSecurity.InputFilter(txtLastNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting),
                            objSecurity.InputFilter(txtEmailAddressComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting),
                            objSecurity.InputFilter(urlText, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting),
                            DataProvider.ModuleQualifier);

                        //see if comment notification is turned on. Notify the ItemVersion.Author
                        if (IsCommentAuthorNotificationEnabled)
                        {
                            var uc = new UserController();

                            UserInfo ui = uc.GetUser(PortalId, VersionInfoObject.AuthorUserId);

                            if (ui != null)
                            {
                                string emailBody = Localization.GetString("CommentNotificationEmail.Text", LocalResourceFile);
                                emailBody = String.Format(emailBody
                                    , VersionInfoObject.Name
                                    , GetItemLinkUrlExternal(VersionInfoObject.ItemId)
                                    , objSecurity.InputFilter(txtFirstNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting)
                                    , objSecurity.InputFilter(txtLastNameComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting)
                                    , objSecurity.InputFilter(txtEmailAddressComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting)
                                    , objSecurity.InputFilter(txtComment.Text, DotNetNuke.Security.PortalSecurity.FilterFlag.NoScripting)

                                    );

                                string emailSubject = Localization.GetString("CommentNotificationEmailSubject.Text", LocalResourceFile);
                                emailSubject = String.Format(emailSubject, VersionInfoObject.Name);

                                Mail.SendMail(PortalSettings.Email, ui.Email, string.Empty, emailSubject, emailBody, string.Empty, "HTML", string.Empty, string.Empty, string.Empty, string.Empty);
                            }
                        }

                        ConfigureComments();

                        pnlCommentEntry.Visible = false;
                        pnlCommentConfirmation.Visible = true;
                    }
                }
            }
        }
コード例 #16
0
        private void SendCustomerNotification(string siteAlias, string regKey)
        {
            //Replace Tokens
            string strSubject = Settings["CustomerNotificationSubject"].ToString();
            string strBody = Settings["CustomerNotificationBody"].ToString();

            //[ProductName] subject and body

            string strProductName = _regProduct.ProductName;
            strSubject = strSubject.Replace("[ProductName]", strProductName);
            strBody = strBody.Replace("[ProductName]", strProductName);

            //[CustomerDisplayName] body

            UserController ctrlUsers = new UserController();
            UserInfo customer = ctrlUsers.GetUser(PortalId, _regProduct.UserID);
            strBody = strBody.Replace("[CustomerDisplayName]", customer.DisplayName);

            //[SystemMessage] body
            //<br/>
            //Product: product name
            //Order Number: 123456
            //Site Alias: www.site.com
            //Registration Key: asdfaslfkjhlksdfjhlkas
            string strSystemMessage = String.Format("<br/><br/>Product: {0}<br/>Order Number: {1}<br/>Site Alias: {2}<br/>Registration Key: {3}<br/><br/>", strProductName, _regProduct.OrderNumber, siteAlias, regKey);
            strBody = strBody.Replace("[SystemMessage]", strSystemMessage);

            DotNetNuke.Services.Mail.Mail.SendEmail(PortalSettings.Email, customer.Email, strSubject, strBody);
        }
コード例 #17
0
ファイル: Item.cs プロジェクト: EngageSoftware/Engage-Publish
        /// <summary>
        /// Sends an email to the author of an item's version indicating that the version's status changed.
        /// </summary>
        private void SendStatusUpdateEmail()
        {
            UserInfo revisingUser = UserController.GetCurrentUserInfo();
            if (revisingUser.Username != null)
            {
                UserInfo versionAuthor = new UserController().GetUser(this.PortalId, this.authorUserId);

                // if this is the same user, don't email them notification.
                if (versionAuthor != null && versionAuthor.Email != revisingUser.Email)
                {
                    this.SendTemplatedEmail(
                        revisingUser,
                        new[]
                            {
                                versionAuthor
                            },
                        this.EmailStatusChangeBody,
                        this.EmailStatusChangeSubject);
                }
            }
        }
コード例 #18
0
        private void ProcessLogin(int newUserId)
        {
            var currentUser = UserController.GetCurrentUserInfo();

            //Log event
            var objEventLog = new EventLogController();
            objEventLog.AddLog("Username", currentUser.Username, PortalSettings, currentUser.UserID, EventLogController.EventLogType.USER_IMPERSONATED);

            //Remove user from cache
            DataCache.ClearUserCache(PortalSettings.PortalId, currentUser.Username);

            var objPortalSecurity = new PortalSecurity();
            objPortalSecurity.SignOut();

            var ctlUser = new UserController();
            var newUser = ctlUser.GetUser(PortalSettings.PortalId, newUserId);

            UserController.UserLogin(newUser.PortalID, newUser, PortalSettings.PortalName, HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"], false);

            ClearCookies();

            Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(PortalSettings.ActiveTab.TabID));
        }
コード例 #19
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string coursePageName = ((DotNetNuke.Framework.CDefault)this.Page).Title;
            coursePageName = coursePageName.Replace("C", "");
            CourseId = Convert.ToInt32(coursePageName);
            CultureCode = (Page as DotNetNuke.Framework.PageBase).PageCulture.Name;
            BaseHandler bh = new BaseHandler();
            cc = new CourseContainer(CultureCode, CourseId);
            IsAuthorized = ((this.UserId != -1 && cc.TheCourse.WhoCanEdit == EWhoCanEdit.Anyone) || cc.TheCourse.CreatedByUserId == this.UserId || (UserInfo.IsInRole("Administator")));

            if (Request.Form["__EVENTTARGET"] == "btnWhoCanEdit")
            {
                // Fire event
                btnWhoCanEdit_Click(this, new EventArgs());
            }

            if (Request.Form["__EVENTTARGET"] == "btnListed")
            {
                // Fire event
                btnListed_Click(this, new EventArgs());
            }

            UserController uc = new UserController();
            UserInfo u = uc.GetUser(PortalId, cc.TheCourse.CreatedByUserId);
            hlCreatedBy.Text = u.DisplayName;
            hlCreatedBy.NavigateUrl = DotNetNuke.Common.Globals.UserProfileURL(cc.TheCourse.CreatedByUserId);
            lbltheCreatedOn.Text = cc.TheCourse.CreatedOnDate.ToString();
            rblWhoCanEdit.Items.Clear();
            rblWhoCanEdit.Items.Add("Anyone");
            rblWhoCanEdit.Items.Add("Only me");
            rblWhoCanEdit.SelectedValue = "Anyone";
            switch (cc.TheCourse.WhoCanEdit)
            {
                case EWhoCanEdit.Anyone:
                    lbltheWhoCanEdit.Text = "Anyone";
                    break;
                case EWhoCanEdit.OnlyMe:
                    lbltheWhoCanEdit.Text = "Only me";
                    rblWhoCanEdit.SelectedValue = "Only me";
                    break;
                case EWhoCanEdit.NotSet :
                    lbltheWhoCanEdit.Text = "Not set";
                    break;
            }
            rblListed.Items.Clear();
            rblListed.Items.Add(Localization.GetString("Listed.Text", this.LocalResourceFile));
            rblListed.Items.Add(Localization.GetString("NotListed.Text", this.LocalResourceFile));
            rblListed.SelectedIndex = 0;

            if (cc.TheCourse.IsListed)
                lblTheListed.Text = "Yes";
            else
            {
                lblTheListed.Text = "No";
                rblListed.SelectedIndex = 1;
            }
            if (cc.TheCourse.CreatedByUserId == this.UserId)
            {
                btnWhoCanEdit.Visible = true;
                btnListed.Visible = true;
            }
            cc.LoadDescription();
            if (cc.TheDescription != null)
                lbltheDespription.Text = cc.TheDescription.Text;
            else
                lbltheDespription.Text = "-";

            if(cc.TheCourse.CreatedByUserId == this.UserId || UserInfo.IsInRole("Administator"))
            {
                btnDelete.Visible = true;
            }
        }
コード例 #20
0
        protected string GetAuthorName(object authorId)
        {
            if (authorId != null)
            {
                string author = string.Empty;
                var uc = new UserController();
                UserInfo ui = uc.GetUser(this.PortalId, Convert.ToInt32(authorId, CultureInfo.InvariantCulture));
                if (ui != null)
                {
                    author = authorId is DBNull ? string.Empty : ui.Username;
                }

                return author;
            }

            return string.Empty;
        }
コード例 #21
0
        public HttpResponseMessage Create(CreateDTO postData)
        {
            try
            {
                var portalId = PortalController.GetEffectivePortalId(PortalSettings.PortalId);
                var roleIdsList = string.IsNullOrEmpty(postData.RoleIds) ? null : postData.RoleIds.FromJson<IList<int>>();
                var userIdsList = string.IsNullOrEmpty(postData.UserIds) ? null : postData.UserIds.FromJson<IList<int>>();
                var fileIdsList = string.IsNullOrEmpty(postData.FileIds) ? null : postData.FileIds.FromJson<IList<int>>();

                var roles = roleIdsList != null && roleIdsList.Count > 0
                    ? roleIdsList.Select(id => TestableRoleController.Instance.GetRole(portalId, r => r.RoleID == id)).Where(role => role != null).ToList()
                    : null;

                List<UserInfo> users = null;
                if (userIdsList != null)
                {
                    var userController = new UserController();
                    users = userIdsList.Select(id => userController.GetUser(portalId, id)).Where(user => user != null).ToList();
                }

                var message = new Message { Subject = HttpUtility.UrlDecode(postData.Subject), Body = HttpUtility.UrlDecode(postData.Body) };
                MessagingController.Instance.SendMessage(message, roles, users, fileIdsList);
                return Request.CreateResponse(HttpStatusCode.OK, new { Result = "success", Value = message.MessageID });
            }
            catch (Exception exc)
            {
                Logger.Error(exc);
                return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc);
            }
        }
コード例 #22
0
        private void SendOrderStatusChangeEmail(int customerID, int OrderID, string newOrderStatus, bool RequiresPayment, bool SendToStoreOwner)
        {
            StringBuilder emailText = new StringBuilder();
            UserController userController = new UserController();
            UserInfo userInfo = userController.GetUser(PortalId, customerID);

            string storeEmail = storeInfo.DefaultEmailAddress;
            string customerEmail = userInfo.Membership.Email;

            _Message = Localization.GetString("PlacedOrder", this.LocalResourceFile);
            emailText.Append(string.Format(_Message, PortalSettings.PortalName));
            emailText.Append("\r\n");
            emailText.Append("\r\n");
            _Message = Localization.GetString("ChangedStatus", this.LocalResourceFile);
            emailText.Append(string.Format(_Message, OrderID.ToString(), newOrderStatus));

            TabController tabControler = new TabController();
            TabInfo tabInfo = tabControler.GetTab(storeInfo.ShoppingCartPageID, storeInfo.PortalID, true);
            if (RequiresPayment)
            {
                emailText.Append("\r\n");
                emailText.Append("\r\n");
                _Message = Localization.GetString("RequiresPayment", this.LocalResourceFile);
                emailText.Append(string.Format(_Message, tabInfo.TabName, lblParentTitle.Text, storeEmail));
            }
            else
            {
                emailText.Append("\r\n");
                emailText.Append("\r\n");
                _Message = Localization.GetString("AboutChange", this.LocalResourceFile);
                emailText.Append(string.Format(_Message, storeEmail));
            }
            emailText.Append("\r\n");
            emailText.Append("\r\n");
            _Message = Localization.GetString("CheckStatus", this.LocalResourceFile);
            emailText.Append(string.Format(_Message, tabInfo.TabName));
            emailText.Append("\r\n");
            emailText.Append("\r\n");
            emailText.Append(Localization.GetString("OrderThanks", this.LocalResourceFile));
            emailText.Append("\r\n");
            emailText.Append("\r\n");
            emailText.Append("http://" + PortalSettings.PortalAlias.HTTPAlias);
            emailText.Append("\r\n");

            // send email
            SmtpClient smtpClient = new SmtpClient((string)DotNetNuke.Common.Globals.HostSettings["SMTPServer"]);
            System.Net.NetworkCredential networkCredential = new System.Net.NetworkCredential((string)DotNetNuke.Common.Globals.HostSettings["SMTPUsername"], (string)DotNetNuke.Common.Globals.HostSettings["SMTPPassword"]);
            smtpClient.UseDefaultCredentials = false;
            smtpClient.Port = 25;
            smtpClient.EnableSsl = false;
            smtpClient.Credentials = networkCredential;

            MailMessage message = new MailMessage();
            try
            {
                MailAddress fromAddress = new MailAddress(storeEmail);

                //From address will be given as a MailAddress Object
                message.From = fromAddress;

                // To address collection of MailAddress
                message.To.Add(customerEmail);
                _Message = Localization.GetString("StatusChanged", this.LocalResourceFile);
                message.Subject = string.Format(_Message, storeInfo.Name);

                //Body can be Html or text format
                //Specify true if it  is html message
                message.IsBodyHtml = false;

                message.BodyEncoding = Encoding.Default;

                // Message body content
                message.Body = emailText.ToString();

                // Send SMTP mail
                smtpClient.Send(message);

                if (SendToStoreOwner)
                {
                    message.To.Clear();
                    message.To.Add(storeInfo.DefaultEmailAddress);
                    smtpClient.Send(message);
                }
            }
            catch (Exception ex)
            {

            }
        }
コード例 #23
0
        /// <summary>
        /// TransferUsers transfers legacy users to the new ASP.NET MemberRole Architecture
        /// </summary>
        /// <remarks>
        /// </remarks>
        ///	<param name="PortalID">Id of the Portal</param>
        ///	<param name="arrUsers">An ArrayList of the Users</param>
        ///	<param name="SuperUsers">A flag indicating whether the users are SuperUsers</param>
        /// <history>
        /// 	[cnurse]	11/6/2004	documented
        ///     [cnurse]    12/15/2005  Moved to MembershipProvider
        /// </history>
        private void TransferUsers( int PortalID, ArrayList arrUsers, bool SuperUsers )
        {
            UserController objUserCont = new UserController();
            try
            {
                //Set the MemberRole API ApplicationName
                if( SuperUsers )
                {
                    HtmlUtils.WriteFeedback( HttpContext.Current.Response, 0, "Start Transferring SuperUsers to MemberRole:<br>" );
                }
                else
                {
                    HtmlUtils.WriteFeedback( HttpContext.Current.Response, 0, "Start Transferring Portal Users to MemberRole: PortalId= " + PortalID.ToString() + "<br>" );
                }

                IDataReader dr;
                string EncryptionKey = "";
                dr = DotNetNuke.Data.DataProvider.Instance().GetHostSetting( "EncryptionKey" );
                if( dr.Read() )
                {
                    EncryptionKey = dr["SettingValue"].ToString();
                }
                dr.Close();

                int i;
                int iMin = 1;
                int iMax = 100;
                for( i = 0; i <= arrUsers.Count - 1; i++ )
                {
                    if( i%100 == 0 )
                    {
                        if( iMin > arrUsers.Count )
                        {
                            iMin = arrUsers.Count;
                        }
                        if( iMax > arrUsers.Count )
                        {
                            iMax = arrUsers.Count;
                        }

                        HtmlUtils.WriteFeedback( HttpContext.Current.Response, 0, "Transferring Users:" + iMin.ToString() + " to " + iMax.ToString() + "<br>" );

                        iMin = iMin + 100;
                        iMax = iMax + 100;
                    }

                    UserInfo objUser;
                    objUser = (UserInfo)arrUsers[i];
                    MembershipCreateStatus objStatus;
                    string strPassword;
                    PortalSecurity objPortalSecurity = new PortalSecurity();
                    strPassword = objPortalSecurity.Decrypt( EncryptionKey, objUser.Membership.Password );
                    if( objUser.IsSuperUser )
                    {
                        objUser.Membership.Approved = true;
                    }
                    MembershipUser objMembershipUser;
                    objMembershipUser = System.Web.Security.Membership.CreateUser( objUser.Username, strPassword, objUser.Email, null, null, objUser.Membership.Approved, out objStatus );
                    if( objStatus != MembershipCreateStatus.Success )
                    {
                        Exceptions.LogException( new Exception( objStatus.ToString() ) );
                    }
                    else
                    {
                        try
                        {
                            ProfileBase objProfile;
                            objProfile = ProfileBase.Create( objUser.Username, true );
                            objProfile["FirstName"] = objUser.Profile.FirstName;
                            objProfile["LastName"] = objUser.Profile.LastName;
                            objProfile["Unit"] = objUser.Profile.Unit;
                            objProfile["Street"] = objUser.Profile.Street;
                            objProfile["City"] = objUser.Profile.City;
                            objProfile["Region"] = objUser.Profile.Region;
                            objProfile["PostalCode"] = objUser.Profile.PostalCode;
                            objProfile["Country"] = objUser.Profile.Country;
                            objProfile["Telephone"] = objUser.Profile.Telephone;
                            objProfile.Save();
                        }
                        catch( Exception exc )
                        {
                            Exceptions.LogException( exc );
                        }

                        RoleController objDNNRoles = new RoleController();
                        string[] arrUserRoles = objDNNRoles.GetRolesByUser( objUser.UserID, PortalID );
                        if( arrUserRoles != null )
                        {
                            try
                            {
                                System.Web.Security.Roles.AddUserToRoles( objUser.Username, arrUserRoles );
                            }
                            catch( Exception exc )
                            {
                                Exceptions.LogException( exc );
                            }
                        }
                    }
                }
            }
            finally
            {
            }

            if( SuperUsers )
            {
                HtmlUtils.WriteFeedback( HttpContext.Current.Response, 0, "Finish Transferring SuperUsers to MemberRole:<br>" );
            }
            else
            {
                HtmlUtils.WriteFeedback( HttpContext.Current.Response, 0, "Finish Transferring Portal Users to MemberRole: PortalId= " + PortalID.ToString() + "<br>" );
            }
        }
コード例 #24
0
        //Log Display

        //Tasks

        /// <summary>
        /// BindData binds the controls to the Data
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// 	[cnurse]	9/15/2004	Updated to reflect design changes for Help, 508 support
        ///                       and localisation
        /// </history>
        private void BindData()
        {
            string strPortalAlias;

            strPortalAlias = Globals.GetPortalDomainName( PortalAlias.HTTPAlias, Request, false );
            if( strPortalAlias.IndexOf("/") != 0 ) // child portal
            {
                strPortalAlias = strPortalAlias.Substring( 0, strPortalAlias.LastIndexOf( "/" ) - 1 );
            }

            string strStartDate = txtStartDate.Text;
            DateTime dtStart = DateTime.Parse( strStartDate );
            if( !String.IsNullOrEmpty(strStartDate) )
            {
                strStartDate = strStartDate + " 00:00";
            }

            string strEndDate = txtEndDate.Text;
            DateTime dtEnd = DateTime.Parse( strEndDate );
            if( !String.IsNullOrEmpty(strEndDate) )
            {
                strEndDate = strEndDate + " 23:59";
            }

            UserController objUsers = new UserController();
            UserInfo objUser;
            if( cboReportType.SelectedItem.Value == "10" )
            {
                //User Registrations By Date

                ArrayList arrUsers = UserController.GetUsers( PortalId, false );
                DataTable dt = new DataTable();
                DataRow dr;

                dt.Columns.Add( new DataColumn( "Full Name", typeof( string ) ) );
                dt.Columns.Add( new DataColumn( "User Name", typeof( string ) ) );
                dt.Columns.Add( new DataColumn( "Date Registered", typeof( DateTime ) ) );

                foreach( UserInfo tempLoopVar_objUser in arrUsers )
                {
                    objUser = tempLoopVar_objUser;
                    if( objUser.Membership.CreatedDate >= dtStart && objUser.Membership.CreatedDate <= dtEnd && objUser.IsSuperUser == false )
                    {
                        dr = dt.NewRow();

                        dr["Date Registered"] = objUser.Membership.CreatedDate;
                        dr["Full Name"] = objUser.Profile.FullName;
                        dr["User Name"] = objUser.Username;

                        dt.Rows.Add( dr );
                    }
                }

                DataView dv = new DataView( dt );
                dv.Sort = "Date Registered DESC";
                grdLog.DataSource = dv;
                grdLog.DataBind();
            }
            else if( cboReportType.SelectedItem.Value == "11" )
            {
                //User Registrations By Country

                ArrayList arrUsers = UserController.GetUsers( PortalId, false );
                DataTable dt = new DataTable();
                DataRow dr;

                dt.Columns.Add( new DataColumn( "Full Name", typeof( string ) ) );
                dt.Columns.Add( new DataColumn( "User Name", typeof( string ) ) );
                dt.Columns.Add( new DataColumn( "Country", typeof( string ) ) );

                foreach( UserInfo tempLoopVar_objUser in arrUsers )
                {
                    objUser = tempLoopVar_objUser;
                    if( objUser.Membership.CreatedDate >= dtStart && objUser.Membership.CreatedDate <= dtEnd && objUser.IsSuperUser == false )
                    {
                        dr = dt.NewRow();

                        dr["Country"] = objUser.Profile.Country;
                        dr["Full Name"] = objUser.Profile.FullName;
                        dr["User Name"] = objUser.Username;

                        dt.Rows.Add( dr );
                    }
                }

                DataView dv = new DataView( dt );
                dv.Sort = "Country";
                grdLog.DataSource = dv;
                grdLog.DataBind();
            }
            else
            {
                SiteLogController objSiteLog = new SiteLogController();
                IDataReader dr = objSiteLog.GetSiteLog( PortalId, strPortalAlias, Convert.ToInt32( cboReportType.SelectedItem.Value ), Convert.ToDateTime( strStartDate ), Convert.ToDateTime( strEndDate ) );
                grdLog.DataSource = dr; // we are using a DataReader here because the resultset returned by GetSiteLog varies based on the report type selected and therefore does not conform to a static business object
                grdLog.DataBind();
                dr.Close();
            }
        }
コード例 #25
0
ファイル: Export.ascx.cs プロジェクト: DNNMonster/NBrightBuy
        private void DoExport()
        {
            
            var strXml = new StringBuilder("<root>");
            var objCtrlUser = new UserController();

            if (GenXmlFunctions.GetField(rpData,"exportproducts") == "True")
            {

                // export any entitytype provider data
                // This is data created by plugins into the NBS data tables.
                var pluginData = new PluginData(PortalSettings.Current.PortalId);
                var provList = pluginData.GetEntityTypeProviders();
                foreach (var prov in provList)
                {
                    var entityprov = EntityTypeInterface.Instance(prov.Key);
                    if (entityprov != null)
                    {
                        var provl = ModCtrl.GetList(PortalId, -1, entityprov.GetEntityTypeCode());
                        foreach (var i in provl) { strXml.Append(i.ToXmlItem()); }

                        provl = ModCtrl.GetList(PortalId, -1, entityprov.GetEntityTypeCodeLang());
                        foreach (var i in provl) { strXml.Append(i.ToXmlItem()); }
                    }
                }

                var l = ModCtrl.GetList(PortalId, -1, "PRD");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }

                l = ModCtrl.GetList(PortalId, -1, "PRDLANG");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }
            
                l = ModCtrl.GetList(PortalId, -1, "PRDXREF");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }

                l = ModCtrl.GetList(PortalId, -1, "USERPRDXREF");
                foreach (var i in l)
                {
                    var u = objCtrlUser.GetUser(i.PortalId, i.UserId);
                    if (u != null)
                    {
                        i.TextData = u.Username;
                        strXml.Append(i.ToXmlItem());
                    }
                }
                
            }

            if (GenXmlFunctions.GetField(rpData, "exportcategories") == "True")
            {
                var l = ModCtrl.GetList(PortalId, -1, "CATEGORY");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }

                l = ModCtrl.GetList(PortalId, -1, "CATEGORYLANG");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }
            }

            if (GenXmlFunctions.GetField(rpData, "exportcategories") == "True" && GenXmlFunctions.GetField(rpData, "exportproducts") == "True")
            {
                var l = ModCtrl.GetList(PortalId, -1, "CATCASCADE");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }
                l = ModCtrl.GetList(PortalId, -1, "CATXREF");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }
            }

            if (GenXmlFunctions.GetField(rpData, "exportproperties") == "True")
            {
                var l = ModCtrl.GetList(PortalId, -1, "GROUP");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }

                l = ModCtrl.GetList(PortalId, -1, "GROUPLANG");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }
            }

            if (GenXmlFunctions.GetField(rpData, "exportsettings") == "True")
            {
                var l = ModCtrl.GetList(PortalId, 0, "SETTINGS");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }
            }

            if (GenXmlFunctions.GetField(rpData, "exportorders") == "True")
            {
                var l = ModCtrl.GetList(PortalId, -1, "ORDER");
                foreach (var i in l) { strXml.Append(i.ToXmlItem()); }
            }

            strXml.Append("</root>");

            var doc = new XmlDocument();
            doc.LoadXml(strXml.ToString());
            doc.Save(StoreSettings.Current.FolderUploadsMapPath + "\\export.xml");

            Utils.ForceDocDownload(StoreSettings.Current.FolderUploadsMapPath + "\\export.xml", PortalSettings.PortalAlias.HTTPAlias + "_export.xml", Response);
        }
コード例 #26
0
        private void DisplayArticle()
        {
            if (VersionInfoObject.IsNew)
            {
                if (IsAdmin || IsAuthor)
                {
                    //Default the text to no approved version. if the module isn't configured or no Categories/Articles exist yet then it will be overwritten.
                    lblArticleText.Text = Localization.GetString("NoApprovedVersion", LocalResourceFile);

                    //Check to see if there are Categories defined. If none are defined this is the first
                    //instance of the Module so we need to notify the user to create categories and articles.
                    int categoryCount = DataProvider.Instance().GetCategories(PortalId).Rows.Count;
                    if (categoryCount == 0)
                    {
                        lblArticleText.Text = Localization.GetString("NoDataToDisplay", LocalResourceFile);
                    }
                    else if (IsConfigured == false)
                    {
                        lnkConfigure.Text = Localization.GetString("UnableToFindAction", LocalResourceFile);
                        lnkConfigure.NavigateUrl = EditUrl("ModuleId", ModuleId.ToString(CultureInfo.InvariantCulture), "Module");
                        lnkConfigure.Visible = true;
                        lblArticleText.Text = Localization.GetString("UnableToFind", LocalResourceFile);
                    }
                }
                return;
            }

            if (Item.GetItemType(VersionInfoObject.ItemId, PortalId) == "Article")
            {
                UseCache = true;

                var article = (Article)VersionInfoObject;
                if (DisplayTitle)
                {
                    SetPageTitle();
                    lblArticleTitle.Text = article.Name;
                    divArticleTitle.Visible = true;
                    divLastUpdated.Visible = true;
                }

                article.ArticleText = Utility.ReplaceTokens(article.ArticleText);
                DisplayArticlePaging(article);

                string referrer = string.Empty;
                if (HttpContext.Current.Request.UrlReferrer != null)
                {
                    referrer = HttpContext.Current.Request.UrlReferrer.ToString();
                }
                string url = string.Empty;
                if (HttpContext.Current.Request.RawUrl != null)
                {
                    url = HttpContext.Current.Request.RawUrl;
                }
                article.AddView(UserId, TabId, HttpContext.Current.Request.UserHostAddress);

                DateTime lastUpdated = Convert.ToDateTime(article.LastUpdated, CultureInfo.InvariantCulture);

                DateTime dateCreated = Convert.ToDateTime(article.CreatedDate, CultureInfo.InvariantCulture);

                lblLastUpdated.Text = String.Format(Localization.GetString("LastUpdated", LocalResourceFile),lastUpdated.ToString(LastUpdatedFormat, CultureInfo.CurrentCulture));

                lblDateCreated.Text = String.Format(Localization.GetString("DateCreated", LocalResourceFile), dateCreated.ToShortDateString());
                //get the pnlAuthor setting
                ItemVersionSetting auSetting = ItemVersionSetting.GetItemVersionSetting(article.ItemVersionId, "pnlAuthor", "Visible", PortalId);
                if (auSetting != null)
                {
                    ShowAuthor = Convert.ToBoolean(auSetting.PropertyValue, CultureInfo.InvariantCulture);
                }

                if (ShowAuthor)
                {
                    pnlAuthor.Visible = true;
                    lblAuthor.Text = article.Author;
                    if (lblAuthor.Text.Trim().Length < 1)
                    {
                        var uc = new UserController();
                        UserInfo ui = uc.GetUser(PortalId, article.AuthorUserId);
                        lblAuthor.Text = ui.DisplayName;
                    }

                    if (lblAuthor.Text.Trim().Length < 1)
                    {
                        pnlAuthor.Visible = false;
                    }
                }
                else
                {
                    pnlAuthor.Visible = false;
                }

                //get the pnlPrinterFriendly setting
                ItemVersionSetting pfSetting = ItemVersionSetting.GetItemVersionSetting(article.ItemVersionId, "pnlPrinterFriendly", "Visible", PortalId);
                if (pfSetting != null)
                {
                    pnlPrinterFriendly.Visible = Convert.ToBoolean(pfSetting.PropertyValue, CultureInfo.InvariantCulture);
                }

                //get the pnlEmailAFriend setting
                ItemVersionSetting efSetting = ItemVersionSetting.GetItemVersionSetting(article.ItemVersionId, "pnlEmailAFriend", "Visible", PortalId);
                if (efSetting != null)
                {
                    pnlEmailAFriend.Visible = Convert.ToBoolean(efSetting.PropertyValue, CultureInfo.InvariantCulture);
                }

                //get the pnlComments setting
                ItemVersionSetting ctSetting = ItemVersionSetting.GetItemVersionSetting(article.ItemVersionId, "pnlComments", "Visible", PortalId);
                if (ctSetting != null)
                {
                    pnlComments.Visible = Convert.ToBoolean(ctSetting.PropertyValue, CultureInfo.InvariantCulture);
                }

                ////get the upnlRating setting
                //ItemVersionSetting tgSetting = ItemVersionSetting.GetItemVersionSetting(article.ItemVersionId, "pnlTags", "Visible");
                //if (tgSetting != null)
                //{
                //    pnlTags.Visible = Convert.ToBoolean(tgSetting.PropertyValue, CultureInfo.InvariantCulture);
                //    if (Convert.ToBoolean(tgSetting.PropertyValue, CultureInfo.InvariantCulture))
                //    {
                //        PopulateTagList();
                //    }
                //}
                //else
                //{
                //    if (article.Tags.Count > 0)
                //    {
                //        pnlTags.Visible = true;
                //        PopulateTagList();
                //    }
                //}

                DisplayReturnToList(article);
            }
        }
コード例 #27
0
		private User GetDNNUser(int SiteId, int ModuleId, int userId)
		{
			PortalSettings _portalSettings = PortalController.GetCurrentPortalSettings();
			User u = new User();
			DotNetNuke.Entities.Users.UserController uc = new DotNetNuke.Entities.Users.UserController();
			DotNetNuke.Entities.Users.UserInfo dnnUser = uc.GetUser(_portalSettings.PortalId, userId);
			u = LoadUser(dnnUser);
			return u;
		}
コード例 #28
0
        /// <summary>
        /// TransferUsersToMembershipProvider transfers legacy users to the
        ///	new ASP.NET MemberRole Architecture
        /// </summary>
        /// <history>
        /// 	[cnurse]	11/6/2004	documented
        ///     [cnurse]    12/15/2005  Moved to MembershipProvider
        /// </history>
        public override void TransferUsersToMembershipProvider()
        {
            int j;
            ArrayList arrUsers = new ArrayList();
            UserController objUserController = new UserController();

            //Get the Super Users and Transfer them to the Provider
            arrUsers = GetLegacyUsers( dataProvider.GetSuperUsers() );
            TransferUsers( - 1, arrUsers, true );

            PortalController objPortalController = new PortalController();
            ArrayList arrPortals;
            arrPortals = objPortalController.GetPortals();

            for( j = 0; j <= arrPortals.Count - 1; j++ )
            {
                PortalInfo objPortal;
                objPortal = (PortalInfo)arrPortals[j];

                RoleController objRoles = new RoleController();
                ArrayList arrRoles = objRoles.GetPortalRoles( objPortal.PortalID );
                int q;
                for( q = 0; q <= arrRoles.Count - 1; q++ )
                {
                    try
                    {
                        System.Web.Security.Roles.CreateRole( ( (RoleInfo)arrRoles[q] ).RoleName );
                    }
                    catch( Exception exc )
                    {
                        Exceptions.LogException( exc );
                    }
                }

                //Get the Portal Users and Transfer them to the Provider
                arrUsers = GetLegacyUsers( dataProvider.GetUsers( objPortal.PortalID ) );
                TransferUsers( objPortal.PortalID, arrUsers, false );
            }
        }
コード例 #29
0
 protected static string GetAuthor(object author, object authorUserId, int portalId)
 {
     if (author.ToString().Trim().Length > 0)
         return author.ToString();
     var uc = new UserController();
     return uc.GetUser(portalId, Convert.ToInt32(authorUserId)).DisplayName;
 }
コード例 #30
0
        /*
        private long RegisterGroup(string name, string email, string address, string city, string url, string phone, double lat, double lng)
        {
            //3-933 Ellery Street, Victoria, BC V9A 4R9, Canada
            //1840 Gadsden Hwy # 112, Birmingham, AL
            string postal = string.Empty;
            string street = string.Empty;
            string region = string.Empty;
            string country = string.Empty;
            if (address != null)
            {
                string[] split = address.Split(',');
                if (split.Length > 0)
                {
                    street = split[0];
                }
                if (split.Length > 1)
                {
                    // city we have
                }
                if (split.Length > 2)
                {
                    region = split[2];
                }
            }
            // check required fields
            string uName = name.Replace(" ", "_").Replace("'", "");
            aqufitEntities entities = new aqufitEntities();
            Group test = entities.UserSettings.OfType<Group>().FirstOrDefault(g => g.UserName == uName);
                // if a user is found with that username, error. this prevents you from adding a username with the same name as a superuser.
           if (test != null)
           {
               throw new Exception("We already have an entry for the Group Name.");

           }
            Affine.WebService.RegisterService regService = new WebService.RegisterService();
            Group us = new Data.Group();
            us.UserKey = 0;
            us.PortalKey = PortalId;
            us.UserEmail = email;
            us.UserName = uName;
            us.UserFirstName = name;
            us.UserLastName = "";
            us.GroupType = entities.GroupTypes.FirstOrDefault(g => g.Id == 1);
            us.DefaultMapLat = lat;
            us.DefaultMapLng = lng;
            us.LngHome = lat;
            us.LngHome = lng;
            //us.Status = atTxtGroupDescription.Text;
            // TODO: don't make the Place required for groups..

            us.Places.Add(new Place()
            {
                City = city,
                Country = country,
                Email = email,
                Lat = lat,
                Lng = lng,
                Name = name,
                Postal = postal,
                Region = region,
                Street = street,
                Website = url,
                Phone = phone
            });
            entities.AddToUserSettings(us);
            entities.SaveChanges();
            // Now assign the creator of the group as an admin
            Group group = entities.UserSettings.OfType<Group>().First(g => g.UserName == us.UserName);
            return group.Id;

        }
        */
        protected void bAjaxPostback_Click(object sender, EventArgs e)
        {
            try
            {
                switch (hiddenAjaxAction.Value)
                {
                    case "su":
                        long uid = Convert.ToInt64(hiddenAjaxValue.Value);
                        aqufitEntities entities = new aqufitEntities();
                        User fbUser = entities.UserSettings.OfType<User>().FirstOrDefault(u => u.Id == uid);
                        UserController uc = new UserController();
                        UserInfo ui = uc.GetUser((int)fbUser.PortalKey, (int)fbUser.UserKey);
                        UserController.UserLogin(PortalId,ui,PortalSettings.PortalName, Request.UserHostAddress, true);
                        Response.Redirect(ResolveUrl("~"), true);
                        break;
                }
            }
            catch (Exception ex)
            {
                RadAjaxManager1.ResponseScripts.Add("Aqufit.Windows.ErrorDialog('" + ex.Message.Replace("'", "") + "'); ");
            }
        }
コード例 #31
0
        public HttpResponseMessage GetSoftDeletedUsers(Newtonsoft.Json.Linq.JObject requestJson)
        {
            UserResult result = new UserResult();
            try
            {
                //return a summary of the number of deleted users
                if (this.PortalSettings == null) throw new ArgumentNullException("PortalSettings object");
                int portalId = this.PortalSettings.PortalId;
                UserController uc = new UserController();
                List<string> usernames = new List<string>();
                result.UsersAffected = 0;
                IDataReader reader = Data.SqlDataProvider.Instance().GetDeletedUsers(portalId);
                if (reader.Read())
                {
                    //total number of soft-deleted users
                    result.UsersRemaining = (int)reader[0];
                }
                if (reader.NextResult())
                {
                    //first ten usernames of soft-deleted users
                    while (reader.Read())
                    {
                        string username = (string)reader["UserName"];
                        int userId = (int)reader["UserId"];
                        UserInfo user = UserController.GetUser(portalId, userId, true);
                        result.UsersAffected++;
                        if (user != null)
                        {
                            string folderPath = ((PathUtils)PathUtils.Instance).GetUserFolderPath(user);
                            usernames.Add(username + " [" + userId.ToString() + "] - " + folderPath);
                        }
                        else
                            usernames.Add(username + " [" + userId.ToString() + "] - [no folder]");
                    }
                }
                
                result.Success = true;
                if (result.UsersRemaining > 0)
                {
                    //last ten soft-deleted usernames
                    if (result.UsersRemaining >= 10)
                    {
                        result.Message = "First ten soft-deleted users found:";
                    }
                    else
                    {
                        result.Message = "Found " + result.UsersAffected.ToString() + " Deleted Users:";
                    }
                    foreach (string user in usernames)
                        result.Message += user + ", ";
                }
                else
                    result.Message = "No Deleted Users Found";

                if (result.UsersRemaining > 10 && reader.NextResult())
                {
                    //count the last 10 users, but don't re-show existing users shown in first ten
                    int numberToCount = result.UsersRemaining - 10;
                    usernames = new List<string>();
                    for (int i = result.UsersAffected - 10; i <= result.UsersAffected; i++)
                    {
                        if (reader.Read())
                        {
                            usernames.Add((string)reader["UserName"]);
                            result.UsersAffected++;
                        }
                        else
                            break;
                    }

                    if (usernames.Count > 0)
                    {
                        result.Message += "\nLast Deleted Users: (";
                        foreach (string user in usernames)
                            result.Message += user + ", ";
                        result.Message += ")";
                    }
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Error = ex.Message;
                result.StackTrace = ex.StackTrace;
            }
            finally
            {
                result.UserName = User.Identity.Name;
                result.WasAuthorised = User.Identity.IsAuthenticated;
            }
            return Request.CreateResponse(HttpStatusCode.OK, result);
        }
コード例 #32
0
ファイル: UserSettings.ascx.cs プロジェクト: rickfox/Steves
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// cmdUpdate_Click runs when the Update Button is clicked
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// 	[cnurse]	03/02/2006
        /// </history>
        /// -----------------------------------------------------------------------------
        private void cmdUpdate_Click(object sender, EventArgs e)
        {
            string key = Null.NullString;
            string setting = Null.NullString;

            foreach (FieldEditorControl settingsEditor in UserSettingsEditor.Fields)
            {
                if (settingsEditor.IsDirty)
                {
                    key = settingsEditor.Editor.Name;
                    setting = Convert.ToString(settingsEditor.Editor.Value);
                    if (key == "Security_DisplayNameFormat")
                    {
                        //Update the DisplayName of all Users in the portal
                        var objUserController = new UserController();
                        objUserController.PortalId = UserPortalID;
                        objUserController.DisplayFormat = setting;
                        var objThread = new Thread(objUserController.UpdateDisplayNames);
                        objThread.Start();
                    }
                    UpdateSetting(UserPortalID, key, setting);
                }
            }

            //Clear the UserSettings Cache
            DataCache.RemoveCache(UserController.SettingsKey(UserPortalID));

            Response.Redirect(ReturnURL, true);
        }
コード例 #33
0
        protected void lbnAddUser_Click(object sender, EventArgs e)
        {
            UserController userCtrl = new UserController();
            UserInfo newUserPermission = userCtrl.GetUserByUsername(PortalId, txtUser.Text);
            if (newUserPermission == null)
            {
                divUserNotFoundError.Visible = true;
                return;
            }

            txtUser.Text = "";
            divUserNotFoundError.Visible = false;

            aryPermissions = (ArrayList)Session["aryPermissions"];

            //look for existing permission
            foreach (Permission perm in aryPermissions)
            {
                if (perm.UserID == newUserPermission.UserID)
                {
                    return;
                }
            }
            Permission newPerm = new Permission();
            newPerm.UserName = newUserPermission.Username;
            newPerm.UserID = newUserPermission.UserID;
            aryPermissions.Add(newPerm);
            gridPermissions.DataSource = aryPermissions;
            gridPermissions.DataBind();

            Session["aryPermissions"] = aryPermissions;
        }