} // End of the OnAuthorization method /// <summary> /// Handle a non https request /// </summary> /// <param name="filterContext">A reference to the context</param> protected override void HandleNonHttpsRequest(AuthorizationContext filterContext) { // Get the current domain Domain domain = Tools.GetCurrentDomain(); // Get the host string host = filterContext.HttpContext.Request.Url.Host; // Get website settings KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache(); string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS"); if(redirectHttps.ToLower() == "true") { // Modify the url UriBuilder uriBuilder = new UriBuilder(filterContext.HttpContext.Request.Url); uriBuilder.Scheme = "https"; uriBuilder.Host = domain.web_address.Contains("www.") == true && uriBuilder.Host.Contains("www.") == false ? "www." + uriBuilder.Host : uriBuilder.Host; uriBuilder.Port = 443; // Redirect to https (301) filterContext.HttpContext.Response.RedirectPermanent(uriBuilder.Uri.AbsoluteUri); } else if (domain.web_address.Contains("www.") == true && host.Contains("www.") == false) { // Modify the url UriBuilder uriBuilder = new UriBuilder(filterContext.HttpContext.Request.Url); uriBuilder.Host = domain.web_address.Contains("www.") == true && uriBuilder.Host.Contains("www.") == false ? "www." + uriBuilder.Host : uriBuilder.Host; // Redirect to www (301) filterContext.HttpContext.Response.RedirectPermanent(uriBuilder.Uri.AbsoluteUri); } } // End of the HandleNonHttpsRequest method
protected void Application_Start() { ApplicationStartTime = DateTime.Now; TelemetryConfiguration.Active.DisableTelemetry = true; //WebsiteSettingsManager.SettingChanged += WebsiteSettingsManager_SettingChanged; var applicationSetting = PortalDataAccess.GetApplicationSetting(); //WebsiteSetting applicationSetting = null; if (applicationSetting == null) { applicationSetting = new WebsiteSetting(); applicationSetting.SetDefaultClient(); } WebsiteSettingsManager.Load(applicationSetting); AreaRegistration.RegisterAllAreas(); //GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); //SqlDependency.Start(ApplicationSettingManager.SQLConnectionString); }
public IHttpActionResult PostWebsiteSetting(WebsiteSetting websiteSetting) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.WebsiteSettings.Add(websiteSetting); try { db.SaveChanges(); } catch (DbUpdateException) { if (WebsiteSettingExists(websiteSetting.KeyName)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = websiteSetting.KeyName }, websiteSetting)); }
private async Task LoadGeoData() { try { GoWebsiteCache websiteCache = new GoWebsiteCache(); Stopwatch stopwatch = Stopwatch.StartNew(); HostingEnvironment.QueueBackgroundWorkItem(async(x) => { var settings = PortalDataAccess.GetApplicationSetting(); if (settings == null) { settings = new WebsiteSetting(); settings.SetDefaultClient(); } WebsiteSettingsManager.Load(settings); }); Log.Info($"Wating for all tasks to end {stopwatch.Elapsed}"); Log.Info($"all tasks to end {stopwatch.Elapsed}"); } catch (Exception ex) { Log.Error("Failed to load data"); Log.Error(ex.ToString()); throw; } }
public IHttpActionResult PutWebsiteSetting(string id, WebsiteSetting websiteSetting) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != websiteSetting.KeyName) { return(BadRequest()); } db.Entry(websiteSetting).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!WebsiteSettingExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
protected void SubmitButton_Click(object sender, EventArgs e) { Page.Validate("CategoryGrp"); if (!Page.IsValid) { return; } try { using (RockyingDataClassesDataContext db = new RockyingDataClassesDataContext(Utility.ConnectionString)) { WebsiteSetting rs = (from u in db.WebsiteSettings where u.KeyName == "NewsletterDesign" select u).SingleOrDefault(); rs.KeyValue = KeyValueTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("NewsletterDesign"); message1.Text = "Saved Successfuly"; message1.Visible = true; message1.Indicate = AlertType.Success; } } catch (Exception ex) { message1.Text = "Unable to save NewsletterDesign"; message1.Visible = true; message1.Indicate = AlertType.Error; Trace.Write("Unable to save NewsletterDesign."); Trace.Write(ex.Message); Trace.Write(ex.StackTrace); } }
public ActionResult index(FormCollection collection) { // Get the current domain Domain currentDomain = Tools.GetCurrentDomain(); ViewBag.CurrentDomain = currentDomain; // Get the data from the form string user_name = collection["txtUserName"]; string password = collection["txtPassword"]; // Get the administrator Administrator administrator = Administrator.GetOneByUserName(user_name); // Get the current language id for admins Int32 adminLanguageId = currentDomain.back_end_language; // Get translated texts KeyStringList translatedTexts = StaticText.GetAll(adminLanguageId, "id", "ASC"); // Check if the user name exists and if the password is correct if (administrator != null && Administrator.ValidatePassword(user_name, password) == true && Administrator.IsAuthorized(Administrator.GetAllAdminRoles(), administrator.admin_role) == true) { // Get website settings KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache(); string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS"); // Create the administrator cookie HttpCookie adminCookie = new HttpCookie("Administrator"); adminCookie.Value = Tools.ProtectCookieValue(administrator.id.ToString(), "Administration"); adminCookie.Expires = DateTime.UtcNow.AddDays(1); adminCookie.HttpOnly = true; adminCookie.Secure = redirectHttps.ToLower() == "true" ? true : false; Response.Cookies.Add(adminCookie); // Redirect the user to the default admin page return RedirectToAction("index", "admin_default"); } else { // Create a new administrator Administrator admin = new Administrator(); admin.admin_user_name = user_name; // Set the form data ViewBag.Administrator = admin; ViewBag.TranslatedTexts = translatedTexts; ViewBag.ErrorMessage = "• " + translatedTexts.Get("error_login"); // Return the index view return View("index"); } } // End of the index method
public IHttpActionResult GetWebsiteSetting(string id) { WebsiteSetting websiteSetting = db.WebsiteSettings.Find(id); if (websiteSetting == null) { return(NotFound()); } return(Ok(websiteSetting)); }
private async Task <WebsiteSetting> GetSetting() { if (_cache.TryGetValue($"{CacheParam.Setting}{CultureInfo.CurrentCulture.Name}", out WebsiteSetting setting)) { return(setting); } var requestUrl = _configuration.GetApiUrl(); var apiService = _configuration.GetApiServiceInfo(); string convention = typeof(WebsiteSetting).Namespace; var listSettings = await _settingService.GetWebsiteSettingsAsync(apiService.TenantId, CultureInfo.CurrentCulture.Name); var settings = listSettings.Items.Select(x => new Setting { Key = x.Key, ConcurrencyStamp = x.ConcurrencyStamp, DisplayName = x.DisplayName, GroupId = x.GroupId, LanguageId = x.LanguageId, Value = x.Value }).ToList(); var websiteSetting = new WebsiteSetting(); if (settings == null) { return(websiteSetting); } websiteSetting.Brand = Common.GetSettingValue(settings, string.Format("{0}.Brand", convention)); websiteSetting.Favicon = Common.GetSettingValue(settings, string.Format("{0}.Favicon", convention)); websiteSetting.Instruction = Common.GetSettingValue(settings, string.Format("{0}.Instruction", convention)); websiteSetting.IpBlocking = Common.GetSettingValue(settings, string.Format("{0}.IpBlocking", convention)); websiteSetting.MetaDescription = Common.GetSettingValue(settings, string.Format("{0}.MetaDescription", convention)); websiteSetting.MetaTitle = Common.GetSettingValue(settings, string.Format("{0}.MetaTitle", convention)); websiteSetting.Logo = Common.GetSettingValue(settings, string.Format("{0}.Logo", convention)); websiteSetting.MetaKeyword = Common.GetSettingValue(settings, string.Format("{0}.MetaKeyword", convention)); websiteSetting.Fanpage = Common.GetSettingValue(settings, string.Format("{0}.Fanpage", convention)); websiteSetting.GoogleMap = Common.GetSettingValue(settings, string.Format("{0}.GoogleMap", convention)); websiteSetting.Hotline = Common.GetSettingValue(settings, string.Format("{0}.Hotline", convention)); websiteSetting.LogoMobile = Common.GetSettingValue(settings, string.Format("{0}.LogoMobile", convention)); websiteSetting.ZaloId = Common.GetSettingValue(settings, string.Format("{0}.ZaloId", convention)); websiteSetting.TrackingBody = Common.GetSettingValue(settings, string.Format("{0}.TrackingBody", convention)); websiteSetting.TrackingHeader = Common.GetSettingValue(settings, string.Format("{0}.TrackingHeader", convention)); websiteSetting.GoogleAnalytics = Common.GetSettingValue(settings, string.Format("{0}.GoogleAnalytics", convention)); websiteSetting.CommentNotAllow = Common.GetSettingValue(settings, string.Format("{0}.CommentNotAllow", convention)); websiteSetting.FanPageFacebookId = Common.GetSettingValue(settings, string.Format("{0}.FanPageFacebookId", convention)); _cache.Set(CacheParam.Setting, websiteSetting, TimeSpan.FromHours(1)); return(websiteSetting); }
public IHttpActionResult SendNewsletter([FromBody] SendNewsletterDTO dto) { try { if (string.IsNullOrEmpty(dto.EmailGroup) || string.IsNullOrEmpty(dto.Subject)) { return(BadRequest("Either email group or subject is missing.")); } WebsiteSetting rs = db.WebsiteSettings.Find("NewsletterDesign"); int count = 0; List <Member> list = db.Members.ToList(); foreach (Member m in list) { if (m.Newsletter) { EmailMessage em = new EmailMessage(); em.CCAddress = string.Empty; em.CreateDate = DateTime.Now; em.SentDate = DateTime.Now; em.EmailGroup = dto.EmailGroup.Trim(); em.EmailType = EmailMessageType.Newsletter; em.FromAddress = Utility.NewsletterEmail; em.FromName = Utility.SiteName; em.LastAttempt = DateTime.Now; em.Subject = dto.Subject.Trim(); em.ToAddress = m.Email; em.ToName = m.FirstName; em.Message = rs.KeyValue; em.PublicID = Guid.NewGuid(); string emessage = System.Web.Hosting.HostingEnvironment.MapPath("~/EmailWrapper.html"); emessage = emessage.Replace("[root]", Utility.SiteURL); emessage = emessage.Replace("[id]", em.ID.ToString()); emessage = emessage.Replace("[newsletteremail]", Utility.NewsletterEmail); emessage = emessage.Replace("[message]", em.Message); emessage = emessage.Replace("[toaddress]", em.ToAddress); emessage = emessage.Replace("[sitename]", Utility.SiteName); emessage = emessage.Replace("[sitetitle]", Utility.SiteTitle); emessage = emessage.Replace("[emailsignature]", Utility.GetSiteSetting("EmailSignature")); em.Message = emessage; db.EmailMessages.Add(em); db.SaveChanges(); count++; } } return(Ok(count)); } catch (Exception ex) { throw ex; } }
public IActionResult Editsettings(APSettingEditModel settingEdit) { string FileName; WebsiteSetting Selected = _context.WebsiteSettings.FirstOrDefault(); if (ModelState.IsValid) { Selected.LocalAddress = settingEdit.LocalAddress; Selected.PhoneNumber = settingEdit.PhoneNumber; Selected.MobileNumber = settingEdit.PhoneNumber; Selected.Email = settingEdit.Email; Selected.FacebookAddress = settingEdit.FacebookAddress; Selected.LinkedinAddress = settingEdit.LinkedinAddress; Selected.TwitterAdress = settingEdit.TwitterAdress; if (settingEdit.Logo1 != null) { string UploadsFolder = Path.Combine(_hosting.WebRootPath, "img", "logo"); FileName = Guid.NewGuid() + "_" + settingEdit.Logo1.FileName; string FilePath = Path.Combine(UploadsFolder, FileName); settingEdit.Logo1.CopyTo(new FileStream(FilePath, FileMode.Create)); Selected.MainLogo = FileName; } if (settingEdit.Logo2 != null) { string UploadsFolder = Path.Combine(_hosting.WebRootPath, "img", "logo"); FileName = Guid.NewGuid() + "_" + settingEdit.Logo2.FileName; string FilePath = Path.Combine(UploadsFolder, FileName); settingEdit.Logo2.CopyTo(new FileStream(FilePath, FileMode.Create)); Selected.FooterLogo = FileName; } if (settingEdit.About != null) { Selected.About = settingEdit.About; } _context.Entry(Selected).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _context.SaveChanges(); return(RedirectToAction("Settings", "Home")); } APHomeIndexViewModel data = new APHomeIndexViewModel { setting = Selected }; return(View("~/Areas/Admin/Views/Home/Editsettings.cshtml", data)); }
} // End of the SendEmailToHost method /// <summary> /// Send an email to a user /// </summary> /// <param name="toAddress">The address to send the email to</param> /// <param name="subject">The subject for the mail message</param> /// <param name="message">The mail message</param> public static bool SendEmailToUser(string toAddress, string subject, string message) { // Create the boolean to return bool successful = true; // Get the webshop settings KeyStringList webshopSettings = WebsiteSetting.GetAllFromCache(); // Create variables string host = webshopSettings.Get("SEND-EMAIL-HOST"); Int32 port = 0; Int32.TryParse(webshopSettings.Get("SEND-EMAIL-PORT"), out port); string emailAddress = webshopSettings.Get("SEND-EMAIL-ADDRESS"); string password = webshopSettings.Get("SEND-EMAIL-PASSWORD"); string useSSL = webshopSettings.Get("SEND-EMAIL-USE-SSL"); // Create the SmtpClient instance SmtpClient smtp = new SmtpClient(host, port); smtp.Credentials = new NetworkCredential(emailAddress, password); // Check if SSL should be used if (useSSL.ToLower() == "true") { smtp.EnableSsl = true; } // Try to send the mail message try { // Create the mail message instance MailMessage mailMessage = new MailMessage(emailAddress, toAddress); // Create the mail message mailMessage.Subject = subject; mailMessage.Body = message; mailMessage.IsBodyHtml = true; // Send the mail message smtp.Send(mailMessage); } catch (Exception ex) { string exceptionMessage = ex.Message; successful = false; } // Return the boolean return successful; } // End of the SendEmailToUser method
public IHttpActionResult DeleteWebsiteSetting(string id) { WebsiteSetting websiteSetting = db.WebsiteSettings.Find(id); if (websiteSetting == null) { return(NotFound()); } db.WebsiteSettings.Remove(websiteSetting); db.SaveChanges(); return(Ok(websiteSetting)); }
private async Task <WebsiteSetting> GetSetting() { if (_cache.TryGetValue($"{CacheParam.Setting}{CultureInfo.CurrentCulture.Name}", out WebsiteSetting setting)) { return(Task.Run(() => setting).Result); } var requestUrl = _configuration.GetApiUrl(); var apiService = _configuration.GetApiServiceInfo(); string convention = "GHM.Website.Domain.Models.WebsiteSetting"; //var listSettings = new HttpClientService() // .GetAsync<SearchResult<Setting>>($"{requestUrl.ApiGatewayUrl}/api/v1/website/settings/get-setting/{apiService.TenantId}/{CultureInfo.CurrentCulture.Name}"); var listSettings = await _settingService.GetWebsiteSettingsAsync(apiService.TenantId, CultureInfo.CurrentCulture.Name); var settings = listSettings.Items.Select(x => new Setting { Key = x.Key, ConcurrencyStamp = x.ConcurrencyStamp, DisplayName = x.DisplayName, GroupId = x.GroupId, LanguageId = x.LanguageId, Value = x.Value }).ToList(); var websiteSetting = new WebsiteSetting(); if (settings == null) { return(websiteSetting); } websiteSetting.Brand = Common.GetSettingValue(settings, string.Format("{0}.Brand", convention)); websiteSetting.Favicon = Common.GetSettingValue(settings, string.Format("{0}.Favicon", convention)); websiteSetting.Instruction = Common.GetSettingValue(settings, string.Format("{0}.Instruction", convention)); websiteSetting.IpBlocking = Common.GetSettingValue(settings, string.Format("{0}.IpBlocking", convention)); websiteSetting.MetaDescription = Common.GetSettingValue(settings, string.Format("{0}.MetaDescription", convention)); websiteSetting.MetaTitle = Common.GetSettingValue(settings, string.Format("{0}.MetaTitle", convention)); websiteSetting.Logo = Common.GetSettingValue(settings, string.Format("{0}.Logo", convention)); websiteSetting.MetaKeyword = Common.GetSettingValue(settings, string.Format("{0}.MetaKeyword", convention)); websiteSetting.Fanpage = Common.GetSettingValue(settings, string.Format("{0}.Fanpage", convention)); websiteSetting.GoogleMap = Common.GetSettingValue(settings, string.Format("{0}.GoogleMap", convention)); websiteSetting.Hotline = Common.GetSettingValue(settings, string.Format("{0}.Hotline", convention)); websiteSetting.LogoMobile = Common.GetSettingValue(settings, string.Format("{0}.LogoMobile", convention)); websiteSetting.ZaloId = Common.GetSettingValue(settings, string.Format("{0}.ZaloId", convention)); _cache.Set($"{CacheParam.Setting}{CultureInfo.CurrentCulture.Name}", websiteSetting, TimeSpan.FromMinutes(5)); return(websiteSetting); }
public static void SendEmail(string ReceiverEmailID, string EmailSubject, string MessageBody, string application = "") { string connectionString = ConfigurationManager.ConnectionStrings["NHSConStr"].ConnectionString; DBEngine dBEngine = new DBEngine(connectionString); WebsiteSetting setting = dBEngine.GetWebsiteSettings(0); #region Email string SMTPCLIENT = setting.SMTPServer; string EMAILID = setting.EmailID; string PASSWORD = setting.Password; int PORT = setting.Port; bool ENABLESSL = false; string EMAIL_DISPLAYNAME = "CORS"; #endregion try { MailMessage mail = new MailMessage(); string smtp = SMTPCLIENT; //ServerSettings.SMTPCLIENT; SmtpClient SmtpServer = new SmtpClient(SMTPCLIENT); //new SmtpClient(ServerSettings.SMTPCLIENT); //mail.From = new MailAddress(ServerSettings.EMAILID, ServerSettings.EMAIL_DISPLAYNAME); mail.From = new MailAddress(EMAILID, EMAIL_DISPLAYNAME); mail.To.Add(ReceiverEmailID); mail.Subject = HttpUtility.HtmlDecode(EmailSubject); String emailBody = MessageBody; mail.Body = HttpUtility.HtmlDecode(emailBody); mail.IsBodyHtml = true; //SmtpServer.Port = ServerSettings.PORT; SmtpServer.Port = PORT; //SmtpServer.Credentials = new System.Net.NetworkCredential(ServerSettings.EMAILID, ServerSettings.PASSWORD); SmtpServer.UseDefaultCredentials = false; SmtpServer.Credentials = new System.Net.NetworkCredential(EMAILID, PASSWORD); //SmtpServer.EnableSsl = ServerSettings.ENABLESSL; SmtpServer.EnableSsl = ENABLESSL; SmtpServer.Send(mail); } catch (Exception ex) { dBEngine.LogException(ex.Message, "HomeController", "SendEmail", System.DateTime.Now, 0); } }
public async Task <JsonResult> Comment(CommentMeta commentMeta) { if (!ModelState.IsValid) { return(Json(GetErrorsInModelState())); } var apiService = _configuration.GetApiServiceInfo(); var listSettings = await _settingService.GetWebsiteSettingsAsync(apiService.TenantId, CultureInfo.CurrentCulture.Name); var settings = listSettings.Items.Select(x => new Setting { Key = x.Key, ConcurrencyStamp = x.ConcurrencyStamp, DisplayName = x.DisplayName, GroupId = x.GroupId, LanguageId = x.LanguageId, Value = x.Value }).ToList(); var websiteSetting = new WebsiteSetting(); string convention = typeof(WebsiteSetting).Namespace; var commentNotAllow = Common.GetSettingValue(settings, string.Format("{0}.CommentNotAllow", convention)); if (!string.IsNullOrEmpty(commentNotAllow)) { var listComment = commentNotAllow.Split(','); if (listComment != null && listComment.Any()) { foreach (var comment in listComment) { if (commentMeta.Content.Contains(comment)) { return(Json($"Bạn không được phép bình luận từ {comment}")); } } } } var commentMetaData = JsonConvertHelper.GetObjectFromObject <WebsiteClient.Api.Domain.ModelMetas.CommentMeta>(commentMeta); commentMetaData.TenantId = apiService.TenantId; var result = await _feedbackService.InsertComment(commentMetaData); return(Json(result)); }
public ActionResult index(FormCollection collection) { // Get the current domain Domain currentDomain = Tools.GetCurrentDomain(); ViewBag.CurrentDomain = currentDomain; // Get query paramaters ViewBag.QueryParams = new QueryParams(Request); // Check if the administrator is authorized if (Administrator.IsAuthorized(new string[] { "Administrator", "Editor" }) == true) { ViewBag.AdminSession = true; } else if (Administrator.IsAuthorized(Administrator.GetAllAdminRoles()) == true) { ViewBag.AdminSession = true; ViewBag.AdminErrorCode = 1; ViewBag.TranslatedTexts = StaticText.GetAll(currentDomain.back_end_language, "id", "ASC"); return View("~/Views/admin_default/index.cshtml"); } else { // Redirect the user to the start page return RedirectToAction("index", "admin_login"); } // Update all the webshop settings foreach(string key in collection.Keys) { // Get the value string value = collection[key]; value = value.Length > 100 ? value.Substring(0, 100) : value; // Update the value for the key WebsiteSetting.Update(key, collection[key]); } // Return the default view return RedirectToAction("index", "admin_default"); } // End of the index method
public ActionResult layout(string id = "") { // Get website settings KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache(); string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS"); // Create a new cookie HttpCookie aCookie = new HttpCookie("LayoutType"); aCookie.Value = id; // Set the expiration and add the cookie aCookie.Expires = DateTime.UtcNow.AddDays(1); aCookie.HttpOnly = true; aCookie.Secure = redirectHttps.ToLower() == "true" ? true : false; Response.Cookies.Add(aCookie); // Redirect the user to the new url return Redirect("/"); } // End of the layout method
private WebsiteSetting GetSetting() { if (_cache.TryGetValue(CacheParam.Setting, out WebsiteSetting setting)) { return(setting); } var requestUrl = _configuration.GetApiUrl(); var apiService = _configuration.GetApiServiceInfo(); string convention = typeof(WebsiteSetting).Namespace; var listSettings = new HttpClientService() .GetAsync <SearchResult <Setting> >($"{requestUrl.ApiGatewayUrl}/api/v1/website/settings/get-setting/{apiService.TenantId}/{CultureInfo.CurrentCulture.Name}"); var settings = listSettings.Result?.Items; var websiteSetting = new WebsiteSetting(); if (settings == null) { return(websiteSetting); } websiteSetting.Brand = Common.GetSettingValue(settings, string.Format("{0}.Brand", convention)); websiteSetting.Favicon = Common.GetSettingValue(settings, string.Format("{0}.Favicon", convention)); websiteSetting.Instruction = Common.GetSettingValue(settings, string.Format("{0}.Instruction", convention)); websiteSetting.IpBlocking = Common.GetSettingValue(settings, string.Format("{0}.IpBlocking", convention)); websiteSetting.MetaDescription = Common.GetSettingValue(settings, string.Format("{0}.MetaDescription", convention)); websiteSetting.MetaTitle = Common.GetSettingValue(settings, string.Format("{0}.MetaTitle", convention)); websiteSetting.Logo = Common.GetSettingValue(settings, string.Format("{0}.Logo", convention)); websiteSetting.MetaKeyword = Common.GetSettingValue(settings, string.Format("{0}.MetaKeyword", convention)); websiteSetting.Fanpage = Common.GetSettingValue(settings, string.Format("{0}.Fanpage", convention)); websiteSetting.GoogleMap = Common.GetSettingValue(settings, string.Format("{0}.GoogleMap", convention)); websiteSetting.Hotline = Common.GetSettingValue(settings, string.Format("{0}.Hotline", convention)); websiteSetting.LogoMobile = Common.GetSettingValue(settings, string.Format("{0}.LogoMobile", convention)); _cache.Set(CacheParam.Setting, websiteSetting, TimeSpan.FromHours(2)); return(websiteSetting); }
public ActionResult index() { // Get the current domain Domain currentDomain = Tools.GetCurrentDomain(); ViewBag.CurrentDomain = currentDomain; // Get query paramaters ViewBag.QueryParams = new QueryParams(Request); // Check if the administrator is authorized if (Administrator.IsAuthorized(new string[] { "Administrator", "Editor" }) == true) { ViewBag.AdminSession = true; } else if (Administrator.IsAuthorized(Administrator.GetAllAdminRoles()) == true) { ViewBag.AdminSession = true; ViewBag.AdminErrorCode = 1; ViewBag.TranslatedTexts = StaticText.GetAll(currentDomain.back_end_language, "id", "ASC"); return View("~/Views/admin_default/index.cshtml"); } else { // Redirect the user to the start page return RedirectToAction("index", "admin_login"); } // Get the default admin language Int32 adminLanguageId = currentDomain.back_end_language; // Add data to the view ViewBag.TranslatedTexts = StaticText.GetAll(adminLanguageId, "id", "ASC"); ViewBag.WebsiteSettings = WebsiteSetting.GetAllFromCache(); // Return the view return View(); } // End of the index method
public void ConfigureServices(IServiceCollection services) { services.Configure <CookiePolicyOptions>(options => { options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddDbContext <ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddDefaultIdentity <IdentityUser>().AddRoles <IdentityRole>().AddDefaultUI(UIFramework.Bootstrap4).AddEntityFrameworkStores <ApplicationDbContext>(); #region IdentityConfig services.Configure <IdentityOptions>(options => { options.Password.RequireDigit = true; options.Password.RequireLowercase = false; options.Password.RequireNonAlphanumeric = false; options.Password.RequireUppercase = false; options.Password.RequiredLength = 6; options.Password.RequiredUniqueChars = 1; options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5); options.Lockout.MaxFailedAccessAttempts = 5; options.Lockout.AllowedForNewUsers = true; options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+"; options.User.RequireUniqueEmail = false; }); services.ConfigureApplicationCookie(options => { options.Cookie.HttpOnly = true; options.ExpireTimeSpan = TimeSpan.FromDays(365); options.LoginPath = "/Identity/Account/Login"; options.AccessDeniedPath = "/Identity/Account/AccessDenied"; options.SlidingExpiration = true; }); #endregion #region Setting var config = new WebsiteSetting(); Configuration.Bind("WebsiteSetting", config); services.AddSingleton(config); #endregion services.AddRouting(option => { option.AppendTrailingSlash = true; option.LowercaseUrls = true; }); services.AddMvc(options => options.EnableEndpointRouting = false).SetCompatibilityVersion(CompatibilityVersion.Version_2_2); #region Logging services.AddLogging(option => { option.AddConfiguration(Configuration.GetSection("Logging")); option.AddConsole(); option.AddDebug(); option.AddEventSourceLogger(); }); #endregion }
protected void SendButton_Click(object sender, EventArgs e) { Page.Validate("CategoryGrp"); if (!Page.IsValid) { return; } try { using (RockyingDataClassesDataContext db = new RockyingDataClassesDataContext(Utility.ConnectionString)) { WebsiteSetting rs = (from u in db.WebsiteSettings where u.KeyName == "NewsletterDesign" select u).SingleOrDefault(); rs.KeyValue = KeyValueTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("NewsletterDesign"); List <Member> list = MemberManager.GetMemberList(); foreach (Member m in list) { if (m.Newsletter) { EmailMessage em = new EmailMessage(); em.CCAdress = string.Empty; em.CreateDate = DateTime.Now; em.SentDate = DateTime.Now; em.EmailGroup = EGroupTextBox.Text.Trim(); em.EmailType = (byte)EmailMessageType.Newsletter; em.FromAddress = Utility.NewsletterEmail; em.FromName = Utility.SiteName; em.LastAttempt = DateTime.Now; em.ID = Guid.NewGuid(); em.Subject = SubjectTextBox.Text.Trim(); em.ToAddress = m.Email; em.ToName = m.MemberName; em.Message = Utility.NewsletterDesign(); string emessage = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("~/emailtemplates/EmailWrapper.htm")); emessage = emessage.Replace("[root]", Utility.SiteURL); emessage = emessage.Replace("[newsletteremail]", Utility.NewsletterEmail); emessage = emessage.Replace("[message]", em.Message); emessage = emessage.Replace("[id]", em.ID.ToString()); emessage = emessage.Replace("[toaddress]", em.ToAddress); emessage = emessage.Replace("[sitename]", Utility.SiteName); emessage = emessage.Replace("[adminname]", Utility.AdminName); emessage = emessage.Replace("[address]", Utility.Address); emessage = emessage.Replace("[emailid]", em.ToAddress); emessage = emessage.Replace("[emailsignature]", Utility.GetSiteSetting("emailsignature")); em.Message = emessage; db.EmailMessages.InsertOnSubmit(em); } } db.SubmitChanges(); message1.Text = "Sent Successfuly"; message1.Visible = true; message1.Indicate = AlertType.Success; } } catch (Exception ex) { message1.Text = string.Format("Unable to save & send NewsletterDesign. Message {0}", ex.Message); message1.Visible = true; message1.Indicate = AlertType.Error; Trace.Write("Unable to save NewsletterDesign."); Trace.Write(ex.Message); Trace.Write(ex.StackTrace); } }
public ActionResult login(FormCollection collection) { // Get data from the form string returnUrl = collection["hiddenReturnUrl"]; string user_name = collection["txtUserName"]; string password = collection["txtPassword"]; // Get the user Administrator user = Administrator.GetOneByUserName(user_name); // Get the current domain Domain currentDomain = Tools.GetCurrentDomain(); // Get translated texts KeyStringList tt = StaticText.GetAll(currentDomain.front_end_language, "id", "ASC"); // Check if the user exists and if the password is correct if (user != null && Administrator.ValidatePassword(user_name, password) == true) { // Get website settings KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache(); string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS"); // Create the administrator cookie HttpCookie adminCookie = new HttpCookie("Administrator"); adminCookie.Value = Tools.ProtectCookieValue(user.id.ToString(), "Administration"); adminCookie.Expires = DateTime.UtcNow.AddDays(1); adminCookie.HttpOnly = true; adminCookie.Secure = redirectHttps.ToLower() == "true" ? true : false; Response.Cookies.Add(adminCookie); // Redirect the user to the checkout page return Redirect(returnUrl); } else { // Create a new user user = new Administrator(); user.admin_user_name = user_name; string error_message = "• " + tt.Get("error_login"); // Create the bread crumb list List<BreadCrumb> breadCrumbs = new List<BreadCrumb>(3); breadCrumbs.Add(new BreadCrumb(tt.Get("start_page"), "/")); breadCrumbs.Add(new BreadCrumb(tt.Get("my_pages"), "/user")); breadCrumbs.Add(new BreadCrumb(tt.Get("log_in"), "/user/login")); // Set values ViewBag.BreadCrumbs = breadCrumbs; ViewBag.CurrentCategory = new Category(); ViewBag.TranslatedTexts = tt; ViewBag.CurrentDomain = currentDomain; ViewBag.CurrentLanguage = Language.GetOneById(currentDomain.front_end_language); ViewBag.User = user; ViewBag.ErrorMessage = error_message; ViewBag.CultureInfo = Tools.GetCultureInfo(ViewBag.CurrentLanguage); // Return the login view return currentDomain.custom_theme_id == 0 ? View() : View("/Views/theme/user_login.cshtml"); } } // End of the login method
public ActionResult edit(FormCollection collection) { // Get all the form values Int32 id = Convert.ToInt32(collection["txtId"]); string user_name = collection["txtUserName"]; string password = collection["txtPassword"]; string email = collection["txtEmail"]; string author_name = collection["txtAuthorName"]; string author_description = collection["txtAuthorDescription"]; HttpPostedFileBase authorImage = Request.Files["uploadMainImage"]; // Modify the author description author_description = author_description.Replace(Environment.NewLine, "<br />"); // Get the current domain Domain domain = Tools.GetCurrentDomain(); // Get translated texts KeyStringList tt = StaticText.GetAll(domain.front_end_language, "id", "ASC"); // Get the user Administrator user = Administrator.GetOneById(id, domain.front_end_language); // Check if the user exists if (user == null) { // Check if the user exists but not are translated user = Administrator.GetOneById(id); if(user == null) { // Create an empty user user = new Administrator(); } } // Update values user.admin_user_name = user_name; user.email = email; user.author_name = author_name; user.author_description = author_description; // Create a error message string errorMessage = string.Empty; // Get the user on user name Administrator userOnUserName = Administrator.GetOneByUserName(user.admin_user_name); // Check for errors if (userOnUserName != null && user.id != userOnUserName.id) { errorMessage += "• " + String.Format(tt.Get("error_field_unique"), tt.Get("user_name")) + "<br/>"; } if (user.admin_user_name.Length > 50) { errorMessage += "• " + String.Format(tt.Get("error_field_length"), tt.Get("user_name"), "50") + "<br/>"; } if (user.author_name.Length > 50) { errorMessage += "• " + String.Format(tt.Get("error_field_length"), tt.Get("name"), "50") + "<br/>"; } if (AnnytabDataValidation.IsEmailAddressValid(user.email) == null) { errorMessage += "• " + tt.Get("error_email_valid") + "<br/>"; } if (authorImage.ContentLength > 0 && Tools.IsImageJpeg(authorImage) == false) { errorMessage += "• " + tt.Get("error_invalid_jpeg") + "<br/>"; } if (authorImage.ContentLength > 262144) { errorMessage += "• " + String.Format(tt.Get("error_image_size"), "256 kb") + "<br/>"; ; } // Check if there is errors if (errorMessage == string.Empty) { // Check if we should add or update the user if (user.id == 0) { // Add the user user.admin_role = "User"; Int64 insertId = Administrator.AddMasterPost(user); user.id = Convert.ToInt32(insertId); Administrator.AddLanguagePost(user, domain.front_end_language); Administrator.UpdatePassword(user.id, PasswordHash.CreateHash(password)); // Get website settings KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache(); string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS"); // Create the administrator cookie HttpCookie adminCookie = new HttpCookie("Administrator"); adminCookie.Value = Tools.ProtectCookieValue(user.id.ToString(), "Administration"); adminCookie.Expires = DateTime.UtcNow.AddDays(1); adminCookie.HttpOnly = true; adminCookie.Secure = redirectHttps.ToLower() == "true" ? true : false; Response.Cookies.Add(adminCookie); } else { // Update the user Administrator.UpdateMasterPost(user); // Update or add the language post if (Administrator.GetOneById(id, domain.front_end_language) != null) { Administrator.UpdateLanguagePost(user, domain.front_end_language); } else { Administrator.AddLanguagePost(user, domain.front_end_language); } // Only update the password if it has changed if (password != "") { Administrator.UpdatePassword(user.id, PasswordHash.CreateHash(password)); } } // Update the image if (authorImage.ContentLength > 0) { UpdateImage(user.id, authorImage); } // Redirect the user to the start page return RedirectToAction("index"); } else { // Create the bread crumb list List<BreadCrumb> breadCrumbs = new List<BreadCrumb>(3); breadCrumbs.Add(new BreadCrumb(tt.Get("start_page"), "/")); breadCrumbs.Add(new BreadCrumb(tt.Get("my_pages"), "/user")); breadCrumbs.Add(new BreadCrumb(tt.Get("edit") + " " + tt.Get("user_details").ToLower(), "/user/edit")); // Set form values ViewBag.BreadCrumbs = breadCrumbs; ViewBag.ErrorMessage = errorMessage; ViewBag.CurrentCategory = new Category(); ViewBag.CurrentDomain = domain; ViewBag.CurrentLanguage = Language.GetOneById(domain.front_end_language); ViewBag.TranslatedTexts = tt; ViewBag.User = user; ViewBag.CultureInfo = Tools.GetCultureInfo(ViewBag.CurrentLanguage); // Return the edit view return domain.custom_theme_id == 0 ? View("edit") : View("/Views/theme/edit_user_details.cshtml"); } } // End of the edit method
public async Task<ActionResult> google_login_callback() { // Get the current domain Domain domain = Tools.GetCurrentDomain(); // Get the state string state = ""; if (Request.Params["state"] != null) { state = Server.UrlDecode(Request.Params["state"]); } // Get the state stored in the session string sessionState = ""; if(Session["GoogleState"] != null) { sessionState = Session["GoogleState"].ToString(); } // Get the code string code = ""; if (Request.Params["code"] != null) { code = Server.UrlDecode(Request.Params["code"]); } // Check if this is a valid callback if (state != sessionState || code == "") { // Redirect the user return Redirect("/"); } // Get website settings KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache(); string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS"); // Get the access token string access_token = await AnnytabExternalLogin.GetGoogleAccessToken(domain, code); // Get the google user Dictionary<string, object> googleUser = await AnnytabExternalLogin.GetGoogleUser(domain, access_token); // Get the google data string googleId = googleUser.ContainsKey("id") == true ? googleUser["id"].ToString() : ""; string googleName = googleUser.ContainsKey("displayName") == true ? googleUser["displayName"].ToString() : ""; // Get the signed in user Administrator user = Administrator.GetSignedInAdministrator(); // Check if the user exists or not if (googleId != "" && user != null) { // Update the user user.google_user_id = googleId; Administrator.UpdateMasterPost(user); // Redirect the user to his start page return RedirectToAction("index", "user"); } else if (googleId != "" && user == null) { // Check if we can find a user with the google id user = Administrator.GetOneByGoogleUserId(googleId); // Check if the user exists if (user == null) { // Create a new administrator user = new Administrator(); user.admin_user_name = googleId + "_google"; user.admin_password = PasswordHash.CreateHash(Tools.GeneratePassword()); user.admin_role = "User"; user.author_name = "-"; user.google_user_id = googleId; // Add the new Administrator Int64 insertId = Administrator.AddMasterPost(user); user.id = Convert.ToInt32(insertId); Administrator.AddLanguagePost(user, domain.front_end_language); Administrator.UpdatePassword(user.id, PasswordHash.CreateHash(user.admin_password)); // Create the administrator cookie HttpCookie adminCookie = new HttpCookie("Administrator"); adminCookie.Value = Tools.ProtectCookieValue(user.id.ToString(), "Administration"); adminCookie.Expires = DateTime.UtcNow.AddDays(1); adminCookie.HttpOnly = true; adminCookie.Secure = redirectHttps.ToLower() == "true" ? true : false; Response.Cookies.Add(adminCookie); // Redirect the user to the edit user page return Redirect("/user/edit"); } else { // Create the administrator cookie HttpCookie adminCookie = new HttpCookie("Administrator"); adminCookie.Value = Tools.ProtectCookieValue(user.id.ToString(), "Administration"); adminCookie.Expires = DateTime.UtcNow.AddDays(1); adminCookie.HttpOnly = true; adminCookie.Secure = redirectHttps.ToLower() == "true" ? true : false; Response.Cookies.Add(adminCookie); // Redirect the user to the start page return RedirectToAction("index"); } } else { // Redirect the user to the login return RedirectToAction("login", "user"); } } // End of the google_login_callback method
public WebsiteSetting() { Current = this; }
protected void SubmitButton_Click(object sender, EventArgs e) { Page.Validate("CategoryGrp"); if (!Page.IsValid) { return; } try { using (RockyingDataClassesDataContext db = new RockyingDataClassesDataContext(Utility.ConnectionString)) { WebsiteSetting sn = (from u in db.WebsiteSettings where u.KeyName == "SiteName" select u).SingleOrDefault(); sn.KeyValue = SiteNameTextBox.Text.Trim(); CacheManager.Remove("SiteName"); WebsiteSetting su = (from u in db.WebsiteSettings where u.KeyName == "SiteURL" select u).SingleOrDefault(); su.KeyValue = SiteURLTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("SiteURL"); WebsiteSetting st = (from u in db.WebsiteSettings where u.KeyName == "SiteTitle" select u).SingleOrDefault(); st.KeyValue = SiteTitleTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("SiteTitle"); WebsiteSetting up = (from u in db.WebsiteSettings where u.KeyName == "UniversalPassword" select u).SingleOrDefault(); up.KeyValue = UPasswordTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("UniversalPassword"); WebsiteSetting ne = (from u in db.WebsiteSettings where u.KeyName == "NewsletterEmail" select u).SingleOrDefault(); ne.KeyValue = NewsletterEmailTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("NewsletterEmail"); WebsiteSetting an = (from u in db.WebsiteSettings where u.KeyName == "AdminName" select u).SingleOrDefault(); an.KeyValue = NewsletterNameTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("AdminName"); WebsiteSetting a = (from u in db.WebsiteSettings where u.KeyName == "Address" select u).SingleOrDefault(); a.KeyValue = AddressTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("Address"); WebsiteSetting p = (from u in db.WebsiteSettings where u.KeyName == "Phone" select u).SingleOrDefault(); p.KeyValue = PhoneTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("Phone"); WebsiteSetting f = (from u in db.WebsiteSettings where u.KeyName == "Fax" select u).SingleOrDefault(); f.KeyValue = FaxTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("Fax"); WebsiteSetting ce = (from u in db.WebsiteSettings where u.KeyName == "ContactEmail" select u).SingleOrDefault(); ce.KeyValue = ContactTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("ContactEmail"); WebsiteSetting es = (from u in db.WebsiteSettings where u.KeyName == "EmailSignature" select u).SingleOrDefault(); es.KeyValue = EmailSignatureTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("EmailSignature"); WebsiteSetting sh = (from u in db.WebsiteSettings where u.KeyName == "SiteHeader" select u).SingleOrDefault(); sh.KeyValue = HeaderTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("SiteHeader"); WebsiteSetting sf = (from u in db.WebsiteSettings where u.KeyName == "SiteFooter" select u).SingleOrDefault(); sf.KeyValue = FooterTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("SiteFooter"); WebsiteSetting chc = (from u in db.WebsiteSettings where u.KeyName == "CommonHeadContent" select u).SingleOrDefault(); chc.KeyValue = HeadContentTextBox.Text.Trim(); db.SubmitChanges(); CacheManager.Remove("CommonHeadContent"); message1.Text = "Saved Successfuly"; message1.Visible = true; message1.Indicate = AlertType.Success; } } catch (Exception ex) { message1.Text = "Unable to save settings"; message1.Visible = true; message1.Indicate = AlertType.Error; Trace.Write("Unable to save settings."); Trace.Write(ex.Message); Trace.Write(ex.StackTrace); } }