component { THIS.name = 'rodion'; THIS.mappings = StructNew(); THIS.mappings["/model"] = getDirectoryFromPath(getCurrentTemplatePath()) & "model/"; THIS.clientManagement = true; THIS.clientStorage = "cookie"; THIS.sessionManagement = true; THIS.sessionTimeout = CreateTimeSpan(0,0,30,0); THIS.sessionStorage = "memory"; function onApplicationStart() { var contentfulKey = SERVER.system.environment["RODION_CONTENTFUL_KEY"]; var contentfulSpace = SERVER.system.environment["RODION_CONTENTFUL_SPACE"]; var contentfulLandingPageID = SERVER.system.environment["RODION_CONTENTFUL_LANDINGPAGE_ID"]; var contentful = new model.Contentful(contentfulKey, contentfulSpace); var landingPageEN = new model.LandingPage(id=contentfulLandingPageID); var landingPageUK = new model.LandingPage(id=contentfulLandingPageID); var structSites = {}; structSites['en-US'] = new model.Site(contentful, landingPageEN, 'en-US'); structSites['uk-UA'] = new model.Site(contentful, landingPageUK, 'uk-UA'); APPLICATION.sites = structSites; var structLabels = {}; structLabels['en-US'] = {}; structLabels['uk-UA'] = {}; structLabels['en-US']['timeline'] = "timeline"; structLabels['uk-UA']['timeline'] = "деталі"; structLabels['en-US']['work'] = "work"; structLabels['uk-UA']['work'] = "робота"; structLabels['en-US']['education'] = "education"; structLabels['uk-UA']['education'] = "освіта"; structLabels['en-US']['certificates'] = "certificates"; structLabels['uk-UA']['certificates'] = "сертифікати"; APPLICATION.labels = structLabels; } function onSessionStart() { if (CGI.SERVER_NAME eq "rodyonbykov.com") { SESSION.locale = "en-US"; elseif (CGI.SERVER_NAME eq "rodion.com.ua") { SESSION.locale = "uk-UA"; } else { SESSION.locale = SERVER.system.environment["RODION_CONTENTFUL_LOCALE"]; } } function onRequestStart() { if (StructKeyExists(URL, 'locale')){ if(ListFindNoCase('en-US,uk-UA', URL.locale)){ SESSION.locale = URL.locale; } } REQUEST.site = APPLICATION.sites[session.locale]; REQUEST.labels = APPLICATION.labels[session.locale]; } }