Ejemplo n.º 1
0
        public void SendMailToSuperUser(string[] arrEmail, string tieude)
        {
            try
            {
                PortalController portalCont = new PortalController();
                DataTable        tb         = portalCont.GetPortalMail(PortalId);
                SmtpClient       smtpClient = new SmtpClient();
                if (tb.Rows.Count > 0)
                {
                    MailMessage mail = new MailMessage();
                    foreach (string email in arrEmail)
                    {
                        if (email != "")
                        {
                            mail.To.Add(email);
                        }
                    }
                    mail.Subject         = "Website Khatoco: Có bài viết mới chia sẻ từ " + PortalSettings.PortalName;
                    mail.SubjectEncoding = System.Text.Encoding.UTF8;
                    mail.Body            = "Tiêu đề: " + tieude;
                    mail.BodyEncoding    = System.Text.Encoding.UTF8;
                    mail.IsBodyHtml      = true;

                    string server   = Convert.ToString(tb.Rows[0]["MailServer"]);
                    int    SmtpPort = 25;
                    int    portPos  = server.IndexOf(":");
                    if (portPos > -1)
                    {
                        SmtpPort = int.Parse(server.Substring(portPos + 1, server.Length - portPos - 1));
                        server   = server.Substring(0, portPos);
                    }
                    smtpClient.Host = server;
                    smtpClient.Port = SmtpPort;
                    smtpClient.UseDefaultCredentials = false;
                    smtpClient.Credentials           = new NetworkCredential(Convert.ToString(tb.Rows[0]["MailAccount"]), Convert.ToString(tb.Rows[0]["MailPassword"]));
                    mail.From = new MailAddress(Convert.ToString(tb.Rows[0]["MailAccount"]));
                    smtpClient.Send(mail);
                }
            }
            catch (Exception)
            {
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// cmdUpdate_Click runs when the Update LinkButton is clicked.
        /// It saves the current Site Settings
        /// </summary>
        /// <history>
        ///     [cnurse]	9/9/2004	Modified
        /// </history>
        protected void cmdUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                string strLogo;
                string strBackground;

                strLogo       = ctlLogo.Url;
                strBackground = ctlBackground.Url;

                double dblHostFee = 0;
                if (!String.IsNullOrEmpty(txtHostFee.Text))
                {
                    dblHostFee = double.Parse(txtHostFee.Text);
                }

                double dblHostSpace = 0;
                if (!String.IsNullOrEmpty(txtHostSpace.Text))
                {
                    dblHostSpace = double.Parse(txtHostSpace.Text);
                }

                int intPageQuota = 0;
                if (txtPageQuota.Text != "")
                {
                    intPageQuota = int.Parse(txtPageQuota.Text);
                }

                double intUserQuota = 0;
                if (txtUserQuota.Text != "")
                {
                    intUserQuota = int.Parse(txtUserQuota.Text);
                }

                int intSiteLogHistory = 0;
                if (!String.IsNullOrEmpty(txtSiteLogHistory.Text))
                {
                    intSiteLogHistory = int.Parse(txtSiteLogHistory.Text);
                }

                DateTime datExpiryDate = Null.NullDate;
                if (!String.IsNullOrEmpty(txtExpiryDate.Text))
                {
                    datExpiryDate = Convert.ToDateTime(txtExpiryDate.Text);
                }

                int intSplashTabId = Null.NullInteger;
                if (cboSplashTabId.SelectedItem != null)
                {
                    intSplashTabId = int.Parse(cboSplashTabId.SelectedItem.Value);
                }

                int intHomeTabId = Null.NullInteger;
                if (cboHomeTabId.SelectedItem != null)
                {
                    intHomeTabId = int.Parse(cboHomeTabId.SelectedItem.Value);
                }

                int intLoginTabId = Null.NullInteger;
                if (cboLoginTabId.SelectedItem != null)
                {
                    intLoginTabId = int.Parse(cboLoginTabId.SelectedItem.Value);
                }

                int intUserTabId = Null.NullInteger;
                if (cboUserTabId.SelectedItem != null)
                {
                    intUserTabId = int.Parse(cboUserTabId.SelectedItem.Value);
                }

                if (txtPassword.Attributes["value"] != null)
                {
                    txtPassword.Attributes["value"] = txtPassword.Text;
                }

                // update Portal info in the database
                PortalController objPortalController = new PortalController();
                //check only relevant fields altered
                if (!UserInfo.IsSuperUser)
                {
                    PortalInfo objPortal   = objPortalController.GetPortal(intPortalId);
                    bool       HostChanged = false;
                    if (dblHostFee != objPortal.HostFee)
                    {
                        HostChanged = true;
                    }
                    if (dblHostSpace != objPortal.HostSpace)
                    {
                        HostChanged = true;
                    }
                    if (intPageQuota != objPortal.PageQuota)
                    {
                        HostChanged = true;
                    }
                    if (intUserQuota != objPortal.UserQuota)
                    {
                        HostChanged = true;
                    }
                    if (intSiteLogHistory != objPortal.SiteLogHistory)
                    {
                        HostChanged = true;
                    }
                    if (datExpiryDate != objPortal.ExpiryDate)
                    {
                        HostChanged = true;
                    }
                    if (HostChanged)
                    {
                        throw new Exception();
                    }
                }

                objPortalController.UpdatePortalInfo(intPortalId, txtPortalName.Text, strLogo, txtFooterText.Text, datExpiryDate, optUserRegistration.SelectedIndex, optBannerAdvertising.SelectedIndex, cboCurrency.SelectedItem.Value, Convert.ToInt32(cboAdministratorId.SelectedItem.Value), dblHostFee, dblHostSpace, intPageQuota, (int)intUserQuota, ((cboProcessor.SelectedValue == "") ? "" : cboProcessor.SelectedItem.Text).ToString(), txtUserId.Text, txtPassword.Text, txtDescription.Text, txtKeyWords.Text, strBackground, intSiteLogHistory, intSplashTabId, intHomeTabId, intLoginTabId, intUserTabId, cboDefaultLanguage.SelectedValue, Convert.ToInt32(cboTimeZone.SelectedValue), txtHomeDirectory.Text);
                DataTable tb = objPortalController.GetPortalMail(intPortalId);
                if (tb.Rows.Count == 0)
                {
                    objPortalController.InsertPortalMail(intPortalId, txtMailServer.Text.Trim(), txtMailAccount.Text.Trim(), txtMailPassword.Text, txtGoogleMapKey.Text.Trim());
                }
                else
                {
                    objPortalController.UpdatePortalMail(intPortalId, txtMailServer.Text.Trim(), txtMailAccount.Text.Trim(), txtMailPassword.Text, txtGoogleMapKey.Text.Trim());
                }

                bool blnAdminSkinChanged = SkinChanged(SkinInfo.RootSkin, PortalId, SkinType.Admin, ctlAdminSkin.SkinSrc) || SkinChanged(SkinInfo.RootContainer, PortalId, SkinType.Admin, ctlAdminContainer.SkinSrc);

                //Dim objSkins As New UI.Skins.SkinController
                SkinController.SetSkin(SkinInfo.RootSkin, PortalId, SkinType.Portal, ctlPortalSkin.SkinSrc);
                SkinController.SetSkin(SkinInfo.RootContainer, PortalId, SkinType.Portal, ctlPortalContainer.SkinSrc);
                SkinController.SetSkin(SkinInfo.RootSkin, PortalId, SkinType.Admin, ctlAdminSkin.SkinSrc);
                SkinController.SetSkin(SkinInfo.RootContainer, PortalId, SkinType.Admin, ctlAdminContainer.SkinSrc);
                //Set cache after change skin
                int       intCacheTimeout = 20 * Convert.ToInt32(Globals.PerformanceSetting);
                ArrayList arrSkins        = CBO.FillCollection(DataProvider.Instance().GetSkins(PortalId), typeof(SkinInfo));
                if (intCacheTimeout != 0)
                {
                    DotNetNuke.Common.Utilities.DataCache.SetCache("GetSkins" + PortalId, arrSkins, TimeSpan.FromMinutes(intCacheTimeout), true);
                }



                if (UserInfo.IsSuperUser)
                {
                    // delete old portal module assignments
                    DesktopModuleController objDesktopModules = new DesktopModuleController();
                    objDesktopModules.DeletePortalDesktopModules(intPortalId, Null.NullInteger);
                    // add new portal module assignments
                    foreach (ListItem objListItem in ctlDesktopModules.Assigned)
                    {
                        objDesktopModules.AddPortalDesktopModule(intPortalId, int.Parse(objListItem.Value));
                    }
                }

                // Redirect to this site to refresh only if admin skin changed
                if (blnAdminSkinChanged)
                {
                    Response.Redirect(Request.RawUrl, true);
                }
            }
            catch (Exception exc)  //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Page_Load runs when the control is loaded
        /// </summary>
        /// <history>
        ///     [cnurse]	9/8/2004	Updated to reflect design changes for Help, 508 support
        ///                       and localisation
        /// </history>
        protected void Page_Load(Object sender, EventArgs e)
        {
            try
            {
                if ((Request.QueryString["pid"] != null) && (PortalSettings.ActiveTab.ParentId == PortalSettings.SuperTabId || UserInfo.IsSuperUser))
                {
                    intPortalId              = int.Parse(Request.QueryString["pid"]);
                    ctlLogo.ShowUpLoad       = false;
                    ctlBackground.ShowUpLoad = false;
                }
                else
                {
                    intPortalId              = PortalId;
                    ctlLogo.ShowUpLoad       = true;
                    ctlBackground.ShowUpLoad = true;
                }

                //this needs to execute always to the client script code is registred in InvokePopupCal
                cmdExpiryCalendar.NavigateUrl = Calendar.InvokePopupCal(txtExpiryDate);
                ClientAPI.AddButtonConfirm(cmdRestore, Localization.GetString("RestoreCCSMessage", LocalResourceFile));

                // If this is the first visit to the page, populate the site data
                if (Page.IsPostBack == false)
                {
                    ClientAPI.AddButtonConfirm(cmdDelete, Localization.GetString("DeleteMessage", LocalResourceFile));

                    PortalController        objPortalController = new PortalController();
                    ListController          ctlList             = new ListController();
                    ListEntryInfoCollection colProcessor        = ctlList.GetListEntryInfoCollection("Processor");

                    cboProcessor.DataSource = colProcessor;
                    cboProcessor.DataBind();
                    cboProcessor.Items.Insert(0, new ListItem("<" + Localization.GetString("None_Specified") + ">", ""));

                    PortalInfo objPortal = objPortalController.GetPortal(intPortalId);

                    txtPortalName.Text                 = objPortal.PortalName;
                    ctlLogo.Url                        = objPortal.LogoFile;
                    ctlLogo.FileFilter                 = Globals.glbImageFileTypes;
                    txtDescription.Text                = objPortal.Description;
                    txtKeyWords.Text                   = objPortal.KeyWords;
                    ctlBackground.Url                  = objPortal.BackgroundFile;
                    ctlBackground.FileFilter           = Globals.glbImageFileTypes;
                    txtFooterText.Text                 = objPortal.FooterText;
                    optUserRegistration.SelectedIndex  = objPortal.UserRegistration;
                    optBannerAdvertising.SelectedIndex = objPortal.BannerAdvertising;

                    cboSplashTabId.DataSource = Globals.GetPortalTabs(intPortalId, true, true, false, false, false);
                    cboSplashTabId.DataBind();
                    if (cboSplashTabId.Items.FindByValue(objPortal.SplashTabId.ToString()) != null)
                    {
                        cboSplashTabId.Items.FindByValue(objPortal.SplashTabId.ToString()).Selected = true;
                    }
                    cboHomeTabId.DataSource = Globals.GetPortalTabs(intPortalId, true, true, false, false, false);
                    cboHomeTabId.DataBind();
                    if (cboHomeTabId.Items.FindByValue(objPortal.HomeTabId.ToString()) != null)
                    {
                        cboHomeTabId.Items.FindByValue(objPortal.HomeTabId.ToString()).Selected = true;
                    }
                    cboLoginTabId.DataSource = Globals.GetPortalTabs(intPortalId, true, true, false, false, false);
                    cboLoginTabId.DataBind();
                    if (cboLoginTabId.Items.FindByValue(objPortal.LoginTabId.ToString()) != null)
                    {
                        cboLoginTabId.Items.FindByValue(objPortal.LoginTabId.ToString()).Selected = true;
                    }
                    cboUserTabId.DataSource = Globals.GetPortalTabs(intPortalId, true, true, false, false, false);
                    cboUserTabId.DataBind();
                    if (cboUserTabId.Items.FindByValue(objPortal.UserTabId.ToString()) != null)
                    {
                        cboUserTabId.Items.FindByValue(objPortal.UserTabId.ToString()).Selected = true;
                    }

                    ListEntryInfoCollection colList = ctlList.GetListEntryInfoCollection("Currency");

                    cboCurrency.DataSource = colList;
                    cboCurrency.DataBind();
                    if (Null.IsNull(objPortal.Currency) || cboCurrency.Items.FindByValue(objPortal.Currency) == null)
                    {
                        cboCurrency.Items.FindByValue("USD").Selected = true;
                    }
                    else
                    {
                        cboCurrency.Items.FindByValue(objPortal.Currency).Selected = true;
                    }
                    RoleController objRoleController = new RoleController();

                    ArrayList Arr = objRoleController.GetUserRolesByRoleName(intPortalId, objPortal.AdministratorRoleName);
                    int       i;
                    for (i = 0; i <= Arr.Count - 1; i++)
                    {
                        UserRoleInfo objUser = (UserRoleInfo)Arr[i];
                        cboAdministratorId.Items.Add(new ListItem(objUser.FullName, objUser.UserID.ToString()));
                    }
                    if (cboAdministratorId.Items.FindByValue(objPortal.AdministratorId.ToString()) != null)
                    {
                        cboAdministratorId.Items.FindByValue(objPortal.AdministratorId.ToString()).Selected = true;
                    }

                    if (!Null.IsNull(objPortal.ExpiryDate))
                    {
                        txtExpiryDate.Text = objPortal.ExpiryDate.ToShortDateString();
                    }
                    txtHostFee.Text   = objPortal.HostFee.ToString();
                    txtHostSpace.Text = objPortal.HostSpace.ToString();
                    txtPageQuota.Text = objPortal.PageQuota.ToString();
                    txtUserQuota.Text = objPortal.UserQuota.ToString();
                    if (objPortal.SiteLogHistory != 0)
                    {
                        txtSiteLogHistory.Text = objPortal.SiteLogHistory.ToString();
                    }

                    DesktopModuleController objDesktopModules = new DesktopModuleController();
                    ArrayList arrDesktopModules = objDesktopModules.GetDesktopModules();

                    ArrayList arrPremiumModules = new ArrayList();
                    foreach (DesktopModuleInfo objDesktopModule in arrDesktopModules)
                    {
                        if (objDesktopModule.IsPremium)
                        {
                            arrPremiumModules.Add(objDesktopModule);
                        }
                    }

                    ArrayList arrPortalDesktopModules = objDesktopModules.GetPortalDesktopModules(intPortalId, Null.NullInteger);
                    foreach (PortalDesktopModuleInfo objPortalDesktopModule in arrPortalDesktopModules)
                    {
                        foreach (DesktopModuleInfo objDesktopModule in arrPremiumModules)
                        {
                            if (objDesktopModule.DesktopModuleID == objPortalDesktopModule.DesktopModuleID)
                            {
                                arrPremiumModules.Remove(objDesktopModule);
                                break;
                            }
                        }
                    }

                    ctlDesktopModules.Available = arrPremiumModules;
                    ctlDesktopModules.Assigned  = arrPortalDesktopModules;

                    if (!String.IsNullOrEmpty(objPortal.PaymentProcessor))
                    {
                        if (cboProcessor.Items.FindByText(objPortal.PaymentProcessor) != null)
                        {
                            cboProcessor.Items.FindByText(objPortal.PaymentProcessor).Selected = true;
                        }
                        else // default
                        {
                            if (cboProcessor.Items.FindByText("PayPal") != null)
                            {
                                cboProcessor.Items.FindByText("PayPal").Selected = true;
                            }
                        }
                    }
                    else
                    {
                        cboProcessor.Items.FindByValue("").Selected = true;
                    }
                    txtUserId.Text = objPortal.ProcessorUserId;
                    txtPassword.Attributes.Add("value", objPortal.ProcessorPassword);
                    txtHomeDirectory.Text = objPortal.HomeDirectory;

                    //Populate the default language combobox
                    Localization.LoadCultureDropDownList(cboDefaultLanguage, CultureDropDownTypes.NativeName, objPortal.DefaultLanguage);

                    //Populate the timezone combobox (look up timezone translations based on currently set culture)
                    Localization.LoadTimeZoneDropDownList(cboTimeZone, ((PageBase)Page).PageCulture.Name, Convert.ToString(objPortal.TimeZoneOffset));

                    //Portal Mail
                    DataTable tb = objPortalController.GetPortalMail(intPortalId);
                    if (tb.Rows.Count == 1)
                    {
                        txtMailServer.Text   = tb.Rows[0][2].ToString();
                        txtMailAccount.Text  = tb.Rows[0][3].ToString();
                        txtMailPassword.Text = tb.Rows[0][4].ToString();
                        txtGoogleMapKey.Text = tb.Rows[0][5].ToString();
                    }

                    SkinInfo objSkin;

                    ctlPortalSkin.Width    = "275px";
                    ctlPortalSkin.SkinRoot = SkinInfo.RootSkin;
                    objSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Portal);
                    if (objSkin != null)
                    {
                        if (objSkin.PortalId == PortalId)
                        {
                            ctlPortalSkin.SkinSrc = objSkin.SkinSrc;
                        }
                    }
                    ctlPortalContainer.Width    = "275px";
                    ctlPortalContainer.SkinRoot = SkinInfo.RootContainer;
                    objSkin = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Portal);
                    if (objSkin != null)
                    {
                        if (objSkin.PortalId == PortalId)
                        {
                            ctlPortalContainer.SkinSrc = objSkin.SkinSrc;
                        }
                    }

                    ctlAdminSkin.Width    = "275px";
                    ctlAdminSkin.SkinRoot = SkinInfo.RootSkin;
                    objSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Admin);
                    if (objSkin != null)
                    {
                        if (objSkin.PortalId == PortalId)
                        {
                            ctlAdminSkin.SkinSrc = objSkin.SkinSrc;
                        }
                    }
                    ctlAdminContainer.Width    = "275px";
                    ctlAdminContainer.SkinRoot = SkinInfo.RootContainer;
                    objSkin = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Admin);
                    if (objSkin != null)
                    {
                        if (objSkin.PortalId == PortalId)
                        {
                            ctlAdminContainer.SkinSrc = objSkin.SkinSrc;
                        }
                    }

                    LoadStyleSheet();

                    if (Convert.ToString(PortalSettings.HostSettings["SkinUpload"]) == "G" && !UserInfo.IsSuperUser)
                    {
                        lnkUploadSkin.Visible      = false;
                        lnkUploadContainer.Visible = false;
                    }
                    else
                    {
                        ModuleInfo FileManagerModule = (new ModuleController()).GetModuleByDefinition(intPortalId, "File Manager");
                        string[]   parameters        = new string[3];
                        parameters[0]             = "mid=" + FileManagerModule.ModuleID;
                        parameters[1]             = "ftype=" + UploadType.Skin;
                        parameters[2]             = "rtab=" + TabId;
                        lnkUploadSkin.NavigateUrl = Globals.NavigateURL(FileManagerModule.TabID, "Edit", parameters);

                        parameters[1] = "ftype=" + UploadType.Container;
                        lnkUploadContainer.NavigateUrl = Globals.NavigateURL(FileManagerModule.TabID, "Edit", parameters);
                    }

                    if (Request.UrlReferrer != null)
                    {
                        if (Request.UrlReferrer.AbsoluteUri == Request.Url.AbsoluteUri)
                        {
                            ViewState["UrlReferrer"] = "";
                        }
                        else
                        {
                            ViewState["UrlReferrer"] = Convert.ToString(Request.UrlReferrer);
                        }
                    }
                    else
                    {
                        ViewState["UrlReferrer"] = "";
                    }
                }

                if (UserInfo.IsSuperUser)
                {
                    dshHost.Visible   = true;
                    tblHost.Visible   = true;
                    cmdDelete.Visible = true;
                    if (Convert.ToString(ViewState["UrlReferrer"]) == "")
                    {
                        cmdCancel.Visible = false;
                    }
                    else
                    {
                        cmdCancel.Visible = true;
                    }
                }
                else
                {
                    dshHost.Visible   = false;
                    tblHost.Visible   = false;
                    cmdDelete.Visible = false;
                    cmdCancel.Visible = false;
                }
            }
            catch (Exception exc)  //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }