Beispiel #1
0
        public ActionResult DocInLinksFromApi(int docPrefLangId, int siteLangId, string domain, string docCelex, string toPar)
        {
            // site language force refresh
            Session["LanguageId"] = siteLangId;
            var langModelCookie = new HttpCookie("sitelang");

            langModelCookie.Value = InterfaceLanguages.GetLanguageById(siteLangId).Code;
            langModelCookie.Expires.AddDays(365);
            Response.Cookies.Set(langModelCookie);

            // search params
            SearchBox sb = new SearchBox(siteLangId);

            sb.DocInLinks                      = new DocLinksFilter();
            sb.DocInLinks.IsOriginApi          = true;
            sb.DocInLinks.ToDocNumber          = docCelex;
            sb.DocInLinks.ToParOriginal        = toPar;
            sb.DocInLinks.Domain               = domain.ToLower();
            sb.DocInLinks.SiteLangRequestingId = siteLangId;
            sb.DocInLinks.UserRequestingId     = UserData.UserId;

            // title
            string[] titleParts = Doc.GetDocLinksTitle(docCelex, toPar, siteLangId, UserData.UserId);
            sb.DocInLinks.Title = String.Format("{0}{1}", titleParts[0], (String.IsNullOrEmpty(titleParts[1]) ? "" : "/" + titleParts[1]))
                                  + " - " + Resources.UI_IncomingLinks;

            return(Search(sb));
        }
Beispiel #2
0
        public ActionResult ByFilter(string classifierId)
        {
            SearchBox sb = new SearchBox(Language.Id);

            sb.ClassifierFilter = Guid.Parse(classifierId);

            Language lang       = InterfaceLanguages.GetLanguageById(Convert.ToInt32(Session["LanguageId"]));
            String   languageId = lang.Id.ToString();

            ClassificatorTreeModel treeModel = ClassifiersProvider.Service.GetTreeByGuid(classifierId);

            IEnumerable <ClassificatorModel> flatten = treeModel.FlattenTo();

            bool isCurrentLanguageAvailable = flatten.All(f => f.LanguageVariantsWithHints.ContainsKey(languageId));

            if (!isCurrentLanguageAvailable)
            {
                // Use english by default (Id = 4)
                lang = InterfaceLanguages.GetLanguageById(4);
            }

            String filter = String.Join(" / ", flatten.Select(x => x.LanguageVariantsWithHints[languageId].Title));

            sb.ClassifierFilterTitle = filter;

            return(Search(sb));
        }
Beispiel #3
0
        public static void ApplyInterfaceLanguage(InterfaceLanguages language)
        {
            RemoveResourceDictionary(language == InterfaceLanguages.Ukraine
                                         ? _languageUri[InterfaceLanguages.Russian]
                                         : _languageUri[InterfaceLanguages.Ukraine]);

            MergeResourceDictionary(_languageUri[language]);

            _currentInterfaceLanguage = language;
        }
Beispiel #4
0
        public static void ApplyInterfaceLanguage(InterfaceLanguages language)
        {
            RemoveResourceDictionary(language == InterfaceLanguages.Ukraine
                                         ? _languageUri[InterfaceLanguages.Russian]
                                         : _languageUri[InterfaceLanguages.Ukraine]);

            MergeResourceDictionary(_languageUri[language]);

            _currentInterfaceLanguage = language;
        }
Beispiel #5
0
        public static Language GetLang(int id)
        {
            Language lang = InterfaceLanguages.GetLanguageById(id);

            if (lang == null)
            {
                DataTable dt = DB.GetLang(id);
                if (dt.Rows.Count == 1)
                {
                    DataRow row = dt.Rows[0];
                    lang = new Language();

                    lang.Id        = id;
                    lang.Code      = row["code"].ToString();
                    lang.ShortCode = row["short_lang"].ToString();
                    lang.Text      = row["name"].ToString();
                }
            }
            return(lang);
        }
