private string GetThumbnailUrl(string img, int w, int h) { string ext = Path.GetExtension(img); string imageUrlNoExt = img.Remove(img.Length - ext.Length); imageUrlNoExt = imageUrlNoExt.Replace("/", "_"); return("/App_Data/cache/images/" + RP.GetCurrentSettings().ID + "/" + imageUrlNoExt + "_" + w + "_" + h + ext); }
public static List <string> GetMenuGroups() { var set = RP.GetCurrentSettings(); if (!string.IsNullOrEmpty(set.MenuGroups)) { return(set.MenuGroups.Split(',').ToList()); } return(new List <string>()); }
public ActionResult ContentBySeo(string SeoUrl) { var CurrentSettings = RP.GetCurrentSettings(); var contentPage = _db.ContentPages.FirstOrDefault(x => x.SeoUrlName == SeoUrl && x.DomainID == CurrentSettings.ID); if (contentPage != null) { return(PartialView(contentPage)); } return(Content("")); }
private static string GetThumbnailUrl(string img, int w, int h) { string ext = Path.GetExtension(img); string imageUrlNoExt = img.Remove(img.Length - ext.Length); imageUrlNoExt = imageUrlNoExt.Replace("/", "_"); string folder = HostingEnvironment.MapPath("~" + "/Cache/Images/" + RP.GetCurrentSettings().ID); if (!Directory.Exists(folder)) { System.IO.Directory.CreateDirectory(folder); } return("/Cache/Images/" + RP.GetCurrentSettings().ID + "/" + imageUrlNoExt + "_" + w + "_" + h + ext); }
public static string GetFirstMenuGroup() { var set = RP.GetCurrentSettings(); if (!string.IsNullOrEmpty(set.MenuGroups)) { var spl = set.MenuGroups.Split(','); if (spl.Length > 0) { return(spl[0]); } } return(null); }
public ActionResult Error404() { string RawUrl = Request.RawUrl.Trim(); string errorsString = ""; string errorFileName = "~/App_Data/404.txt"; string errorFilePath = Server.MapPath(errorFileName); if (System.IO.File.Exists(errorFilePath)) { System.IO.StreamReader errorFile = new System.IO.StreamReader(errorFilePath); errorsString = errorFile.ReadToEnd(); errorFile.Close(); } errorsString = errorsString + "\r\n" + RP.GetCurrentSettings().Error404; if (!string.IsNullOrEmpty(errorsString) && errorsString.Contains(RawUrl)) { errorsString = errorsString.Replace("\r", ""); foreach (string item in errorsString.Split('\n')) { if (item.Contains(" <-> ")) { int i = item.IndexOf(" <-> "); string OldUrl = item.Remove(i).Trim(); string NewUrl = item.Remove(0, i + 5).Trim(); if (OldUrl == RawUrl) { return(RedirectPermanent(NewUrl)); } } } } Response.StatusCode = 404; return(View()); }
public ActionResult FormPage(string InvisibleCaptchaValue, FormCollection formCollection) { if (!CaptchaController.IsInvisibleCaptchaValid(InvisibleCaptchaValue)) { ModelState.AddModelError(string.Empty, "Captcha error."); return(Content("Error: Captcha", "text/html")); } Contact c = new Contact(); List <FormField> FormFields = CurrentPage.GetDataFromXML1 <FormField>().OrderBy(r => r.FormFieldOrder).ToList(); List <FormRool> FormRools = CurrentPage.GetDataFromXML2 <FormRool>().OrderBy(r => r.FormRoolOrder).ToList(); //get name, email and phone foreach (Uco.Models.FormField item in FormFields.OrderBy(r => r.FormFieldOrder)) { if (string.IsNullOrEmpty(Request["form_item_" + CurrentPage.ID + "_" + item.FormFieldID.ToString()])) { continue; } string t = Request["form_item_" + CurrentPage.ID + "_" + item.FormFieldID.ToString()]; if (item.FormFieldType == FormField.FormFildType.Name && string.IsNullOrEmpty(c.ContactName)) { c.ContactName = t; } else if (item.FormFieldType == FormField.FormFildType.PhoneNumber && string.IsNullOrEmpty(c.ContactPhone)) { c.ContactPhone = t; } else if (item.FormFieldType == FormField.FormFildType.EmailAddress && string.IsNullOrEmpty(c.ContactEmail)) { c.ContactEmail = t; } else { c.ContactData = c.ContactData + item.FormFieldTitle + ": " + t + "<br />"; } } string SendTo = string.Empty; //process rools foreach (Uco.Models.FormRool item in FormRools.OrderBy(r => r.FormRoolOrder)) { bool MatchingRoolAnd = true; bool MatchingRoolOr = false; bool MatchingRun = false; if (!string.IsNullOrEmpty(item.FormRoolItem1) && item.FormRoolItem1 != "null") { MatchingRun = true; FormField field = FormFields.FirstOrDefault(r => r.FormFieldTitle.Trim() == item.FormRoolItem1.Trim()); if (field == null) { MatchingRoolAnd = false; } else { string FormRoolValue1 = Request["form_item_" + CurrentPage.ID + "_" + field.FormFieldID.ToString()]; if (!("," + item.FormRoolValue1 + ",").Contains("," + FormRoolValue1 + ",")) { MatchingRoolAnd = false; } else if (item.FormRoolValue1 != FormRoolValue1) { MatchingRoolAnd = false; } else { MatchingRoolOr = true; } } } if (!string.IsNullOrEmpty(item.FormRoolItem2) && item.FormRoolItem2 != "null") { MatchingRun = true; FormField field = FormFields.FirstOrDefault(r => r.FormFieldTitle.Trim() == item.FormRoolItem2.Trim()); if (field == null) { MatchingRoolAnd = false; } else { string FormRoolValue2 = Request["form_item_" + CurrentPage.ID + "_" + field.FormFieldID.ToString()]; if (!("," + item.FormRoolValue2 + ",").Contains("," + FormRoolValue2 + ",")) { MatchingRoolAnd = false; } if (item.FormRoolValue2 != FormRoolValue2) { MatchingRoolAnd = false; } else { MatchingRoolOr = true; } } } if (!string.IsNullOrEmpty(item.FormRoolItem3) && item.FormRoolItem3 != "null") { MatchingRun = true; FormField field = FormFields.FirstOrDefault(r => r.FormFieldTitle.Trim() == item.FormRoolItem3.Trim()); if (field == null) { MatchingRoolAnd = false; } { string FormRoolValue3 = Request["form_item_" + CurrentPage.ID + "_" + field.FormFieldID.ToString()]; if (!("," + item.FormRoolValue3 + ",").Contains("," + FormRoolValue3 + ",")) { MatchingRoolAnd = false; } if (item.FormRoolValue3 != FormRoolValue3) { MatchingRoolAnd = false; } else { MatchingRoolOr = true; } } } if ((MatchingRun && item.FormRoolAnd && MatchingRoolAnd) || (MatchingRun && !item.FormRoolAnd && MatchingRoolOr)) { c.RoleDefault = item.FormRoolRole; c.Rool = item.FormRoolTitle; SendTo = item.FormRoolEmail; break; } } if (string.IsNullOrEmpty(c.RoleDefault)) { c.RoleDefault = "Admin"; } //get other data c.ContactReferal = SF.GetCookie("Referal"); c.ContactUrl = "<a target='_blank' href='http://" + Request.ServerVariables["HTTP_HOST"] + Url.Content(CurrentPage.Url) + "'>" + CurrentPage.Title + "</a>"; c.ContactDate = DateTime.Now; _db.Contacts.Add(c); _db.SaveChanges(); if (string.IsNullOrEmpty(SendTo)) { SendTo = RP.GetCurrentSettings().AdminEmail; } foreach (string item in SendTo.Split(',')) { if (!SF.isEmail(item.Trim())) { continue; } _db.OutEmails.Add(new OutEmail { MailTo = item.Trim(), Subject = Uco.Models.Resources.SystemModels.ContactMailSubject .Replace("{ID}", c.ID.ToString()) .Replace("{HTTP_HOST}", Request.ServerVariables["HTTP_HOST"]), Body = Uco.Models.Resources.SystemModels.ContactMailBody .Replace("{ID}", c.ID.ToString()) .Replace("{HTTP_HOST}", Request.ServerVariables["HTTP_HOST"]) .Replace("{ContactName}", c.ContactName) .Replace("{ContactEmail}", c.ContactEmail) .Replace("{ContactPhone}", c.ContactPhone) .Replace("{ContactData}", c.ContactData) .Replace("{ContactReferal}", c.ContactReferal) .Replace("{ContactUrl}", c.ContactUrl), TimesSent = 0, LastTry = DateTime.Now }); } _db.SaveChanges(); if (!string.IsNullOrEmpty(CurrentPage.Text3) && !string.IsNullOrEmpty(c.ContactEmail) && SF.isEmail(c.ContactEmail)) { _db.OutEmails.Add(new OutEmail { MailTo = c.ContactEmail.Trim(), Subject = Uco.Models.Resources.SystemModels.ContactMailSubject .Replace("{HTTP_HOST}", Request.ServerVariables["HTTP_HOST"]), Body = CurrentPage.Text3 .Replace("{HTTP_HOST}", Request.ServerVariables["HTTP_HOST"]) .Replace("{ContactName}", c.ContactName) .Replace("{ContactEmail}", c.ContactEmail) .Replace("{ContactPhone}", c.ContactPhone) .Replace("{ContactData}", c.ContactData) .Replace("{ContactReferal}", c.ContactReferal) .Replace("{ContactUrl}", c.ContactUrl), TimesSent = 0, LastTry = DateTime.Now }); } return(Content(((FormPage)CurrentPage).Text2, "text/html")); }
public static string GetLangCodeCurrentSettings() { return(RP.GetCurrentSettings().LanguageCode); }
public static List <ProductShortModel> GetProductAutocomplete(int ShopID, string text) { var result = new List <ProductShortModel>(); var sett = RP.GetCurrentSettings(); if (sett != null && sett.AutocompleteOptions != null) { result.AddRange( sett.AutocompleteOptions.Split(new char[] { '\n' }).Where(x => x.ToLower().Contains(text.ToLower())).Select(x => new ProductShortModel() { Name = x, ID = 0 }) ); } #region Improving Search // "ת","ה","ות" - woman variants var source = LS.CurrentEntityContext.Products.AsNoTracking().AsQueryable(); List <List <string> > searchAndOrList = new List <List <string> >(); var words = text.Split(new char[] { ' ', ',', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList(); var countWords = words.Count; for (var i = 0; i < countWords; i++) { var listor = new List <string>(); listor.Add(words[i]); searchAndOrList.Add(listor); } for (var i = 0; i < countWords; i++) { var word = words[i]; //1) #region woman if (word.EndsWith("ת")) { var variant1 = word.Remove(word.Length - 1, 1) + "ה"; var variant2 = word.Remove(word.Length - 1, 1) + "ות"; searchAndOrList[i].Add(variant1); searchAndOrList[i].Add(variant2); continue; } else if (word.EndsWith("ה")) { var variant1 = word.Remove(word.Length - 1, 1) + "ת"; var variant2 = word.Remove(word.Length - 1, 1) + "ות"; searchAndOrList[i].Add(variant1); searchAndOrList[i].Add(variant2); continue; } else if (word.EndsWith("ות")) { var variant1 = word.Remove(word.Length - 1, 1) + "ה"; var variant2 = word.Remove(word.Length - 2, 2) + "ת"; searchAndOrList[i].Add(variant1); searchAndOrList[i].Add(variant2); continue; } #endregion #region man couple // "ים" if (word.EndsWith("ים")) { var variant1 = word.Remove(word.Length - 2, 2); //replace //"פ" - "ף" //"נ" - "ן" //"מ" - "ם" // "כ" - "ך" // "צ" - "ץ" if (variant1.EndsWith("פ")) { variant1 = variant1.Remove(variant1.Length - 1, 1) + "ף"; } else if (variant1.EndsWith("נ")) { variant1 = variant1.Remove(variant1.Length - 1, 1) + "ן"; } else if (variant1.EndsWith("מ")) { variant1 = variant1.Remove(variant1.Length - 1, 1) + "ם"; } else if (variant1.EndsWith("כ")) { variant1 = variant1.Remove(variant1.Length - 1, 1) + "ך"; } else if (variant1.EndsWith("צ")) { variant1 = variant1.Remove(variant1.Length - 1, 1) + "ץ"; } searchAndOrList[i].Add(variant1); continue; } #endregion #region man couple 2 //"פ" - "ף" //"נ" - "ן" //"מ" - "ם" // "כ" - "ך" // "צ" - "ץ" if (word.EndsWith("ף")) { var variant1 = word.Remove(word.Length - 1, 1) + "פ"; variant1 += "ים"; searchAndOrList[i].Add(variant1); continue; } else if (word.EndsWith("ן")) { var variant1 = word.Remove(word.Length - 1, 1) + "נ"; variant1 += "ים"; searchAndOrList[i].Add(variant1); continue; } else if (word.EndsWith("ם")) { var variant1 = word.Remove(word.Length - 1, 1) + "מ"; variant1 += "ים"; searchAndOrList[i].Add(variant1); continue; } else if (word.EndsWith("ך")) { var variant1 = word.Remove(word.Length - 1, 1) + "כ"; variant1 += "ים"; searchAndOrList[i].Add(variant1); continue; } else if (word.EndsWith("ץ")) { var variant1 = word.Remove(word.Length - 1, 1) + "צ"; variant1 += "ים"; searchAndOrList[i].Add(variant1); continue; } #endregion } // var orTextPredicate = words.Where(x => x.Length > 3).ToList(); // select only length > 3, keywords //if (orTextPredicate.Count > 0) int whatPosition = 0; foreach (var orTextPredicate in searchAndOrList) { Expression <Func <Product, bool> > predicate = null; foreach (var s in orTextPredicate) { if (whatPosition == 0) { if (predicate != null) { predicate = predicate.MultiSearchOrSql(x => x.Name.StartsWith(s + " ") || x.SKU.StartsWith(s + " ") || x.ShortDescription.StartsWith(s + " ") || x.FullDescription.StartsWith(s + " ") // || x.Manufacturer.Contains(s) ); } else { predicate = x => (x.Name.StartsWith(s) || x.SKU.StartsWith(s) || x.ShortDescription.StartsWith(s) || x.FullDescription.StartsWith(s) // || x.Manufacturer.Contains(s) ); } } else { if (predicate != null) { predicate = predicate.MultiSearchOrSql(x => x.Name.Contains(s) || x.SKU.Contains(s) || x.ShortDescription.Contains(s) || x.FullDescription.Contains(s) // || x.Manufacturer.Contains(s) ); } else { predicate = x => (x.Name.Contains(s) || x.SKU.Contains(s) || x.ShortDescription.Contains(s) || x.FullDescription.Contains(s) // || x.Manufacturer.Contains(s) ); } } } if (predicate != null) { source = source.Where(predicate); } whatPosition++; } #endregion result.AddRange((from ps in LS.CurrentEntityContext.ProductShopMap join p in source on ps.ProductID equals p.ID where ps.ShopID == ShopID // && p.Name.Contains(text) select new ProductShortModel { Name = p.Name, ID = ps.ProductID }).Take(20).ToList()); if (result.Count == 0) { //no result UserActivityService.InsertSearchNotFound(text, ShopID, LS.CurrentUser.ID , HttpContext.Current.Request.RawUrl, HttpContext.Current.Request.UrlReferrer != null ? HttpContext.Current.Request.UrlReferrer.OriginalString : null , LS.GetUser_IP(HttpContext.Current.Request)); } return(result); }
public static void CleanMenuCache() { RP.CleanMenuRepository(RP.GetCurrentSettings().ID); RP.CleanMenuRepository(RP.GetAdminCurrentSettingsRepository().ID); }
public ActionResult _HeaderScripts() { object r = RP.GetCurrentSettings().HeaderHtml; return(View(r)); }
public ActionResult _FormAdd(string InvisibleCaptchaValue, int FormID) { if (!CaptchaController.IsInvisibleCaptchaValid(InvisibleCaptchaValue)) { ModelState.AddModelError(string.Empty, "Captcha error."); SF.LogError("_FormAdd Captcha error"); return(Content("Error: Captcha", "text/html")); } AbstractPage CurrentPage = _db.FormPages.FirstOrDefault(r => r.ID == FormID); if (CurrentPage == null) { ModelState.AddModelError(string.Empty, "CurrentPage error"); SF.LogError("_FormAdd CurrentPage error"); return(Content("Error: CurrentPage error", "text/html")); } Contact c = new Contact(); List <FormField> l = CurrentPage.GetDataFromXML1 <FormField>().OrderBy(r => r.FormFieldOrder).ToList(); foreach (Uco.Models.FormField item in l.OrderBy(r => r.FormFieldOrder)) { if (string.IsNullOrEmpty(Request["form_item_" + item.FormFieldID.ToString()])) { continue; } string t = Request["form_item_" + item.FormFieldID.ToString()]; if (item.FormFieldType == FormField.FormFildType.Name && string.IsNullOrEmpty(c.ContactName)) { c.ContactName = t; } else if (item.FormFieldType == FormField.FormFildType.PhoneNumber && string.IsNullOrEmpty(c.ContactPhone)) { c.ContactPhone = t; } else if (item.FormFieldType == FormField.FormFildType.EmailAddress && string.IsNullOrEmpty(c.ContactEmail)) { c.ContactEmail = t; } else { c.ContactData = c.ContactData + item.FormFieldTitle + ": " + t + "<br />"; } } c.ContactReferal = SF.GetCookie("Referal"); c.ContactUrl = "<a target='_blank' href='http://" + Request.ServerVariables["HTTP_HOST"] + Request.UrlReferrer.ToString() + "'>" + Request.UrlReferrer.ToString() + "</a>"; c.ContactDate = DateTime.Now; _db.Contacts.Add(c); _db.SaveChanges(); foreach (string item in RP.GetCurrentSettings().AdminEmail.Split(',')) { if (!SF.isEmail(item.Trim())) { continue; } _db.OutEmails.Add(new OutEmail { MailTo = item.Trim(), Subject = Uco.Models.Resources.SystemModels.ContactMailSubject .Replace("{ID}", c.ID.ToString()) .Replace("{HTTP_HOST}", Request.ServerVariables["HTTP_HOST"]), Body = Uco.Models.Resources.SystemModels.ContactMailBody .Replace("{ID}", c.ID.ToString()) .Replace("{HTTP_HOST}", Request.ServerVariables["HTTP_HOST"]) .Replace("{ContactName}", c.ContactName) .Replace("{ContactEmail}", c.ContactEmail) .Replace("{ContactPhone}", c.ContactPhone) .Replace("{ContactData}", c.ContactData) .Replace("{ContactReferal}", c.ContactReferal) .Replace("{ContactUrl}", c.ContactUrl), TimesSent = 0, LastTry = DateTime.Now }); } _db.SaveChanges(); return(Content(RP.GetTextComponent("_FormAdd"), "text/html")); }
public ActionResult _SmallFormAdd(ContactSmallForm csf, string InvisibleCaptchaValue) { if (!CaptchaController.IsInvisibleCaptchaValid(InvisibleCaptchaValue)) { ModelState.AddModelError(string.Empty, "Captcha error."); SF.LogError("_SmallFormAdd Captcha error"); return(Content("Error: Captcha", "text/html")); } if (ModelState.IsValid) { Contact c = new Contact(); c.ContactEmail = csf.ContactEmail; c.ContactName = csf.ContactName; c.ContactPhone = csf.ContactPhone; c.ContactReferal = SF.GetCookie("Referal"); string UrlReferrer = UcoString.GetUtf8String(Request.UrlReferrer.ToString()); c.ContactUrl = "<a target='_blank' href='" + UrlReferrer + "'>" + UrlReferrer + "</a>"; c.ContactDate = DateTime.Now; _db.Contacts.Add(c); _db.SaveChanges(); foreach (string item in RP.GetCurrentSettings().AdminEmail.Split(',')) { if (!SF.isEmail(item.Trim())) { continue; } _db.OutEmails.Add(new OutEmail { MailTo = item.Trim(), Subject = Uco.Models.Resources.SystemModels.ContactMailSubject .Replace("{ID}", c.ID.ToString()) .Replace("{HTTP_HOST}", Request.ServerVariables["HTTP_HOST"]), Body = Uco.Models.Resources.SystemModels.ContactMailBody .Replace("{ID}", c.ID.ToString()) .Replace("{HTTP_HOST}", Request.ServerVariables["HTTP_HOST"]) .Replace("{ContactName}", c.ContactName) .Replace("{ContactEmail}", c.ContactEmail) .Replace("{ContactPhone}", c.ContactPhone) .Replace("{ContactData}", c.ContactData) .Replace("{ContactReferal}", c.ContactReferal) .Replace("{ContactUrl}", c.ContactUrl), TimesSent = 0, LastTry = DateTime.Now }); } _db.SaveChanges(); return(Content(RP.GetTextComponent("_SmallFormAdd"), "text/html")); } else { SF.LogError("_SmallFormAdd Model not valid"); return(Content("Error: Model not valid", "text/html")); } }