Beispiel #6
0
        public ActionResult SearchByXmlId(string xmlId, string domain, int langId, int siteLangId)
        {
            // site language force refresh
            Session["LanguageId"] = siteLangId;
            var langModelCookie = new HttpCookie("sitelang");

            langModelCookie.Value = InterfaceLanguages.GetLanguageById(siteLangId).Code;
            langModelCookie.Expires.AddDays(365);
            Response.Cookies.Set(langModelCookie);

            // search params
            SearchBox sb             = new SearchBox(langId);
            string    classifierGuid = Classifiers.GetClassifierIdByXmlId(xmlId);

            sb.ClassifierFilter = new Guid(classifierGuid);
            sb.ByXmlId          = true;

            switch (domain.ToLower())
            {
            case "eucl": sb.Cases = new SearchCases(langId); sb.Cases.CaseLawType = CaseLawType.EU; break;

            case "natcl": sb.Cases = new SearchCases(langId); sb.Cases.CaseLawType = CaseLawType.National; break;

            case "eul": sb.Law = new SearchLaw(langId); break;

            case "natl": sb.Law = new SearchLaw(langId); break;

            default: break;
            }

            // search title
            var classifierModel = ClassificatorService.Current.TryGetTreeByGuid(sb.ClassifierFilter.ToString());

            if (classifierModel != null) // S.P.: correct classifiers population should always have returned a value but I don't trust it :D
            {
                sb.ClassifierFilterTitle = classifierModel.LanguageVariantsWithHints[siteLangId.ToString()].Title;
            }

            return(Search(sb));
        }
        public ActionResult MachineTranslation(string language) // shortcode
        {
            string   viewName    = "MachineTranslation";
            Language currentLang = InterfaceLanguages.GetLanguageByShortCode(language);

            ViewBag.langs = new string[] { "bg", "en", "de", "fr", "it", "pt", "pl", "nl" };
            if (!String.IsNullOrEmpty(language))
            {
                string shortLang;
                string fullViewName;

                shortLang    = language;
                fullViewName = viewName + shortLang;
                if (this.ViewExists(fullViewName))
                {
                    return(View(fullViewName, currentLang));
                }
            }

            currentLang = InterfaceLanguages.GetLanguageByShortCode("en");
            return(View(viewName + "en", currentLang));
        }
        public ActionResult ChangeLanguage(string shortCode)
        {
            var langModel = InterfaceLanguages.GetLanguageByShortCode(shortCode);

            if (langModel == null)
            {
                return(RedirectToAction("Index"));
            }

            //this.Language = langModel;
            Session["LanguageId"] = langModel.Id;
            var cookie = new HttpCookie("sitelang", langModel.Code)
            {
                HttpOnly = false,
                Secure   = false,
                Expires  = DateTime.Now.AddDays(365)
            };

            HttpContext.Response.Cookies.Add(cookie);

            return(RedirectToAction("Index"));
        }
        protected override void ExecuteCore()
        {
            Language currentLang = InterfaceLanguages.GetLanguageById(Convert.ToInt32(Session["LanguageId"]));

            base.ExecuteCore();
        }
        protected void Application_AcquireRequestState(object sender, EventArgs e)
        {
            System.Web.SessionState.HttpSessionState Session = System.Web.HttpContext.Current.Session;
            HttpRequest Request = System.Web.HttpContext.Current.Request;

            string[] host = Request.Url.Host.Split('.');
            if (Session != null && Session.IsNewSession && (host[0].ToLower() == "demo" || host[0].ToLower() == "freecases"))
            {
                // temporarily saving user agent strings, gotta catch that google bot.
                var userAgentString = Request.UserAgent;

                /*  using (StreamWriter sw = new StreamWriter(Server.MapPath("~/Logs/ua.txt"), true))
                 * {
                 *    sw.WriteLine(userAgentString);
                 * }*/
                // end of temp saving

                UserData ud = UserMng.Login("sysdemo", ConfigurationManager.AppSettings["DEMO_USER_PASS"], false, Request.UserHostAddress);
                if (ud != null)
                {
                    if (ud.SessionId > 0)
                    {
                        Session["UserData"] = ud;
                        Session.Timeout     = ud.SessionTimeout; // minutes

                        var productsList = UserMng.GetProductsList(ud.UserId);
                        Session["ProductsList"] = productsList;

                        var selectedProductCookie = Request.Cookies["SelectedProductId"];
                        int selectedProductId     = 1;

                        if (ud.Products.Where(p => p.IsActive.HasValue && p.IsActive == true).ToList().Count == 1)
                        {
                            selectedProductId = ud.Products.FirstOrDefault().ProductId;
                            var newCookie = new HttpCookie("SelectedProductId");
                            newCookie.Value = selectedProductId.ToString();

                            Response.SetCookie(newCookie);
                        }
                        else
                        {
                            if (selectedProductCookie != null && selectedProductCookie.Value != null && selectedProductCookie.Value.ToString() != "")
                            {
                                selectedProductId = int.Parse(selectedProductCookie.Value.ToString());
                            }
                        }
                        Session["SelectedProductId"] = selectedProductId;
                    }
                }
            }


            if (Session != null)
            {
                if (Request.Cookies["sitelang"] != null)
                {
                    Language currentLang = InterfaceLanguages.GetLanguageByCode(Request.Cookies["sitelang"].Value);
                    if (!currentLang.IsInterfaceLang) // some bad cookie
                    {
                        currentLang = null;
                    }
                    if (currentLang != null) // check if cookie contains valid language code, mmmmmm cookieeee (Cookie monster was here)
                    {
                        Session["LanguageId"] = currentLang.Id;
                    }
                }

                if (Session["LanguageId"] == null)
                {
                    Language preferedLang = null;
                    string   languageCode;

                    if (Request.UserLanguages != null)
                    {
                        foreach (var headerLang in Request.UserLanguages)
                        {
                            languageCode = headerLang.Split(';')[0];

                            if (languageCode.Length == 2)
                            {
                                preferedLang = InterfaceLanguages.GetLanguageByShortCode(languageCode);
                            }
                            else
                            {
                                preferedLang = InterfaceLanguages.GetLanguageByCode(languageCode);
                            }

                            if (preferedLang != null && !preferedLang.IsInterfaceLang)
                            {
                                preferedLang = null;
                            }

                            if (preferedLang != null)
                            {
                                break;
                            }
                        }
                    }

                    if (preferedLang == null)
                    {
                        preferedLang = InterfaceLanguages.GetLanguageById(Convert.ToInt32(ConfigurationManager.AppSettings["DefaultLanguageId"]));
                    }

                    Session["LanguageId"] = preferedLang.Id;

                    //HttpCookie cultureCookie = new HttpCookie("sitelang", defaultLang.Code);
                    //cultureCookie.Expires = DateTime.Now.AddYears(1);
                    //Response.Cookies.Add(cultureCookie);
                }

                string      code = InterfaceLanguages.GetLanguageById(Convert.ToInt32(Session["LanguageId"])).Code;
                CultureInfo ci   = new CultureInfo(code);
                System.Threading.Thread.CurrentThread.CurrentCulture   = ci;
                System.Threading.Thread.CurrentThread.CurrentUICulture = ci;

                if (Request.Cookies["SelectedProductId"] != null)
                {
                    Session["SelectedProductId"] = Request.Cookies["SelectedProductId"].Value.ToString();
                }

                if (Session["SelectedProductId"] == null)
                {
                    Session["SelectedProductId"] = 1;
                }

                // Refreshing language to english in T&FSt if previously another not primary language has been selected. Sry for this. Blame it on the financists.
                if (Convert.ToInt32(Session["SelectedProductId"]) == 2 &&
                    Convert.ToInt32(Session["LanguageId"]) > 4 &&
                    Session["UserData"] != null &&
                    ((Session["UserData"] as UserData).ClientId != 1 || (Session["UserData"] as UserData).Username.ToUpper() == "SYSDEMO")) // Apis Europe client ignore
                {
                    Session["LanguageId"] = 4;                                                                                              // english
                    var newLangCookie = new HttpCookie("sitelang");
                    newLangCookie.Value = "en-GB";
                    newLangCookie.Expires.AddYears(365);
                    Response.SetCookie(newLangCookie);
                }
            }
        }