string(3) "-1-"
object(modPlugin_mysql)#19 (43) {
["_scriptName"]=>
NULL
["_scriptCacheKey"]=>
NULL
["_scriptFilename":protected]=>
NULL
["_properties"]=>
array(0) {
}
["_propertyString"]=>
string(0) ""
["_content"]=>
string(0) ""
["_source"]=>
NULL
["_output"]=>
string(0) ""
["_result"]=>
bool(true)
["_tag"]=>
NULL
["_token"]=>
string(0) ""
["_cacheable"]=>
bool(false)
["_processed"]=>
bool(false)
["_filters"]=>
array(2) {
["input"]=>
NULL
["output"]=>
NULL
}
["_sourcePath":protected]=>
string(0) ""
["_sourceFile":protected]=>
string(0) ""
["_invalidCharacters":protected]=>
array(29) {
[0]=>
string(1) "!"
[1]=>
string(1) "@"
[2]=>
string(1) "#"
[3]=>
string(1) "$"
[4]=>
string(1) "%"
[5]=>
string(1) "^"
[6]=>
string(1) "&"
[7]=>
string(1) "*"
[8]=>
string(1) "("
[9]=>
string(1) ")"
[10]=>
string(1) "+"
[11]=>
string(1) "="
[12]=>
string(1) "["
[13]=>
string(1) "]"
[14]=>
string(1) "{"
[15]=>
string(1) "}"
[16]=>
string(1) "'"
[17]=>
string(1) """
[18]=>
string(1) ";"
[19]=>
string(1) ":"
[20]=>
string(1) "\"
[21]=>
string(1) "/"
[22]=>
string(1) "<"
[23]=>
string(1) ">"
[24]=>
string(1) "?"
[25]=>
string(1) " "
[26]=>
string(1) ","
[27]=>
string(1) "`"
[28]=>
string(1) "~"
}
["_policies":protected]=>
array(0) {
}
["xpdo"]=>
object(modX)#1 (70) {
["context"]=>
object(modContext_mysql)#6 (33) {
["config"]=>
array(11) {
["cultureKey"]=>
string(2) "en"
["resinex.contacts_page"]=>
string(1) "8"
["resinex.cookies_policy_page"]=>
string(5) "11639"
["resinex.featured_pages"]=>
string(5) "4,5,6"
["resinex.footer_page_links"]=>
string(17) "10,11,8,8747,8746"
["resinex.news_page"]=>
string(1) "7"
["resinex.search_page"]=>
string(1) "9"
["resinex.welcome_page"]=>
string(1) "3"
["session_enabled"]=>
string(1) "0"
["site_start"]=>
string(2) "36"
["site_url"]=>
string(24) "https://www.resinex.com/"
}
["aliasMap"]=>
&array(359) {
["global-site.html"]=>
int(1)
["home.html"]=>
int(2)
["about-us/"]=>
int(3)
["products/"]=>
int(4)
["producers/"]=>
int(8747)
["polymer-types/"]=>
int(8746)
["services/"]=>
int(5)
["industries/"]=>
int(6)
["sustainability.html"]=>
int(17525)
["news/"]=>
int(7)
["contacts.html"]=>
int(8)
["contact-form-test.html"]=>
int(20200)
["search.html"]=>
int(9)
["sitemap.html"]=>
int(10)
["terms-of-use.html"]=>
int(11)
["cookies-policy.html"]=>
int(11639)
["404.html"]=>
int(12)
["quality-policy.html"]=>
int(16312)
["about-us/our-mission.html"]=>
int(13)
["about-us/the-presence.html"]=>
int(14)
["about-us/our-history.html"]=>
int(15)
["products/affinity.html"]=>
int(2125)
["products/akulon.html"]=>
int(2097)
["products/akulon-ultraflow.html"]=>
int(2016)
["products/altuglas.html"]=>
int(2104)
["products/ampacet-mb.html"]=>
int(2029)
["products/arnite.html"]=>
int(1988)
["products/arnitel.html"]=>
int(2080)
["products/attane.html"]=>
int(2068)
["products/bondyram.html"]=>
int(2054)
["products/braskem-pp.html"]=>
int(2055)
["products/calibre.html"]=>
int(2070)
["products/celanex.html"]=>
int(2051)
["products/celstran.html"]=>
int(2123)
["products/colorcomp.html"]=>
int(2061)
["products/cycolac.html"]=>
int(2084)
["products/cycoloy.html"]=>
int(2022)
["products/diakon.html"]=>
int(2030)
["products/dow-endurance.html"]=>
int(2028)
["products/dow-hdpe.html"]=>
int(2004)
["products/dow-ldpe.html"]=>
int(2074)
["products/dow-wire-and-cable.html"]=>
int(2098)
["products/dowlex.html"]=>
int(2062)
["products/el-lene.html"]=>
int(1989)
["products/elite.html"]=>
int(2000)
["products/emerge.html"]=>
int(2025)
["products/enable.html"]=>
int(2056)
["products/enflex.html"]=>
int(2003)
["products/engage.html"]=>
int(2089)
["products/enprene.html"]=>
int(2078)
["products/enr.html"]=>
int(2082)
["products/ensoft.html"]=>
int(1983)
["products/equate-hdpe.html"]=>
int(2096)
["products/equate-lldpe.html"]=>
int(2048)
["products/escor.html"]=>
int(2126)
["products/escorene-ultra-eva.html"]=>
int(2129)
["products/europrene.html"]=>
int(2045)
["products/evatane.html"]=>
int(2015)
["products/exact.html"]=>
int(2067)
["products/exceed.html"]=>
int(2087)
["products/extem.html"]=>
int(2081)
["products/exxonmobil-hdpe.html"]=>
int(2105)
["products/exxonmobil-ldpe.html"]=>
int(2040)
["products/exxonmobil-lldpe.html"]=>
int(2085)
["products/exxonmobil-pp.html"]=>
int(2063)
["products/exxonmobil-pp-medical.html"]=>
int(2014)
["products/factor.html"]=>
int(2006)
["products/faradex.html"]=>
int(2035)
["products/fortron.html"]=>
int(1996)
["products/geloy.html"]=>
int(1986)
["products/greenflex.html"]=>
int(1999)
["products/hostaform.html"]=>
int(2011)
["products/impet.html"]=>
int(2090)
["products/infuse.html"]=>
int(2083)
["products/inspire.html"]=>
int(2079)
["products/iotek.html"]=>
int(2007)
["products/ixef.html"]=>
int(2093)
["products/k-resin.html"]=>
int(2017)
["products/keyflex.html"]=>
int(2020)
["products/kocetal.html"]=>
int(2046)
["products/konduit.html"]=>
int(2033)
["products/kynar.html"]=>
int(2128)
["products/lexan.html"]=>
int(2053)
["products/lg-abs.html"]=>
int(2111)
["products/lg-eps.html"]=>
int(2066)
["products/lighter.html"]=>
int(2077)
["products/lotrene.html"]=>
int(2114)
["products/lubricomp.html"]=>
int(2115)
["products/lubriloy.html"]=>
int(2119)
["products/lucel.html"]=>
int(2018)
["products/lupos.html"]=>
int(2099)
["products/lupox-pbt.html"]=>
int(2116)
["products/lupoy.html"]=>
int(2124)
["products/lusep.html"]=>
int(2002)
["products/mablex.html"]=>
int(2021)
["products/mafill.html"]=>
int(2044)
["products/magnum.html"]=>
int(2072)
["products/microgranules.html"]=>
int(2065)
["products/natural-rubber.html"]=>
int(2005)
["products/natureworks-ingeo.html"]=>
int(2036)
["products/nordel-ip.html"]=>
int(2043)
["products/norsolene.html"]=>
int(2094)
["products/noryl-gtx.html"]=>
int(2095)
["products/noryl-ppe.html"]=>
int(1985)
["products/noryl-ppx.html"]=>
int(2012)
["products/orgalloy.html"]=>
int(2069)
["products/pan-star.html"]=>
int(2122)
["products/pearlstick.html"]=>
int(2013)
["products/pearlthane.html"]=>
int(2042)
["products/pebax.html"]=>
int(1997)
["products/plustek.html"]=>
int(2057)
["products/polychim-pp.html"]=>
int(2073)
["products/primacor.html"]=>
int(1984)
["products/pulse.html"]=>
int(2113)
["products/ramofin.html"]=>
int(2037)
["products/ramtal.html"]=>
int(2076)
["products/ravalene.html"]=>
int(2019)
["products/ravamid.html"]=>
int(2034)
["products/ravathane.html"]=>
int(11653)
["products/resinex-pom.html"]=>
int(1992)
["products/rilsamid.html"]=>
int(2106)
["products/rilsan.html"]=>
int(2121)
["products/rilsan-clear.html"]=>
int(2032)
["products/rilsan-ht.html"]=>
int(2064)
["products/riteflex.html"]=>
int(2010)
["products/ryton.html"]=>
int(2075)
["products/sabic-pe.html"]=>
int(2009)
["products/sabic-pp.html"]=>
int(2101)
["products/scolefin.html"]=>
int(2050)
["products/sconablend.html"]=>
int(2109)
["products/sconapor.html"]=>
int(2008)
["products/sicoflex.html"]=>
int(2001)
["products/sicoklar.html"]=>
int(2047)
["products/sicostirolo.html"]=>
int(2059)
["products/socfindo.html"]=>
int(2031)
["products/sprintan.html"]=>
int(2107)
["products/stanyl.html"]=>
int(1995)
["products/staramide.html"]=>
int(2092)
["products/stat-kon.html"]=>
int(2071)
["products/stat-loy.html"]=>
int(2100)
["products/styron.html"]=>
int(2127)
["products/styron-br.html"]=>
int(2118)
["products/styron-sbr.html"]=>
int(2091)
["products/styrosun.html"]=>
int(2108)
["products/sumitomo-pp.html"]=>
int(2023)
["products/technyl.html"]=>
int(2052)
["products/technyl-exten.html"]=>
int(2110)
["products/technyl-star.html"]=>
int(1993)
["products/thermocomp.html"]=>
int(2058)
["products/thermotuf.html"]=>
int(2086)
["products/thermx.html"]=>
int(2088)
["products/total-hdpe.html"]=>
int(2117)
["products/total-lldpe.html"]=>
int(2060)
["products/total-petrochemicals-pp.html"]=>
int(2041)
["products/tyril.html"]=>
int(2120)
["products/ultem.html"]=>
int(2112)
["products/valox.html"]=>
int(2103)
["products/vectra.html"]=>
int(2024)
["products/velvex.html"]=>
int(1987)
["products/versify.html"]=>
int(1998)
["products/verton.html"]=>
int(2027)
["products/wingtack.html"]=>
int(2039)
["products/xenoy.html"]=>
int(2049)
["products/xylex.html"]=>
int(1991)
["products/xyron.html"]=>
int(2026)
["products/zenite.html"]=>
int(1990)
["products/zylar.html"]=>
int(2038)
["products/sipchem-eva.html"]=>
int(13466)
["products/fortii.html"]=>
int(15146)
["products/fortii-ace.html"]=>
int(15178)
["products/xytron.html"]=>
int(15210)
["products/sabic-hdpe.html"]=>
int(15242)
["products/braskem-hdpe.html"]=>
int(15371)
["products/technyl-one.html"]=>
int(15412)
["products/selenis.html"]=>
int(15430)
["products/biobatch.html"]=>
int(15567)
["products/im-green.html"]=>
int(15587)
["products/ramclean.html"]=>
int(15621)
["products/sanafor.html"]=>
int(15623)
["products/technyl-red.html"]=>
int(15625)
["products/pre-elec.html"]=>
int(16393)
["products/sofprene.html"]=>
int(16411)
["products/forprene.html"]=>
int(16413)
["products/laprene.html"]=>
int(16417)
["products/pibiflex.html"]=>
int(16419)
["products/infino.html"]=>
int(16961)
["products/starex.html"]=>
int(16963)
["products/ateva.html"]=>
int(16967)
["products/celanyl.html"]=>
int(17753)
["products/frianyl.html"]=>
int(17755)
["products/polifor.html"]=>
int(17757)
["products/tecnoprene.html"]=>
int(17759)
["products/talcoprene.html"]=>
int(17954)
["products/carboprene.html"]=>
int(17961)
["products/vydyne.html"]=>
int(18134)
["products/biomaster.html"]=>
int(18244)
["products/innate.html"]=>
int(18379)
["products/retain.html"]=>
int(18381)
["products/appeel.html"]=>
int(18383)
["products/bynel.html"]=>
int(18414)
["products/elvax.html"]=>
int(18446)
["products/elvaloy.html"]=>
int(18478)
["products/pre-elec-2.html"]=>
int(18671)
["products/scentmaster.html"]=>
int(19162)
["products/nucrel.html"]=>
int(20071)
["products/surlyn.html"]=>
int(20135)
["services/technical-service-and-application-development.html"]=>
int(16)
["services/customer-service.html"]=>
int(17)
["services/supplier-service.html"]=>
int(18)
["services/tailor-made-products.html"]=>
int(19)
["services/product-grinding-and-mixing.html"]=>
int(20)
["services/compounding-and-recycling.html"]=>
int(21)
["services/reach.html"]=>
int(22)
["industries/automotive-industry.html"]=>
int(23)
["industries/polymer-compounding.html"]=>
int(24)
["industries/rotational-moulding/"]=>
int(25)
["industries/electrical-and-lighting-industry.html"]=>
int(26)
["industries/wire-and-cable.html"]=>
int(27)
["industries/medical-and-pharmaceutical-industry.html"]=>
int(28)
["industries/resinex-polymer-powders.html"]=>
int(29)
["industries/bioplastics-current-important-trend.html"]=>
int(15735)
["industries/3d-printing.html"]=>
int(16091)
["industries/test.html"]=>
int(18824)
["industries/medical-and-pharmaceutical-industry-new.html"]=>
int(18904)
["news/2022/"]=>
int(19981)
["news/2021/"]=>
int(18940)
["news/2020/"]=>
int(17668)
["news/2019/"]=>
int(16517)
["news/2018/"]=>
int(15308)
["news/2017/"]=>
int(14758)
["news/3rd-medtech-and-pharma-platform-conference/"]=>
int(13910)
["news/2015/"]=>
int(13076)
["news/2014/"]=>
int(11893)
["news/2013/"]=>
int(11201)
["news/2012/"]=>
int(5390)
["news/2011/"]=>
int(5330)
["industries/rotational-moulding/introduction.html"]=>
int(30)
["industries/rotational-moulding/facilities.html"]=>
int(31)
["industries/rotational-moulding/services.html"]=>
int(32)
["industries/rotational-moulding/colours.html"]=>
int(33)
["industries/rotational-moulding/special-effects.html"]=>
int(34)
["industries/rotational-moulding/products.html"]=>
int(35)
["news/2011/resinex-has-been-exhibiting-at-fakuma-2011-in-friedrichshafen-germany.html"]=>
int(6919)
["news/2011/resinex-italy-exhibits-at-plast-2012-in-milano-italy-from-8-12-may-2012.html"]=>
int(6978)
["news/2011/resinex-switzerland-will-be-present-at-the-swissplastics-fair-in-luzern.html"]=>
int(7037)
["news/2011/caoutchouc-2011-during-fip-solution-plastique.html"]=>
int(7096)
["news/2011/styron-and-resinex-partner-to-serve-european-electrical-and-lighting-industry.html"]=>
int(7155)
["news/2011/resinex-france-has-been-participating-in-the-fip-fair-in-lyon.html"]=>
int(7214)
["news/2012/resinex-decided-to-change-name-of-its-russian-office.html"]=>
int(5450)
["news/2012/resinex-rus-zao-will-take-a-part-in-interplastica-2012.html"]=>
int(5567)
["news/2012/resinex-italy-exhibits-at-plast-2012-in-milano.html"]=>
int(5743)
["news/2012/technyl-a258-p2-replaces-pa12-for-cable-ties.html"]=>
int(6448)
["news/2012/altuglas-hfi-10-super-matt.html"]=>
int(6507)
["news/2012/conference-plastics-in-automotive-engineering-in-mannheim.html"]=>
int(6566)
["news/2012/medtec-europe-13-15-march-2012-messe-stuttgart-stuttgart-germany.html"]=>
int(6625)
["news/2012/resinex-exhibits-at-elmia-polymer-2012-in-jonkoping.html"]=>
int(6684)
["news/2012/resinex-attends-wire-2012-dusseldorf-germany.html"]=>
int(6743)
["news/2012/resinex-attends-the-dkt-2012-german-rubber-conference.html"]=>
int(7274)
["news/2012/resinex-germany-will-be-present-on-the-next-fakuma-2012.html"]=>
int(10825)
["news/2012/ravago-group-acquires-tpe-producer-polyprime-inc.html"]=>
int(11012)
["polymer-types/abs.html"]=>
int(9958)
["polymer-types/lcp.html"]=>
int(9957)
["polymer-types/natural-rubber.html"]=>
int(9952)
["polymer-types/pa.html"]=>
int(11369)
["polymer-types/pbt.html"]=>
int(9944)
["polymer-types/pc.html"]=>
int(9946)
["polymer-types/pc-abs.html"]=>
int(9953)
["polymer-types/pe.html"]=>
int(11370)
["polymer-types/pla.html"]=>
int(9950)
["polymer-types/pmma.html"]=>
int(9947)
["polymer-types/pom.html"]=>
int(9942)
["polymer-types/pp.html"]=>
int(11373)
["polymer-types/pps.html"]=>
int(9945)
["polymer-types/ps.html"]=>
int(11372)
["polymer-types/pvdf.html"]=>
int(9943)
["polymer-types/san.html"]=>
int(9949)
["polymer-types/tpe.html"]=>
int(11371)
["producers/arkema.html"]=>
int(8765)
["producers/braskem.html"]=>
int(8767)
["producers/dsm.html"]=>
int(8762)
["producers/equate.html"]=>
int(8771)
["producers/exxonmobil.html"]=>
int(8763)
["producers/ktp.html"]=>
int(8774)
["producers/lg-chem.html"]=>
int(8761)
["producers/ravago.html"]=>
int(8768)
["producers/rhodia.html"]=>
int(8770)
["producers/sabic-ip.html"]=>
int(8775)
["producers/trinseo.html"]=>
int(8759)
["producers/sumitomo.html"]=>
int(8764)
["producers/dow.html"]=>
int(8760)
["producers/celanese.html"]=>
int(8769)
["producers/total-petrochemicals.html"]=>
int(8766)
["producers/sipchem.html"]=>
int(13462)
["news/2013/resinex-rus-attends-interplastica-2014-17th-international-trade-fair-for-plastics-and-rubbers.html"]=>
int(11828)
["news/2013/resinex-attends-k-2013-no-1-plastic-fair-worldwide-16-23-october-2013-dusseldorf-germany.html"]=>
int(11572)
["news/2013/resinex-will-be-at-medtec-europe-26-28-february-2013-stuttgart.html"]=>
int(11075)
["news/2013/resinex-attends-vdi-plastics-in-automotive-engineering-13-14-march-2013-mannheim.html"]=>
int(11138)
["news/2014/resinex-to-distribute-braskems-green-pe.html"]=>
int(11956)
["news/2014/resinex-attends-vdi-plastics-in-automotive-engineering-april-2014-mannheim.html"]=>
int(12033)
["news/2014/resinex-attends-fip-solution-plastique-17.-20.-june-2014-lyon-eurexpo-france.html"]=>
int(12222)
["news/2014/resinex-attends-plastteknik-nordic-2014-9.-10.-april-2014-in-malmo-sweden.html"]=>
int(12298)
["news/2014/sipchem-and-resinex-group-to-market-new-eva-in-europe.html"]=>
int(12372)
["news/2014/resinex-attends-23rd-fakuma-international-trade-fair-for-plastics-processing.html"]=>
int(12438)
["news/2014/resinex-attends-8th-rubber-industry-fair-in-istanbul-on-november-27th-30th-2014.html"]=>
int(12506)
["news/2014/plastica-2014-9th-international-exhibition-of-plastics-machines-and-moulds.html"]=>
int(12755)
["news/2014/styron-is-becoming-trinseo.html"]=>
int(12942)
["news/2015/resinex-rus-will-attend-interplastica-2015-18th-international-trade-fair-for-plastics-and-rubbers.html"]=>
int(13139)
["news/2015/resinex-italy-exhibits-at-the-milan-plast-2015-may-5-9.html"]=>
int(13204)
["news/2015/sipchem-started-eva-and-ldpe-production.html"]=>
int(13267)
["news/2015/resinex-attends-the-international-rubber-conference-ircdkt-2015.-juni-29-july-2-nuremberg.html"]=>
int(13330)
["news/2015/resinex-attends-plastics-in-automotive-engineering-18th-and-19th-march-2015-mannheim.html"]=>
int(13013)
["news/2015/resinex-attends-24th-fakuma-international-trade-fair-for-plastics-processing.html"]=>
int(13399)
["news/2015/dsm-engineering-plastics-expands-emea-distribution-through-strategic-partnership-with-resinex.html"]=>
int(13592)
["news/2015/dupont-and-dow-to-combine-merger-of-equals.html"]=>
int(13655)
["news/2015/resinex-will-take-over-grinding-and-ownership-of-dowlex-powders.html"]=>
int(13718)
["news/3rd-medtech-and-pharma-platform-conference/resinex-attends-plastics-in-automotive-engineering-9th-and-10th-march-2016-mannheim.html"]=>
int(14060)
["news/3rd-medtech-and-pharma-platform-conference/ravago-expands-tpe-manufacturing-to-china.html"]=>
int(13911)
["news/3rd-medtech-and-pharma-platform-conference/resinex-will-be-at-medtec-europe-12-14-april-2016-stuttgart.html"]=>
int(14165)
["news/3rd-medtech-and-pharma-platform-conference/resinex-will-be-at-k-2016-19-26-october-2016-dusseldorf.html"]=>
int(14232)
["news/3rd-medtech-and-pharma-platform-conference/resinex-will-be-at-kunststoffen-2016-28-29-september-2016-veldhoven.html"]=>
int(14295)
["news/3rd-medtech-and-pharma-platform-conference/medtech-and-pharma-platform2016.html"]=>
int(14513)
["news/3rd-medtech-and-pharma-platform-conference/selenis-signs-exclusive-distribution-agreement-with-resinex.html"]=>
int(14576)
["news/3rd-medtech-and-pharma-platform-conference/resinex-attends-swiss-plastics-expo-24.-26.-january-2017-luzern-switzerland.html"]=>
int(14686)
["news/2017/resinex-attends-plastics-in-automotive-engineering.html"]=>
int(14884)
["news/2017/successful-completion-of-the-merger-transaction.html"]=>
int(14821)
["news/2017/dow-and-resinex-to-foster-better-packaging-solutions-for-russia.html"]=>
int(14947)
["news/2018/resinex-attends-plastics-in-automotive-engineering-2018.html"]=>
int(15244)
["news/2018/resinex-attends-plast-may-29th-june-1st-2018-milan-italy.html"]=>
int(15497)
["news/2018/resinex-gdpr.html"]=>
int(15637)
["news/2018/resinex-attends-deutsche-kautschuk-tagung.html"]=>
int(15810)
["news/2018/resinex-attends-armo-international-conference.html"]=>
int(16248)
["news/2018/resinex-attends-fakuma-international-trade-fair-for-plastics-processing.html"]=>
int(16329)
["news/2018/resinex-hellas-attends-plastica-18.html"]=>
int(16402)
["news/2019/eurostampi-plastica-gomma-e-compositi.html"]=>
int(16515)
["news/2019/resinex-to-distribute-dow-agility-tm-performance-ldpe-for-extrusion-coating-and-foam-applications.html"]=>
int(16591)
["news/2019/resinex-at-plastics-in-automotive-engineering-2019.html"]=>
int(16654)
["news/2019/resinex-attends-kuteno-2019.html"]=>
int(16780)
["news/2019/resinex-to-distribute-dows-new-dowlex-tm-gm-product-range-for-blown-and-cast-film.html"]=>
int(16848)
["news/2019/resinex-to-distribute-dows-new-dowlextm-2750st-stiffness-booster.html"]=>
int(16897)
["news/2019/25-years-of-resinex-switzerland.html"]=>
int(16977)
["news/2019/resinex-distribuira-el-nuevo-dowlextm-2750st-mejorador-de-rigidez-de-dow.html"]=>
int(17062)
["news/2019/resinex-at-k-2019.html"]=>
int(17101)
["news/2019/resinex-italy-at-mecspe-bari-2019.html"]=>
int(17164)
["news/2019/resinex-attends-fachpack-2019.html"]=>
int(17169)
["news/2019/resinex-at-swiss-plastics-expo.html"]=>
int(17583)
["news/fossil-free-fuel-in-resinex-sweden.html"]=>
int(17731)
["news/resinex-erweitert-portfolio-um-pre-elec-compounds-von-premix.html"]=>
int(17746)
["news/growing-together.html"]=>
int(17891)
["news/resinex-are-delighted-to-announce-that-effective-from-may-1st-2020-we-become-ascend-performance-materials-strategic-european-distributor-for-vydyne-pa66.html"]=>
int(18071)
["news/resinex-in-the-fight-against-covid-19.html"]=>
int(18166)
["news/resinex-proudly-welcome-dows-hpc.html"]=>
int(18316)
["news/natural-rubber-story.html"]=>
int(18677)
["news/biomaster-works-against-sars-cov-2.html"]=>
int(18761)
["news/resinex-promotes-surlyntm-and-nucreltm.html"]=>
int(18826)
["news/buon-natale.html"]=>
int(18890)
["news/2021/resinex-attends-27th-fakuma-interntional-trade-fair.html"]=>
int(19066)
["news/2021/resinex-auf-der-fakuma-2021-fokus-auf-nachhaltigkeit-medizin-und-pharma.html"]=>
int(19675)
["news/2022/myresinex-new-customer-portal.html"]=>
int(19995)
["news/2022/resinex-attends-kuteno-2022.html"]=>
int(20204)
}
["resourceMap"]=>
&array(21) {
[0]=>
array(18) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(8747)
[5]=>
int(8746)
[6]=>
int(5)
[7]=>
int(6)
[8]=>
int(17525)
[9]=>
int(7)
[10]=>
int(8)
[11]=>
int(20200)
[12]=>
int(9)
[13]=>
int(10)
[14]=>
int(11)
[15]=>
int(11639)
[16]=>
int(12)
[17]=>
int(16312)
}
[3]=>
array(3) {
[0]=>
int(13)
[1]=>
int(14)
[2]=>
int(15)
}
[4]=>
array(185) {
[0]=>
int(2125)
[1]=>
int(2097)
[2]=>
int(2016)
[3]=>
int(2104)
[4]=>
int(2029)
[5]=>
int(1988)
[6]=>
int(2080)
[7]=>
int(2068)
[8]=>
int(2054)
[9]=>
int(2055)
[10]=>
int(2070)
[11]=>
int(2051)
[12]=>
int(2123)
[13]=>
int(2061)
[14]=>
int(2084)
[15]=>
int(2022)
[16]=>
int(2030)
[17]=>
int(2028)
[18]=>
int(2004)
[19]=>
int(2074)
[20]=>
int(2098)
[21]=>
int(2062)
[22]=>
int(1989)
[23]=>
int(2000)
[24]=>
int(2025)
[25]=>
int(2056)
[26]=>
int(2003)
[27]=>
int(2089)
[28]=>
int(2078)
[29]=>
int(2082)
[30]=>
int(1983)
[31]=>
int(2096)
[32]=>
int(2048)
[33]=>
int(2126)
[34]=>
int(2129)
[35]=>
int(2045)
[36]=>
int(2015)
[37]=>
int(2067)
[38]=>
int(2087)
[39]=>
int(2081)
[40]=>
int(2105)
[41]=>
int(2040)
[42]=>
int(2085)
[43]=>
int(2063)
[44]=>
int(2014)
[45]=>
int(2006)
[46]=>
int(2035)
[47]=>
int(1996)
[48]=>
int(1986)
[49]=>
int(1999)
[50]=>
int(2011)
[51]=>
int(2090)
[52]=>
int(2083)
[53]=>
int(2079)
[54]=>
int(2007)
[55]=>
int(2093)
[56]=>
int(2017)
[57]=>
int(2020)
[58]=>
int(2046)
[59]=>
int(2033)
[60]=>
int(2128)
[61]=>
int(2053)
[62]=>
int(2111)
[63]=>
int(2066)
[64]=>
int(2077)
[65]=>
int(2114)
[66]=>
int(2115)
[67]=>
int(2119)
[68]=>
int(2018)
[69]=>
int(2099)
[70]=>
int(2116)
[71]=>
int(2124)
[72]=>
int(2002)
[73]=>
int(2021)
[74]=>
int(2044)
[75]=>
int(2072)
[76]=>
int(2065)
[77]=>
int(2005)
[78]=>
int(2036)
[79]=>
int(2043)
[80]=>
int(2094)
[81]=>
int(2095)
[82]=>
int(1985)
[83]=>
int(2012)
[84]=>
int(2069)
[85]=>
int(2122)
[86]=>
int(2013)
[87]=>
int(2042)
[88]=>
int(1997)
[89]=>
int(2057)
[90]=>
int(2073)
[91]=>
int(1984)
[92]=>
int(2113)
[93]=>
int(2037)
[94]=>
int(2076)
[95]=>
int(2019)
[96]=>
int(2034)
[97]=>
int(11653)
[98]=>
int(1992)
[99]=>
int(2106)
[100]=>
int(2121)
[101]=>
int(2032)
[102]=>
int(2064)
[103]=>
int(2010)
[104]=>
int(2075)
[105]=>
int(2009)
[106]=>
int(2101)
[107]=>
int(2050)
[108]=>
int(2109)
[109]=>
int(2008)
[110]=>
int(2001)
[111]=>
int(2047)
[112]=>
int(2059)
[113]=>
int(2031)
[114]=>
int(2107)
[115]=>
int(1995)
[116]=>
int(2092)
[117]=>
int(2071)
[118]=>
int(2100)
[119]=>
int(2127)
[120]=>
int(2118)
[121]=>
int(2091)
[122]=>
int(2108)
[123]=>
int(2023)
[124]=>
int(2052)
[125]=>
int(2110)
[126]=>
int(1993)
[127]=>
int(2058)
[128]=>
int(2086)
[129]=>
int(2088)
[130]=>
int(2117)
[131]=>
int(2060)
[132]=>
int(2041)
[133]=>
int(2120)
[134]=>
int(2112)
[135]=>
int(2103)
[136]=>
int(2024)
[137]=>
int(1987)
[138]=>
int(1998)
[139]=>
int(2027)
[140]=>
int(2039)
[141]=>
int(2049)
[142]=>
int(1991)
[143]=>
int(2026)
[144]=>
int(1990)
[145]=>
int(2038)
[146]=>
int(13466)
[147]=>
int(15146)
[148]=>
int(15178)
[149]=>
int(15210)
[150]=>
int(15242)
[151]=>
int(15371)
[152]=>
int(15412)
[153]=>
int(15430)
[154]=>
int(15567)
[155]=>
int(15587)
[156]=>
int(15621)
[157]=>
int(15623)
[158]=>
int(15625)
[159]=>
int(16393)
[160]=>
int(16411)
[161]=>
int(16413)
[162]=>
int(16417)
[163]=>
int(16419)
[164]=>
int(16961)
[165]=>
int(16963)
[166]=>
int(16967)
[167]=>
int(17753)
[168]=>
int(17755)
[169]=>
int(17757)
[170]=>
int(17759)
[171]=>
int(17954)
[172]=>
int(17961)
[173]=>
int(18134)
[174]=>
int(18244)
[175]=>
int(18379)
[176]=>
int(18381)
[177]=>
int(18383)
[178]=>
int(18414)
[179]=>
int(18446)
[180]=>
int(18478)
[181]=>
int(18671)
[182]=>
int(19162)
[183]=>
int(20071)
[184]=>
int(20135)
}
[5]=>
array(7) {
[0]=>
int(16)
[1]=>
int(17)
[2]=>
int(18)
[3]=>
int(19)
[4]=>
int(20)
[5]=>
int(21)
[6]=>
int(22)
}
[6]=>
array(11) {
[0]=>
int(23)
[1]=>
int(24)
[2]=>
int(25)
[3]=>
int(26)
[4]=>
int(27)
[5]=>
int(28)
[6]=>
int(29)
[7]=>
int(15735)
[8]=>
int(16091)
[9]=>
int(18824)
[10]=>
int(18904)
}
[7]=>
array(12) {
[0]=>
int(19981)
[1]=>
int(18940)
[2]=>
int(17668)
[3]=>
int(16517)
[4]=>
int(15308)
[5]=>
int(14758)
[6]=>
int(13910)
[7]=>
int(13076)
[8]=>
int(11893)
[9]=>
int(11201)
[10]=>
int(5390)
[11]=>
int(5330)
}
[25]=>
array(6) {
[0]=>
int(30)
[1]=>
int(31)
[2]=>
int(32)
[3]=>
int(33)
[4]=>
int(34)
[5]=>
int(35)
}
[5330]=>
array(6) {
[0]=>
int(6919)
[1]=>
int(6978)
[2]=>
int(7037)
[3]=>
int(7096)
[4]=>
int(7155)
[5]=>
int(7214)
}
[5390]=>
array(12) {
[0]=>
int(5450)
[1]=>
int(5567)
[2]=>
int(5743)
[3]=>
int(6448)
[4]=>
int(6507)
[5]=>
int(6566)
[6]=>
int(6625)
[7]=>
int(6684)
[8]=>
int(6743)
[9]=>
int(7274)
[10]=>
int(10825)
[11]=>
int(11012)
}
[8746]=>
array(17) {
[0]=>
int(9958)
[1]=>
int(9957)
[2]=>
int(9952)
[3]=>
int(11369)
[4]=>
int(9944)
[5]=>
int(9946)
[6]=>
int(9953)
[7]=>
int(11370)
[8]=>
int(9950)
[9]=>
int(9947)
[10]=>
int(9942)
[11]=>
int(11373)
[12]=>
int(9945)
[13]=>
int(11372)
[14]=>
int(9943)
[15]=>
int(9949)
[16]=>
int(11371)
}
[8747]=>
array(16) {
[0]=>
int(8765)
[1]=>
int(8767)
[2]=>
int(8762)
[3]=>
int(8771)
[4]=>
int(8763)
[5]=>
int(8774)
[6]=>
int(8761)
[7]=>
int(8768)
[8]=>
int(8770)
[9]=>
int(8775)
[10]=>
int(8759)
[11]=>
int(8764)
[12]=>
int(8760)
[13]=>
int(8769)
[14]=>
int(8766)
[15]=>
int(13462)
}
[11201]=>
array(4) {
[0]=>
int(11828)
[1]=>
int(11572)
[2]=>
int(11075)
[3]=>
int(11138)
}
[11893]=>
array(9) {
[0]=>
int(11956)
[1]=>
int(12033)
[2]=>
int(12222)
[3]=>
int(12298)
[4]=>
int(12372)
[5]=>
int(12438)
[6]=>
int(12506)
[7]=>
int(12755)
[8]=>
int(12942)
}
[13076]=>
array(9) {
[0]=>
int(13139)
[1]=>
int(13204)
[2]=>
int(13267)
[3]=>
int(13330)
[4]=>
int(13013)
[5]=>
int(13399)
[6]=>
int(13592)
[7]=>
int(13655)
[8]=>
int(13718)
}
[13910]=>
array(8) {
[0]=>
int(14060)
[1]=>
int(13911)
[2]=>
int(14165)
[3]=>
int(14232)
[4]=>
int(14295)
[5]=>
int(14513)
[6]=>
int(14576)
[7]=>
int(14686)
}
[14758]=>
array(3) {
[0]=>
int(14884)
[1]=>
int(14821)
[2]=>
int(14947)
}
[15308]=>
array(7) {
[0]=>
int(15244)
[1]=>
int(15497)
[2]=>
int(15637)
[3]=>
int(15810)
[4]=>
int(16248)
[5]=>
int(16329)
[6]=>
int(16402)
}
[16517]=>
array(12) {
[0]=>
int(16515)
[1]=>
int(16591)
[2]=>
int(16654)
[3]=>
int(16780)
[4]=>
int(16848)
[5]=>
int(16897)
[6]=>
int(16977)
[7]=>
int(17062)
[8]=>
int(17101)
[9]=>
int(17164)
[10]=>
int(17169)
[11]=>
int(17583)
}
[17668]=>
array(10) {
[0]=>
int(17731)
[1]=>
int(17746)
[2]=>
int(17891)
[3]=>
int(18071)
[4]=>
int(18166)
[5]=>
int(18316)
[6]=>
int(18677)
[7]=>
int(18761)
[8]=>
int(18826)
[9]=>
int(18890)
}
[18940]=>
array(2) {
[0]=>
int(19066)
[1]=>
int(19675)
}
[19981]=>
array(2) {
[0]=>
int(19995)
[1]=>
int(20204)
}
}
["webLinkMap"]=>
array(0) {
}
["eventMap"]=>
&array(22) {
["OnChunkFormPrerender"]=>
array(1) {
[1]=>
string(1) "1"
}
["OnContextRemove"]=>
array(1) {
[7]=>
string(1) "7"
}
["OnDocFormPrerender"]=>
array(1) {
[5]=>
string(1) "5"
}
["OnDocFormRender"]=>
array(2) {
[23]=>
string(2) "23"
[5]=>
string(1) "5"
}
["OnDocFormSave"]=>
array(3) {
[7]=>
string(1) "7"
[5]=>
string(1) "5"
[8]=>
string(1) "8"
}
["OnEmptyTrash"]=>
array(1) {
[7]=>
string(1) "7"
}
["OnFileEditFormPrerender"]=>
array(1) {
[1]=>
string(1) "1"
}
["OnFileManagerUpload"]=>
array(1) {
[24]=>
string(2) "24"
}
["OnHandleRequest"]=>
array(3) {
[22]=>
string(2) "22"
[25]=>
string(2) "25"
[4]=>
string(1) "4"
}
["OnLoadWebDocument"]=>
array(2) {
[24]=>
string(2) "24"
[6]=>
string(1) "6"
}
["OnPageNotFound"]=>
array(1) {
[24]=>
string(2) "24"
}
["OnPluginFormPrerender"]=>
array(1) {
[1]=>
string(1) "1"
}
["OnResourceDuplicate"]=>
array(1) {
[7]=>
string(1) "7"
}
["OnRichTextBrowserInit"]=>
array(1) {
[2]=>
string(1) "2"
}
["OnRichTextEditorInit"]=>
array(1) {
[2]=>
string(1) "2"
}
["OnRichTextEditorRegister"]=>
array(2) {
[2]=>
string(1) "2"
[1]=>
string(1) "1"
}
["OnSiteRefresh"]=>
array(2) {
[24]=>
string(2) "24"
[13]=>
string(2) "13"
}
["OnSnipFormPrerender"]=>
array(1) {
[1]=>
string(1) "1"
}
["OnTempFormPrerender"]=>
array(1) {
[1]=>
string(1) "1"
}
["OnTVInputPropertiesList"]=>
array(1) {
[23]=>
string(2) "23"
}
["OnTVInputRenderList"]=>
array(1) {
[23]=>
string(2) "23"
}
["OnWebPagePrerender"]=>
array(2) {
[14]=>
string(2) "14"
[11]=>
string(2) "11"
}
}
["pluginCache"]=>
&array(14) {
[1]=>
array(15) {
["id"]=>
string(1) "1"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(10) "CodeMirror"
["description"]=>
string(46) "CodeMirror 2.1.0-pl plugin for MODx Revolution"
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(3906) "/**
* @var modX $modx
* @var array $scriptProperties
*
* @package codemirror
*/
if ($modx->event->name == 'OnRichTextEditorRegister') {
$modx->event->output('CodeMirror');
return;
}
if ($modx->getOption('which_element_editor',null,'CodeMirror') != 'CodeMirror') return;
if (!$modx->getOption('use_editor',null,true)) return;
if (!$modx->getOption('codemirror.enable',null,true)) return;
/** @var CodeMirror $codeMirror */
$codeMirror = $modx->getService('codemirror','CodeMirror',$modx->getOption('codemirror.core_path',null,$modx->getOption('core_path').'components/codemirror/').'model/codemirror/');
if (!($codeMirror instanceof CodeMirror)) return '';
$options = array(
'modx_path' => $codeMirror->config['assetsUrl'],
'theme' => $modx->getOption('theme',$scriptProperties,'default'),
'indentUnit' => (int)$modx->getOption('indentUnit',$scriptProperties,$modx->getOption('indent_unit',$scriptProperties,2)),
'smartIndent' => (boolean)$modx->getOption('smartIndent',$scriptProperties,false),
'tabSize' => (boolean)$modx->getOption('tabSize',$scriptProperties,4),
'indentWithTabs' => (boolean)$modx->getOption('indentWithTabs',$scriptProperties,true),
'electricChars' => (boolean)$modx->getOption('electricChars',$scriptProperties,true),
'autoClearEmptyLines' => (boolean)$modx->getOption('electricChars',$scriptProperties,false),
'lineWrapping' => (boolean)$modx->getOption('lineWrapping',$scriptProperties,true),
'lineNumbers' => (boolean)$modx->getOption('lineNumbers',$scriptProperties,$modx->getOption('line_numbers',$scriptProperties,true)),
'firstLineNumber' => (int)$modx->getOption('firstLineNumber',$scriptProperties,1),
'highlightLine' => (boolean)$modx->getOption('highlightLine',$scriptProperties,true),
'matchBrackets' => (boolean)$modx->getOption('matchBrackets',$scriptProperties,true),
'showSearchForm' => (boolean)$modx->getOption('showSearchForm',$scriptProperties,true),
'undoDepth' => $modx->getOption('undoDepth',$scriptProperties,40),
);
$load = false;
switch ($modx->event->name) {
case 'OnSnipFormPrerender':
$options['modx_loader'] = 'onSnippet';
$options['mode'] = 'php';
$load = true;
break;
case 'OnTempFormPrerender':
$options['modx_loader'] = 'onTemplate';
$options['mode'] = 'htmlmixed';
$load = true;
break;
case 'OnChunkFormPrerender':
$options['modx_loader'] = 'onChunk';
$options['mode'] = 'htmlmixed';
$load = true;
break;
case 'OnPluginFormPrerender':
$options['modx_loader'] = 'onPlugin';
$options['mode'] = 'php';
$load = true;
break;
/* disabling TVs for now, since it causes problems with newlines
case 'OnTVFormPrerender':
$options['modx_loader'] = 'onTV';
$options['height'] = '250px';
$load = true;
break;*/
case 'OnFileEditFormPrerender':
$options['modx_loader'] = 'onFile';
$options['mode'] = 'php';
$load = true;
break;
/* debated whether or not to use */
case 'OnRichTextEditorInit':
break;
case 'OnRichTextBrowserInit':
break;
}
if ($load) {
$options['searchTpl'] = $codeMirror->getChunk('search');
$modx->regClientStartupHTMLBlock('');
$modx->regClientCSS($codeMirror->config['assetsUrl'].'css/codemirror-compressed.css');
$modx->regClientCSS($codeMirror->config['assetsUrl'].'css/cm.css');
if ($options['theme'] != 'default') {
$modx->regClientCSS($codeMirror->config['assetsUrl'].'cm/theme/'.$options['theme'].'.css');
}
$modx->regClientStartupScript($codeMirror->config['assetsUrl'].'js/codemirror-compressed.js');
$modx->regClientStartupScript($codeMirror->config['assetsUrl'].'js/cm.js');
}
return;"
["locked"]=>
string(1) "0"
["properties"]=>
string(4098) "a:14:{s:5:"theme";a:7:{s:4:"name";s:5:"theme";s:4:"desc";s:18:"prop_cm.theme_desc";s:4:"type";s:4:"list";s:7:"options";a:14:{i:0;a:2:{s:4:"text";s:7:"default";s:5:"value";s:7:"default";}i:1;a:2:{s:4:"text";s:8:"ambiance";s:5:"value";s:8:"ambiance";}i:2;a:2:{s:4:"text";s:10:"blackboard";s:5:"value";s:10:"blackboard";}i:3;a:2:{s:4:"text";s:6:"cobalt";s:5:"value";s:6:"cobalt";}i:4;a:2:{s:4:"text";s:7:"eclipse";s:5:"value";s:7:"eclipse";}i:5;a:2:{s:4:"text";s:7:"elegant";s:5:"value";s:7:"elegant";}i:6;a:2:{s:4:"text";s:11:"erlang-dark";s:5:"value";s:11:"erlang-dark";}i:7;a:2:{s:4:"text";s:11:"lesser-dark";s:5:"value";s:11:"lesser-dark";}i:8;a:2:{s:4:"text";s:7:"monokai";s:5:"value";s:7:"monokai";}i:9;a:2:{s:4:"text";s:4:"neat";s:5:"value";s:4:"near";}i:10;a:2:{s:4:"text";s:5:"night";s:5:"value";s:5:"night";}i:11;a:2:{s:4:"text";s:8:"rubyblue";s:5:"value";s:8:"rubyblue";}i:12;a:2:{s:4:"text";s:11:"vibrant-ink";s:5:"value";s:11:"vibrant-ink";}i:13;a:2:{s:4:"text";s:7:"xq-dark";s:5:"value";s:7:"xq-dark";}}s:5:"value";s:7:"default";s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:10:"indentUnit";a:7:{s:4:"name";s:10:"indentUnit";s:4:"desc";s:23:"prop_cm.indentUnit_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:2;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:11:"smartIndent";a:7:{s:4:"name";s:11:"smartIndent";s:4:"desc";s:24:"prop_cm.smartIndent_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:7:"tabSize";a:7:{s:4:"name";s:7:"tabSize";s:4:"desc";s:20:"prop_cm.tabSize_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:4;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:14:"indentWithTabs";a:7:{s:4:"name";s:14:"indentWithTabs";s:4:"desc";s:27:"prop_cm.indentWithTabs_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:13:"electricChars";a:7:{s:4:"name";s:13:"electricChars";s:4:"desc";s:26:"prop_cm.electricChars_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:19:"autoClearEmptyLines";a:7:{s:4:"name";s:19:"autoClearEmptyLines";s:4:"desc";s:32:"prop_cm.autoClearEmptyLines_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:12:"lineWrapping";a:7:{s:4:"name";s:12:"lineWrapping";s:4:"desc";s:25:"prop_cm.lineWrapping_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:11:"lineNumbers";a:7:{s:4:"name";s:11:"lineNumbers";s:4:"desc";s:24:"prop_cm.lineNumbers_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:15:"firstLineNumber";a:7:{s:4:"name";s:15:"firstLineNumber";s:4:"desc";s:28:"prop_cm.firstLineNumber_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:13:"highlightLine";a:7:{s:4:"name";s:13:"highlightLine";s:4:"desc";s:26:"prop_cm.highlightLine_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:13:"matchBrackets";a:7:{s:4:"name";s:13:"matchBrackets";s:4:"desc";s:26:"prop_cm.matchBrackets_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:14:"showSearchForm";a:7:{s:4:"name";s:14:"showSearchForm";s:4:"desc";s:27:"prop_cm.showSearchForm_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:9:"undoDepth";a:7:{s:4:"name";s:9:"undoDepth";s:4:"desc";s:22:"prop_cm.undoDepth_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:40;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[2]=>
array(15) {
["id"]=>
string(1) "2"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(7) "TinyMCE"
["description"]=>
string(43) "TinyMCE 4.3.3-pl plugin for MODx Revolution"
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(3026) "/**
* TinyMCE RichText Editor Plugin
*
* Events: OnRichTextEditorInit, OnRichTextEditorRegister,
* OnBeforeManagerPageInit, OnRichTextBrowserInit
*
* @author Jeff Whitfield
* @author Shaun McCormick
*
* @var modX $modx
* @var array $scriptProperties
*
* @package tinymce
* @subpackage build
*/
if ($modx->event->name == 'OnRichTextEditorRegister') {
$modx->event->output('TinyMCE');
return;
}
require_once $modx->getOption('tiny.core_path',null,$modx->getOption('core_path').'components/tinymce/').'tinymce.class.php';
$tiny = new TinyMCE($modx,$scriptProperties);
$useEditor = $tiny->context->getOption('use_editor',false);
$whichEditor = $tiny->context->getOption('which_editor','');
/* Handle event */
switch ($modx->event->name) {
case 'OnRichTextEditorInit':
if ($useEditor && $whichEditor == 'TinyMCE') {
unset($scriptProperties['chunk']);
if (isset($forfrontend) || $modx->context->get('key') != 'mgr') {
$def = $tiny->context->getOption('cultureKey',$tiny->context->getOption('manager_language','en'));
$tiny->properties['language'] = $modx->getOption('fe_editor_lang',array(),$def);
$tiny->properties['frontend'] = true;
unset($def);
}
/* commenting these out as it causes problems with richtext tvs */
//if (isset($scriptProperties['resource']) && !$resource->get('richtext')) return;
//if (!isset($scriptProperties['resource']) && !$modx->getOption('richtext_default',null,false)) return;
$tiny->setProperties($scriptProperties);
$html = $tiny->initialize();
$modx->event->output($html);
unset($html);
}
break;
case 'OnRichTextBrowserInit':
if ($useEditor && $whichEditor == 'TinyMCE') {
$inRevo20 = (boolean)version_compare($modx->version['full_version'],'2.1.0-rc1','<');
$modx->getVersionData();
$source = $tiny->context->getOption('default_media_source',null,1);
$modx->controller->addHtml('');
$modx->controller->addJavascript($tiny->config['assetsUrl'].'jscripts/tiny_mce/tiny_mce_popup.js');
if (file_exists($tiny->config['assetsPath'].'jscripts/tiny_mce/langs/'.$tiny->properties['language'].'.js')) {
$modx->controller->addJavascript($tiny->config['assetsUrl'].'jscripts/tiny_mce/langs/'.$tiny->properties['language'].'.js');
} else {
$modx->controller->addJavascript($tiny->config['assetsUrl'].'jscripts/tiny_mce/langs/en.js');
}
$modx->controller->addJavascript($tiny->config['assetsUrl'].'tiny.browser.js');
$modx->event->output('Tiny.browserCallback');
}
return '';
break;
default: break;
}
return;"
["locked"]=>
string(1) "0"
["properties"]=>
string(17556) "a:39:{s:22:"accessibility_warnings";a:7:{s:4:"name";s:22:"accessibility_warnings";s:4:"desc";s:315:"If this option is set to true some accessibility warnings will be presented to the user if they miss specifying that information. This option is set to true by default, since we should all try to make this world a better place for disabled people. But if you are annoyed with the warnings, set this option to false.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:23:"apply_source_formatting";a:7:{s:4:"name";s:23:"apply_source_formatting";s:4:"desc";s:229:"This option enables you to tell TinyMCE to apply some source formatting to the output HTML code. With source formatting, the output HTML code is indented and formatted. Without source formatting, the output HTML is more compact. ";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:15:"button_tile_map";a:7:{s:4:"name";s:15:"button_tile_map";s:4:"desc";s:338:"If this option is set to true TinyMCE will use tiled images instead of individual images for most of the editor controls. This produces faster loading time since only one GIF image needs to be loaded instead of a GIF for each individual button. This option is set to false by default since it doesn't work with some DOCTYPE declarations. ";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:7:"cleanup";a:7:{s:4:"name";s:7:"cleanup";s:4:"desc";s:331:"This option enables or disables the built-in clean up functionality. TinyMCE is equipped with powerful clean up functionality that enables you to specify what elements and attributes are allowed and how HTML contents should be generated. This option is set to true by default, but if you want to disable it you may set it to false.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:18:"cleanup_on_startup";a:7:{s:4:"name";s:18:"cleanup_on_startup";s:4:"desc";s:135:"If you set this option to true, TinyMCE will perform a HTML cleanup call when the editor loads. This option is set to false by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:22:"convert_fonts_to_spans";a:7:{s:4:"name";s:22:"convert_fonts_to_spans";s:4:"desc";s:348:"If you set this option to true, TinyMCE will convert all font elements to span elements and generate span elements instead of font elements. This option should be used in order to get more W3C compatible code, since font elements are deprecated. How sizes get converted can be controlled by the font_size_classes and font_size_style_values options.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:23:"convert_newlines_to_brs";a:7:{s:4:"name";s:23:"convert_newlines_to_brs";s:4:"desc";s:128:"If you set this option to true, newline characters codes get converted into br elements. This option is set to false by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"convert_urls";a:7:{s:4:"name";s:12:"convert_urls";s:4:"desc";s:495:"This option enables you to control whether TinyMCE is to be clever and restore URLs to their original values. URLs are automatically converted (messed up) by default because the built-in browser logic works this way. There is no way to get the real URL unless you store it away. If you set this option to false it will try to keep these URLs intact. This option is set to true by default, which means URLs will be forced to be either absolute or relative depending on the state of relative_urls.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:11:"dialog_type";a:7:{s:4:"name";s:11:"dialog_type";s:4:"desc";s:246:"This option enables you to specify how dialogs/popups should be opened. Possible values are "window" and "modal", where the window option opens a normal window and the dialog option opens a modal dialog. This option is set to "window" by default.";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{i:0;s:6:"window";s:4:"text";s:6:"Window";}i:1;a:2:{i:0;s:5:"modal";s:4:"text";s:5:"Modal";}}s:5:"value";s:6:"window";s:7:"lexicon";N;s:4:"area";s:0:"";}s:14:"directionality";a:7:{s:4:"name";s:14:"directionality";s:4:"desc";s:261:"This option specifies the default writing direction. Some languages (Like Hebrew, Arabic, Urdu...) write from right to left instead of left to right. The default value of this option is "ltr" but if you want to use from right to left mode specify "rtl" instead.";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:3:"ltr";s:4:"text";s:13:"Left to Right";}i:1;a:2:{s:5:"value";s:3:"rtl";s:4:"text";s:13:"Right to Left";}}s:5:"value";s:3:"ltr";s:7:"lexicon";N;s:4:"area";s:0:"";}s:14:"element_format";a:7:{s:4:"name";s:14:"element_format";s:4:"desc";s:210:"This option enables control if elements should be in html or xhtml mode. xhtml is the default state for this option. This means that for example <br /> will be <br> if you set this option to "html".";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:5:"xhtml";s:4:"text";s:5:"XHTML";}i:1;a:2:{s:5:"value";s:4:"html";s:4:"text";s:4:"HTML";}}s:5:"value";s:5:"xhtml";s:7:"lexicon";N;s:4:"area";s:0:"";}s:15:"entity_encoding";a:7:{s:4:"name";s:15:"entity_encoding";s:4:"desc";s:70:"This option controls how entities/characters get processed by TinyMCE.";s:4:"type";s:4:"list";s:7:"options";a:4:{i:0;a:2:{s:5:"value";s:0:"";s:4:"text";s:4:"None";}i:1;a:2:{s:5:"value";s:5:"named";s:4:"text";s:5:"Named";}i:2;a:2:{s:5:"value";s:7:"numeric";s:4:"text";s:7:"Numeric";}i:3;a:2:{s:5:"value";s:3:"raw";s:4:"text";s:3:"Raw";}}s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:16:"force_p_newlines";a:7:{s:4:"name";s:16:"force_p_newlines";s:4:"desc";s:147:"This option enables you to disable/enable the creation of paragraphs on return/enter in Mozilla/Firefox. The default value of this option is true. ";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:22:"force_hex_style_colors";a:7:{s:4:"name";s:22:"force_hex_style_colors";s:4:"desc";s:277:"This option enables you to control TinyMCE to force the color format to use hexadecimal instead of rgb strings. It converts for example "color: rgb(255, 255, 0)" to "#FFFF00". This option is set to true by default since otherwice MSIE and Firefox would differ in this behavior.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:6:"height";a:7:{s:4:"name";s:6:"height";s:4:"desc";s:38:"Sets the height of the TinyMCE editor.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:5:"400px";s:7:"lexicon";N;s:4:"area";s:0:"";}s:11:"indentation";a:7:{s:4:"name";s:11:"indentation";s:4:"desc";s:139:"This option allows specification of the indentation level for indent/outdent buttons in the UI. This defaults to 30px but can be any value.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:4:"30px";s:7:"lexicon";N;s:4:"area";s:0:"";}s:16:"invalid_elements";a:7:{s:4:"name";s:16:"invalid_elements";s:4:"desc";s:163:"This option should contain a comma separated list of element names to exclude from the content. Elements in this list will removed when TinyMCE executes a cleanup.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:6:"nowrap";a:7:{s:4:"name";s:6:"nowrap";s:4:"desc";s:212:"This nowrap option enables you to control how whitespace is to be wordwrapped within the editor. This option is set to false by default, but if you enable it by setting it to true editor contents will never wrap.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:15:"object_resizing";a:7:{s:4:"name";s:15:"object_resizing";s:4:"desc";s:148:"This option gives you the ability to turn on/off the inline resizing controls of tables and images in Firefox/Mozilla. These are enabled by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"path_options";a:7:{s:4:"name";s:12:"path_options";s:4:"desc";s:119:"Sets a group of options. Note: This will override the relative_urls, document_base_url and remove_script_host settings.";s:4:"type";s:9:"textfield";s:7:"options";a:3:{i:0;a:2:{s:5:"value";s:11:"docrelative";s:4:"text";s:17:"Document Relative";}i:1;a:2:{s:5:"value";s:12:"rootrelative";s:4:"text";s:13:"Root Relative";}i:2;a:2:{s:5:"value";s:11:"fullpathurl";s:4:"text";s:13:"Full Path URL";}}s:5:"value";s:11:"docrelative";s:7:"lexicon";N;s:4:"area";s:0:"";}s:28:"plugin_insertdate_dateFormat";a:7:{s:4:"name";s:28:"plugin_insertdate_dateFormat";s:4:"desc";s:53:"Formatting of dates when using the InsertDate plugin.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:8:"%Y-%m-%d";s:7:"lexicon";N;s:4:"area";s:0:"";}s:28:"plugin_insertdate_timeFormat";a:7:{s:4:"name";s:28:"plugin_insertdate_timeFormat";s:4:"desc";s:53:"Formatting of times when using the InsertDate plugin.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:8:"%H:%M:%S";s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"preformatted";a:7:{s:4:"name";s:12:"preformatted";s:4:"desc";s:231:"If you enable this feature, whitespace such as tabs and spaces will be preserved. Much like the behavior of a <pre> element. This can be handy when integrating TinyMCE with webmail clients. This option is disabled by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:13:"relative_urls";a:7:{s:4:"name";s:13:"relative_urls";s:4:"desc";s:231:"If this option is set to true, all URLs returned from the file manager will be relative from the specified document_base_url. If it is set to false all URLs will be converted to absolute URLs. This option is set to true by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:17:"remove_linebreaks";a:7:{s:4:"name";s:17:"remove_linebreaks";s:4:"desc";s:531:"This option controls whether line break characters should be removed from output HTML. This option is enabled by default because there are differences between browser implementations regarding what to do with white space in the DOM. Gecko and Safari place white space in text nodes in the DOM. IE and Opera remove them from the DOM and therefore the line breaks will automatically be removed in those. This option will normalize this behavior when enabled (true) and all browsers will have a white-space-stripped DOM serialization.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:18:"remove_script_host";a:7:{s:4:"name";s:18:"remove_script_host";s:4:"desc";s:221:"If this option is enabled the protocol and host part of the URLs returned from the file manager will be removed. This option is only used if the relative_urls option is set to false. This option is set to true by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:20:"remove_trailing_nbsp";a:7:{s:4:"name";s:20:"remove_trailing_nbsp";s:4:"desc";s:392:"This option enables you to specify that TinyMCE should remove any traling characters in block elements if you start to write inside them. Paragraphs are default padded with a and if you write text into such paragraphs the space will remain. Setting this option to true will remove the space. This option is set to false by default since the cursor jumps a bit in Gecko browsers.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:4:"skin";a:7:{s:4:"name";s:4:"skin";s:4:"desc";s:330:"This option enables you to specify what skin you want to use with your theme. A skin is basically a CSS file that gets loaded from the skins directory inside the theme. The advanced theme that TinyMCE comes with has two skins, these are called "default" and "o2k7". We added another skin named "cirkuit" that is chosen by default.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:7:"cirkuit";s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"skin_variant";a:7:{s:4:"name";s:12:"skin_variant";s:4:"desc";s:403:"This option enables you to specify a variant for the skin, for example "silver" or "black". "default" skin does not offer any variant, whereas "o2k7" default offers "silver" or "black" variants to the default one. For the "cirkuit" skin there's one variant named "silver". When creating a skin, additional variants may also be created, by adding ui_[variant_name].css files alongside the default ui.css.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:20:"table_inline_editing";a:7:{s:4:"name";s:20:"table_inline_editing";s:4:"desc";s:231:"This option gives you the ability to turn on/off the inline table editing controls in Firefox/Mozilla. According to the TinyMCE documentation, these controls are somewhat buggy and not redesignable, so they are disabled by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:22:"theme_advanced_disable";a:7:{s:4:"name";s:22:"theme_advanced_disable";s:4:"desc";s:111:"This option should contain a comma separated list of controls to disable from any toolbar row/panel in TinyMCE.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:19:"theme_advanced_path";a:7:{s:4:"name";s:19:"theme_advanced_path";s:4:"desc";s:331:"This option gives you the ability to enable/disable the element path. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom". This option is set to "true" by default. Setting this option to "false" will effectively hide the path tool, though it still takes up room in the Status Bar.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:32:"theme_advanced_resize_horizontal";a:7:{s:4:"name";s:32:"theme_advanced_resize_horizontal";s:4:"desc";s:319:"This option gives you the ability to enable/disable the horizontal resizing. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom" and when the theme_advanced_resizing is set to true. This option is set to true by default, allowing both resizing horizontal and vertical.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:23:"theme_advanced_resizing";a:7:{s:4:"name";s:23:"theme_advanced_resizing";s:4:"desc";s:216:"This option gives you the ability to enable/disable the resizing button. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom". This option is set to false by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:33:"theme_advanced_statusbar_location";a:7:{s:4:"name";s:33:"theme_advanced_statusbar_location";s:4:"desc";s:257:"This option enables you to specify where the element statusbar with the path and resize tool should be located. This option can be set to "top" or "bottom". The default value is set to "top". This option can only be used when the theme is set to "advanced".";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:3:"top";s:4:"text";s:3:"Top";}i:1;a:2:{s:5:"value";s:6:"bottom";s:4:"text";s:6:"Bottom";}}s:5:"value";s:6:"bottom";s:7:"lexicon";N;s:4:"area";s:0:"";}s:28:"theme_advanced_toolbar_align";a:7:{s:4:"name";s:28:"theme_advanced_toolbar_align";s:4:"desc";s:187:"This option enables you to specify the alignment of the toolbar, this value can be "left", "right" or "center" (the default). This option can only be used when theme is set to "advanced".";s:4:"type";s:9:"textfield";s:7:"options";a:3:{i:0;a:2:{s:5:"value";s:6:"center";s:4:"text";s:6:"Center";}i:1;a:2:{s:5:"value";s:4:"left";s:4:"text";s:4:"Left";}i:2;a:2:{s:5:"value";s:5:"right";s:4:"text";s:5:"Right";}}s:5:"value";s:4:"left";s:7:"lexicon";N;s:4:"area";s:0:"";}s:31:"theme_advanced_toolbar_location";a:7:{s:4:"name";s:31:"theme_advanced_toolbar_location";s:4:"desc";s:191:"
This option enables you to specify where the toolbar should be located. This option can be set to "top" or "bottom" (the defualt). This option can only be used when theme is set to advanced.";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:3:"top";s:4:"text";s:3:"Top";}i:1;a:2:{s:5:"value";s:6:"bottom";s:4:"text";s:6:"Bottom";}}s:5:"value";s:3:"top";s:7:"lexicon";N;s:4:"area";s:0:"";}s:5:"width";a:7:{s:4:"name";s:5:"width";s:4:"desc";s:32:"The width of the TinyMCE editor.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:3:"95%";s:7:"lexicon";N;s:4:"area";s:0:"";}s:33:"template_selected_content_classes";a:7:{s:4:"name";s:33:"template_selected_content_classes";s:4:"desc";s:234:"Specify a list of CSS class names for the template plugin. They must be separated by spaces. Any template element with one of the specified CSS classes will have its content replaced by the selected editor content when first inserted.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[13]=>
array(15) {
["id"]=>
string(2) "13"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(22) "phpThumbOfCacheManager"
["description"]=>
string(52) "Handles cache cleaning when clearing the Site Cache."
["editor_type"]=>
string(1) "0"
["category"]=>
string(2) "26"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(1263) "/*
* Handles cache cleanup
* pThumb
* Copyright 2013 Jason Grant
*
* Please see the GitHub page for documentation or to report bugs:
* https://github.com/oo12/phpThumbOf
*
* pThumb is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* pThumb is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* phpThumbOf; if not, write to the Free Software Foundation, Inc., 59 Temple
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
if ($modx->event->name === 'OnSiteRefresh') {
if (!$modx->loadClass('pThumbCacheCleaner', MODX_CORE_PATH . 'components/phpthumbof/model/', true, true)) {
$modx->log(modX::LOG_LEVEL_ERROR, '[pThumb] Could not load pThumbCacheCleaner class.');
return;
}
static $pt_settings = array();
$pThumb = new pThumbCacheCleaner($modx, $pt_settings, array(), true);
$pThumb->cleanCache();
}"
["locked"]=>
string(1) "0"
["properties"]=>
NULL
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[4]=>
array(15) {
["id"]=>
string(1) "4"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(15) "ContextSwitcher"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(12846) "if ($modx->context->key == 'mgr') {
return;
}
//$contextKeys = array(
// 'at-de', 'at-en', 'be-de', 'be-en', 'be-fr', 'be-nl', 'bg-bg', 'bg-en', 'ch-de',
// 'ch-en', 'ch-fr', 'ch-it', 'cz-cs', 'cz-en', 'de-de', 'de-en', 'dk-da', 'dk-en',
// 'ee-en', 'es-en', 'es-es', 'fi-en', 'fr-en', 'fr-fr', 'gb-en', 'gr-el', 'gr-en',
// 'hr-en', 'hr-hr', 'hu-en', 'hu-hu', 'ie-en', 'it-en', 'it-it', 'lt-en', 'lt-lt',
// 'lv-en', 'nl-en', 'nl-nl', 'no-en', 'no-no', 'pl-en', 'pl-pl', 'pt-en', 'pt-pt',
// 'ro-en', 'ro-ro', 'rs-en', 'rs-sr', 'ru-en', 'ru-ru', 'se-en', 'se-sv', 'sk-en',
// 'sk-sk', 'sl-en', 'sl-sl', 'tr-en', 'tr-tr', 'ua-en', 'ua-uk', 'fi-fi'
//);
//
//if ($_SERVER['SERVER_NAME'] == 'resinex-dev.etn.cz') {
// $uriParts = explode('/', ltrim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'));
// $contextKey = array_shift($uriParts);
// if (in_array($contextKey, $contextKeys)) {
// $modx->switchContext($contextKey);
// $_REQUEST['q'] = implode('/', $uriParts);
// $uriParts = array_filter($uriParts);
// if (empty($uriParts)) {
// $modx->sendForward($modx->getOption('site_start'));
// }
// } else {
// $modx->switchContext('web');
// }
//} else {
//
//}
//return;
$httpHost = $modx->getOption('http_host');
if (substr($httpHost, 0, 4) == 'www.') {
$httpHost = mb_substr($httpHost, 4);
}
if (!empty($_GET['langCode'])) {
$httpHost .= '/' . rtrim($_GET['langCode'], '/');
}
$langCodes = array('en', 'at', 'ee', 'fi', 'bg', 'cz', 'de', 'es', 'fr', 'gb', 'gr', 'hr', 'hu', 'ie', 'lt', 'lv', 'nl', 'pl', 'ru', 'ro', 'rs', 'sl', 'tr', 'it', 'pt', 'se', 'sk', 'ua');
$uriParts = explode('/', ltrim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'));
$firstPart = array_shift($uriParts);
if (in_array($firstPart, $langCodes)) {
$langCode = $firstPart;
$httpHost .= '/' . $langCode;
$_REQUEST['q'] = implode('/', $uriParts);
} else {
$langCode = '';
}
switch ($httpHost) {
case 'resinex.co.uk:80':
case 'resinex.co.uk':
case 'gb.resinex.resinex-php-dev-1.mit.etn.cz':
$modx->switchContext('gb-en');
break;
// .ie
case 'resinex.ie:80':
case 'resinex.ie':
case 'ie.resinex.resinex-php-dev-1.mit.etn.cz':
// $modx->switchContext('gb-en');
$modx->switchContext('ie-en');
break;
// .at
case 'resinex.at:80':
case 'at.resinex.resinex-php-dev-1.mit.etn.cz':
case 'at.resinex-php-1.mit.etn.cz':
case 'resinex.at':
$modx->switchContext('at-de');
break;
case 'resinex.at:80/en':
case 'at.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.at/en':
$modx->switchContext('at-en');
break;
// .ee
case 'resinex.ee:80':
case 'ee.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ee':
$modx->switchContext('ee-en');
break;
// .be
case 'resinex.be:80':
case 'resinex.be':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz':
$modx->switchContext('be-nl');
break;
case 'resinex.be/fr:80':
case 'resinex.be/fr':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz/fr':
$modx->switchContext('be-fr');
break;
case 'resinex.be/de:80':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz/de':
case 'resinex.be/de':
$modx->switchContext('be-de');
break;
case 'resinex.be/en:80':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.be/en':
$modx->switchContext('be-en');
break;
// .ch
case 'resinex.ch:80':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ch':
$modx->switchContext('ch-de');
break;
case 'resinex.ch/fr:80':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz/fr':
case 'resinex.ch/fr':
$modx->switchContext('ch-fr');
break;
case 'resinex.ch/it:80':
case 'resinex.ch/it':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz/it':
$modx->switchContext('ch-it');
break;
case 'resinex.ch/en:80':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.ch/en':
$modx->switchContext('ch-en');
break;
// .es
case 'resinex.es:80':
case 'es.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.es':
$modx->switchContext('es-es');
break;
case 'resinex.es:80/en':
case 'es.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.es/en':
$modx->switchContext('es-en');
break;
// .si
case 'resinex.si:80':
case 'si.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.si':
$modx->switchContext('sl-sl');
break;
case 'resinex.si:80/en':
case 'si.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.si/en':
$modx->switchContext('sl-en');
break;
// .sk
case 'resinex.sk:80':
case 'sk.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.sk':
$modx->switchContext('sk-sk');
break;
case 'resinex.sk:80/en':
case 'sk.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.sk/en':
$modx->switchContext('sk-en');
break;
// .ru
case 'resinex.ru:80':
case 'ru.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ru':
$modx->switchContext('ru-ru');
break;
case 'ru.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.ru:80/en':
case 'resinex.ru/en':
$modx->switchContext('ru-en');
break;
// .ro
case 'resinex.ro:80':
case 'ro.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ro':
$modx->switchContext('ro-ro');
break;
case 'resinex.ro:80/en':
case 'ro.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.ro/en':
$modx->switchContext('ro-en');
break;
// .pt
case 'resinex.pt:80':
case 'pt.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.pt':
$modx->switchContext('pt-pt');
break;
case 'pt.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.pt:80/en':
case 'resinex.pt/en':
$modx->switchContext('pt-en');
break;
// .pl
case 'resinex.pl:80':
case 'pl.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.pl':
$modx->switchContext('pl-pl');
break;
case 'resinex.pl:80/en':
case 'pl.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.pl/en':
$modx->switchContext('pl-en');
break;
// .lt
case 'resinex.lt:80':
case 'lt.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.lt':
$modx->switchContext('lt-lt');
break;
case 'resinex.lt:80/en':
case 'lt.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.lt/en':
$modx->switchContext('lt-en');
break;
// .lv
case 'resinex.lv:80':
case 'lv.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.lv':
$modx->switchContext('lv-en');
break;
// .it
case 'resinex.it:80':
case 'it.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.it':
$modx->switchContext('it-it');
break;
case 'it.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.it:80/en':
case 'resinex.it/en':
$modx->switchContext('it-en');
break;
// .hu
case 'resinex.hu:80':
case 'hu.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.hu':
$modx->switchContext('hu-hu');
break;
case 'resinex.hu:80/en':
case 'hu.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.hu/en':
$modx->switchContext('hu-en');
break;
// .gr
case 'resinex.gr:80':
case 'gr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.gr':
$modx->switchContext('gr-el');
break;
case 'gr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.gr:80/en':
case 'resinex.gr/en':
$modx->switchContext('gr-en');
break;
// .de
case 'resinex.de:80':
case 'de.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.de':
$modx->switchContext('de-de');
break;
case 'resinex.de:80/en':
case 'resinex.de/en':
case 'de.resinex.resinex-php-dev-1.mit.etn.cz/en':
$modx->switchContext('de-en');
break;
// .dk
case 'resinex.dk:80':
case 'dk.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.dk':
$modx->switchContext('dk-da');
break;
case 'resinex.dk:80/en':
case 'dk.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.dk/en':
$modx->switchContext('dk-en');
break;
// .no
case 'resinex.no:80':
case 'no.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.no':
$modx->switchContext('no-no');
break;
case 'no.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.no:80/en':
case 'resinex.no/en':
$modx->switchContext('no-en');
break;
// .fi
case 'resinex.fi:80':
case 'fi.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.fi':
$modx->switchContext('fi-fi');
break;
case 'resinex.fi:80/en':
case 'resinex.fi/en':
case 'fi.resinex.resinex-php-dev-1.mit.etn.cz/en':
$modx->switchContext('fi-en');
break;
// .fr
case 'resinex.fr:80':
case 'fr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.fr':
$modx->switchContext('fr-fr');
break;
case 'fr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.fr:80/en':
case 'resinex.fr/en':
$modx->switchContext('fr-en');
break;
// .hr
case 'resinex.hr:80':
case 'hr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.hr':
$modx->switchContext('hr-hr');
break;
case 'resinex.hr:80/en':
case 'hr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.hr/en':
$modx->switchContext('hr-en');
break;
// .bg
case 'resinex.bg:80':
case 'bg.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.bg':
$modx->switchContext('bg-bg');
break;
case 'bg.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.bg:80/en':
case 'resinex.bg/en':
$modx->switchContext('bg-en');
break;
// .se
case 'resinex.se:80':
case 'se.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.se':
$modx->switchContext('se-sv');
break;
case 'se.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.se:80/en':
case 'resinex.se/en':
$modx->switchContext('se-en');
break;
// .com.tr
case 'resinex.com.tr:80':
case 'tr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.com.tr':
$modx->switchContext('tr-tr');
break;
case 'tr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.com.tr:80/en':
case 'resinex.com.tr/en':
$modx->switchContext('tr-en');
break;
// .nl
case 'resinex.nl:80':
case 'nl.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.nl':
$modx->switchContext('nl-nl');
break;
case 'nl.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.nl:80/en':
case 'resinex.nl/en':
$modx->switchContext('nl-en');
break;
// .ua
case 'resinex.com.ua:80':
case 'ua.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.com.ua':
$modx->switchContext('ua-uk');
break;
case 'resinex.com.ua:80/en':
case 'ua.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.com.ua/en':
$modx->switchContext('ua-en');
break;
// .cz
case 'resinex.cz:80':
case 'resinex.cz':
case 'cz.resinex.resinex-php-dev-1.mit.etn.cz':
case 'cz.resinex-php-1.mit.etn.cz':
$modx->switchContext('cz-cs');
break;
case 'resinex.cz:80/en':
case 'resinex.cz/en':
case 'cz.resinex.resinex-php-dev-1.mit.etn.cz/en':
$modx->switchContext('cz-en');
break;
// .rs
case 'resinex.rs:80':
case 'rs.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.rs':
$modx->switchContext('rs-sr');
break;
case 'rs.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.rs:80/en':
case 'resinex.rs/en':
$modx->switchContext('rs-en');
break;
default:
//$modx->switchContext('web');
$modx->sendForward(1);
//$modx->switchContext('cz-cs');
//var_dump($modx->getOption('site_start'));
// $modx->sendForward($modx->getOption('site_start'));
break;
}
if (isset($_GET['langCode'])) {
unset($_GET['langCode']);
}
if ($langCode && !array_filter($uriParts)) {
$modx->sendForward($modx->getOption('site_start'));
}"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(28) "plugins/context-switcher.php"
}
[22]=>
array(15) {
["id"]=>
string(2) "22"
["source"]=>
string(1) "1"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(15) "controlErrorLog"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(2) "20"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(2596) "switch ($modx->event->name) {
case 'OnManagerPageBeforeRender':
if ($modx->hasPermission('error_log_view')) {
$modx->controller->addLexiconTopic('controlerrorlog:default');
$modx->controller->addCss($modx->getOption('assets_url').'components/controlerrorlog/css/mgr/main.css');
$modx->controller->addJavascript($modx->getOption('assets_url').'components/controlerrorlog/js/mgr/cel.default.js');
$response = $modx->runProcessor('mgr/errorlog/get', array('includeContent'=>false), array('processors_path' => $modx->getOption('core_path') . 'components/controlerrorlog/processors/'));
$resObj = $response->getObject();
$_html = "";
$modx->controller->addHtml($_html);
}
break;
case 'OnHandleRequest':
$email = $modx->getOption('controlerrorlog.admin_email');
if ($modx->context->get('key') == 'mgr' || empty($email) || !$modx->getOption('controlerrorlog.control_frontend')) return;
$f = $modx->getOption(xPDO::OPT_CACHE_PATH) . 'logs/error.log';
if (file_exists($f)) {
$casheHash = $modx->cacheManager->get('error_log');
$hash = md5_file($f);
if (filesize($f) > 0 && !empty($casheHash) && $casheHash != $hash) {
$modx->lexicon->load('controlerrorlog:default');
/** @var modPHPMailer $mail */
$mail = $modx->getService('mail', 'mail.modPHPMailer');
$mail->setHTML(true);
$mail->set(modMail::MAIL_SUBJECT, $modx->lexicon('error_log_email_subject'));
$mail->set(modMail::MAIL_BODY, $modx->lexicon('error_log_email_body', array('siteName' => $modx->config['site_name'])));
$mail->set(modMail::MAIL_SENDER, $modx->getOption('emailsender'));
$mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender'));
$mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));
$mail->address('to', $email);
$mail->address('reply-to', $modx->getOption('emailsender'));
if (!$mail->send()) {
print ('An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
}
$mail->reset();
}
if ($casheHash != $hash) {
$modx->cacheManager->set('error_log', $hash, 0);
}
}
break;
}"
["locked"]=>
string(1) "0"
["properties"]=>
NULL
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(75) "core/components/controlerrorlog/elements/plugins/plugin.controlerrorlog.php"
}
[5]=>
array(15) {
["id"]=>
string(1) "5"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(18) "ResourceDuplicator"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(6463) "// run only in manager
if ($modx->context->key != 'mgr') {
return;
}
$modx->getService('resinex', 'Resinex', MODX_CORE_PATH . 'components/resinex/');
$modx->getService('babel', 'Babel', MODX_CORE_PATH . 'components/babel/model/babel/');
$modx->regClientStartupScript($modx->resinex->config['jsUrl'] . 'functions.js');
switch ($modx->event->name) {
case 'OnDocFormRender':
if ($modx->event->params['mode'] == 'upd') {
if (!$resource = $modx->event->params['resource']) {
$modx->log(modX::LOG_LEVEL_ERROR, 'No resource provided for OnDocFormRender event in ResourceDuplicator plugin');
return;
}
if ($resource->get('context_key') == 'web') {
$modx->regClientStartupScript($modx->resinex->config['jsUrl'] . 'mgr/published.handler.js');
$linkedResources = $modx->babel->getLinkedResources($resource->get('id'));
$linkedResourceContextKeys = array_keys($linkedResources);
$checkboxes = '';
foreach ($modx->resinex->getCountryLanguageContextKeys() as $key => $value) {
$selected = in_array($key, $linkedResourceContextKeys) ? ' checked="checked"' : '';
$checkboxes .= '
';
$modx->event->output($fields);
}
}
break;
case 'OnDocFormSave':
if (!$resource = $modx->event->params['resource']) {
$modx->log(modX::LOG_LEVEL_ERROR, 'No resource provided for OnDocFormSave event in ResourceDuplicator plugin');
return;
}
// duplicate only published resources
if (!$resource->get('published')) {
return;
}
// no contexts selected
if (empty($_POST['resinex-duplicate-to'])) {
return;
}
// no options selected
if (empty($_POST['resinex-duplicate'])) {
return;
}
// build options
switch ($_POST['resinex-duplicate']) {
case 'update':
$options = array(
'updateOnly' => true,
'createSymlinks' => false,
'notify' => false
);
break;
case 'symlinks':
$options = array(
'updateOnly' => false,
'createSymlinks' => true,
'notify' => false
);
break;
case 'translate':
$options = array(
'updateOnly' => false,
'createSymlinks' => false,
'notify' => true
);
break;
default: // no action
return;
}
try {
$modx->resinex->duplicateResource($resource, $_POST['resinex-duplicate-to'], $options);
} catch (Exception $e) {
$modx->log(modX::LOG_LEVEL_ERROR, $e->getTraceAsString());
}
break;
}"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(31) "plugins/resource-duplicator.php"
}
[6]=>
array(15) {
["id"]=>
string(1) "6"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(14) "ServiceInvoker"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(216) "$modx->getService('resinex', 'Resinex', MODX_CORE_PATH . 'components/resinex/');
$modx->resinex->initialize($modx->context->key);
$modx->getService('babel', 'Babel', MODX_CORE_PATH . 'components/babel/model/babel/');"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(27) "plugins/service-invoker.php"
}
[7]=>
array(15) {
["id"]=>
string(1) "7"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(5) "Babel"
["description"]=>
string(46) "Links and synchronizes multilingual resources."
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(10837) "/**
* Babel
*
* Copyright 2010 by Jakob Class
*
* This file is part of Babel.
*
* Babel is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option) any later
* version.
*
* Babel is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* Babel; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307 USA
*
* @package babel
*/
/**
* Babel Plugin to link and synchronize multilingual resources
*
* Based on ideas of Sylvain Aerni
*
* Events:
* OnDocFormPrerender,OnDocFormSave,OnEmptyTrash,OnContextRemove,OnResourceDuplicate
*
* @author Jakob Class
*
* @package babel
*
*/
$babel = $modx->getService('babel','Babel',$modx->getOption('babel.core_path',null,$modx->getOption('core_path').'components/babel/').'model/babel/',$scriptProperties);
if (!($babel instanceof Babel)) return;
/* be sure babel TV is loaded */
if(!$babel->babelTv) return;
switch ($modx->event->name) {
case 'OnDocFormPrerender':
$output = '';
$errorMessage = '';
$resource =& $modx->event->params['resource'];
if(!$resource) {
/* a new resource is being to created
* -> skip rendering the babel box */
break;
}
$contextKeys = $babel->getGroupContextKeys($resource->get('context_key'));
$currentContextKey = $resource->get('context_key');
$linkedResources = $babel->getLinkedResources($resource->get('id'));
if(empty($linkedResources)) {
/* always be sure that the Babel TV is set */
$babel->initBabelTv($resource);
}
/* grab manager actions IDs */
$actions = $modx->request->getAllActionIDs();
if(isset($_POST['babel-context-key'])) {
/* one of the following babel actions has been performed: link, unlink or translate */
try {
$contextKey = $_POST['babel-context-key'];
/* check if context is valid */
$context = $modx->getObject('modContext', array('key' => $contextKey));
if(!$context) {
$errorParameter = array('context' => $contextKey);
throw new Exception('error.invalid_context_key');
}
/* manuallly add or change a translation link */
if(isset($_POST['babel-link'])) {
if($linkedResources[$contextKey] == $_POST['babel-link-target']) {
/* target resource is equal to current resource -> nothing to do */
throw new Exception();
}
$targetResource = $modx->getObject('modResource', intval($_POST['babel-link-target']));
if(!$targetResource) {
/* error: resource id is not valid */
$errorParameter = array('resource' => htmlentities($_POST['babel-link-target']));
throw new Exception('error.invalid_resource_id');
}
if($targetResource->get('context_key') != $contextKey) {
/* error: resource id of another context has been provided */
$errorParameter = array(
'resource' => $targetResource->get('id'),
'context' => $contextKey);
throw new Exception('error.resource_from_other_context');
}
$targetLinkedResources = $babel->getLinkedResources($targetResource->get('id'));
if(count($targetLinkedResources) > 1) {
/* error: target resource is already linked with other resources */
$errorParameter = array('resource' => $targetResource->get('id'));
throw new Exception('error.resource_already_linked');
}
/* add or change a translation link */
if(isset($linkedResources[$contextKey])) {
/* existing link has been changed:
* -> reset Babel TV of old resource */
$babel->initBabelTvById($linkedResources[$contextKey]);
}
$linkedResources[$contextKey] = $targetResource->get('id');
$babel->updateBabelTv($linkedResources, $linkedResources);
/* copy values of synchronized TVs to target resource */
if(isset($_POST['babel-link-copy-tvs']) && intval($_POST['babel-link-copy-tvs']) == 1) {
$babel->sychronizeTvs($resource->get('id'));
}
}
/* remove an existing translation link */
if(isset($_POST['babel-unlink'])) {
if(!isset($linkedResources[$contextKey])) {
/* error: there is no link for this context */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.no_link_to_context');
}
if($linkedResources[$contextKey] == $resource->get('id')) {
/* error: (current) resource can not be unlinked from it's translations */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.unlink_of_selflink_not_possible');
}
$unlinkedResource = $modx->getObject('modResource', intval($linkedResources[$contextKey]));
if(!$unlinkedResource) {
/* error: invalid resource id */
$errorParameter = array('resource' => htmlentities($linkedResources[$contextKey]));
throw new Exception('error.invalid_resource_id');
}
if($unlinkedResource->get('context_key') != $contextKey) {
/* error: resource is of a another context */
$errorParameter = array(
'resource' => $targetResource->get('id'),
'context' => $contextKey);
throw new Exception('error.resource_from_other_context');
}
/* unlink resource and reset its Babel TV */
$babel->initBabelTv($unlinkedResource);
unset($linkedResources[$contextKey]);
$babel->updateBabelTv($linkedResources, $linkedResources);
}
/* create an new resource an add a translation link */
if(isset($_POST['babel-translate'])) {
if($currentContextKey == $contextKey) {
/* error: translation should be created in the same context */
throw new Exception('error.translation_in_same_context');
}
if(isset($linkedResources[$contextKey])) {
/* error: there does already exist a translation */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.translation_already_exists');
}
$newResource = $babel->duplicateResource($resource, $contextKey);
if($newResource) {
$linkedResources[$contextKey] = $newResource->get('id');
$babel->updateBabelTv($linkedResources, $linkedResources);
} else {
/* error: translation could not be created */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.could_not_create_translation');
}
/* redirect to new resource */
$url = $modx->getOption('manager_url',null,MODX_MANAGER_URL).'?a='.$actions['resource/update'].'&id='.$newResource->get('id');
$modx->sendRedirect(rtrim($url,'/'),'','','full');
}
} catch (Exception $exception) {
$errorKey = $exception->getMessage();
if($errorKey) {
if(!is_array($errorParameter)) {
$errorParameter = array();
}
$errorMessage = '
'.$modx->lexicon($errorKey,$errorParameter).'
';
}
}
}
/* create babel-box with links to translations */
$linkedResources = $babel->getLinkedResources($resource->get('id'));
$outputLanguageItems = '';
foreach($contextKeys as $contextKey) {
/* for each (valid/existing) context of the context group a button will be displayed */
$context = $modx->getObject('modContext', array('key' => $contextKey));
if(!$context) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Could not load context: '.$contextKey);
continue;
}
$context->prepare();
$cultureKey = $context->getOption('cultureKey',$modx->getOption('cultureKey'));
/* url to which the form will post it's data */
$formUrl = '?a='.$actions['resource/update'].'&id='.$resource->get('id');
if(isset($linkedResources[$contextKey])) {
/* link to this context has been set */
if($linkedResources[$contextKey] == $resource->get('id')) {
/* don't show language layer for current resource */
$showLayer = '';
} else {
$showLayer = 'yes';
}
$showTranslateButton = '';
$showUnlinkButton = 'yes';
$showSecondRow = '';
$resourceId = $linkedResources[$contextKey];
$resourceUrl = '?a='.$actions['resource/update'].'&id='.$resourceId;
if($resourceId == $resource->get('id')) {
$className = 'selected';
} else {
$className = '';
}
} else {
/* link to this context has not been set yet:
* -> show button to create translation */
$showLayer = 'yes';
$showTranslateButton = 'yes';
$showUnlinkButton = '';
$showSecondRow = 'yes';
$resourceId = '';
$resourceUrl = '#';
$className = 'notset';
}
$placeholders = array(
'formUrl' => $formUrl,
'contextKey' => $contextKey,
'cultureKey' => $cultureKey,
'resourceId' => $resourceId,
'resourceUrl' => $resourceUrl,
'className' => $className,
'showLayer' => $showLayer,
'showTranslateButton' => $showTranslateButton,
'showUnlinkButton' => $showUnlinkButton,
'showSecondRow' => $showSecondRow,
);
$outputLanguageItems .= $babel->getChunk('mgr/babelBoxItem', $placeholders);
}
$output .= '
'.$errorMessage.$outputLanguageItems.'
';
$modx->event->output($output);
/* include CSS */
$modx->regClientCSS($babel->config['cssUrl'].'babel.css?v=6');
$modx->regClientStartupScript($babel->config['jsUrl'].'babel.js?v=3');
break;
case 'OnDocFormSave':
$resource =& $modx->event->params['resource'];
if(!$resource) {
$modx->log(modX::LOG_LEVEL_ERROR, 'No resource provided for OnDocFormSave event');
break;
}
if($modx->event->params['mode'] == modSystemEvent::MODE_NEW) {
/* no TV synchronization for new resources, just init Babel TV */
$babel->initBabelTv($resource);
break;
}
$babel->sychronizeTvs($resource->get('id'));
break;
case 'OnEmptyTrash':
/* remove translation links to non-existing resources */
$deletedResourceIds =& $modx->event->params['ids'];
if(is_array($deletedResourceIds)) {
foreach ($deletedResourceIds as $deletedResourceId) {
$babel->removeLanguageLinksToResource($deletedResourceId);
}
}
break;
case 'OnContextRemove':
/* remove translation links to non-existing contexts */
$context =& $modx->event->params['context'];
if($context) {
$babel->removeLanguageLinksToContext($context->get('key'));
}
break;
case 'OnResourceDuplicate':
/* init Babel TV of duplicated resources */
$resource =& $modx->event->params['newResource'];
$babel->initBabelTv($resource);
break;
}
return;"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[8]=>
array(15) {
["id"]=>
string(1) "8"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(15) "ContentRenderer"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(936) "switch ($modx->event->name) {
case 'OnDocFormSave':
if (!$resource = & $modx->event->params['resource']) {
$modx->log(modX::LOG_LEVEL_ERROR, 'No resource provided for OnDocFormSave event in ContentRenderer plugin');
return;
}
if ($resource->get('published') != 1) {
return;
}
$modx->loadClass('ContentRenderer', MODX_CORE_PATH . 'components/resinex/', true, true);
$renderer = new ContentRenderer($modx);
$renderer->setContextKey($resource->get('context_key'));
$decoded = $renderer->decodeTaggedContent($resource->get('content'));
if ($decoded) {
list($tags, $chunks) = $decoded;
$resource->set('pagetitle', $chunks[0]);
$resource->set('alias', $chunks[0]);
$resource->set('content', $renderer->toHtml2($decoded));
$resource->save();
}
break;
}"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(28) "plugins/content-renderer.php"
}
[11]=>
array(15) {
["id"]=>
string(2) "11"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(20) "FirstChildRedirector"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(223) "if ($modx->context->key == 'mgr') {
return;
}
if ($modx->resource->get('isfolder') && $modx->resource->get('template') == 4 && !strlen($modx->resource->get('content'))) {
$modx->resinex->sendFirstChildRedirect();
}"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(34) "plugins/first-child-redirector.php"
}
[14]=>
array(15) {
["id"]=>
string(2) "14"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(15) "EmailObfuscator"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(2070) "if (!function_exists('email_regex')) {
function email_regex()
{
/* Set up email regex that partially conforms to RFC2822
* (the ignored parts are indicated):
*
* addr-spec = local-part "@" domain
*
* local-part = dot-atom
* / quoted-string // Ignored
* / obs-local-part // Ignored
*
* domain = dot-atom
* / domain-literal // Ignored
* / obs-domain // Ignored
*
* dot-atom = [CFWS] dot-atom-text [CFWS] // Ignored CFWS
*
* dot-atom-text = 1*atext *("." 1*atext)
* atext = ALPHA / DIGIT / ; Any character except controls,
* "!" / "#" / ; SP, and specials.
* "$" / "%" / ; Used for atoms
* "&" / "'" /
* "*" / "+" /
* "-" / "/" /
* "=" / "?" /
* "^" / "_" /
* "`" / "{" /
* "|" / "}" /
* "~"
*/
$atom = "[-!#$%&'*+/=?^_`{|}~0-9A-Za-z]+";
$email_half = $atom . '(?:\\.' . $atom . ')*';
$email = $email_half . '@' . $email_half;
$email_regex = '<(' . $email . ')>';
return $email_regex;
}
}
if (!function_exists('replace_entities')) {
function replace_entities($matches)
{
$address = html_entity_decode($matches[1]);
$replaced = '';
for ($i = 0; $i < mb_strlen($address); $i++) {
$char = $address[$i];
$r = rand(0, 100);
if ($r > 90) {
$replaced .= $char;
} else if ($r < 45) {
$replaced .= '' . dechex(ord($char)) . ';';
} else {
$replaced .= '' . ord($char) . ';';
}
}
return $replaced;
}
}
$modx->resource->_output = preg_replace_callback(email_regex(), 'replace_entities', $modx->resource->_output);
$modx->resource->_output = preg_replace_callback('/(mailto:)/i', 'replace_entities', $modx->resource->_output);"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(28) "plugins/email-obfuscator.php"
}
[23]=>
array(15) {
["id"]=>
string(2) "23"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(14) "SuperBoxSelect"
["description"]=>
string(111) "SuperBoxSelect runtime hooks - registers custom TV input types and includes javascripts on document edit pages."
["editor_type"]=>
string(1) "0"
["category"]=>
string(2) "24"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(1664) "/**
* SuperBoxSelect Runtime Hooks
*
* Registers custom TV input types and includes javascripts on
* document edit pages so that the TV can be used from within other extras
* (i.e. MIGX, Collections)
*
* @package superboxselect
* @subpackage plugin
*
* @event OnManagerPageBeforeRender
* @event OnTVInputRenderList
* @event OnTVInputPropertiesList
* @event OnDocFormRender
*
* @var modX $modx
*/
$corePath = $modx->getOption('superboxselect.core_path', null, $modx->getOption('core_path') . 'components/superboxselect/');
/** @var SuperBoxSelect $superboxselect */
$superboxselect = $modx->getService('superboxselect', 'SuperBoxSelect', $corePath . 'model/superboxselect/', array(
'core_path' => $corePath
));
switch ($modx->event->name) {
case 'OnManagerPageBeforeRender':
$modx->controller->addLexiconTopic('superboxselect:default');
$tvId = isset($modx->controller->scriptProperties['id']) ? $modx->controller->scriptProperties['id'] : 0;
/** @var modTemplateVar $tv */
$tv = $modx->getObject('modTemplateVar', $tvId);
if ($tv) {
$tvProperties = $tv->get('input_properties');
$package = $tvProperties['selectPackage'];
} else {
$package = '';
}
$superboxselect->includeScriptAssets($package);
break;
case 'OnTVInputRenderList':
$modx->event->output($corePath . 'elements/tv/input/');
break;
case 'OnTVInputPropertiesList':
$modx->event->output($corePath . 'elements/tv/input/options/');
break;
case 'OnDocFormRender':
$superboxselect->includeScriptAssets();
break;
};"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[24]=>
array(15) {
["id"]=>
string(2) "24"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(11) "phpThumbsUp"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(2) "25"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(1667) "/**
* The main handler for phpthumbsup. Instantiates model and performs appropriate actions based on event.
*
* @package phpThumbsUp
* @author Darkstar Design (info@darkstardesign.com)
*/
// path to model
$default_path = $modx->getOption('core_path') . 'components/phpthumbsup/';
$path = $modx->getOption('phpthumbsup.core_path', NULL, $default_path) . 'model/phpthumbsup/';
$thumbsup = $modx->getService('thumbsup', 'PhpThumbsUp', $path, $scriptProperties);
$do_responsive_threshold = $modx->getOption('phpthumbsup.responsive');
// make sure model loaded, if not log error and return
if (!($thumbsup instanceof PhpThumbsUp)) {
$modx->log(modX::LOG_LEVEL_ERROR, '[phpThumbsUp] Could not load PhpThumbsUp class.');
return NULL;
}
// handle events
switch ($modx->event->name) {
// OnFileManagerUpload we want to auto create thumbs if specified in settings
case 'OnFileManagerUpload':
$thumbsup->process_upload($files, $directory);
break;
// OnPageNotFound and OnHandleRequest means we need to look for a thumb
case 'OnHandleRequest':
case 'OnPageNotFound':
$thumbsup->process_thumb();
break;
// OnSiteRefresh delete phpthumbsup cache
case 'OnSiteRefresh':
$thumbsup->clear_cache();
break;
// OnLoadWebDocument add javascript
case 'OnLoadWebDocument':
if ($do_responsive_threshold) {
$modx->regClientStartupScript(MODX_ASSETS_URL . 'components/phpthumbsup/js/responsive.js');
}
break;
// if we didn't match an event just return null
default:
return NULL;
}"
["locked"]=>
string(1) "0"
["properties"]=>
NULL
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[25]=>
array(15) {
["id"]=>
string(2) "25"
["source"]=>
string(1) "1"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(11) "logRotation"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(2) "28"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(970) "/** @var modX $modx */
switch ($modx->event->name) {
case 'OnHandleRequest':
$filepath = $modx->getOption('error_log_filepath', null, MODX_CORE_PATH . 'cache/logs/', true);
$filename = $modx->getOption('error_log_filename', null, 'error.log', true);
$max_size = $modx->getOption('logrotation_size', null, 102400, true);
$log_file = $filepath . $filename;
if (filesize($log_file) > $max_size) {
$offset = -1 * $max_size;
$read = fopen($log_file, 'r');
if ($read === false) return;
fseek($read, $offset, SEEK_END);
fgets($read);
$content = '';
while(!feof($read)) {
$content .= fgets($read);
}
fclose($read);
$write = fopen($log_file, 'w');
fwrite($write, $content);
fclose($write);
}
break;
}"
["locked"]=>
string(1) "0"
["properties"]=>
NULL
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(60) "core/components/logrotation/elements/plugins/logrotation.php"
}
}
["_cacheKey":protected]=>
string(11) "web/context"
["_policies":protected]=>
array(1) {
["modAccessContext"]=>
array(1) {
["web"]=>
array(2) {
[0]=>
array(3) {
["principal"]=>
int(0)
["authority"]=>
int(9999)
["policy"]=>
array(1) {
["load"]=>
bool(true)
}
}
[1]=>
array(3) {
["principal"]=>
int(1)
["authority"]=>
int(0)
["policy"]=>
array(181) {
["about"]=>
bool(true)
["access_permissions"]=>
bool(true)
["actions"]=>
bool(true)
["change_password"]=>
bool(true)
["change_profile"]=>
bool(true)
["charsets"]=>
bool(true)
["class_map"]=>
bool(true)
["components"]=>
bool(true)
["content_types"]=>
bool(true)
["countries"]=>
bool(true)
["create"]=>
bool(true)
["credits"]=>
bool(true)
["customize_forms"]=>
bool(true)
["dashboards"]=>
bool(true)
["database"]=>
bool(true)
["database_truncate"]=>
bool(true)
["delete_category"]=>
bool(true)
["delete_chunk"]=>
bool(true)
["delete_context"]=>
bool(true)
["delete_document"]=>
bool(true)
["delete_weblink"]=>
bool(true)
["delete_symlink"]=>
bool(true)
["delete_static_resource"]=>
bool(true)
["delete_eventlog"]=>
bool(true)
["delete_plugin"]=>
bool(true)
["delete_propertyset"]=>
bool(true)
["delete_role"]=>
bool(true)
["delete_snippet"]=>
bool(true)
["delete_template"]=>
bool(true)
["delete_tv"]=>
bool(true)
["delete_user"]=>
bool(true)
["directory_chmod"]=>
bool(true)
["directory_create"]=>
bool(true)
["directory_list"]=>
bool(true)
["directory_remove"]=>
bool(true)
["directory_update"]=>
bool(true)
["edit_category"]=>
bool(true)
["edit_chunk"]=>
bool(true)
["edit_context"]=>
bool(true)
["edit_document"]=>
bool(true)
["edit_weblink"]=>
bool(true)
["edit_symlink"]=>
bool(true)
["edit_static_resource"]=>
bool(true)
["edit_locked"]=>
bool(true)
["edit_plugin"]=>
bool(true)
["edit_propertyset"]=>
bool(true)
["edit_role"]=>
bool(true)
["edit_snippet"]=>
bool(true)
["edit_template"]=>
bool(true)
["edit_tv"]=>
bool(true)
["edit_user"]=>
bool(true)
["element_tree"]=>
bool(true)
["empty_cache"]=>
bool(true)
["error_log_erase"]=>
bool(true)
["error_log_view"]=>
bool(true)
["events"]=>
bool(true)
["export_static"]=>
bool(true)
["file_create"]=>
bool(true)
["file_list"]=>
bool(true)
["file_manager"]=>
bool(true)
["file_remove"]=>
bool(true)
["file_tree"]=>
bool(true)
["file_update"]=>
bool(true)
["file_upload"]=>
bool(true)
["file_unpack"]=>
bool(true)
["file_view"]=>
bool(true)
["flush_sessions"]=>
bool(true)
["frames"]=>
bool(true)
["help"]=>
bool(true)
["home"]=>
bool(true)
["import_static"]=>
bool(true)
["languages"]=>
bool(true)
["lexicons"]=>
bool(true)
["list"]=>
bool(true)
["load"]=>
bool(true)
["logout"]=>
bool(true)
["logs"]=>
bool(true)
["menus"]=>
bool(true)
["menu_reports"]=>
bool(true)
["menu_security"]=>
bool(true)
["menu_site"]=>
bool(true)
["menu_support"]=>
bool(true)
["menu_system"]=>
bool(true)
["menu_tools"]=>
bool(true)
["menu_user"]=>
bool(true)
["messages"]=>
bool(true)
["namespaces"]=>
bool(true)
["new_category"]=>
bool(true)
["new_chunk"]=>
bool(true)
["new_context"]=>
bool(true)
["new_document"]=>
bool(true)
["new_document_in_root"]=>
bool(true)
["new_plugin"]=>
bool(true)
["new_propertyset"]=>
bool(true)
["new_role"]=>
bool(true)
["new_snippet"]=>
bool(true)
["new_static_resource"]=>
bool(true)
["new_symlink"]=>
bool(true)
["new_template"]=>
bool(true)
["new_tv"]=>
bool(true)
["new_user"]=>
bool(true)
["new_weblink"]=>
bool(true)
["packages"]=>
bool(true)
["policy_delete"]=>
bool(true)
["policy_edit"]=>
bool(true)
["policy_new"]=>
bool(true)
["policy_save"]=>
bool(true)
["policy_template_delete"]=>
bool(true)
["policy_template_edit"]=>
bool(true)
["policy_template_new"]=>
bool(true)
["policy_template_save"]=>
bool(true)
["policy_template_view"]=>
bool(true)
["policy_view"]=>
bool(true)
["property_sets"]=>
bool(true)
["providers"]=>
bool(true)
["publish_document"]=>
bool(true)
["purge_deleted"]=>
bool(true)
["remove"]=>
bool(true)
["remove_locks"]=>
bool(true)
["resource_duplicate"]=>
bool(true)
["resourcegroup_delete"]=>
bool(true)
["resourcegroup_edit"]=>
bool(true)
["resourcegroup_new"]=>
bool(true)
["resourcegroup_resource_edit"]=>
bool(true)
["resourcegroup_resource_list"]=>
bool(true)
["resourcegroup_save"]=>
bool(true)
["resourcegroup_view"]=>
bool(true)
["resource_quick_create"]=>
bool(true)
["resource_quick_update"]=>
bool(true)
["resource_tree"]=>
bool(true)
["save"]=>
bool(true)
["save_category"]=>
bool(true)
["save_chunk"]=>
bool(true)
["save_context"]=>
bool(true)
["save_document"]=>
bool(true)
["save_plugin"]=>
bool(true)
["save_propertyset"]=>
bool(true)
["save_role"]=>
bool(true)
["save_snippet"]=>
bool(true)
["save_template"]=>
bool(true)
["save_tv"]=>
bool(true)
["save_user"]=>
bool(true)
["search"]=>
bool(true)
["set_sudo"]=>
bool(true)
["settings"]=>
bool(true)
["sources"]=>
bool(true)
["source_delete"]=>
bool(true)
["source_edit"]=>
bool(true)
["source_save"]=>
bool(true)
["source_view"]=>
bool(true)
["steal_locks"]=>
bool(true)
["tree_show_element_ids"]=>
bool(true)
["tree_show_resource_ids"]=>
bool(true)
["undelete_document"]=>
bool(true)
["unlock_element_properties"]=>
bool(true)
["unpublish_document"]=>
bool(true)
["usergroup_delete"]=>
bool(true)
["usergroup_edit"]=>
bool(true)
["usergroup_new"]=>
bool(true)
["usergroup_save"]=>
bool(true)
["usergroup_user_edit"]=>
bool(true)
["usergroup_user_list"]=>
bool(true)
["usergroup_view"]=>
bool(true)
["view"]=>
bool(true)
["view_category"]=>
bool(true)
["view_chunk"]=>
bool(true)
["view_context"]=>
bool(true)
["view_document"]=>
bool(true)
["view_element"]=>
bool(true)
["view_eventlog"]=>
bool(true)
["view_offline"]=>
bool(true)
["view_plugin"]=>
bool(true)
["view_propertyset"]=>
bool(true)
["view_role"]=>
bool(true)
["view_snippet"]=>
bool(true)
["view_sysinfo"]=>
bool(true)
["view_template"]=>
bool(true)
["view_tv"]=>
bool(true)
["view_unpublished"]=>
bool(true)
["view_user"]=>
bool(true)
["workspaces"]=>
bool(true)
}
}
}
}
}
["xpdo"]=>
*RECURSION*
["container"]=>
string(11) "resinex_dev"
["fieldNames"]=>
NULL
["_class"]=>
string(10) "modContext"
["_package"]=>
string(4) "modx"
["_alias"]=>
string(10) "modContext"
["_pk"]=>
NULL
["_pktype"]=>
NULL
["_table"]=>
string(14) "`modx_context`"
["_tableMeta"]=>
array(1) {
["engine"]=>
string(6) "InnoDB"
}
["_dirty"]=>
array(4) {
["key"]=>
string(3) "key"
["name"]=>
string(4) "name"
["description"]=>
string(11) "description"
["rank"]=>
string(4) "rank"
}
["_lazy"]=>
array(0) {
}
["_fields"]=>
array(4) {
["key"]=>
string(3) "web"
["name"]=>
NULL
["description"]=>
NULL
["rank"]=>
int(0)
}
["_fieldMeta"]=>
array(4) {
["key"]=>
array(5) {
["dbtype"]=>
string(7) "varchar"
["precision"]=>
string(3) "100"
["phptype"]=>
string(6) "string"
["null"]=>
bool(false)
["index"]=>
string(2) "pk"
}
["name"]=>
array(4) {
["dbtype"]=>
string(7) "varchar"
["precision"]=>
string(3) "191"
["phptype"]=>
string(6) "string"
["index"]=>
string(5) "index"
}
["description"]=>
array(2) {
["dbtype"]=>
string(8) "tinytext"
["phptype"]=>
string(6) "string"
}
["rank"]=>
array(6) {
["dbtype"]=>
string(3) "int"
["precision"]=>
string(2) "11"
["phptype"]=>
string(7) "integer"
["null"]=>
bool(false)
["default"]=>
int(0)
["index"]=>
string(5) "index"
}
}
["_fieldAliases"]=>
array(0) {
}
["_aggregates"]=>
array(0) {
}
["_composites"]=>
array(4) {
["ContextResources"]=>
array(5) {
["class"]=>
string(18) "modContextResource"
["local"]=>
string(3) "key"
["foreign"]=>
string(11) "context_key"
["cardinality"]=>
string(4) "many"
["owner"]=>
string(5) "local"
}
["ContextSettings"]=>
array(5) {
["class"]=>
string(17) "modContextSetting"
["local"]=>
string(3) "key"
["foreign"]=>
string(11) "context_key"
["cardinality"]=>
string(4) "many"
["owner"]=>
string(5) "local"
}
["SourceElements"]=>
array(5) {
["class"]=>
string(29) "sources.modMediaSourceElement"
["local"]=>
string(3) "key"
["foreign"]=>
string(11) "context_key"
["cardinality"]=>
string(4) "many"
["owner"]=>
string(5) "local"
}
["Acls"]=>
array(5) {
["class"]=>
string(16) "modAccessContext"
["local"]=>
string(3) "key"
["foreign"]=>
string(6) "target"
["owner"]=>
string(5) "local"
["cardinality"]=>
string(4) "many"
}
}
["_relatedObjects"]=>
array(4) {
["ContextResources"]=>
array(0) {
}
["ContextSettings"]=>
array(0) {
}
["SourceElements"]=>
array(0) {
}
["Acls"]=>
array(0) {
}
}
["_validator"]=>
object(modValidator)#7 (3) {
["object"]=>
*RECURSION*
["results"]=>
array(1) {
["key"]=>
bool(true)
}
["messages"]=>
array(0) {
}
}
["_validationRules"]=>
array(1) {
["key"]=>
array(1) {
["key"]=>
array(3) {
["type"]=>
string(10) "preg_match"
["rule"]=>
string(51) "/^[a-zA-Z\x7f-\xff][a-zA-Z0-9\x2d-\x2f\x7f-\xff]*$/"
["parameters"]=>
array(1) {
["message"]=>
string(18) "context_err_ns_key"
}
}
}
}
["_validated"]=>
array(1) {
["key"]=>
string(3) "key"
}
["_validationLoaded"]=>
bool(true)
["_new"]=>
bool(true)
["_cacheFlag"]=>
bool(true)
["_options"]=>
array(0) {
}
}
["contexts"]=>
array(1) {
["web"]=>
object(modContext_mysql)#6 (33) {
["config"]=>
array(11) {
["cultureKey"]=>
string(2) "en"
["resinex.contacts_page"]=>
string(1) "8"
["resinex.cookies_policy_page"]=>
string(5) "11639"
["resinex.featured_pages"]=>
string(5) "4,5,6"
["resinex.footer_page_links"]=>
string(17) "10,11,8,8747,8746"
["resinex.news_page"]=>
string(1) "7"
["resinex.search_page"]=>
string(1) "9"
["resinex.welcome_page"]=>
string(1) "3"
["session_enabled"]=>
string(1) "0"
["site_start"]=>
string(2) "36"
["site_url"]=>
string(24) "https://www.resinex.com/"
}
["aliasMap"]=>
&array(359) {
["global-site.html"]=>
int(1)
["home.html"]=>
int(2)
["about-us/"]=>
int(3)
["products/"]=>
int(4)
["producers/"]=>
int(8747)
["polymer-types/"]=>
int(8746)
["services/"]=>
int(5)
["industries/"]=>
int(6)
["sustainability.html"]=>
int(17525)
["news/"]=>
int(7)
["contacts.html"]=>
int(8)
["contact-form-test.html"]=>
int(20200)
["search.html"]=>
int(9)
["sitemap.html"]=>
int(10)
["terms-of-use.html"]=>
int(11)
["cookies-policy.html"]=>
int(11639)
["404.html"]=>
int(12)
["quality-policy.html"]=>
int(16312)
["about-us/our-mission.html"]=>
int(13)
["about-us/the-presence.html"]=>
int(14)
["about-us/our-history.html"]=>
int(15)
["products/affinity.html"]=>
int(2125)
["products/akulon.html"]=>
int(2097)
["products/akulon-ultraflow.html"]=>
int(2016)
["products/altuglas.html"]=>
int(2104)
["products/ampacet-mb.html"]=>
int(2029)
["products/arnite.html"]=>
int(1988)
["products/arnitel.html"]=>
int(2080)
["products/attane.html"]=>
int(2068)
["products/bondyram.html"]=>
int(2054)
["products/braskem-pp.html"]=>
int(2055)
["products/calibre.html"]=>
int(2070)
["products/celanex.html"]=>
int(2051)
["products/celstran.html"]=>
int(2123)
["products/colorcomp.html"]=>
int(2061)
["products/cycolac.html"]=>
int(2084)
["products/cycoloy.html"]=>
int(2022)
["products/diakon.html"]=>
int(2030)
["products/dow-endurance.html"]=>
int(2028)
["products/dow-hdpe.html"]=>
int(2004)
["products/dow-ldpe.html"]=>
int(2074)
["products/dow-wire-and-cable.html"]=>
int(2098)
["products/dowlex.html"]=>
int(2062)
["products/el-lene.html"]=>
int(1989)
["products/elite.html"]=>
int(2000)
["products/emerge.html"]=>
int(2025)
["products/enable.html"]=>
int(2056)
["products/enflex.html"]=>
int(2003)
["products/engage.html"]=>
int(2089)
["products/enprene.html"]=>
int(2078)
["products/enr.html"]=>
int(2082)
["products/ensoft.html"]=>
int(1983)
["products/equate-hdpe.html"]=>
int(2096)
["products/equate-lldpe.html"]=>
int(2048)
["products/escor.html"]=>
int(2126)
["products/escorene-ultra-eva.html"]=>
int(2129)
["products/europrene.html"]=>
int(2045)
["products/evatane.html"]=>
int(2015)
["products/exact.html"]=>
int(2067)
["products/exceed.html"]=>
int(2087)
["products/extem.html"]=>
int(2081)
["products/exxonmobil-hdpe.html"]=>
int(2105)
["products/exxonmobil-ldpe.html"]=>
int(2040)
["products/exxonmobil-lldpe.html"]=>
int(2085)
["products/exxonmobil-pp.html"]=>
int(2063)
["products/exxonmobil-pp-medical.html"]=>
int(2014)
["products/factor.html"]=>
int(2006)
["products/faradex.html"]=>
int(2035)
["products/fortron.html"]=>
int(1996)
["products/geloy.html"]=>
int(1986)
["products/greenflex.html"]=>
int(1999)
["products/hostaform.html"]=>
int(2011)
["products/impet.html"]=>
int(2090)
["products/infuse.html"]=>
int(2083)
["products/inspire.html"]=>
int(2079)
["products/iotek.html"]=>
int(2007)
["products/ixef.html"]=>
int(2093)
["products/k-resin.html"]=>
int(2017)
["products/keyflex.html"]=>
int(2020)
["products/kocetal.html"]=>
int(2046)
["products/konduit.html"]=>
int(2033)
["products/kynar.html"]=>
int(2128)
["products/lexan.html"]=>
int(2053)
["products/lg-abs.html"]=>
int(2111)
["products/lg-eps.html"]=>
int(2066)
["products/lighter.html"]=>
int(2077)
["products/lotrene.html"]=>
int(2114)
["products/lubricomp.html"]=>
int(2115)
["products/lubriloy.html"]=>
int(2119)
["products/lucel.html"]=>
int(2018)
["products/lupos.html"]=>
int(2099)
["products/lupox-pbt.html"]=>
int(2116)
["products/lupoy.html"]=>
int(2124)
["products/lusep.html"]=>
int(2002)
["products/mablex.html"]=>
int(2021)
["products/mafill.html"]=>
int(2044)
["products/magnum.html"]=>
int(2072)
["products/microgranules.html"]=>
int(2065)
["products/natural-rubber.html"]=>
int(2005)
["products/natureworks-ingeo.html"]=>
int(2036)
["products/nordel-ip.html"]=>
int(2043)
["products/norsolene.html"]=>
int(2094)
["products/noryl-gtx.html"]=>
int(2095)
["products/noryl-ppe.html"]=>
int(1985)
["products/noryl-ppx.html"]=>
int(2012)
["products/orgalloy.html"]=>
int(2069)
["products/pan-star.html"]=>
int(2122)
["products/pearlstick.html"]=>
int(2013)
["products/pearlthane.html"]=>
int(2042)
["products/pebax.html"]=>
int(1997)
["products/plustek.html"]=>
int(2057)
["products/polychim-pp.html"]=>
int(2073)
["products/primacor.html"]=>
int(1984)
["products/pulse.html"]=>
int(2113)
["products/ramofin.html"]=>
int(2037)
["products/ramtal.html"]=>
int(2076)
["products/ravalene.html"]=>
int(2019)
["products/ravamid.html"]=>
int(2034)
["products/ravathane.html"]=>
int(11653)
["products/resinex-pom.html"]=>
int(1992)
["products/rilsamid.html"]=>
int(2106)
["products/rilsan.html"]=>
int(2121)
["products/rilsan-clear.html"]=>
int(2032)
["products/rilsan-ht.html"]=>
int(2064)
["products/riteflex.html"]=>
int(2010)
["products/ryton.html"]=>
int(2075)
["products/sabic-pe.html"]=>
int(2009)
["products/sabic-pp.html"]=>
int(2101)
["products/scolefin.html"]=>
int(2050)
["products/sconablend.html"]=>
int(2109)
["products/sconapor.html"]=>
int(2008)
["products/sicoflex.html"]=>
int(2001)
["products/sicoklar.html"]=>
int(2047)
["products/sicostirolo.html"]=>
int(2059)
["products/socfindo.html"]=>
int(2031)
["products/sprintan.html"]=>
int(2107)
["products/stanyl.html"]=>
int(1995)
["products/staramide.html"]=>
int(2092)
["products/stat-kon.html"]=>
int(2071)
["products/stat-loy.html"]=>
int(2100)
["products/styron.html"]=>
int(2127)
["products/styron-br.html"]=>
int(2118)
["products/styron-sbr.html"]=>
int(2091)
["products/styrosun.html"]=>
int(2108)
["products/sumitomo-pp.html"]=>
int(2023)
["products/technyl.html"]=>
int(2052)
["products/technyl-exten.html"]=>
int(2110)
["products/technyl-star.html"]=>
int(1993)
["products/thermocomp.html"]=>
int(2058)
["products/thermotuf.html"]=>
int(2086)
["products/thermx.html"]=>
int(2088)
["products/total-hdpe.html"]=>
int(2117)
["products/total-lldpe.html"]=>
int(2060)
["products/total-petrochemicals-pp.html"]=>
int(2041)
["products/tyril.html"]=>
int(2120)
["products/ultem.html"]=>
int(2112)
["products/valox.html"]=>
int(2103)
["products/vectra.html"]=>
int(2024)
["products/velvex.html"]=>
int(1987)
["products/versify.html"]=>
int(1998)
["products/verton.html"]=>
int(2027)
["products/wingtack.html"]=>
int(2039)
["products/xenoy.html"]=>
int(2049)
["products/xylex.html"]=>
int(1991)
["products/xyron.html"]=>
int(2026)
["products/zenite.html"]=>
int(1990)
["products/zylar.html"]=>
int(2038)
["products/sipchem-eva.html"]=>
int(13466)
["products/fortii.html"]=>
int(15146)
["products/fortii-ace.html"]=>
int(15178)
["products/xytron.html"]=>
int(15210)
["products/sabic-hdpe.html"]=>
int(15242)
["products/braskem-hdpe.html"]=>
int(15371)
["products/technyl-one.html"]=>
int(15412)
["products/selenis.html"]=>
int(15430)
["products/biobatch.html"]=>
int(15567)
["products/im-green.html"]=>
int(15587)
["products/ramclean.html"]=>
int(15621)
["products/sanafor.html"]=>
int(15623)
["products/technyl-red.html"]=>
int(15625)
["products/pre-elec.html"]=>
int(16393)
["products/sofprene.html"]=>
int(16411)
["products/forprene.html"]=>
int(16413)
["products/laprene.html"]=>
int(16417)
["products/pibiflex.html"]=>
int(16419)
["products/infino.html"]=>
int(16961)
["products/starex.html"]=>
int(16963)
["products/ateva.html"]=>
int(16967)
["products/celanyl.html"]=>
int(17753)
["products/frianyl.html"]=>
int(17755)
["products/polifor.html"]=>
int(17757)
["products/tecnoprene.html"]=>
int(17759)
["products/talcoprene.html"]=>
int(17954)
["products/carboprene.html"]=>
int(17961)
["products/vydyne.html"]=>
int(18134)
["products/biomaster.html"]=>
int(18244)
["products/innate.html"]=>
int(18379)
["products/retain.html"]=>
int(18381)
["products/appeel.html"]=>
int(18383)
["products/bynel.html"]=>
int(18414)
["products/elvax.html"]=>
int(18446)
["products/elvaloy.html"]=>
int(18478)
["products/pre-elec-2.html"]=>
int(18671)
["products/scentmaster.html"]=>
int(19162)
["products/nucrel.html"]=>
int(20071)
["products/surlyn.html"]=>
int(20135)
["services/technical-service-and-application-development.html"]=>
int(16)
["services/customer-service.html"]=>
int(17)
["services/supplier-service.html"]=>
int(18)
["services/tailor-made-products.html"]=>
int(19)
["services/product-grinding-and-mixing.html"]=>
int(20)
["services/compounding-and-recycling.html"]=>
int(21)
["services/reach.html"]=>
int(22)
["industries/automotive-industry.html"]=>
int(23)
["industries/polymer-compounding.html"]=>
int(24)
["industries/rotational-moulding/"]=>
int(25)
["industries/electrical-and-lighting-industry.html"]=>
int(26)
["industries/wire-and-cable.html"]=>
int(27)
["industries/medical-and-pharmaceutical-industry.html"]=>
int(28)
["industries/resinex-polymer-powders.html"]=>
int(29)
["industries/bioplastics-current-important-trend.html"]=>
int(15735)
["industries/3d-printing.html"]=>
int(16091)
["industries/test.html"]=>
int(18824)
["industries/medical-and-pharmaceutical-industry-new.html"]=>
int(18904)
["news/2022/"]=>
int(19981)
["news/2021/"]=>
int(18940)
["news/2020/"]=>
int(17668)
["news/2019/"]=>
int(16517)
["news/2018/"]=>
int(15308)
["news/2017/"]=>
int(14758)
["news/3rd-medtech-and-pharma-platform-conference/"]=>
int(13910)
["news/2015/"]=>
int(13076)
["news/2014/"]=>
int(11893)
["news/2013/"]=>
int(11201)
["news/2012/"]=>
int(5390)
["news/2011/"]=>
int(5330)
["industries/rotational-moulding/introduction.html"]=>
int(30)
["industries/rotational-moulding/facilities.html"]=>
int(31)
["industries/rotational-moulding/services.html"]=>
int(32)
["industries/rotational-moulding/colours.html"]=>
int(33)
["industries/rotational-moulding/special-effects.html"]=>
int(34)
["industries/rotational-moulding/products.html"]=>
int(35)
["news/2011/resinex-has-been-exhibiting-at-fakuma-2011-in-friedrichshafen-germany.html"]=>
int(6919)
["news/2011/resinex-italy-exhibits-at-plast-2012-in-milano-italy-from-8-12-may-2012.html"]=>
int(6978)
["news/2011/resinex-switzerland-will-be-present-at-the-swissplastics-fair-in-luzern.html"]=>
int(7037)
["news/2011/caoutchouc-2011-during-fip-solution-plastique.html"]=>
int(7096)
["news/2011/styron-and-resinex-partner-to-serve-european-electrical-and-lighting-industry.html"]=>
int(7155)
["news/2011/resinex-france-has-been-participating-in-the-fip-fair-in-lyon.html"]=>
int(7214)
["news/2012/resinex-decided-to-change-name-of-its-russian-office.html"]=>
int(5450)
["news/2012/resinex-rus-zao-will-take-a-part-in-interplastica-2012.html"]=>
int(5567)
["news/2012/resinex-italy-exhibits-at-plast-2012-in-milano.html"]=>
int(5743)
["news/2012/technyl-a258-p2-replaces-pa12-for-cable-ties.html"]=>
int(6448)
["news/2012/altuglas-hfi-10-super-matt.html"]=>
int(6507)
["news/2012/conference-plastics-in-automotive-engineering-in-mannheim.html"]=>
int(6566)
["news/2012/medtec-europe-13-15-march-2012-messe-stuttgart-stuttgart-germany.html"]=>
int(6625)
["news/2012/resinex-exhibits-at-elmia-polymer-2012-in-jonkoping.html"]=>
int(6684)
["news/2012/resinex-attends-wire-2012-dusseldorf-germany.html"]=>
int(6743)
["news/2012/resinex-attends-the-dkt-2012-german-rubber-conference.html"]=>
int(7274)
["news/2012/resinex-germany-will-be-present-on-the-next-fakuma-2012.html"]=>
int(10825)
["news/2012/ravago-group-acquires-tpe-producer-polyprime-inc.html"]=>
int(11012)
["polymer-types/abs.html"]=>
int(9958)
["polymer-types/lcp.html"]=>
int(9957)
["polymer-types/natural-rubber.html"]=>
int(9952)
["polymer-types/pa.html"]=>
int(11369)
["polymer-types/pbt.html"]=>
int(9944)
["polymer-types/pc.html"]=>
int(9946)
["polymer-types/pc-abs.html"]=>
int(9953)
["polymer-types/pe.html"]=>
int(11370)
["polymer-types/pla.html"]=>
int(9950)
["polymer-types/pmma.html"]=>
int(9947)
["polymer-types/pom.html"]=>
int(9942)
["polymer-types/pp.html"]=>
int(11373)
["polymer-types/pps.html"]=>
int(9945)
["polymer-types/ps.html"]=>
int(11372)
["polymer-types/pvdf.html"]=>
int(9943)
["polymer-types/san.html"]=>
int(9949)
["polymer-types/tpe.html"]=>
int(11371)
["producers/arkema.html"]=>
int(8765)
["producers/braskem.html"]=>
int(8767)
["producers/dsm.html"]=>
int(8762)
["producers/equate.html"]=>
int(8771)
["producers/exxonmobil.html"]=>
int(8763)
["producers/ktp.html"]=>
int(8774)
["producers/lg-chem.html"]=>
int(8761)
["producers/ravago.html"]=>
int(8768)
["producers/rhodia.html"]=>
int(8770)
["producers/sabic-ip.html"]=>
int(8775)
["producers/trinseo.html"]=>
int(8759)
["producers/sumitomo.html"]=>
int(8764)
["producers/dow.html"]=>
int(8760)
["producers/celanese.html"]=>
int(8769)
["producers/total-petrochemicals.html"]=>
int(8766)
["producers/sipchem.html"]=>
int(13462)
["news/2013/resinex-rus-attends-interplastica-2014-17th-international-trade-fair-for-plastics-and-rubbers.html"]=>
int(11828)
["news/2013/resinex-attends-k-2013-no-1-plastic-fair-worldwide-16-23-october-2013-dusseldorf-germany.html"]=>
int(11572)
["news/2013/resinex-will-be-at-medtec-europe-26-28-february-2013-stuttgart.html"]=>
int(11075)
["news/2013/resinex-attends-vdi-plastics-in-automotive-engineering-13-14-march-2013-mannheim.html"]=>
int(11138)
["news/2014/resinex-to-distribute-braskems-green-pe.html"]=>
int(11956)
["news/2014/resinex-attends-vdi-plastics-in-automotive-engineering-april-2014-mannheim.html"]=>
int(12033)
["news/2014/resinex-attends-fip-solution-plastique-17.-20.-june-2014-lyon-eurexpo-france.html"]=>
int(12222)
["news/2014/resinex-attends-plastteknik-nordic-2014-9.-10.-april-2014-in-malmo-sweden.html"]=>
int(12298)
["news/2014/sipchem-and-resinex-group-to-market-new-eva-in-europe.html"]=>
int(12372)
["news/2014/resinex-attends-23rd-fakuma-international-trade-fair-for-plastics-processing.html"]=>
int(12438)
["news/2014/resinex-attends-8th-rubber-industry-fair-in-istanbul-on-november-27th-30th-2014.html"]=>
int(12506)
["news/2014/plastica-2014-9th-international-exhibition-of-plastics-machines-and-moulds.html"]=>
int(12755)
["news/2014/styron-is-becoming-trinseo.html"]=>
int(12942)
["news/2015/resinex-rus-will-attend-interplastica-2015-18th-international-trade-fair-for-plastics-and-rubbers.html"]=>
int(13139)
["news/2015/resinex-italy-exhibits-at-the-milan-plast-2015-may-5-9.html"]=>
int(13204)
["news/2015/sipchem-started-eva-and-ldpe-production.html"]=>
int(13267)
["news/2015/resinex-attends-the-international-rubber-conference-ircdkt-2015.-juni-29-july-2-nuremberg.html"]=>
int(13330)
["news/2015/resinex-attends-plastics-in-automotive-engineering-18th-and-19th-march-2015-mannheim.html"]=>
int(13013)
["news/2015/resinex-attends-24th-fakuma-international-trade-fair-for-plastics-processing.html"]=>
int(13399)
["news/2015/dsm-engineering-plastics-expands-emea-distribution-through-strategic-partnership-with-resinex.html"]=>
int(13592)
["news/2015/dupont-and-dow-to-combine-merger-of-equals.html"]=>
int(13655)
["news/2015/resinex-will-take-over-grinding-and-ownership-of-dowlex-powders.html"]=>
int(13718)
["news/3rd-medtech-and-pharma-platform-conference/resinex-attends-plastics-in-automotive-engineering-9th-and-10th-march-2016-mannheim.html"]=>
int(14060)
["news/3rd-medtech-and-pharma-platform-conference/ravago-expands-tpe-manufacturing-to-china.html"]=>
int(13911)
["news/3rd-medtech-and-pharma-platform-conference/resinex-will-be-at-medtec-europe-12-14-april-2016-stuttgart.html"]=>
int(14165)
["news/3rd-medtech-and-pharma-platform-conference/resinex-will-be-at-k-2016-19-26-october-2016-dusseldorf.html"]=>
int(14232)
["news/3rd-medtech-and-pharma-platform-conference/resinex-will-be-at-kunststoffen-2016-28-29-september-2016-veldhoven.html"]=>
int(14295)
["news/3rd-medtech-and-pharma-platform-conference/medtech-and-pharma-platform2016.html"]=>
int(14513)
["news/3rd-medtech-and-pharma-platform-conference/selenis-signs-exclusive-distribution-agreement-with-resinex.html"]=>
int(14576)
["news/3rd-medtech-and-pharma-platform-conference/resinex-attends-swiss-plastics-expo-24.-26.-january-2017-luzern-switzerland.html"]=>
int(14686)
["news/2017/resinex-attends-plastics-in-automotive-engineering.html"]=>
int(14884)
["news/2017/successful-completion-of-the-merger-transaction.html"]=>
int(14821)
["news/2017/dow-and-resinex-to-foster-better-packaging-solutions-for-russia.html"]=>
int(14947)
["news/2018/resinex-attends-plastics-in-automotive-engineering-2018.html"]=>
int(15244)
["news/2018/resinex-attends-plast-may-29th-june-1st-2018-milan-italy.html"]=>
int(15497)
["news/2018/resinex-gdpr.html"]=>
int(15637)
["news/2018/resinex-attends-deutsche-kautschuk-tagung.html"]=>
int(15810)
["news/2018/resinex-attends-armo-international-conference.html"]=>
int(16248)
["news/2018/resinex-attends-fakuma-international-trade-fair-for-plastics-processing.html"]=>
int(16329)
["news/2018/resinex-hellas-attends-plastica-18.html"]=>
int(16402)
["news/2019/eurostampi-plastica-gomma-e-compositi.html"]=>
int(16515)
["news/2019/resinex-to-distribute-dow-agility-tm-performance-ldpe-for-extrusion-coating-and-foam-applications.html"]=>
int(16591)
["news/2019/resinex-at-plastics-in-automotive-engineering-2019.html"]=>
int(16654)
["news/2019/resinex-attends-kuteno-2019.html"]=>
int(16780)
["news/2019/resinex-to-distribute-dows-new-dowlex-tm-gm-product-range-for-blown-and-cast-film.html"]=>
int(16848)
["news/2019/resinex-to-distribute-dows-new-dowlextm-2750st-stiffness-booster.html"]=>
int(16897)
["news/2019/25-years-of-resinex-switzerland.html"]=>
int(16977)
["news/2019/resinex-distribuira-el-nuevo-dowlextm-2750st-mejorador-de-rigidez-de-dow.html"]=>
int(17062)
["news/2019/resinex-at-k-2019.html"]=>
int(17101)
["news/2019/resinex-italy-at-mecspe-bari-2019.html"]=>
int(17164)
["news/2019/resinex-attends-fachpack-2019.html"]=>
int(17169)
["news/2019/resinex-at-swiss-plastics-expo.html"]=>
int(17583)
["news/fossil-free-fuel-in-resinex-sweden.html"]=>
int(17731)
["news/resinex-erweitert-portfolio-um-pre-elec-compounds-von-premix.html"]=>
int(17746)
["news/growing-together.html"]=>
int(17891)
["news/resinex-are-delighted-to-announce-that-effective-from-may-1st-2020-we-become-ascend-performance-materials-strategic-european-distributor-for-vydyne-pa66.html"]=>
int(18071)
["news/resinex-in-the-fight-against-covid-19.html"]=>
int(18166)
["news/resinex-proudly-welcome-dows-hpc.html"]=>
int(18316)
["news/natural-rubber-story.html"]=>
int(18677)
["news/biomaster-works-against-sars-cov-2.html"]=>
int(18761)
["news/resinex-promotes-surlyntm-and-nucreltm.html"]=>
int(18826)
["news/buon-natale.html"]=>
int(18890)
["news/2021/resinex-attends-27th-fakuma-interntional-trade-fair.html"]=>
int(19066)
["news/2021/resinex-auf-der-fakuma-2021-fokus-auf-nachhaltigkeit-medizin-und-pharma.html"]=>
int(19675)
["news/2022/myresinex-new-customer-portal.html"]=>
int(19995)
["news/2022/resinex-attends-kuteno-2022.html"]=>
int(20204)
}
["resourceMap"]=>
&array(21) {
[0]=>
array(18) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(8747)
[5]=>
int(8746)
[6]=>
int(5)
[7]=>
int(6)
[8]=>
int(17525)
[9]=>
int(7)
[10]=>
int(8)
[11]=>
int(20200)
[12]=>
int(9)
[13]=>
int(10)
[14]=>
int(11)
[15]=>
int(11639)
[16]=>
int(12)
[17]=>
int(16312)
}
[3]=>
array(3) {
[0]=>
int(13)
[1]=>
int(14)
[2]=>
int(15)
}
[4]=>
array(185) {
[0]=>
int(2125)
[1]=>
int(2097)
[2]=>
int(2016)
[3]=>
int(2104)
[4]=>
int(2029)
[5]=>
int(1988)
[6]=>
int(2080)
[7]=>
int(2068)
[8]=>
int(2054)
[9]=>
int(2055)
[10]=>
int(2070)
[11]=>
int(2051)
[12]=>
int(2123)
[13]=>
int(2061)
[14]=>
int(2084)
[15]=>
int(2022)
[16]=>
int(2030)
[17]=>
int(2028)
[18]=>
int(2004)
[19]=>
int(2074)
[20]=>
int(2098)
[21]=>
int(2062)
[22]=>
int(1989)
[23]=>
int(2000)
[24]=>
int(2025)
[25]=>
int(2056)
[26]=>
int(2003)
[27]=>
int(2089)
[28]=>
int(2078)
[29]=>
int(2082)
[30]=>
int(1983)
[31]=>
int(2096)
[32]=>
int(2048)
[33]=>
int(2126)
[34]=>
int(2129)
[35]=>
int(2045)
[36]=>
int(2015)
[37]=>
int(2067)
[38]=>
int(2087)
[39]=>
int(2081)
[40]=>
int(2105)
[41]=>
int(2040)
[42]=>
int(2085)
[43]=>
int(2063)
[44]=>
int(2014)
[45]=>
int(2006)
[46]=>
int(2035)
[47]=>
int(1996)
[48]=>
int(1986)
[49]=>
int(1999)
[50]=>
int(2011)
[51]=>
int(2090)
[52]=>
int(2083)
[53]=>
int(2079)
[54]=>
int(2007)
[55]=>
int(2093)
[56]=>
int(2017)
[57]=>
int(2020)
[58]=>
int(2046)
[59]=>
int(2033)
[60]=>
int(2128)
[61]=>
int(2053)
[62]=>
int(2111)
[63]=>
int(2066)
[64]=>
int(2077)
[65]=>
int(2114)
[66]=>
int(2115)
[67]=>
int(2119)
[68]=>
int(2018)
[69]=>
int(2099)
[70]=>
int(2116)
[71]=>
int(2124)
[72]=>
int(2002)
[73]=>
int(2021)
[74]=>
int(2044)
[75]=>
int(2072)
[76]=>
int(2065)
[77]=>
int(2005)
[78]=>
int(2036)
[79]=>
int(2043)
[80]=>
int(2094)
[81]=>
int(2095)
[82]=>
int(1985)
[83]=>
int(2012)
[84]=>
int(2069)
[85]=>
int(2122)
[86]=>
int(2013)
[87]=>
int(2042)
[88]=>
int(1997)
[89]=>
int(2057)
[90]=>
int(2073)
[91]=>
int(1984)
[92]=>
int(2113)
[93]=>
int(2037)
[94]=>
int(2076)
[95]=>
int(2019)
[96]=>
int(2034)
[97]=>
int(11653)
[98]=>
int(1992)
[99]=>
int(2106)
[100]=>
int(2121)
[101]=>
int(2032)
[102]=>
int(2064)
[103]=>
int(2010)
[104]=>
int(2075)
[105]=>
int(2009)
[106]=>
int(2101)
[107]=>
int(2050)
[108]=>
int(2109)
[109]=>
int(2008)
[110]=>
int(2001)
[111]=>
int(2047)
[112]=>
int(2059)
[113]=>
int(2031)
[114]=>
int(2107)
[115]=>
int(1995)
[116]=>
int(2092)
[117]=>
int(2071)
[118]=>
int(2100)
[119]=>
int(2127)
[120]=>
int(2118)
[121]=>
int(2091)
[122]=>
int(2108)
[123]=>
int(2023)
[124]=>
int(2052)
[125]=>
int(2110)
[126]=>
int(1993)
[127]=>
int(2058)
[128]=>
int(2086)
[129]=>
int(2088)
[130]=>
int(2117)
[131]=>
int(2060)
[132]=>
int(2041)
[133]=>
int(2120)
[134]=>
int(2112)
[135]=>
int(2103)
[136]=>
int(2024)
[137]=>
int(1987)
[138]=>
int(1998)
[139]=>
int(2027)
[140]=>
int(2039)
[141]=>
int(2049)
[142]=>
int(1991)
[143]=>
int(2026)
[144]=>
int(1990)
[145]=>
int(2038)
[146]=>
int(13466)
[147]=>
int(15146)
[148]=>
int(15178)
[149]=>
int(15210)
[150]=>
int(15242)
[151]=>
int(15371)
[152]=>
int(15412)
[153]=>
int(15430)
[154]=>
int(15567)
[155]=>
int(15587)
[156]=>
int(15621)
[157]=>
int(15623)
[158]=>
int(15625)
[159]=>
int(16393)
[160]=>
int(16411)
[161]=>
int(16413)
[162]=>
int(16417)
[163]=>
int(16419)
[164]=>
int(16961)
[165]=>
int(16963)
[166]=>
int(16967)
[167]=>
int(17753)
[168]=>
int(17755)
[169]=>
int(17757)
[170]=>
int(17759)
[171]=>
int(17954)
[172]=>
int(17961)
[173]=>
int(18134)
[174]=>
int(18244)
[175]=>
int(18379)
[176]=>
int(18381)
[177]=>
int(18383)
[178]=>
int(18414)
[179]=>
int(18446)
[180]=>
int(18478)
[181]=>
int(18671)
[182]=>
int(19162)
[183]=>
int(20071)
[184]=>
int(20135)
}
[5]=>
array(7) {
[0]=>
int(16)
[1]=>
int(17)
[2]=>
int(18)
[3]=>
int(19)
[4]=>
int(20)
[5]=>
int(21)
[6]=>
int(22)
}
[6]=>
array(11) {
[0]=>
int(23)
[1]=>
int(24)
[2]=>
int(25)
[3]=>
int(26)
[4]=>
int(27)
[5]=>
int(28)
[6]=>
int(29)
[7]=>
int(15735)
[8]=>
int(16091)
[9]=>
int(18824)
[10]=>
int(18904)
}
[7]=>
array(12) {
[0]=>
int(19981)
[1]=>
int(18940)
[2]=>
int(17668)
[3]=>
int(16517)
[4]=>
int(15308)
[5]=>
int(14758)
[6]=>
int(13910)
[7]=>
int(13076)
[8]=>
int(11893)
[9]=>
int(11201)
[10]=>
int(5390)
[11]=>
int(5330)
}
[25]=>
array(6) {
[0]=>
int(30)
[1]=>
int(31)
[2]=>
int(32)
[3]=>
int(33)
[4]=>
int(34)
[5]=>
int(35)
}
[5330]=>
array(6) {
[0]=>
int(6919)
[1]=>
int(6978)
[2]=>
int(7037)
[3]=>
int(7096)
[4]=>
int(7155)
[5]=>
int(7214)
}
[5390]=>
array(12) {
[0]=>
int(5450)
[1]=>
int(5567)
[2]=>
int(5743)
[3]=>
int(6448)
[4]=>
int(6507)
[5]=>
int(6566)
[6]=>
int(6625)
[7]=>
int(6684)
[8]=>
int(6743)
[9]=>
int(7274)
[10]=>
int(10825)
[11]=>
int(11012)
}
[8746]=>
array(17) {
[0]=>
int(9958)
[1]=>
int(9957)
[2]=>
int(9952)
[3]=>
int(11369)
[4]=>
int(9944)
[5]=>
int(9946)
[6]=>
int(9953)
[7]=>
int(11370)
[8]=>
int(9950)
[9]=>
int(9947)
[10]=>
int(9942)
[11]=>
int(11373)
[12]=>
int(9945)
[13]=>
int(11372)
[14]=>
int(9943)
[15]=>
int(9949)
[16]=>
int(11371)
}
[8747]=>
array(16) {
[0]=>
int(8765)
[1]=>
int(8767)
[2]=>
int(8762)
[3]=>
int(8771)
[4]=>
int(8763)
[5]=>
int(8774)
[6]=>
int(8761)
[7]=>
int(8768)
[8]=>
int(8770)
[9]=>
int(8775)
[10]=>
int(8759)
[11]=>
int(8764)
[12]=>
int(8760)
[13]=>
int(8769)
[14]=>
int(8766)
[15]=>
int(13462)
}
[11201]=>
array(4) {
[0]=>
int(11828)
[1]=>
int(11572)
[2]=>
int(11075)
[3]=>
int(11138)
}
[11893]=>
array(9) {
[0]=>
int(11956)
[1]=>
int(12033)
[2]=>
int(12222)
[3]=>
int(12298)
[4]=>
int(12372)
[5]=>
int(12438)
[6]=>
int(12506)
[7]=>
int(12755)
[8]=>
int(12942)
}
[13076]=>
array(9) {
[0]=>
int(13139)
[1]=>
int(13204)
[2]=>
int(13267)
[3]=>
int(13330)
[4]=>
int(13013)
[5]=>
int(13399)
[6]=>
int(13592)
[7]=>
int(13655)
[8]=>
int(13718)
}
[13910]=>
array(8) {
[0]=>
int(14060)
[1]=>
int(13911)
[2]=>
int(14165)
[3]=>
int(14232)
[4]=>
int(14295)
[5]=>
int(14513)
[6]=>
int(14576)
[7]=>
int(14686)
}
[14758]=>
array(3) {
[0]=>
int(14884)
[1]=>
int(14821)
[2]=>
int(14947)
}
[15308]=>
array(7) {
[0]=>
int(15244)
[1]=>
int(15497)
[2]=>
int(15637)
[3]=>
int(15810)
[4]=>
int(16248)
[5]=>
int(16329)
[6]=>
int(16402)
}
[16517]=>
array(12) {
[0]=>
int(16515)
[1]=>
int(16591)
[2]=>
int(16654)
[3]=>
int(16780)
[4]=>
int(16848)
[5]=>
int(16897)
[6]=>
int(16977)
[7]=>
int(17062)
[8]=>
int(17101)
[9]=>
int(17164)
[10]=>
int(17169)
[11]=>
int(17583)
}
[17668]=>
array(10) {
[0]=>
int(17731)
[1]=>
int(17746)
[2]=>
int(17891)
[3]=>
int(18071)
[4]=>
int(18166)
[5]=>
int(18316)
[6]=>
int(18677)
[7]=>
int(18761)
[8]=>
int(18826)
[9]=>
int(18890)
}
[18940]=>
array(2) {
[0]=>
int(19066)
[1]=>
int(19675)
}
[19981]=>
array(2) {
[0]=>
int(19995)
[1]=>
int(20204)
}
}
["webLinkMap"]=>
array(0) {
}
["eventMap"]=>
&array(22) {
["OnChunkFormPrerender"]=>
array(1) {
[1]=>
string(1) "1"
}
["OnContextRemove"]=>
array(1) {
[7]=>
string(1) "7"
}
["OnDocFormPrerender"]=>
array(1) {
[5]=>
string(1) "5"
}
["OnDocFormRender"]=>
array(2) {
[23]=>
string(2) "23"
[5]=>
string(1) "5"
}
["OnDocFormSave"]=>
array(3) {
[7]=>
string(1) "7"
[5]=>
string(1) "5"
[8]=>
string(1) "8"
}
["OnEmptyTrash"]=>
array(1) {
[7]=>
string(1) "7"
}
["OnFileEditFormPrerender"]=>
array(1) {
[1]=>
string(1) "1"
}
["OnFileManagerUpload"]=>
array(1) {
[24]=>
string(2) "24"
}
["OnHandleRequest"]=>
array(3) {
[22]=>
string(2) "22"
[25]=>
string(2) "25"
[4]=>
string(1) "4"
}
["OnLoadWebDocument"]=>
array(2) {
[24]=>
string(2) "24"
[6]=>
string(1) "6"
}
["OnPageNotFound"]=>
array(1) {
[24]=>
string(2) "24"
}
["OnPluginFormPrerender"]=>
array(1) {
[1]=>
string(1) "1"
}
["OnResourceDuplicate"]=>
array(1) {
[7]=>
string(1) "7"
}
["OnRichTextBrowserInit"]=>
array(1) {
[2]=>
string(1) "2"
}
["OnRichTextEditorInit"]=>
array(1) {
[2]=>
string(1) "2"
}
["OnRichTextEditorRegister"]=>
array(2) {
[2]=>
string(1) "2"
[1]=>
string(1) "1"
}
["OnSiteRefresh"]=>
array(2) {
[24]=>
string(2) "24"
[13]=>
string(2) "13"
}
["OnSnipFormPrerender"]=>
array(1) {
[1]=>
string(1) "1"
}
["OnTempFormPrerender"]=>
array(1) {
[1]=>
string(1) "1"
}
["OnTVInputPropertiesList"]=>
array(1) {
[23]=>
string(2) "23"
}
["OnTVInputRenderList"]=>
array(1) {
[23]=>
string(2) "23"
}
["OnWebPagePrerender"]=>
array(2) {
[14]=>
string(2) "14"
[11]=>
string(2) "11"
}
}
["pluginCache"]=>
&array(14) {
[1]=>
array(15) {
["id"]=>
string(1) "1"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(10) "CodeMirror"
["description"]=>
string(46) "CodeMirror 2.1.0-pl plugin for MODx Revolution"
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(3906) "/**
* @var modX $modx
* @var array $scriptProperties
*
* @package codemirror
*/
if ($modx->event->name == 'OnRichTextEditorRegister') {
$modx->event->output('CodeMirror');
return;
}
if ($modx->getOption('which_element_editor',null,'CodeMirror') != 'CodeMirror') return;
if (!$modx->getOption('use_editor',null,true)) return;
if (!$modx->getOption('codemirror.enable',null,true)) return;
/** @var CodeMirror $codeMirror */
$codeMirror = $modx->getService('codemirror','CodeMirror',$modx->getOption('codemirror.core_path',null,$modx->getOption('core_path').'components/codemirror/').'model/codemirror/');
if (!($codeMirror instanceof CodeMirror)) return '';
$options = array(
'modx_path' => $codeMirror->config['assetsUrl'],
'theme' => $modx->getOption('theme',$scriptProperties,'default'),
'indentUnit' => (int)$modx->getOption('indentUnit',$scriptProperties,$modx->getOption('indent_unit',$scriptProperties,2)),
'smartIndent' => (boolean)$modx->getOption('smartIndent',$scriptProperties,false),
'tabSize' => (boolean)$modx->getOption('tabSize',$scriptProperties,4),
'indentWithTabs' => (boolean)$modx->getOption('indentWithTabs',$scriptProperties,true),
'electricChars' => (boolean)$modx->getOption('electricChars',$scriptProperties,true),
'autoClearEmptyLines' => (boolean)$modx->getOption('electricChars',$scriptProperties,false),
'lineWrapping' => (boolean)$modx->getOption('lineWrapping',$scriptProperties,true),
'lineNumbers' => (boolean)$modx->getOption('lineNumbers',$scriptProperties,$modx->getOption('line_numbers',$scriptProperties,true)),
'firstLineNumber' => (int)$modx->getOption('firstLineNumber',$scriptProperties,1),
'highlightLine' => (boolean)$modx->getOption('highlightLine',$scriptProperties,true),
'matchBrackets' => (boolean)$modx->getOption('matchBrackets',$scriptProperties,true),
'showSearchForm' => (boolean)$modx->getOption('showSearchForm',$scriptProperties,true),
'undoDepth' => $modx->getOption('undoDepth',$scriptProperties,40),
);
$load = false;
switch ($modx->event->name) {
case 'OnSnipFormPrerender':
$options['modx_loader'] = 'onSnippet';
$options['mode'] = 'php';
$load = true;
break;
case 'OnTempFormPrerender':
$options['modx_loader'] = 'onTemplate';
$options['mode'] = 'htmlmixed';
$load = true;
break;
case 'OnChunkFormPrerender':
$options['modx_loader'] = 'onChunk';
$options['mode'] = 'htmlmixed';
$load = true;
break;
case 'OnPluginFormPrerender':
$options['modx_loader'] = 'onPlugin';
$options['mode'] = 'php';
$load = true;
break;
/* disabling TVs for now, since it causes problems with newlines
case 'OnTVFormPrerender':
$options['modx_loader'] = 'onTV';
$options['height'] = '250px';
$load = true;
break;*/
case 'OnFileEditFormPrerender':
$options['modx_loader'] = 'onFile';
$options['mode'] = 'php';
$load = true;
break;
/* debated whether or not to use */
case 'OnRichTextEditorInit':
break;
case 'OnRichTextBrowserInit':
break;
}
if ($load) {
$options['searchTpl'] = $codeMirror->getChunk('search');
$modx->regClientStartupHTMLBlock('');
$modx->regClientCSS($codeMirror->config['assetsUrl'].'css/codemirror-compressed.css');
$modx->regClientCSS($codeMirror->config['assetsUrl'].'css/cm.css');
if ($options['theme'] != 'default') {
$modx->regClientCSS($codeMirror->config['assetsUrl'].'cm/theme/'.$options['theme'].'.css');
}
$modx->regClientStartupScript($codeMirror->config['assetsUrl'].'js/codemirror-compressed.js');
$modx->regClientStartupScript($codeMirror->config['assetsUrl'].'js/cm.js');
}
return;"
["locked"]=>
string(1) "0"
["properties"]=>
string(4098) "a:14:{s:5:"theme";a:7:{s:4:"name";s:5:"theme";s:4:"desc";s:18:"prop_cm.theme_desc";s:4:"type";s:4:"list";s:7:"options";a:14:{i:0;a:2:{s:4:"text";s:7:"default";s:5:"value";s:7:"default";}i:1;a:2:{s:4:"text";s:8:"ambiance";s:5:"value";s:8:"ambiance";}i:2;a:2:{s:4:"text";s:10:"blackboard";s:5:"value";s:10:"blackboard";}i:3;a:2:{s:4:"text";s:6:"cobalt";s:5:"value";s:6:"cobalt";}i:4;a:2:{s:4:"text";s:7:"eclipse";s:5:"value";s:7:"eclipse";}i:5;a:2:{s:4:"text";s:7:"elegant";s:5:"value";s:7:"elegant";}i:6;a:2:{s:4:"text";s:11:"erlang-dark";s:5:"value";s:11:"erlang-dark";}i:7;a:2:{s:4:"text";s:11:"lesser-dark";s:5:"value";s:11:"lesser-dark";}i:8;a:2:{s:4:"text";s:7:"monokai";s:5:"value";s:7:"monokai";}i:9;a:2:{s:4:"text";s:4:"neat";s:5:"value";s:4:"near";}i:10;a:2:{s:4:"text";s:5:"night";s:5:"value";s:5:"night";}i:11;a:2:{s:4:"text";s:8:"rubyblue";s:5:"value";s:8:"rubyblue";}i:12;a:2:{s:4:"text";s:11:"vibrant-ink";s:5:"value";s:11:"vibrant-ink";}i:13;a:2:{s:4:"text";s:7:"xq-dark";s:5:"value";s:7:"xq-dark";}}s:5:"value";s:7:"default";s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:10:"indentUnit";a:7:{s:4:"name";s:10:"indentUnit";s:4:"desc";s:23:"prop_cm.indentUnit_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:2;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:11:"smartIndent";a:7:{s:4:"name";s:11:"smartIndent";s:4:"desc";s:24:"prop_cm.smartIndent_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:7:"tabSize";a:7:{s:4:"name";s:7:"tabSize";s:4:"desc";s:20:"prop_cm.tabSize_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:4;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:14:"indentWithTabs";a:7:{s:4:"name";s:14:"indentWithTabs";s:4:"desc";s:27:"prop_cm.indentWithTabs_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:13:"electricChars";a:7:{s:4:"name";s:13:"electricChars";s:4:"desc";s:26:"prop_cm.electricChars_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:19:"autoClearEmptyLines";a:7:{s:4:"name";s:19:"autoClearEmptyLines";s:4:"desc";s:32:"prop_cm.autoClearEmptyLines_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:12:"lineWrapping";a:7:{s:4:"name";s:12:"lineWrapping";s:4:"desc";s:25:"prop_cm.lineWrapping_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:11:"lineNumbers";a:7:{s:4:"name";s:11:"lineNumbers";s:4:"desc";s:24:"prop_cm.lineNumbers_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:15:"firstLineNumber";a:7:{s:4:"name";s:15:"firstLineNumber";s:4:"desc";s:28:"prop_cm.firstLineNumber_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:13:"highlightLine";a:7:{s:4:"name";s:13:"highlightLine";s:4:"desc";s:26:"prop_cm.highlightLine_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:13:"matchBrackets";a:7:{s:4:"name";s:13:"matchBrackets";s:4:"desc";s:26:"prop_cm.matchBrackets_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:14:"showSearchForm";a:7:{s:4:"name";s:14:"showSearchForm";s:4:"desc";s:27:"prop_cm.showSearchForm_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:9:"undoDepth";a:7:{s:4:"name";s:9:"undoDepth";s:4:"desc";s:22:"prop_cm.undoDepth_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:40;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[2]=>
array(15) {
["id"]=>
string(1) "2"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(7) "TinyMCE"
["description"]=>
string(43) "TinyMCE 4.3.3-pl plugin for MODx Revolution"
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(3026) "/**
* TinyMCE RichText Editor Plugin
*
* Events: OnRichTextEditorInit, OnRichTextEditorRegister,
* OnBeforeManagerPageInit, OnRichTextBrowserInit
*
* @author Jeff Whitfield
* @author Shaun McCormick
*
* @var modX $modx
* @var array $scriptProperties
*
* @package tinymce
* @subpackage build
*/
if ($modx->event->name == 'OnRichTextEditorRegister') {
$modx->event->output('TinyMCE');
return;
}
require_once $modx->getOption('tiny.core_path',null,$modx->getOption('core_path').'components/tinymce/').'tinymce.class.php';
$tiny = new TinyMCE($modx,$scriptProperties);
$useEditor = $tiny->context->getOption('use_editor',false);
$whichEditor = $tiny->context->getOption('which_editor','');
/* Handle event */
switch ($modx->event->name) {
case 'OnRichTextEditorInit':
if ($useEditor && $whichEditor == 'TinyMCE') {
unset($scriptProperties['chunk']);
if (isset($forfrontend) || $modx->context->get('key') != 'mgr') {
$def = $tiny->context->getOption('cultureKey',$tiny->context->getOption('manager_language','en'));
$tiny->properties['language'] = $modx->getOption('fe_editor_lang',array(),$def);
$tiny->properties['frontend'] = true;
unset($def);
}
/* commenting these out as it causes problems with richtext tvs */
//if (isset($scriptProperties['resource']) && !$resource->get('richtext')) return;
//if (!isset($scriptProperties['resource']) && !$modx->getOption('richtext_default',null,false)) return;
$tiny->setProperties($scriptProperties);
$html = $tiny->initialize();
$modx->event->output($html);
unset($html);
}
break;
case 'OnRichTextBrowserInit':
if ($useEditor && $whichEditor == 'TinyMCE') {
$inRevo20 = (boolean)version_compare($modx->version['full_version'],'2.1.0-rc1','<');
$modx->getVersionData();
$source = $tiny->context->getOption('default_media_source',null,1);
$modx->controller->addHtml('');
$modx->controller->addJavascript($tiny->config['assetsUrl'].'jscripts/tiny_mce/tiny_mce_popup.js');
if (file_exists($tiny->config['assetsPath'].'jscripts/tiny_mce/langs/'.$tiny->properties['language'].'.js')) {
$modx->controller->addJavascript($tiny->config['assetsUrl'].'jscripts/tiny_mce/langs/'.$tiny->properties['language'].'.js');
} else {
$modx->controller->addJavascript($tiny->config['assetsUrl'].'jscripts/tiny_mce/langs/en.js');
}
$modx->controller->addJavascript($tiny->config['assetsUrl'].'tiny.browser.js');
$modx->event->output('Tiny.browserCallback');
}
return '';
break;
default: break;
}
return;"
["locked"]=>
string(1) "0"
["properties"]=>
string(17556) "a:39:{s:22:"accessibility_warnings";a:7:{s:4:"name";s:22:"accessibility_warnings";s:4:"desc";s:315:"If this option is set to true some accessibility warnings will be presented to the user if they miss specifying that information. This option is set to true by default, since we should all try to make this world a better place for disabled people. But if you are annoyed with the warnings, set this option to false.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:23:"apply_source_formatting";a:7:{s:4:"name";s:23:"apply_source_formatting";s:4:"desc";s:229:"This option enables you to tell TinyMCE to apply some source formatting to the output HTML code. With source formatting, the output HTML code is indented and formatted. Without source formatting, the output HTML is more compact. ";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:15:"button_tile_map";a:7:{s:4:"name";s:15:"button_tile_map";s:4:"desc";s:338:"If this option is set to true TinyMCE will use tiled images instead of individual images for most of the editor controls. This produces faster loading time since only one GIF image needs to be loaded instead of a GIF for each individual button. This option is set to false by default since it doesn't work with some DOCTYPE declarations. ";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:7:"cleanup";a:7:{s:4:"name";s:7:"cleanup";s:4:"desc";s:331:"This option enables or disables the built-in clean up functionality. TinyMCE is equipped with powerful clean up functionality that enables you to specify what elements and attributes are allowed and how HTML contents should be generated. This option is set to true by default, but if you want to disable it you may set it to false.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:18:"cleanup_on_startup";a:7:{s:4:"name";s:18:"cleanup_on_startup";s:4:"desc";s:135:"If you set this option to true, TinyMCE will perform a HTML cleanup call when the editor loads. This option is set to false by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:22:"convert_fonts_to_spans";a:7:{s:4:"name";s:22:"convert_fonts_to_spans";s:4:"desc";s:348:"If you set this option to true, TinyMCE will convert all font elements to span elements and generate span elements instead of font elements. This option should be used in order to get more W3C compatible code, since font elements are deprecated. How sizes get converted can be controlled by the font_size_classes and font_size_style_values options.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:23:"convert_newlines_to_brs";a:7:{s:4:"name";s:23:"convert_newlines_to_brs";s:4:"desc";s:128:"If you set this option to true, newline characters codes get converted into br elements. This option is set to false by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"convert_urls";a:7:{s:4:"name";s:12:"convert_urls";s:4:"desc";s:495:"This option enables you to control whether TinyMCE is to be clever and restore URLs to their original values. URLs are automatically converted (messed up) by default because the built-in browser logic works this way. There is no way to get the real URL unless you store it away. If you set this option to false it will try to keep these URLs intact. This option is set to true by default, which means URLs will be forced to be either absolute or relative depending on the state of relative_urls.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:11:"dialog_type";a:7:{s:4:"name";s:11:"dialog_type";s:4:"desc";s:246:"This option enables you to specify how dialogs/popups should be opened. Possible values are "window" and "modal", where the window option opens a normal window and the dialog option opens a modal dialog. This option is set to "window" by default.";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{i:0;s:6:"window";s:4:"text";s:6:"Window";}i:1;a:2:{i:0;s:5:"modal";s:4:"text";s:5:"Modal";}}s:5:"value";s:6:"window";s:7:"lexicon";N;s:4:"area";s:0:"";}s:14:"directionality";a:7:{s:4:"name";s:14:"directionality";s:4:"desc";s:261:"This option specifies the default writing direction. Some languages (Like Hebrew, Arabic, Urdu...) write from right to left instead of left to right. The default value of this option is "ltr" but if you want to use from right to left mode specify "rtl" instead.";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:3:"ltr";s:4:"text";s:13:"Left to Right";}i:1;a:2:{s:5:"value";s:3:"rtl";s:4:"text";s:13:"Right to Left";}}s:5:"value";s:3:"ltr";s:7:"lexicon";N;s:4:"area";s:0:"";}s:14:"element_format";a:7:{s:4:"name";s:14:"element_format";s:4:"desc";s:210:"This option enables control if elements should be in html or xhtml mode. xhtml is the default state for this option. This means that for example <br /> will be <br> if you set this option to "html".";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:5:"xhtml";s:4:"text";s:5:"XHTML";}i:1;a:2:{s:5:"value";s:4:"html";s:4:"text";s:4:"HTML";}}s:5:"value";s:5:"xhtml";s:7:"lexicon";N;s:4:"area";s:0:"";}s:15:"entity_encoding";a:7:{s:4:"name";s:15:"entity_encoding";s:4:"desc";s:70:"This option controls how entities/characters get processed by TinyMCE.";s:4:"type";s:4:"list";s:7:"options";a:4:{i:0;a:2:{s:5:"value";s:0:"";s:4:"text";s:4:"None";}i:1;a:2:{s:5:"value";s:5:"named";s:4:"text";s:5:"Named";}i:2;a:2:{s:5:"value";s:7:"numeric";s:4:"text";s:7:"Numeric";}i:3;a:2:{s:5:"value";s:3:"raw";s:4:"text";s:3:"Raw";}}s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:16:"force_p_newlines";a:7:{s:4:"name";s:16:"force_p_newlines";s:4:"desc";s:147:"This option enables you to disable/enable the creation of paragraphs on return/enter in Mozilla/Firefox. The default value of this option is true. ";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:22:"force_hex_style_colors";a:7:{s:4:"name";s:22:"force_hex_style_colors";s:4:"desc";s:277:"This option enables you to control TinyMCE to force the color format to use hexadecimal instead of rgb strings. It converts for example "color: rgb(255, 255, 0)" to "#FFFF00". This option is set to true by default since otherwice MSIE and Firefox would differ in this behavior.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:6:"height";a:7:{s:4:"name";s:6:"height";s:4:"desc";s:38:"Sets the height of the TinyMCE editor.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:5:"400px";s:7:"lexicon";N;s:4:"area";s:0:"";}s:11:"indentation";a:7:{s:4:"name";s:11:"indentation";s:4:"desc";s:139:"This option allows specification of the indentation level for indent/outdent buttons in the UI. This defaults to 30px but can be any value.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:4:"30px";s:7:"lexicon";N;s:4:"area";s:0:"";}s:16:"invalid_elements";a:7:{s:4:"name";s:16:"invalid_elements";s:4:"desc";s:163:"This option should contain a comma separated list of element names to exclude from the content. Elements in this list will removed when TinyMCE executes a cleanup.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:6:"nowrap";a:7:{s:4:"name";s:6:"nowrap";s:4:"desc";s:212:"This nowrap option enables you to control how whitespace is to be wordwrapped within the editor. This option is set to false by default, but if you enable it by setting it to true editor contents will never wrap.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:15:"object_resizing";a:7:{s:4:"name";s:15:"object_resizing";s:4:"desc";s:148:"This option gives you the ability to turn on/off the inline resizing controls of tables and images in Firefox/Mozilla. These are enabled by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"path_options";a:7:{s:4:"name";s:12:"path_options";s:4:"desc";s:119:"Sets a group of options. Note: This will override the relative_urls, document_base_url and remove_script_host settings.";s:4:"type";s:9:"textfield";s:7:"options";a:3:{i:0;a:2:{s:5:"value";s:11:"docrelative";s:4:"text";s:17:"Document Relative";}i:1;a:2:{s:5:"value";s:12:"rootrelative";s:4:"text";s:13:"Root Relative";}i:2;a:2:{s:5:"value";s:11:"fullpathurl";s:4:"text";s:13:"Full Path URL";}}s:5:"value";s:11:"docrelative";s:7:"lexicon";N;s:4:"area";s:0:"";}s:28:"plugin_insertdate_dateFormat";a:7:{s:4:"name";s:28:"plugin_insertdate_dateFormat";s:4:"desc";s:53:"Formatting of dates when using the InsertDate plugin.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:8:"%Y-%m-%d";s:7:"lexicon";N;s:4:"area";s:0:"";}s:28:"plugin_insertdate_timeFormat";a:7:{s:4:"name";s:28:"plugin_insertdate_timeFormat";s:4:"desc";s:53:"Formatting of times when using the InsertDate plugin.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:8:"%H:%M:%S";s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"preformatted";a:7:{s:4:"name";s:12:"preformatted";s:4:"desc";s:231:"If you enable this feature, whitespace such as tabs and spaces will be preserved. Much like the behavior of a <pre> element. This can be handy when integrating TinyMCE with webmail clients. This option is disabled by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:13:"relative_urls";a:7:{s:4:"name";s:13:"relative_urls";s:4:"desc";s:231:"If this option is set to true, all URLs returned from the file manager will be relative from the specified document_base_url. If it is set to false all URLs will be converted to absolute URLs. This option is set to true by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:17:"remove_linebreaks";a:7:{s:4:"name";s:17:"remove_linebreaks";s:4:"desc";s:531:"This option controls whether line break characters should be removed from output HTML. This option is enabled by default because there are differences between browser implementations regarding what to do with white space in the DOM. Gecko and Safari place white space in text nodes in the DOM. IE and Opera remove them from the DOM and therefore the line breaks will automatically be removed in those. This option will normalize this behavior when enabled (true) and all browsers will have a white-space-stripped DOM serialization.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:18:"remove_script_host";a:7:{s:4:"name";s:18:"remove_script_host";s:4:"desc";s:221:"If this option is enabled the protocol and host part of the URLs returned from the file manager will be removed. This option is only used if the relative_urls option is set to false. This option is set to true by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:20:"remove_trailing_nbsp";a:7:{s:4:"name";s:20:"remove_trailing_nbsp";s:4:"desc";s:392:"This option enables you to specify that TinyMCE should remove any traling characters in block elements if you start to write inside them. Paragraphs are default padded with a and if you write text into such paragraphs the space will remain. Setting this option to true will remove the space. This option is set to false by default since the cursor jumps a bit in Gecko browsers.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:4:"skin";a:7:{s:4:"name";s:4:"skin";s:4:"desc";s:330:"This option enables you to specify what skin you want to use with your theme. A skin is basically a CSS file that gets loaded from the skins directory inside the theme. The advanced theme that TinyMCE comes with has two skins, these are called "default" and "o2k7". We added another skin named "cirkuit" that is chosen by default.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:7:"cirkuit";s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"skin_variant";a:7:{s:4:"name";s:12:"skin_variant";s:4:"desc";s:403:"This option enables you to specify a variant for the skin, for example "silver" or "black". "default" skin does not offer any variant, whereas "o2k7" default offers "silver" or "black" variants to the default one. For the "cirkuit" skin there's one variant named "silver". When creating a skin, additional variants may also be created, by adding ui_[variant_name].css files alongside the default ui.css.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:20:"table_inline_editing";a:7:{s:4:"name";s:20:"table_inline_editing";s:4:"desc";s:231:"This option gives you the ability to turn on/off the inline table editing controls in Firefox/Mozilla. According to the TinyMCE documentation, these controls are somewhat buggy and not redesignable, so they are disabled by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:22:"theme_advanced_disable";a:7:{s:4:"name";s:22:"theme_advanced_disable";s:4:"desc";s:111:"This option should contain a comma separated list of controls to disable from any toolbar row/panel in TinyMCE.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:19:"theme_advanced_path";a:7:{s:4:"name";s:19:"theme_advanced_path";s:4:"desc";s:331:"This option gives you the ability to enable/disable the element path. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom". This option is set to "true" by default. Setting this option to "false" will effectively hide the path tool, though it still takes up room in the Status Bar.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:32:"theme_advanced_resize_horizontal";a:7:{s:4:"name";s:32:"theme_advanced_resize_horizontal";s:4:"desc";s:319:"This option gives you the ability to enable/disable the horizontal resizing. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom" and when the theme_advanced_resizing is set to true. This option is set to true by default, allowing both resizing horizontal and vertical.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:23:"theme_advanced_resizing";a:7:{s:4:"name";s:23:"theme_advanced_resizing";s:4:"desc";s:216:"This option gives you the ability to enable/disable the resizing button. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom". This option is set to false by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:33:"theme_advanced_statusbar_location";a:7:{s:4:"name";s:33:"theme_advanced_statusbar_location";s:4:"desc";s:257:"This option enables you to specify where the element statusbar with the path and resize tool should be located. This option can be set to "top" or "bottom". The default value is set to "top". This option can only be used when the theme is set to "advanced".";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:3:"top";s:4:"text";s:3:"Top";}i:1;a:2:{s:5:"value";s:6:"bottom";s:4:"text";s:6:"Bottom";}}s:5:"value";s:6:"bottom";s:7:"lexicon";N;s:4:"area";s:0:"";}s:28:"theme_advanced_toolbar_align";a:7:{s:4:"name";s:28:"theme_advanced_toolbar_align";s:4:"desc";s:187:"This option enables you to specify the alignment of the toolbar, this value can be "left", "right" or "center" (the default). This option can only be used when theme is set to "advanced".";s:4:"type";s:9:"textfield";s:7:"options";a:3:{i:0;a:2:{s:5:"value";s:6:"center";s:4:"text";s:6:"Center";}i:1;a:2:{s:5:"value";s:4:"left";s:4:"text";s:4:"Left";}i:2;a:2:{s:5:"value";s:5:"right";s:4:"text";s:5:"Right";}}s:5:"value";s:4:"left";s:7:"lexicon";N;s:4:"area";s:0:"";}s:31:"theme_advanced_toolbar_location";a:7:{s:4:"name";s:31:"theme_advanced_toolbar_location";s:4:"desc";s:191:"
This option enables you to specify where the toolbar should be located. This option can be set to "top" or "bottom" (the defualt). This option can only be used when theme is set to advanced.";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:3:"top";s:4:"text";s:3:"Top";}i:1;a:2:{s:5:"value";s:6:"bottom";s:4:"text";s:6:"Bottom";}}s:5:"value";s:3:"top";s:7:"lexicon";N;s:4:"area";s:0:"";}s:5:"width";a:7:{s:4:"name";s:5:"width";s:4:"desc";s:32:"The width of the TinyMCE editor.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:3:"95%";s:7:"lexicon";N;s:4:"area";s:0:"";}s:33:"template_selected_content_classes";a:7:{s:4:"name";s:33:"template_selected_content_classes";s:4:"desc";s:234:"Specify a list of CSS class names for the template plugin. They must be separated by spaces. Any template element with one of the specified CSS classes will have its content replaced by the selected editor content when first inserted.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[13]=>
array(15) {
["id"]=>
string(2) "13"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(22) "phpThumbOfCacheManager"
["description"]=>
string(52) "Handles cache cleaning when clearing the Site Cache."
["editor_type"]=>
string(1) "0"
["category"]=>
string(2) "26"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(1263) "/*
* Handles cache cleanup
* pThumb
* Copyright 2013 Jason Grant
*
* Please see the GitHub page for documentation or to report bugs:
* https://github.com/oo12/phpThumbOf
*
* pThumb is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* pThumb is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* phpThumbOf; if not, write to the Free Software Foundation, Inc., 59 Temple
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
if ($modx->event->name === 'OnSiteRefresh') {
if (!$modx->loadClass('pThumbCacheCleaner', MODX_CORE_PATH . 'components/phpthumbof/model/', true, true)) {
$modx->log(modX::LOG_LEVEL_ERROR, '[pThumb] Could not load pThumbCacheCleaner class.');
return;
}
static $pt_settings = array();
$pThumb = new pThumbCacheCleaner($modx, $pt_settings, array(), true);
$pThumb->cleanCache();
}"
["locked"]=>
string(1) "0"
["properties"]=>
NULL
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[4]=>
array(15) {
["id"]=>
string(1) "4"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(15) "ContextSwitcher"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(12846) "if ($modx->context->key == 'mgr') {
return;
}
//$contextKeys = array(
// 'at-de', 'at-en', 'be-de', 'be-en', 'be-fr', 'be-nl', 'bg-bg', 'bg-en', 'ch-de',
// 'ch-en', 'ch-fr', 'ch-it', 'cz-cs', 'cz-en', 'de-de', 'de-en', 'dk-da', 'dk-en',
// 'ee-en', 'es-en', 'es-es', 'fi-en', 'fr-en', 'fr-fr', 'gb-en', 'gr-el', 'gr-en',
// 'hr-en', 'hr-hr', 'hu-en', 'hu-hu', 'ie-en', 'it-en', 'it-it', 'lt-en', 'lt-lt',
// 'lv-en', 'nl-en', 'nl-nl', 'no-en', 'no-no', 'pl-en', 'pl-pl', 'pt-en', 'pt-pt',
// 'ro-en', 'ro-ro', 'rs-en', 'rs-sr', 'ru-en', 'ru-ru', 'se-en', 'se-sv', 'sk-en',
// 'sk-sk', 'sl-en', 'sl-sl', 'tr-en', 'tr-tr', 'ua-en', 'ua-uk', 'fi-fi'
//);
//
//if ($_SERVER['SERVER_NAME'] == 'resinex-dev.etn.cz') {
// $uriParts = explode('/', ltrim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'));
// $contextKey = array_shift($uriParts);
// if (in_array($contextKey, $contextKeys)) {
// $modx->switchContext($contextKey);
// $_REQUEST['q'] = implode('/', $uriParts);
// $uriParts = array_filter($uriParts);
// if (empty($uriParts)) {
// $modx->sendForward($modx->getOption('site_start'));
// }
// } else {
// $modx->switchContext('web');
// }
//} else {
//
//}
//return;
$httpHost = $modx->getOption('http_host');
if (substr($httpHost, 0, 4) == 'www.') {
$httpHost = mb_substr($httpHost, 4);
}
if (!empty($_GET['langCode'])) {
$httpHost .= '/' . rtrim($_GET['langCode'], '/');
}
$langCodes = array('en', 'at', 'ee', 'fi', 'bg', 'cz', 'de', 'es', 'fr', 'gb', 'gr', 'hr', 'hu', 'ie', 'lt', 'lv', 'nl', 'pl', 'ru', 'ro', 'rs', 'sl', 'tr', 'it', 'pt', 'se', 'sk', 'ua');
$uriParts = explode('/', ltrim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'));
$firstPart = array_shift($uriParts);
if (in_array($firstPart, $langCodes)) {
$langCode = $firstPart;
$httpHost .= '/' . $langCode;
$_REQUEST['q'] = implode('/', $uriParts);
} else {
$langCode = '';
}
switch ($httpHost) {
case 'resinex.co.uk:80':
case 'resinex.co.uk':
case 'gb.resinex.resinex-php-dev-1.mit.etn.cz':
$modx->switchContext('gb-en');
break;
// .ie
case 'resinex.ie:80':
case 'resinex.ie':
case 'ie.resinex.resinex-php-dev-1.mit.etn.cz':
// $modx->switchContext('gb-en');
$modx->switchContext('ie-en');
break;
// .at
case 'resinex.at:80':
case 'at.resinex.resinex-php-dev-1.mit.etn.cz':
case 'at.resinex-php-1.mit.etn.cz':
case 'resinex.at':
$modx->switchContext('at-de');
break;
case 'resinex.at:80/en':
case 'at.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.at/en':
$modx->switchContext('at-en');
break;
// .ee
case 'resinex.ee:80':
case 'ee.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ee':
$modx->switchContext('ee-en');
break;
// .be
case 'resinex.be:80':
case 'resinex.be':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz':
$modx->switchContext('be-nl');
break;
case 'resinex.be/fr:80':
case 'resinex.be/fr':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz/fr':
$modx->switchContext('be-fr');
break;
case 'resinex.be/de:80':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz/de':
case 'resinex.be/de':
$modx->switchContext('be-de');
break;
case 'resinex.be/en:80':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.be/en':
$modx->switchContext('be-en');
break;
// .ch
case 'resinex.ch:80':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ch':
$modx->switchContext('ch-de');
break;
case 'resinex.ch/fr:80':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz/fr':
case 'resinex.ch/fr':
$modx->switchContext('ch-fr');
break;
case 'resinex.ch/it:80':
case 'resinex.ch/it':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz/it':
$modx->switchContext('ch-it');
break;
case 'resinex.ch/en:80':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.ch/en':
$modx->switchContext('ch-en');
break;
// .es
case 'resinex.es:80':
case 'es.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.es':
$modx->switchContext('es-es');
break;
case 'resinex.es:80/en':
case 'es.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.es/en':
$modx->switchContext('es-en');
break;
// .si
case 'resinex.si:80':
case 'si.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.si':
$modx->switchContext('sl-sl');
break;
case 'resinex.si:80/en':
case 'si.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.si/en':
$modx->switchContext('sl-en');
break;
// .sk
case 'resinex.sk:80':
case 'sk.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.sk':
$modx->switchContext('sk-sk');
break;
case 'resinex.sk:80/en':
case 'sk.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.sk/en':
$modx->switchContext('sk-en');
break;
// .ru
case 'resinex.ru:80':
case 'ru.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ru':
$modx->switchContext('ru-ru');
break;
case 'ru.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.ru:80/en':
case 'resinex.ru/en':
$modx->switchContext('ru-en');
break;
// .ro
case 'resinex.ro:80':
case 'ro.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ro':
$modx->switchContext('ro-ro');
break;
case 'resinex.ro:80/en':
case 'ro.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.ro/en':
$modx->switchContext('ro-en');
break;
// .pt
case 'resinex.pt:80':
case 'pt.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.pt':
$modx->switchContext('pt-pt');
break;
case 'pt.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.pt:80/en':
case 'resinex.pt/en':
$modx->switchContext('pt-en');
break;
// .pl
case 'resinex.pl:80':
case 'pl.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.pl':
$modx->switchContext('pl-pl');
break;
case 'resinex.pl:80/en':
case 'pl.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.pl/en':
$modx->switchContext('pl-en');
break;
// .lt
case 'resinex.lt:80':
case 'lt.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.lt':
$modx->switchContext('lt-lt');
break;
case 'resinex.lt:80/en':
case 'lt.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.lt/en':
$modx->switchContext('lt-en');
break;
// .lv
case 'resinex.lv:80':
case 'lv.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.lv':
$modx->switchContext('lv-en');
break;
// .it
case 'resinex.it:80':
case 'it.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.it':
$modx->switchContext('it-it');
break;
case 'it.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.it:80/en':
case 'resinex.it/en':
$modx->switchContext('it-en');
break;
// .hu
case 'resinex.hu:80':
case 'hu.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.hu':
$modx->switchContext('hu-hu');
break;
case 'resinex.hu:80/en':
case 'hu.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.hu/en':
$modx->switchContext('hu-en');
break;
// .gr
case 'resinex.gr:80':
case 'gr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.gr':
$modx->switchContext('gr-el');
break;
case 'gr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.gr:80/en':
case 'resinex.gr/en':
$modx->switchContext('gr-en');
break;
// .de
case 'resinex.de:80':
case 'de.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.de':
$modx->switchContext('de-de');
break;
case 'resinex.de:80/en':
case 'resinex.de/en':
case 'de.resinex.resinex-php-dev-1.mit.etn.cz/en':
$modx->switchContext('de-en');
break;
// .dk
case 'resinex.dk:80':
case 'dk.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.dk':
$modx->switchContext('dk-da');
break;
case 'resinex.dk:80/en':
case 'dk.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.dk/en':
$modx->switchContext('dk-en');
break;
// .no
case 'resinex.no:80':
case 'no.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.no':
$modx->switchContext('no-no');
break;
case 'no.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.no:80/en':
case 'resinex.no/en':
$modx->switchContext('no-en');
break;
// .fi
case 'resinex.fi:80':
case 'fi.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.fi':
$modx->switchContext('fi-fi');
break;
case 'resinex.fi:80/en':
case 'resinex.fi/en':
case 'fi.resinex.resinex-php-dev-1.mit.etn.cz/en':
$modx->switchContext('fi-en');
break;
// .fr
case 'resinex.fr:80':
case 'fr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.fr':
$modx->switchContext('fr-fr');
break;
case 'fr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.fr:80/en':
case 'resinex.fr/en':
$modx->switchContext('fr-en');
break;
// .hr
case 'resinex.hr:80':
case 'hr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.hr':
$modx->switchContext('hr-hr');
break;
case 'resinex.hr:80/en':
case 'hr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.hr/en':
$modx->switchContext('hr-en');
break;
// .bg
case 'resinex.bg:80':
case 'bg.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.bg':
$modx->switchContext('bg-bg');
break;
case 'bg.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.bg:80/en':
case 'resinex.bg/en':
$modx->switchContext('bg-en');
break;
// .se
case 'resinex.se:80':
case 'se.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.se':
$modx->switchContext('se-sv');
break;
case 'se.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.se:80/en':
case 'resinex.se/en':
$modx->switchContext('se-en');
break;
// .com.tr
case 'resinex.com.tr:80':
case 'tr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.com.tr':
$modx->switchContext('tr-tr');
break;
case 'tr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.com.tr:80/en':
case 'resinex.com.tr/en':
$modx->switchContext('tr-en');
break;
// .nl
case 'resinex.nl:80':
case 'nl.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.nl':
$modx->switchContext('nl-nl');
break;
case 'nl.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.nl:80/en':
case 'resinex.nl/en':
$modx->switchContext('nl-en');
break;
// .ua
case 'resinex.com.ua:80':
case 'ua.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.com.ua':
$modx->switchContext('ua-uk');
break;
case 'resinex.com.ua:80/en':
case 'ua.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.com.ua/en':
$modx->switchContext('ua-en');
break;
// .cz
case 'resinex.cz:80':
case 'resinex.cz':
case 'cz.resinex.resinex-php-dev-1.mit.etn.cz':
case 'cz.resinex-php-1.mit.etn.cz':
$modx->switchContext('cz-cs');
break;
case 'resinex.cz:80/en':
case 'resinex.cz/en':
case 'cz.resinex.resinex-php-dev-1.mit.etn.cz/en':
$modx->switchContext('cz-en');
break;
// .rs
case 'resinex.rs:80':
case 'rs.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.rs':
$modx->switchContext('rs-sr');
break;
case 'rs.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.rs:80/en':
case 'resinex.rs/en':
$modx->switchContext('rs-en');
break;
default:
//$modx->switchContext('web');
$modx->sendForward(1);
//$modx->switchContext('cz-cs');
//var_dump($modx->getOption('site_start'));
// $modx->sendForward($modx->getOption('site_start'));
break;
}
if (isset($_GET['langCode'])) {
unset($_GET['langCode']);
}
if ($langCode && !array_filter($uriParts)) {
$modx->sendForward($modx->getOption('site_start'));
}"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(28) "plugins/context-switcher.php"
}
[22]=>
array(15) {
["id"]=>
string(2) "22"
["source"]=>
string(1) "1"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(15) "controlErrorLog"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(2) "20"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(2596) "switch ($modx->event->name) {
case 'OnManagerPageBeforeRender':
if ($modx->hasPermission('error_log_view')) {
$modx->controller->addLexiconTopic('controlerrorlog:default');
$modx->controller->addCss($modx->getOption('assets_url').'components/controlerrorlog/css/mgr/main.css');
$modx->controller->addJavascript($modx->getOption('assets_url').'components/controlerrorlog/js/mgr/cel.default.js');
$response = $modx->runProcessor('mgr/errorlog/get', array('includeContent'=>false), array('processors_path' => $modx->getOption('core_path') . 'components/controlerrorlog/processors/'));
$resObj = $response->getObject();
$_html = "";
$modx->controller->addHtml($_html);
}
break;
case 'OnHandleRequest':
$email = $modx->getOption('controlerrorlog.admin_email');
if ($modx->context->get('key') == 'mgr' || empty($email) || !$modx->getOption('controlerrorlog.control_frontend')) return;
$f = $modx->getOption(xPDO::OPT_CACHE_PATH) . 'logs/error.log';
if (file_exists($f)) {
$casheHash = $modx->cacheManager->get('error_log');
$hash = md5_file($f);
if (filesize($f) > 0 && !empty($casheHash) && $casheHash != $hash) {
$modx->lexicon->load('controlerrorlog:default');
/** @var modPHPMailer $mail */
$mail = $modx->getService('mail', 'mail.modPHPMailer');
$mail->setHTML(true);
$mail->set(modMail::MAIL_SUBJECT, $modx->lexicon('error_log_email_subject'));
$mail->set(modMail::MAIL_BODY, $modx->lexicon('error_log_email_body', array('siteName' => $modx->config['site_name'])));
$mail->set(modMail::MAIL_SENDER, $modx->getOption('emailsender'));
$mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender'));
$mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));
$mail->address('to', $email);
$mail->address('reply-to', $modx->getOption('emailsender'));
if (!$mail->send()) {
print ('An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
}
$mail->reset();
}
if ($casheHash != $hash) {
$modx->cacheManager->set('error_log', $hash, 0);
}
}
break;
}"
["locked"]=>
string(1) "0"
["properties"]=>
NULL
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(75) "core/components/controlerrorlog/elements/plugins/plugin.controlerrorlog.php"
}
[5]=>
array(15) {
["id"]=>
string(1) "5"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(18) "ResourceDuplicator"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(6463) "// run only in manager
if ($modx->context->key != 'mgr') {
return;
}
$modx->getService('resinex', 'Resinex', MODX_CORE_PATH . 'components/resinex/');
$modx->getService('babel', 'Babel', MODX_CORE_PATH . 'components/babel/model/babel/');
$modx->regClientStartupScript($modx->resinex->config['jsUrl'] . 'functions.js');
switch ($modx->event->name) {
case 'OnDocFormRender':
if ($modx->event->params['mode'] == 'upd') {
if (!$resource = $modx->event->params['resource']) {
$modx->log(modX::LOG_LEVEL_ERROR, 'No resource provided for OnDocFormRender event in ResourceDuplicator plugin');
return;
}
if ($resource->get('context_key') == 'web') {
$modx->regClientStartupScript($modx->resinex->config['jsUrl'] . 'mgr/published.handler.js');
$linkedResources = $modx->babel->getLinkedResources($resource->get('id'));
$linkedResourceContextKeys = array_keys($linkedResources);
$checkboxes = '';
foreach ($modx->resinex->getCountryLanguageContextKeys() as $key => $value) {
$selected = in_array($key, $linkedResourceContextKeys) ? ' checked="checked"' : '';
$checkboxes .= '
';
$modx->event->output($fields);
}
}
break;
case 'OnDocFormSave':
if (!$resource = $modx->event->params['resource']) {
$modx->log(modX::LOG_LEVEL_ERROR, 'No resource provided for OnDocFormSave event in ResourceDuplicator plugin');
return;
}
// duplicate only published resources
if (!$resource->get('published')) {
return;
}
// no contexts selected
if (empty($_POST['resinex-duplicate-to'])) {
return;
}
// no options selected
if (empty($_POST['resinex-duplicate'])) {
return;
}
// build options
switch ($_POST['resinex-duplicate']) {
case 'update':
$options = array(
'updateOnly' => true,
'createSymlinks' => false,
'notify' => false
);
break;
case 'symlinks':
$options = array(
'updateOnly' => false,
'createSymlinks' => true,
'notify' => false
);
break;
case 'translate':
$options = array(
'updateOnly' => false,
'createSymlinks' => false,
'notify' => true
);
break;
default: // no action
return;
}
try {
$modx->resinex->duplicateResource($resource, $_POST['resinex-duplicate-to'], $options);
} catch (Exception $e) {
$modx->log(modX::LOG_LEVEL_ERROR, $e->getTraceAsString());
}
break;
}"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(31) "plugins/resource-duplicator.php"
}
[6]=>
array(15) {
["id"]=>
string(1) "6"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(14) "ServiceInvoker"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(216) "$modx->getService('resinex', 'Resinex', MODX_CORE_PATH . 'components/resinex/');
$modx->resinex->initialize($modx->context->key);
$modx->getService('babel', 'Babel', MODX_CORE_PATH . 'components/babel/model/babel/');"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(27) "plugins/service-invoker.php"
}
[7]=>
array(15) {
["id"]=>
string(1) "7"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(5) "Babel"
["description"]=>
string(46) "Links and synchronizes multilingual resources."
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(10837) "/**
* Babel
*
* Copyright 2010 by Jakob Class
*
* This file is part of Babel.
*
* Babel is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option) any later
* version.
*
* Babel is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* Babel; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307 USA
*
* @package babel
*/
/**
* Babel Plugin to link and synchronize multilingual resources
*
* Based on ideas of Sylvain Aerni
*
* Events:
* OnDocFormPrerender,OnDocFormSave,OnEmptyTrash,OnContextRemove,OnResourceDuplicate
*
* @author Jakob Class
*
* @package babel
*
*/
$babel = $modx->getService('babel','Babel',$modx->getOption('babel.core_path',null,$modx->getOption('core_path').'components/babel/').'model/babel/',$scriptProperties);
if (!($babel instanceof Babel)) return;
/* be sure babel TV is loaded */
if(!$babel->babelTv) return;
switch ($modx->event->name) {
case 'OnDocFormPrerender':
$output = '';
$errorMessage = '';
$resource =& $modx->event->params['resource'];
if(!$resource) {
/* a new resource is being to created
* -> skip rendering the babel box */
break;
}
$contextKeys = $babel->getGroupContextKeys($resource->get('context_key'));
$currentContextKey = $resource->get('context_key');
$linkedResources = $babel->getLinkedResources($resource->get('id'));
if(empty($linkedResources)) {
/* always be sure that the Babel TV is set */
$babel->initBabelTv($resource);
}
/* grab manager actions IDs */
$actions = $modx->request->getAllActionIDs();
if(isset($_POST['babel-context-key'])) {
/* one of the following babel actions has been performed: link, unlink or translate */
try {
$contextKey = $_POST['babel-context-key'];
/* check if context is valid */
$context = $modx->getObject('modContext', array('key' => $contextKey));
if(!$context) {
$errorParameter = array('context' => $contextKey);
throw new Exception('error.invalid_context_key');
}
/* manuallly add or change a translation link */
if(isset($_POST['babel-link'])) {
if($linkedResources[$contextKey] == $_POST['babel-link-target']) {
/* target resource is equal to current resource -> nothing to do */
throw new Exception();
}
$targetResource = $modx->getObject('modResource', intval($_POST['babel-link-target']));
if(!$targetResource) {
/* error: resource id is not valid */
$errorParameter = array('resource' => htmlentities($_POST['babel-link-target']));
throw new Exception('error.invalid_resource_id');
}
if($targetResource->get('context_key') != $contextKey) {
/* error: resource id of another context has been provided */
$errorParameter = array(
'resource' => $targetResource->get('id'),
'context' => $contextKey);
throw new Exception('error.resource_from_other_context');
}
$targetLinkedResources = $babel->getLinkedResources($targetResource->get('id'));
if(count($targetLinkedResources) > 1) {
/* error: target resource is already linked with other resources */
$errorParameter = array('resource' => $targetResource->get('id'));
throw new Exception('error.resource_already_linked');
}
/* add or change a translation link */
if(isset($linkedResources[$contextKey])) {
/* existing link has been changed:
* -> reset Babel TV of old resource */
$babel->initBabelTvById($linkedResources[$contextKey]);
}
$linkedResources[$contextKey] = $targetResource->get('id');
$babel->updateBabelTv($linkedResources, $linkedResources);
/* copy values of synchronized TVs to target resource */
if(isset($_POST['babel-link-copy-tvs']) && intval($_POST['babel-link-copy-tvs']) == 1) {
$babel->sychronizeTvs($resource->get('id'));
}
}
/* remove an existing translation link */
if(isset($_POST['babel-unlink'])) {
if(!isset($linkedResources[$contextKey])) {
/* error: there is no link for this context */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.no_link_to_context');
}
if($linkedResources[$contextKey] == $resource->get('id')) {
/* error: (current) resource can not be unlinked from it's translations */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.unlink_of_selflink_not_possible');
}
$unlinkedResource = $modx->getObject('modResource', intval($linkedResources[$contextKey]));
if(!$unlinkedResource) {
/* error: invalid resource id */
$errorParameter = array('resource' => htmlentities($linkedResources[$contextKey]));
throw new Exception('error.invalid_resource_id');
}
if($unlinkedResource->get('context_key') != $contextKey) {
/* error: resource is of a another context */
$errorParameter = array(
'resource' => $targetResource->get('id'),
'context' => $contextKey);
throw new Exception('error.resource_from_other_context');
}
/* unlink resource and reset its Babel TV */
$babel->initBabelTv($unlinkedResource);
unset($linkedResources[$contextKey]);
$babel->updateBabelTv($linkedResources, $linkedResources);
}
/* create an new resource an add a translation link */
if(isset($_POST['babel-translate'])) {
if($currentContextKey == $contextKey) {
/* error: translation should be created in the same context */
throw new Exception('error.translation_in_same_context');
}
if(isset($linkedResources[$contextKey])) {
/* error: there does already exist a translation */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.translation_already_exists');
}
$newResource = $babel->duplicateResource($resource, $contextKey);
if($newResource) {
$linkedResources[$contextKey] = $newResource->get('id');
$babel->updateBabelTv($linkedResources, $linkedResources);
} else {
/* error: translation could not be created */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.could_not_create_translation');
}
/* redirect to new resource */
$url = $modx->getOption('manager_url',null,MODX_MANAGER_URL).'?a='.$actions['resource/update'].'&id='.$newResource->get('id');
$modx->sendRedirect(rtrim($url,'/'),'','','full');
}
} catch (Exception $exception) {
$errorKey = $exception->getMessage();
if($errorKey) {
if(!is_array($errorParameter)) {
$errorParameter = array();
}
$errorMessage = '
'.$modx->lexicon($errorKey,$errorParameter).'
';
}
}
}
/* create babel-box with links to translations */
$linkedResources = $babel->getLinkedResources($resource->get('id'));
$outputLanguageItems = '';
foreach($contextKeys as $contextKey) {
/* for each (valid/existing) context of the context group a button will be displayed */
$context = $modx->getObject('modContext', array('key' => $contextKey));
if(!$context) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Could not load context: '.$contextKey);
continue;
}
$context->prepare();
$cultureKey = $context->getOption('cultureKey',$modx->getOption('cultureKey'));
/* url to which the form will post it's data */
$formUrl = '?a='.$actions['resource/update'].'&id='.$resource->get('id');
if(isset($linkedResources[$contextKey])) {
/* link to this context has been set */
if($linkedResources[$contextKey] == $resource->get('id')) {
/* don't show language layer for current resource */
$showLayer = '';
} else {
$showLayer = 'yes';
}
$showTranslateButton = '';
$showUnlinkButton = 'yes';
$showSecondRow = '';
$resourceId = $linkedResources[$contextKey];
$resourceUrl = '?a='.$actions['resource/update'].'&id='.$resourceId;
if($resourceId == $resource->get('id')) {
$className = 'selected';
} else {
$className = '';
}
} else {
/* link to this context has not been set yet:
* -> show button to create translation */
$showLayer = 'yes';
$showTranslateButton = 'yes';
$showUnlinkButton = '';
$showSecondRow = 'yes';
$resourceId = '';
$resourceUrl = '#';
$className = 'notset';
}
$placeholders = array(
'formUrl' => $formUrl,
'contextKey' => $contextKey,
'cultureKey' => $cultureKey,
'resourceId' => $resourceId,
'resourceUrl' => $resourceUrl,
'className' => $className,
'showLayer' => $showLayer,
'showTranslateButton' => $showTranslateButton,
'showUnlinkButton' => $showUnlinkButton,
'showSecondRow' => $showSecondRow,
);
$outputLanguageItems .= $babel->getChunk('mgr/babelBoxItem', $placeholders);
}
$output .= '
A request for a password reset has been issued for your MODX user. If you sent this, you may follow this link and use this password to login. If you did not send this request, please ignore this email.
A request for a password reset has been issued for your MODX user. If you sent this, you may follow this link and use this password to login. If you did not send this request, please ignore this email.
To activate your new password click the following link:
[[+surl]]
If successful you can use the following password to login:
Password: [[+pwd]]
If you did not request this email then please ignore it.
Regards,
Site Administrator
"
["websignupemail_message"]=>
string(307) "
Hello [[+uid]],
Here are your login details for [[+sname]]:
Username: [[+uid]] Password: [[+pwd]]
Once you log into [[+sname]] at [[+surl]], you can change your password.
Regards,
Site Administrator
"
["welcome_screen"]=>
string(0) ""
["welcome_screen_url"]=>
string(47) "http://misc.modx.com/revolution/welcome.22.html"
["which_editor"]=>
string(7) "TinyMCE"
["which_element_editor"]=>
string(10) "CodeMirror"
["xhtml_urls"]=>
string(1) "1"
["settings_version"]=>
string(8) "2.8.3-pl"
["settings_distro"]=>
string(11) "traditional"
["codemirror.enable"]=>
string(1) "1"
["tiny.base_url"]=>
string(0) ""
["tiny.convert_fonts_to_spans"]=>
string(1) "1"
["tiny.convert_newlines_to_brs"]=>
string(0) ""
["tiny.css_selectors"]=>
string(0) ""
["tiny.custom_buttons1"]=>
string(220) "undo,redo,selectall,separator,pastetext,pasteword,separator,search,replace,separator,nonbreaking,hr,charmap,separator,image,modxlink,unlink,anchor,media,separator,cleanup,removeformat,separator,fullscreen,print,code,help"
["tiny.custom_buttons2"]=>
string(201) "bold,italic,underline,strikethrough,sub,sup,separator,bullist,numlist,outdent,indent,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect,separator,styleprops"
["tiny.custom_buttons3"]=>
string(0) ""
["tiny.custom_buttons4"]=>
string(0) ""
["tiny.custom_buttons5"]=>
string(0) ""
["tiny.custom_plugins"]=>
string(133) "style,advimage,advlink,modxlink,searchreplace,print,contextmenu,paste,fullscreen,noneditable,nonbreaking,xhtmlxtras,visualchars,media"
["tiny.editor_theme"]=>
string(8) "advanced"
["tiny.element_format"]=>
string(5) "xhtml"
["tiny.entity_encoding"]=>
string(5) "named"
["tiny.fix_nesting"]=>
string(0) ""
["tiny.fix_table_elements"]=>
string(0) ""
["tiny.font_size_classes"]=>
string(0) ""
["tiny.font_size_style_values"]=>
string(52) "xx-small,x-small,small,medium,large,x-large,xx-large"
["tiny.forced_root_block"]=>
string(0) ""
["tiny.indentation"]=>
string(4) "20px"
["tiny.invalid_elements"]=>
string(0) ""
["tiny.nowrap"]=>
string(0) ""
["tiny.object_resizing"]=>
string(1) "1"
["tiny.path_options"]=>
string(0) ""
["tiny.remove_linebreaks"]=>
string(0) ""
["tiny.remove_redundant_brs"]=>
string(1) "1"
["tiny.removeformat_selector"]=>
string(22) "b,strong,em,i,span,ins"
["tiny.skin"]=>
string(7) "cirkuit"
["tiny.skin_variant"]=>
string(0) ""
["tiny.table_inline_editing"]=>
string(0) ""
["tiny.template_list"]=>
string(0) ""
["tiny.template_list_snippet"]=>
string(0) ""
["tiny.template_selected_content_classes"]=>
string(0) ""
["tiny.theme_advanced_blockformats"]=>
string(51) "p,h1,h2,h3,h4,h5,h6,div,blockquote,code,pre,address"
["tiny.theme_advanced_font_sizes"]=>
string(62) "80%,90%,100%,120%,140%,160%,180%,220%,260%,320%,400%,500%,700%"
["tiny.use_uncompressed_library"]=>
string(0) ""
["phpthumbof.s3_secret_key"]=>
string(0) ""
["phpthumbof.s3_key"]=>
string(0) ""
["phpthumbof.use_s3"]=>
string(0) ""
["phpthumbof.postfix_property_hash"]=>
string(1) "1"
["resizer.graphics_library"]=>
string(1) "2"
["phpthumbof.cache_url"]=>
string(0) ""
["phpthumbof.cache_path"]=>
string(0) ""
["resinex.core_path"]=>
string(48) "/srv/php/resinex/htdocs/core/components/resinex/"
["resinex.assets_url"]=>
string(27) "/assets/components/resinex/"
["babel.contextKeys"]=>
string(381) "at-de,at-en,be-de,be-en,be-fr,be-nl,bg-bg,bg-en,ch-de,ch-en,ch-fr,ch-it,cz-cs,cz-en,de-de,de-en,dk-da,dk-en,ee-en,es-en,es-es,fi-en,fi-fi,fr-en,fr-fr,gb-en,gr-el,gr-en,hr-en,hr-hr,hu-en,hu-hu,ie-en,it-en,it-it,lt-en,lt-lt,lv-en,mk-mk,nl-en,nl-nl,no-en,no-no,pl-en,pl-pl,pt-en,pt-pt,ro-en,ro-ro,rs-en,rs-sr,ru-en,ru-ru,se-en,se-sv,sk-en,sk-sk,sl-en,sl-sl,tr-en,tr-tr,ua-en,ua-uk,web"
["babel.babelTvName"]=>
string(14) "BabelLangLinks"
["babel.syncTvs"]=>
string(37) "8,10,11,12,13,14,15,16,23,24,25,26,27"
["resinex.import_contexts_file"]=>
string(59) "/srv/php/resinex/htdocs/core/../../data/import/contexts.csv"
["phpthumbof.s3_headers_check"]=>
string(0) ""
["phpthumbof.s3_cache_time"]=>
string(2) "24"
["phpthumbof.s3_path"]=>
string(11) "phpthumbof/"
["phpthumbof.s3_host_alias"]=>
string(0) ""
["phpthumbof.s3_bucket"]=>
string(0) ""
["resinex.welcome_page"]=>
string(0) ""
["resinex.contacts_page"]=>
string(0) ""
["resinex.search_page"]=>
string(0) ""
["resinex.news_page"]=>
string(0) ""
["resinex.header_page_links"]=>
string(1) "1"
["resinex.footer_page_links"]=>
string(0) ""
["resinex.date_format"]=>
string(0) ""
["resinex.latest_news_limit"]=>
string(1) "3"
["resinex.featured_pages"]=>
string(0) ""
["resinex.title_separator"]=>
string(3) " - "
["default_context"]=>
string(3) "web"
["form_customization_use_all_groups"]=>
string(0) ""
["friendly_urls_strict"]=>
string(1) "0"
["lock_ttl"]=>
string(3) "360"
["manager_week_start"]=>
string(1) "0"
["modx_browser_default_sort"]=>
string(4) "name"
["access_policies_version"]=>
string(3) "1.0"
["cache_alias_map"]=>
string(1) "1"
["session_cookie_httponly"]=>
string(1) "1"
["controlerrorlog.admin_email"]=>
string(0) ""
["controlerrorlog.control_frontend"]=>
string(0) ""
["controlerrorlog.auto_refresh"]=>
string(1) "1"
["controlerrorlog.refresh_freq"]=>
string(2) "60"
["controlerrorlog.last_lines"]=>
string(2) "15"
["session_cookie_domain"]=>
string(0) ""
["session_cookie_path"]=>
string(1) "/"
["confirm_navigation"]=>
string(1) "1"
["friendly_alias_realtime"]=>
string(1) "0"
["use_frozen_parent_uris"]=>
string(1) "0"
["modx_browser_tree_hide_files"]=>
string(1) "1"
["modx_browser_tree_hide_tooltips"]=>
string(1) "1"
["modx_browser_default_viewmode"]=>
string(4) "grid"
["resource_tree_node_name_fallback"]=>
string(9) "pagetitle"
["default_username"]=>
string(11) "(anonymous)"
["anonymous_sessions"]=>
string(1) "1"
["send_poweredby_header"]=>
string(1) "0"
["syncsite_default"]=>
string(1) "1"
["welcome_action"]=>
string(7) "welcome"
["welcome_namespace"]=>
string(4) "core"
["enable_gravatar"]=>
string(1) "1"
["mgr_tree_icon_context"]=>
string(12) "tree-context"
["mgr_source_icon"]=>
string(18) "icon-folder-open-o"
["main_nav_parent"]=>
string(6) "topnav"
["user_nav_parent"]=>
string(7) "usernav"
["auto_isfolder"]=>
string(1) "1"
["manager_use_fullname"]=>
string(0) ""
["parser_recurse_uncacheable"]=>
string(1) "1"
["preserve_menuindex"]=>
string(1) "1"
["databackup.folder"]=>
string(57) "/srv/php/resinex/htdocs/core/components/databackup/dumps/"
["databackup.temp"]=>
string(62) "/srv/php/resinex/htdocs/core/components/databackup/dumps/temp/"
["databackup.purge"]=>
string(7) "1814400"
["parser_class"]=>
string(15) "fastFieldParser"
["parser_class_path"]=>
string(66) "/srv/php/resinex/htdocs/core/components/fastfield/model/fastfield/"
["superboxselect.debug"]=>
string(1) "0"
["superboxselect.advanced"]=>
string(1) "0"
["phpthumbsup.core_path"]=>
string(52) "/srv/php/resinex/htdocs/core/components/phpthumbsup/"
["phpthumbsup.cache_path"]=>
string(47) "/srv/php/resinex/htdocs/core/cache/phpthumbsup/"
["phpthumbsup.base_url"]=>
string(13) "/phpthumbsup/"
["phpthumbsup.auto_create"]=>
string(0) ""
["phpthumbsup.clear_cache"]=>
string(1) "1"
["phpthumbsup.available_options"]=>
string(86) "w,h,wp,hp,wl,hl,ws,hs,f,q,sx,sy,sw,sh,zc,bg,bc,fltr,xto,ra,ar,sfn,aoe,iar,far,dpi,maxb"
["phpthumbsup.available_filters"]=>
string(122) "brit,cont,gam,sat,ds,gray,th,rcd,clr,sep,usm,blur,sblr,smth,lvl,wb,hist,flip,ric,elip,bvl,bord,fram,drop,crop,rot,size,stc"
["phpthumbsup.responsive"]=>
string(0) ""
["phpthumbsup.responsive_threshold"]=>
string(8) "480,1024"
["phpthumbsup.default"]=>
string(0) ""
["phpthumbof.use_resizer"]=>
string(0) ""
["pthumb.global_defaults"]=>
string(0) ""
["phpthumbof.remote_timeout"]=>
string(1) "5"
["pthumb.clean_level"]=>
string(1) "0"
["pthumb.use_ptcache"]=>
string(0) ""
["pthumb.ptcache_location"]=>
string(18) "assets/image-cache"
["pthumb.ptcache_images_basedir"]=>
string(6) "assets"
["phpthumbof.check_mod_time"]=>
string(0) ""
["pthumb.s3_output"]=>
string(0) ""
["pthumb.s3_headers"]=>
string(0) ""
["pthumb.s3_multi_img"]=>
string(0) ""
["pthumb.s3_cache_path"]=>
string(0) ""
["use_context_resource_table"]=>
string(1) "1"
["allow_tv_eval"]=>
string(1) "1"
["log_snippet_not_found"]=>
string(1) "1"
["cache_resource_clear_partial"]=>
string(1) "0"
["default_media_source_type"]=>
string(26) "sources.modFileMediaSource"
["log_deprecated"]=>
string(1) "1"
["static_elements_automate_templates"]=>
string(1) "0"
["static_elements_automate_tvs"]=>
string(1) "0"
["static_elements_automate_chunks"]=>
string(1) "0"
["static_elements_automate_snippets"]=>
string(1) "0"
["static_elements_automate_plugins"]=>
string(1) "0"
["static_elements_default_mediasource"]=>
string(1) "0"
["static_elements_default_category"]=>
string(1) "0"
["static_elements_basepath"]=>
string(0) ""
["error_log_filename"]=>
string(9) "error.log"
["error_log_filepath"]=>
string(0) ""
["logrotation_size"]=>
string(6) "102400"
["mail_smtp_autotls"]=>
string(1) "1"
["session_cookie_samesite"]=>
string(0) ""
["resource_static_allow_absolute"]=>
string(1) "0"
["resource_static_path"]=>
string(31) "/srv/php/resinex/htdocs/assets/"
["upload_check_exists"]=>
string(1) "1"
}
["_userConfig"]=>
array(0) {
}
["_logSequence":protected]=>
int(0)
["pluginCache"]=>
&array(14) {
[1]=>
array(15) {
["id"]=>
string(1) "1"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(10) "CodeMirror"
["description"]=>
string(46) "CodeMirror 2.1.0-pl plugin for MODx Revolution"
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(3906) "/**
* @var modX $modx
* @var array $scriptProperties
*
* @package codemirror
*/
if ($modx->event->name == 'OnRichTextEditorRegister') {
$modx->event->output('CodeMirror');
return;
}
if ($modx->getOption('which_element_editor',null,'CodeMirror') != 'CodeMirror') return;
if (!$modx->getOption('use_editor',null,true)) return;
if (!$modx->getOption('codemirror.enable',null,true)) return;
/** @var CodeMirror $codeMirror */
$codeMirror = $modx->getService('codemirror','CodeMirror',$modx->getOption('codemirror.core_path',null,$modx->getOption('core_path').'components/codemirror/').'model/codemirror/');
if (!($codeMirror instanceof CodeMirror)) return '';
$options = array(
'modx_path' => $codeMirror->config['assetsUrl'],
'theme' => $modx->getOption('theme',$scriptProperties,'default'),
'indentUnit' => (int)$modx->getOption('indentUnit',$scriptProperties,$modx->getOption('indent_unit',$scriptProperties,2)),
'smartIndent' => (boolean)$modx->getOption('smartIndent',$scriptProperties,false),
'tabSize' => (boolean)$modx->getOption('tabSize',$scriptProperties,4),
'indentWithTabs' => (boolean)$modx->getOption('indentWithTabs',$scriptProperties,true),
'electricChars' => (boolean)$modx->getOption('electricChars',$scriptProperties,true),
'autoClearEmptyLines' => (boolean)$modx->getOption('electricChars',$scriptProperties,false),
'lineWrapping' => (boolean)$modx->getOption('lineWrapping',$scriptProperties,true),
'lineNumbers' => (boolean)$modx->getOption('lineNumbers',$scriptProperties,$modx->getOption('line_numbers',$scriptProperties,true)),
'firstLineNumber' => (int)$modx->getOption('firstLineNumber',$scriptProperties,1),
'highlightLine' => (boolean)$modx->getOption('highlightLine',$scriptProperties,true),
'matchBrackets' => (boolean)$modx->getOption('matchBrackets',$scriptProperties,true),
'showSearchForm' => (boolean)$modx->getOption('showSearchForm',$scriptProperties,true),
'undoDepth' => $modx->getOption('undoDepth',$scriptProperties,40),
);
$load = false;
switch ($modx->event->name) {
case 'OnSnipFormPrerender':
$options['modx_loader'] = 'onSnippet';
$options['mode'] = 'php';
$load = true;
break;
case 'OnTempFormPrerender':
$options['modx_loader'] = 'onTemplate';
$options['mode'] = 'htmlmixed';
$load = true;
break;
case 'OnChunkFormPrerender':
$options['modx_loader'] = 'onChunk';
$options['mode'] = 'htmlmixed';
$load = true;
break;
case 'OnPluginFormPrerender':
$options['modx_loader'] = 'onPlugin';
$options['mode'] = 'php';
$load = true;
break;
/* disabling TVs for now, since it causes problems with newlines
case 'OnTVFormPrerender':
$options['modx_loader'] = 'onTV';
$options['height'] = '250px';
$load = true;
break;*/
case 'OnFileEditFormPrerender':
$options['modx_loader'] = 'onFile';
$options['mode'] = 'php';
$load = true;
break;
/* debated whether or not to use */
case 'OnRichTextEditorInit':
break;
case 'OnRichTextBrowserInit':
break;
}
if ($load) {
$options['searchTpl'] = $codeMirror->getChunk('search');
$modx->regClientStartupHTMLBlock('');
$modx->regClientCSS($codeMirror->config['assetsUrl'].'css/codemirror-compressed.css');
$modx->regClientCSS($codeMirror->config['assetsUrl'].'css/cm.css');
if ($options['theme'] != 'default') {
$modx->regClientCSS($codeMirror->config['assetsUrl'].'cm/theme/'.$options['theme'].'.css');
}
$modx->regClientStartupScript($codeMirror->config['assetsUrl'].'js/codemirror-compressed.js');
$modx->regClientStartupScript($codeMirror->config['assetsUrl'].'js/cm.js');
}
return;"
["locked"]=>
string(1) "0"
["properties"]=>
string(4098) "a:14:{s:5:"theme";a:7:{s:4:"name";s:5:"theme";s:4:"desc";s:18:"prop_cm.theme_desc";s:4:"type";s:4:"list";s:7:"options";a:14:{i:0;a:2:{s:4:"text";s:7:"default";s:5:"value";s:7:"default";}i:1;a:2:{s:4:"text";s:8:"ambiance";s:5:"value";s:8:"ambiance";}i:2;a:2:{s:4:"text";s:10:"blackboard";s:5:"value";s:10:"blackboard";}i:3;a:2:{s:4:"text";s:6:"cobalt";s:5:"value";s:6:"cobalt";}i:4;a:2:{s:4:"text";s:7:"eclipse";s:5:"value";s:7:"eclipse";}i:5;a:2:{s:4:"text";s:7:"elegant";s:5:"value";s:7:"elegant";}i:6;a:2:{s:4:"text";s:11:"erlang-dark";s:5:"value";s:11:"erlang-dark";}i:7;a:2:{s:4:"text";s:11:"lesser-dark";s:5:"value";s:11:"lesser-dark";}i:8;a:2:{s:4:"text";s:7:"monokai";s:5:"value";s:7:"monokai";}i:9;a:2:{s:4:"text";s:4:"neat";s:5:"value";s:4:"near";}i:10;a:2:{s:4:"text";s:5:"night";s:5:"value";s:5:"night";}i:11;a:2:{s:4:"text";s:8:"rubyblue";s:5:"value";s:8:"rubyblue";}i:12;a:2:{s:4:"text";s:11:"vibrant-ink";s:5:"value";s:11:"vibrant-ink";}i:13;a:2:{s:4:"text";s:7:"xq-dark";s:5:"value";s:7:"xq-dark";}}s:5:"value";s:7:"default";s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:10:"indentUnit";a:7:{s:4:"name";s:10:"indentUnit";s:4:"desc";s:23:"prop_cm.indentUnit_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:2;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:11:"smartIndent";a:7:{s:4:"name";s:11:"smartIndent";s:4:"desc";s:24:"prop_cm.smartIndent_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:7:"tabSize";a:7:{s:4:"name";s:7:"tabSize";s:4:"desc";s:20:"prop_cm.tabSize_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:4;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:14:"indentWithTabs";a:7:{s:4:"name";s:14:"indentWithTabs";s:4:"desc";s:27:"prop_cm.indentWithTabs_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:13:"electricChars";a:7:{s:4:"name";s:13:"electricChars";s:4:"desc";s:26:"prop_cm.electricChars_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:19:"autoClearEmptyLines";a:7:{s:4:"name";s:19:"autoClearEmptyLines";s:4:"desc";s:32:"prop_cm.autoClearEmptyLines_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:12:"lineWrapping";a:7:{s:4:"name";s:12:"lineWrapping";s:4:"desc";s:25:"prop_cm.lineWrapping_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:11:"lineNumbers";a:7:{s:4:"name";s:11:"lineNumbers";s:4:"desc";s:24:"prop_cm.lineNumbers_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:15:"firstLineNumber";a:7:{s:4:"name";s:15:"firstLineNumber";s:4:"desc";s:28:"prop_cm.firstLineNumber_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:13:"highlightLine";a:7:{s:4:"name";s:13:"highlightLine";s:4:"desc";s:26:"prop_cm.highlightLine_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:13:"matchBrackets";a:7:{s:4:"name";s:13:"matchBrackets";s:4:"desc";s:26:"prop_cm.matchBrackets_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:14:"showSearchForm";a:7:{s:4:"name";s:14:"showSearchForm";s:4:"desc";s:27:"prop_cm.showSearchForm_desc";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}s:9:"undoDepth";a:7:{s:4:"name";s:9:"undoDepth";s:4:"desc";s:22:"prop_cm.undoDepth_desc";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";i:40;s:7:"lexicon";s:21:"codemirror:properties";s:4:"area";s:0:"";}}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[2]=>
array(15) {
["id"]=>
string(1) "2"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(7) "TinyMCE"
["description"]=>
string(43) "TinyMCE 4.3.3-pl plugin for MODx Revolution"
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(3026) "/**
* TinyMCE RichText Editor Plugin
*
* Events: OnRichTextEditorInit, OnRichTextEditorRegister,
* OnBeforeManagerPageInit, OnRichTextBrowserInit
*
* @author Jeff Whitfield
* @author Shaun McCormick
*
* @var modX $modx
* @var array $scriptProperties
*
* @package tinymce
* @subpackage build
*/
if ($modx->event->name == 'OnRichTextEditorRegister') {
$modx->event->output('TinyMCE');
return;
}
require_once $modx->getOption('tiny.core_path',null,$modx->getOption('core_path').'components/tinymce/').'tinymce.class.php';
$tiny = new TinyMCE($modx,$scriptProperties);
$useEditor = $tiny->context->getOption('use_editor',false);
$whichEditor = $tiny->context->getOption('which_editor','');
/* Handle event */
switch ($modx->event->name) {
case 'OnRichTextEditorInit':
if ($useEditor && $whichEditor == 'TinyMCE') {
unset($scriptProperties['chunk']);
if (isset($forfrontend) || $modx->context->get('key') != 'mgr') {
$def = $tiny->context->getOption('cultureKey',$tiny->context->getOption('manager_language','en'));
$tiny->properties['language'] = $modx->getOption('fe_editor_lang',array(),$def);
$tiny->properties['frontend'] = true;
unset($def);
}
/* commenting these out as it causes problems with richtext tvs */
//if (isset($scriptProperties['resource']) && !$resource->get('richtext')) return;
//if (!isset($scriptProperties['resource']) && !$modx->getOption('richtext_default',null,false)) return;
$tiny->setProperties($scriptProperties);
$html = $tiny->initialize();
$modx->event->output($html);
unset($html);
}
break;
case 'OnRichTextBrowserInit':
if ($useEditor && $whichEditor == 'TinyMCE') {
$inRevo20 = (boolean)version_compare($modx->version['full_version'],'2.1.0-rc1','<');
$modx->getVersionData();
$source = $tiny->context->getOption('default_media_source',null,1);
$modx->controller->addHtml('');
$modx->controller->addJavascript($tiny->config['assetsUrl'].'jscripts/tiny_mce/tiny_mce_popup.js');
if (file_exists($tiny->config['assetsPath'].'jscripts/tiny_mce/langs/'.$tiny->properties['language'].'.js')) {
$modx->controller->addJavascript($tiny->config['assetsUrl'].'jscripts/tiny_mce/langs/'.$tiny->properties['language'].'.js');
} else {
$modx->controller->addJavascript($tiny->config['assetsUrl'].'jscripts/tiny_mce/langs/en.js');
}
$modx->controller->addJavascript($tiny->config['assetsUrl'].'tiny.browser.js');
$modx->event->output('Tiny.browserCallback');
}
return '';
break;
default: break;
}
return;"
["locked"]=>
string(1) "0"
["properties"]=>
string(17556) "a:39:{s:22:"accessibility_warnings";a:7:{s:4:"name";s:22:"accessibility_warnings";s:4:"desc";s:315:"If this option is set to true some accessibility warnings will be presented to the user if they miss specifying that information. This option is set to true by default, since we should all try to make this world a better place for disabled people. But if you are annoyed with the warnings, set this option to false.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:23:"apply_source_formatting";a:7:{s:4:"name";s:23:"apply_source_formatting";s:4:"desc";s:229:"This option enables you to tell TinyMCE to apply some source formatting to the output HTML code. With source formatting, the output HTML code is indented and formatted. Without source formatting, the output HTML is more compact. ";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:15:"button_tile_map";a:7:{s:4:"name";s:15:"button_tile_map";s:4:"desc";s:338:"If this option is set to true TinyMCE will use tiled images instead of individual images for most of the editor controls. This produces faster loading time since only one GIF image needs to be loaded instead of a GIF for each individual button. This option is set to false by default since it doesn't work with some DOCTYPE declarations. ";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:7:"cleanup";a:7:{s:4:"name";s:7:"cleanup";s:4:"desc";s:331:"This option enables or disables the built-in clean up functionality. TinyMCE is equipped with powerful clean up functionality that enables you to specify what elements and attributes are allowed and how HTML contents should be generated. This option is set to true by default, but if you want to disable it you may set it to false.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:18:"cleanup_on_startup";a:7:{s:4:"name";s:18:"cleanup_on_startup";s:4:"desc";s:135:"If you set this option to true, TinyMCE will perform a HTML cleanup call when the editor loads. This option is set to false by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:22:"convert_fonts_to_spans";a:7:{s:4:"name";s:22:"convert_fonts_to_spans";s:4:"desc";s:348:"If you set this option to true, TinyMCE will convert all font elements to span elements and generate span elements instead of font elements. This option should be used in order to get more W3C compatible code, since font elements are deprecated. How sizes get converted can be controlled by the font_size_classes and font_size_style_values options.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:23:"convert_newlines_to_brs";a:7:{s:4:"name";s:23:"convert_newlines_to_brs";s:4:"desc";s:128:"If you set this option to true, newline characters codes get converted into br elements. This option is set to false by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"convert_urls";a:7:{s:4:"name";s:12:"convert_urls";s:4:"desc";s:495:"This option enables you to control whether TinyMCE is to be clever and restore URLs to their original values. URLs are automatically converted (messed up) by default because the built-in browser logic works this way. There is no way to get the real URL unless you store it away. If you set this option to false it will try to keep these URLs intact. This option is set to true by default, which means URLs will be forced to be either absolute or relative depending on the state of relative_urls.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:11:"dialog_type";a:7:{s:4:"name";s:11:"dialog_type";s:4:"desc";s:246:"This option enables you to specify how dialogs/popups should be opened. Possible values are "window" and "modal", where the window option opens a normal window and the dialog option opens a modal dialog. This option is set to "window" by default.";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{i:0;s:6:"window";s:4:"text";s:6:"Window";}i:1;a:2:{i:0;s:5:"modal";s:4:"text";s:5:"Modal";}}s:5:"value";s:6:"window";s:7:"lexicon";N;s:4:"area";s:0:"";}s:14:"directionality";a:7:{s:4:"name";s:14:"directionality";s:4:"desc";s:261:"This option specifies the default writing direction. Some languages (Like Hebrew, Arabic, Urdu...) write from right to left instead of left to right. The default value of this option is "ltr" but if you want to use from right to left mode specify "rtl" instead.";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:3:"ltr";s:4:"text";s:13:"Left to Right";}i:1;a:2:{s:5:"value";s:3:"rtl";s:4:"text";s:13:"Right to Left";}}s:5:"value";s:3:"ltr";s:7:"lexicon";N;s:4:"area";s:0:"";}s:14:"element_format";a:7:{s:4:"name";s:14:"element_format";s:4:"desc";s:210:"This option enables control if elements should be in html or xhtml mode. xhtml is the default state for this option. This means that for example <br /> will be <br> if you set this option to "html".";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:5:"xhtml";s:4:"text";s:5:"XHTML";}i:1;a:2:{s:5:"value";s:4:"html";s:4:"text";s:4:"HTML";}}s:5:"value";s:5:"xhtml";s:7:"lexicon";N;s:4:"area";s:0:"";}s:15:"entity_encoding";a:7:{s:4:"name";s:15:"entity_encoding";s:4:"desc";s:70:"This option controls how entities/characters get processed by TinyMCE.";s:4:"type";s:4:"list";s:7:"options";a:4:{i:0;a:2:{s:5:"value";s:0:"";s:4:"text";s:4:"None";}i:1;a:2:{s:5:"value";s:5:"named";s:4:"text";s:5:"Named";}i:2;a:2:{s:5:"value";s:7:"numeric";s:4:"text";s:7:"Numeric";}i:3;a:2:{s:5:"value";s:3:"raw";s:4:"text";s:3:"Raw";}}s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:16:"force_p_newlines";a:7:{s:4:"name";s:16:"force_p_newlines";s:4:"desc";s:147:"This option enables you to disable/enable the creation of paragraphs on return/enter in Mozilla/Firefox. The default value of this option is true. ";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:22:"force_hex_style_colors";a:7:{s:4:"name";s:22:"force_hex_style_colors";s:4:"desc";s:277:"This option enables you to control TinyMCE to force the color format to use hexadecimal instead of rgb strings. It converts for example "color: rgb(255, 255, 0)" to "#FFFF00". This option is set to true by default since otherwice MSIE and Firefox would differ in this behavior.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:6:"height";a:7:{s:4:"name";s:6:"height";s:4:"desc";s:38:"Sets the height of the TinyMCE editor.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:5:"400px";s:7:"lexicon";N;s:4:"area";s:0:"";}s:11:"indentation";a:7:{s:4:"name";s:11:"indentation";s:4:"desc";s:139:"This option allows specification of the indentation level for indent/outdent buttons in the UI. This defaults to 30px but can be any value.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:4:"30px";s:7:"lexicon";N;s:4:"area";s:0:"";}s:16:"invalid_elements";a:7:{s:4:"name";s:16:"invalid_elements";s:4:"desc";s:163:"This option should contain a comma separated list of element names to exclude from the content. Elements in this list will removed when TinyMCE executes a cleanup.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:6:"nowrap";a:7:{s:4:"name";s:6:"nowrap";s:4:"desc";s:212:"This nowrap option enables you to control how whitespace is to be wordwrapped within the editor. This option is set to false by default, but if you enable it by setting it to true editor contents will never wrap.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:15:"object_resizing";a:7:{s:4:"name";s:15:"object_resizing";s:4:"desc";s:148:"This option gives you the ability to turn on/off the inline resizing controls of tables and images in Firefox/Mozilla. These are enabled by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"path_options";a:7:{s:4:"name";s:12:"path_options";s:4:"desc";s:119:"Sets a group of options. Note: This will override the relative_urls, document_base_url and remove_script_host settings.";s:4:"type";s:9:"textfield";s:7:"options";a:3:{i:0;a:2:{s:5:"value";s:11:"docrelative";s:4:"text";s:17:"Document Relative";}i:1;a:2:{s:5:"value";s:12:"rootrelative";s:4:"text";s:13:"Root Relative";}i:2;a:2:{s:5:"value";s:11:"fullpathurl";s:4:"text";s:13:"Full Path URL";}}s:5:"value";s:11:"docrelative";s:7:"lexicon";N;s:4:"area";s:0:"";}s:28:"plugin_insertdate_dateFormat";a:7:{s:4:"name";s:28:"plugin_insertdate_dateFormat";s:4:"desc";s:53:"Formatting of dates when using the InsertDate plugin.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:8:"%Y-%m-%d";s:7:"lexicon";N;s:4:"area";s:0:"";}s:28:"plugin_insertdate_timeFormat";a:7:{s:4:"name";s:28:"plugin_insertdate_timeFormat";s:4:"desc";s:53:"Formatting of times when using the InsertDate plugin.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:8:"%H:%M:%S";s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"preformatted";a:7:{s:4:"name";s:12:"preformatted";s:4:"desc";s:231:"If you enable this feature, whitespace such as tabs and spaces will be preserved. Much like the behavior of a <pre> element. This can be handy when integrating TinyMCE with webmail clients. This option is disabled by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:13:"relative_urls";a:7:{s:4:"name";s:13:"relative_urls";s:4:"desc";s:231:"If this option is set to true, all URLs returned from the file manager will be relative from the specified document_base_url. If it is set to false all URLs will be converted to absolute URLs. This option is set to true by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:17:"remove_linebreaks";a:7:{s:4:"name";s:17:"remove_linebreaks";s:4:"desc";s:531:"This option controls whether line break characters should be removed from output HTML. This option is enabled by default because there are differences between browser implementations regarding what to do with white space in the DOM. Gecko and Safari place white space in text nodes in the DOM. IE and Opera remove them from the DOM and therefore the line breaks will automatically be removed in those. This option will normalize this behavior when enabled (true) and all browsers will have a white-space-stripped DOM serialization.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:18:"remove_script_host";a:7:{s:4:"name";s:18:"remove_script_host";s:4:"desc";s:221:"If this option is enabled the protocol and host part of the URLs returned from the file manager will be removed. This option is only used if the relative_urls option is set to false. This option is set to true by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:20:"remove_trailing_nbsp";a:7:{s:4:"name";s:20:"remove_trailing_nbsp";s:4:"desc";s:392:"This option enables you to specify that TinyMCE should remove any traling characters in block elements if you start to write inside them. Paragraphs are default padded with a and if you write text into such paragraphs the space will remain. Setting this option to true will remove the space. This option is set to false by default since the cursor jumps a bit in Gecko browsers.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:0;s:7:"lexicon";N;s:4:"area";s:0:"";}s:4:"skin";a:7:{s:4:"name";s:4:"skin";s:4:"desc";s:330:"This option enables you to specify what skin you want to use with your theme. A skin is basically a CSS file that gets loaded from the skins directory inside the theme. The advanced theme that TinyMCE comes with has two skins, these are called "default" and "o2k7". We added another skin named "cirkuit" that is chosen by default.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:7:"cirkuit";s:7:"lexicon";N;s:4:"area";s:0:"";}s:12:"skin_variant";a:7:{s:4:"name";s:12:"skin_variant";s:4:"desc";s:403:"This option enables you to specify a variant for the skin, for example "silver" or "black". "default" skin does not offer any variant, whereas "o2k7" default offers "silver" or "black" variants to the default one. For the "cirkuit" skin there's one variant named "silver". When creating a skin, additional variants may also be created, by adding ui_[variant_name].css files alongside the default ui.css.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:20:"table_inline_editing";a:7:{s:4:"name";s:20:"table_inline_editing";s:4:"desc";s:231:"This option gives you the ability to turn on/off the inline table editing controls in Firefox/Mozilla. According to the TinyMCE documentation, these controls are somewhat buggy and not redesignable, so they are disabled by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:22:"theme_advanced_disable";a:7:{s:4:"name";s:22:"theme_advanced_disable";s:4:"desc";s:111:"This option should contain a comma separated list of controls to disable from any toolbar row/panel in TinyMCE.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}s:19:"theme_advanced_path";a:7:{s:4:"name";s:19:"theme_advanced_path";s:4:"desc";s:331:"This option gives you the ability to enable/disable the element path. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom". This option is set to "true" by default. Setting this option to "false" will effectively hide the path tool, though it still takes up room in the Status Bar.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:32:"theme_advanced_resize_horizontal";a:7:{s:4:"name";s:32:"theme_advanced_resize_horizontal";s:4:"desc";s:319:"This option gives you the ability to enable/disable the horizontal resizing. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom" and when the theme_advanced_resizing is set to true. This option is set to true by default, allowing both resizing horizontal and vertical.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:23:"theme_advanced_resizing";a:7:{s:4:"name";s:23:"theme_advanced_resizing";s:4:"desc";s:216:"This option gives you the ability to enable/disable the resizing button. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom". This option is set to false by default.";s:4:"type";s:13:"combo-boolean";s:7:"options";s:0:"";s:5:"value";b:1;s:7:"lexicon";N;s:4:"area";s:0:"";}s:33:"theme_advanced_statusbar_location";a:7:{s:4:"name";s:33:"theme_advanced_statusbar_location";s:4:"desc";s:257:"This option enables you to specify where the element statusbar with the path and resize tool should be located. This option can be set to "top" or "bottom". The default value is set to "top". This option can only be used when the theme is set to "advanced".";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:3:"top";s:4:"text";s:3:"Top";}i:1;a:2:{s:5:"value";s:6:"bottom";s:4:"text";s:6:"Bottom";}}s:5:"value";s:6:"bottom";s:7:"lexicon";N;s:4:"area";s:0:"";}s:28:"theme_advanced_toolbar_align";a:7:{s:4:"name";s:28:"theme_advanced_toolbar_align";s:4:"desc";s:187:"This option enables you to specify the alignment of the toolbar, this value can be "left", "right" or "center" (the default). This option can only be used when theme is set to "advanced".";s:4:"type";s:9:"textfield";s:7:"options";a:3:{i:0;a:2:{s:5:"value";s:6:"center";s:4:"text";s:6:"Center";}i:1;a:2:{s:5:"value";s:4:"left";s:4:"text";s:4:"Left";}i:2;a:2:{s:5:"value";s:5:"right";s:4:"text";s:5:"Right";}}s:5:"value";s:4:"left";s:7:"lexicon";N;s:4:"area";s:0:"";}s:31:"theme_advanced_toolbar_location";a:7:{s:4:"name";s:31:"theme_advanced_toolbar_location";s:4:"desc";s:191:"
This option enables you to specify where the toolbar should be located. This option can be set to "top" or "bottom" (the defualt). This option can only be used when theme is set to advanced.";s:4:"type";s:4:"list";s:7:"options";a:2:{i:0;a:2:{s:5:"value";s:3:"top";s:4:"text";s:3:"Top";}i:1;a:2:{s:5:"value";s:6:"bottom";s:4:"text";s:6:"Bottom";}}s:5:"value";s:3:"top";s:7:"lexicon";N;s:4:"area";s:0:"";}s:5:"width";a:7:{s:4:"name";s:5:"width";s:4:"desc";s:32:"The width of the TinyMCE editor.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:3:"95%";s:7:"lexicon";N;s:4:"area";s:0:"";}s:33:"template_selected_content_classes";a:7:{s:4:"name";s:33:"template_selected_content_classes";s:4:"desc";s:234:"Specify a list of CSS class names for the template plugin. They must be separated by spaces. Any template element with one of the specified CSS classes will have its content replaced by the selected editor content when first inserted.";s:4:"type";s:9:"textfield";s:7:"options";s:0:"";s:5:"value";s:0:"";s:7:"lexicon";N;s:4:"area";s:0:"";}}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[13]=>
array(15) {
["id"]=>
string(2) "13"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(22) "phpThumbOfCacheManager"
["description"]=>
string(52) "Handles cache cleaning when clearing the Site Cache."
["editor_type"]=>
string(1) "0"
["category"]=>
string(2) "26"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(1263) "/*
* Handles cache cleanup
* pThumb
* Copyright 2013 Jason Grant
*
* Please see the GitHub page for documentation or to report bugs:
* https://github.com/oo12/phpThumbOf
*
* pThumb is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* pThumb is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* phpThumbOf; if not, write to the Free Software Foundation, Inc., 59 Temple
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
if ($modx->event->name === 'OnSiteRefresh') {
if (!$modx->loadClass('pThumbCacheCleaner', MODX_CORE_PATH . 'components/phpthumbof/model/', true, true)) {
$modx->log(modX::LOG_LEVEL_ERROR, '[pThumb] Could not load pThumbCacheCleaner class.');
return;
}
static $pt_settings = array();
$pThumb = new pThumbCacheCleaner($modx, $pt_settings, array(), true);
$pThumb->cleanCache();
}"
["locked"]=>
string(1) "0"
["properties"]=>
NULL
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(0) ""
}
[4]=>
array(15) {
["id"]=>
string(1) "4"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(15) "ContextSwitcher"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(12846) "if ($modx->context->key == 'mgr') {
return;
}
//$contextKeys = array(
// 'at-de', 'at-en', 'be-de', 'be-en', 'be-fr', 'be-nl', 'bg-bg', 'bg-en', 'ch-de',
// 'ch-en', 'ch-fr', 'ch-it', 'cz-cs', 'cz-en', 'de-de', 'de-en', 'dk-da', 'dk-en',
// 'ee-en', 'es-en', 'es-es', 'fi-en', 'fr-en', 'fr-fr', 'gb-en', 'gr-el', 'gr-en',
// 'hr-en', 'hr-hr', 'hu-en', 'hu-hu', 'ie-en', 'it-en', 'it-it', 'lt-en', 'lt-lt',
// 'lv-en', 'nl-en', 'nl-nl', 'no-en', 'no-no', 'pl-en', 'pl-pl', 'pt-en', 'pt-pt',
// 'ro-en', 'ro-ro', 'rs-en', 'rs-sr', 'ru-en', 'ru-ru', 'se-en', 'se-sv', 'sk-en',
// 'sk-sk', 'sl-en', 'sl-sl', 'tr-en', 'tr-tr', 'ua-en', 'ua-uk', 'fi-fi'
//);
//
//if ($_SERVER['SERVER_NAME'] == 'resinex-dev.etn.cz') {
// $uriParts = explode('/', ltrim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'));
// $contextKey = array_shift($uriParts);
// if (in_array($contextKey, $contextKeys)) {
// $modx->switchContext($contextKey);
// $_REQUEST['q'] = implode('/', $uriParts);
// $uriParts = array_filter($uriParts);
// if (empty($uriParts)) {
// $modx->sendForward($modx->getOption('site_start'));
// }
// } else {
// $modx->switchContext('web');
// }
//} else {
//
//}
//return;
$httpHost = $modx->getOption('http_host');
if (substr($httpHost, 0, 4) == 'www.') {
$httpHost = mb_substr($httpHost, 4);
}
if (!empty($_GET['langCode'])) {
$httpHost .= '/' . rtrim($_GET['langCode'], '/');
}
$langCodes = array('en', 'at', 'ee', 'fi', 'bg', 'cz', 'de', 'es', 'fr', 'gb', 'gr', 'hr', 'hu', 'ie', 'lt', 'lv', 'nl', 'pl', 'ru', 'ro', 'rs', 'sl', 'tr', 'it', 'pt', 'se', 'sk', 'ua');
$uriParts = explode('/', ltrim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'));
$firstPart = array_shift($uriParts);
if (in_array($firstPart, $langCodes)) {
$langCode = $firstPart;
$httpHost .= '/' . $langCode;
$_REQUEST['q'] = implode('/', $uriParts);
} else {
$langCode = '';
}
switch ($httpHost) {
case 'resinex.co.uk:80':
case 'resinex.co.uk':
case 'gb.resinex.resinex-php-dev-1.mit.etn.cz':
$modx->switchContext('gb-en');
break;
// .ie
case 'resinex.ie:80':
case 'resinex.ie':
case 'ie.resinex.resinex-php-dev-1.mit.etn.cz':
// $modx->switchContext('gb-en');
$modx->switchContext('ie-en');
break;
// .at
case 'resinex.at:80':
case 'at.resinex.resinex-php-dev-1.mit.etn.cz':
case 'at.resinex-php-1.mit.etn.cz':
case 'resinex.at':
$modx->switchContext('at-de');
break;
case 'resinex.at:80/en':
case 'at.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.at/en':
$modx->switchContext('at-en');
break;
// .ee
case 'resinex.ee:80':
case 'ee.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ee':
$modx->switchContext('ee-en');
break;
// .be
case 'resinex.be:80':
case 'resinex.be':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz':
$modx->switchContext('be-nl');
break;
case 'resinex.be/fr:80':
case 'resinex.be/fr':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz/fr':
$modx->switchContext('be-fr');
break;
case 'resinex.be/de:80':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz/de':
case 'resinex.be/de':
$modx->switchContext('be-de');
break;
case 'resinex.be/en:80':
case 'be.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.be/en':
$modx->switchContext('be-en');
break;
// .ch
case 'resinex.ch:80':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ch':
$modx->switchContext('ch-de');
break;
case 'resinex.ch/fr:80':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz/fr':
case 'resinex.ch/fr':
$modx->switchContext('ch-fr');
break;
case 'resinex.ch/it:80':
case 'resinex.ch/it':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz/it':
$modx->switchContext('ch-it');
break;
case 'resinex.ch/en:80':
case 'ch.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.ch/en':
$modx->switchContext('ch-en');
break;
// .es
case 'resinex.es:80':
case 'es.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.es':
$modx->switchContext('es-es');
break;
case 'resinex.es:80/en':
case 'es.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.es/en':
$modx->switchContext('es-en');
break;
// .si
case 'resinex.si:80':
case 'si.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.si':
$modx->switchContext('sl-sl');
break;
case 'resinex.si:80/en':
case 'si.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.si/en':
$modx->switchContext('sl-en');
break;
// .sk
case 'resinex.sk:80':
case 'sk.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.sk':
$modx->switchContext('sk-sk');
break;
case 'resinex.sk:80/en':
case 'sk.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.sk/en':
$modx->switchContext('sk-en');
break;
// .ru
case 'resinex.ru:80':
case 'ru.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ru':
$modx->switchContext('ru-ru');
break;
case 'ru.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.ru:80/en':
case 'resinex.ru/en':
$modx->switchContext('ru-en');
break;
// .ro
case 'resinex.ro:80':
case 'ro.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.ro':
$modx->switchContext('ro-ro');
break;
case 'resinex.ro:80/en':
case 'ro.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.ro/en':
$modx->switchContext('ro-en');
break;
// .pt
case 'resinex.pt:80':
case 'pt.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.pt':
$modx->switchContext('pt-pt');
break;
case 'pt.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.pt:80/en':
case 'resinex.pt/en':
$modx->switchContext('pt-en');
break;
// .pl
case 'resinex.pl:80':
case 'pl.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.pl':
$modx->switchContext('pl-pl');
break;
case 'resinex.pl:80/en':
case 'pl.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.pl/en':
$modx->switchContext('pl-en');
break;
// .lt
case 'resinex.lt:80':
case 'lt.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.lt':
$modx->switchContext('lt-lt');
break;
case 'resinex.lt:80/en':
case 'lt.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.lt/en':
$modx->switchContext('lt-en');
break;
// .lv
case 'resinex.lv:80':
case 'lv.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.lv':
$modx->switchContext('lv-en');
break;
// .it
case 'resinex.it:80':
case 'it.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.it':
$modx->switchContext('it-it');
break;
case 'it.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.it:80/en':
case 'resinex.it/en':
$modx->switchContext('it-en');
break;
// .hu
case 'resinex.hu:80':
case 'hu.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.hu':
$modx->switchContext('hu-hu');
break;
case 'resinex.hu:80/en':
case 'hu.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.hu/en':
$modx->switchContext('hu-en');
break;
// .gr
case 'resinex.gr:80':
case 'gr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.gr':
$modx->switchContext('gr-el');
break;
case 'gr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.gr:80/en':
case 'resinex.gr/en':
$modx->switchContext('gr-en');
break;
// .de
case 'resinex.de:80':
case 'de.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.de':
$modx->switchContext('de-de');
break;
case 'resinex.de:80/en':
case 'resinex.de/en':
case 'de.resinex.resinex-php-dev-1.mit.etn.cz/en':
$modx->switchContext('de-en');
break;
// .dk
case 'resinex.dk:80':
case 'dk.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.dk':
$modx->switchContext('dk-da');
break;
case 'resinex.dk:80/en':
case 'dk.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.dk/en':
$modx->switchContext('dk-en');
break;
// .no
case 'resinex.no:80':
case 'no.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.no':
$modx->switchContext('no-no');
break;
case 'no.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.no:80/en':
case 'resinex.no/en':
$modx->switchContext('no-en');
break;
// .fi
case 'resinex.fi:80':
case 'fi.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.fi':
$modx->switchContext('fi-fi');
break;
case 'resinex.fi:80/en':
case 'resinex.fi/en':
case 'fi.resinex.resinex-php-dev-1.mit.etn.cz/en':
$modx->switchContext('fi-en');
break;
// .fr
case 'resinex.fr:80':
case 'fr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.fr':
$modx->switchContext('fr-fr');
break;
case 'fr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.fr:80/en':
case 'resinex.fr/en':
$modx->switchContext('fr-en');
break;
// .hr
case 'resinex.hr:80':
case 'hr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.hr':
$modx->switchContext('hr-hr');
break;
case 'resinex.hr:80/en':
case 'hr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.hr/en':
$modx->switchContext('hr-en');
break;
// .bg
case 'resinex.bg:80':
case 'bg.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.bg':
$modx->switchContext('bg-bg');
break;
case 'bg.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.bg:80/en':
case 'resinex.bg/en':
$modx->switchContext('bg-en');
break;
// .se
case 'resinex.se:80':
case 'se.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.se':
$modx->switchContext('se-sv');
break;
case 'se.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.se:80/en':
case 'resinex.se/en':
$modx->switchContext('se-en');
break;
// .com.tr
case 'resinex.com.tr:80':
case 'tr.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.com.tr':
$modx->switchContext('tr-tr');
break;
case 'tr.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.com.tr:80/en':
case 'resinex.com.tr/en':
$modx->switchContext('tr-en');
break;
// .nl
case 'resinex.nl:80':
case 'nl.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.nl':
$modx->switchContext('nl-nl');
break;
case 'nl.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.nl:80/en':
case 'resinex.nl/en':
$modx->switchContext('nl-en');
break;
// .ua
case 'resinex.com.ua:80':
case 'ua.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.com.ua':
$modx->switchContext('ua-uk');
break;
case 'resinex.com.ua:80/en':
case 'ua.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.com.ua/en':
$modx->switchContext('ua-en');
break;
// .cz
case 'resinex.cz:80':
case 'resinex.cz':
case 'cz.resinex.resinex-php-dev-1.mit.etn.cz':
case 'cz.resinex-php-1.mit.etn.cz':
$modx->switchContext('cz-cs');
break;
case 'resinex.cz:80/en':
case 'resinex.cz/en':
case 'cz.resinex.resinex-php-dev-1.mit.etn.cz/en':
$modx->switchContext('cz-en');
break;
// .rs
case 'resinex.rs:80':
case 'rs.resinex.resinex-php-dev-1.mit.etn.cz':
case 'resinex.rs':
$modx->switchContext('rs-sr');
break;
case 'rs.resinex.resinex-php-dev-1.mit.etn.cz/en':
case 'resinex.rs:80/en':
case 'resinex.rs/en':
$modx->switchContext('rs-en');
break;
default:
//$modx->switchContext('web');
$modx->sendForward(1);
//$modx->switchContext('cz-cs');
//var_dump($modx->getOption('site_start'));
// $modx->sendForward($modx->getOption('site_start'));
break;
}
if (isset($_GET['langCode'])) {
unset($_GET['langCode']);
}
if ($langCode && !array_filter($uriParts)) {
$modx->sendForward($modx->getOption('site_start'));
}"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(28) "plugins/context-switcher.php"
}
[22]=>
array(15) {
["id"]=>
string(2) "22"
["source"]=>
string(1) "1"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(15) "controlErrorLog"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(2) "20"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(2596) "switch ($modx->event->name) {
case 'OnManagerPageBeforeRender':
if ($modx->hasPermission('error_log_view')) {
$modx->controller->addLexiconTopic('controlerrorlog:default');
$modx->controller->addCss($modx->getOption('assets_url').'components/controlerrorlog/css/mgr/main.css');
$modx->controller->addJavascript($modx->getOption('assets_url').'components/controlerrorlog/js/mgr/cel.default.js');
$response = $modx->runProcessor('mgr/errorlog/get', array('includeContent'=>false), array('processors_path' => $modx->getOption('core_path') . 'components/controlerrorlog/processors/'));
$resObj = $response->getObject();
$_html = "";
$modx->controller->addHtml($_html);
}
break;
case 'OnHandleRequest':
$email = $modx->getOption('controlerrorlog.admin_email');
if ($modx->context->get('key') == 'mgr' || empty($email) || !$modx->getOption('controlerrorlog.control_frontend')) return;
$f = $modx->getOption(xPDO::OPT_CACHE_PATH) . 'logs/error.log';
if (file_exists($f)) {
$casheHash = $modx->cacheManager->get('error_log');
$hash = md5_file($f);
if (filesize($f) > 0 && !empty($casheHash) && $casheHash != $hash) {
$modx->lexicon->load('controlerrorlog:default');
/** @var modPHPMailer $mail */
$mail = $modx->getService('mail', 'mail.modPHPMailer');
$mail->setHTML(true);
$mail->set(modMail::MAIL_SUBJECT, $modx->lexicon('error_log_email_subject'));
$mail->set(modMail::MAIL_BODY, $modx->lexicon('error_log_email_body', array('siteName' => $modx->config['site_name'])));
$mail->set(modMail::MAIL_SENDER, $modx->getOption('emailsender'));
$mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender'));
$mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));
$mail->address('to', $email);
$mail->address('reply-to', $modx->getOption('emailsender'));
if (!$mail->send()) {
print ('An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
}
$mail->reset();
}
if ($casheHash != $hash) {
$modx->cacheManager->set('error_log', $hash, 0);
}
}
break;
}"
["locked"]=>
string(1) "0"
["properties"]=>
NULL
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "0"
["static_file"]=>
string(75) "core/components/controlerrorlog/elements/plugins/plugin.controlerrorlog.php"
}
[5]=>
array(15) {
["id"]=>
string(1) "5"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(18) "ResourceDuplicator"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(6463) "// run only in manager
if ($modx->context->key != 'mgr') {
return;
}
$modx->getService('resinex', 'Resinex', MODX_CORE_PATH . 'components/resinex/');
$modx->getService('babel', 'Babel', MODX_CORE_PATH . 'components/babel/model/babel/');
$modx->regClientStartupScript($modx->resinex->config['jsUrl'] . 'functions.js');
switch ($modx->event->name) {
case 'OnDocFormRender':
if ($modx->event->params['mode'] == 'upd') {
if (!$resource = $modx->event->params['resource']) {
$modx->log(modX::LOG_LEVEL_ERROR, 'No resource provided for OnDocFormRender event in ResourceDuplicator plugin');
return;
}
if ($resource->get('context_key') == 'web') {
$modx->regClientStartupScript($modx->resinex->config['jsUrl'] . 'mgr/published.handler.js');
$linkedResources = $modx->babel->getLinkedResources($resource->get('id'));
$linkedResourceContextKeys = array_keys($linkedResources);
$checkboxes = '';
foreach ($modx->resinex->getCountryLanguageContextKeys() as $key => $value) {
$selected = in_array($key, $linkedResourceContextKeys) ? ' checked="checked"' : '';
$checkboxes .= '
';
$modx->event->output($fields);
}
}
break;
case 'OnDocFormSave':
if (!$resource = $modx->event->params['resource']) {
$modx->log(modX::LOG_LEVEL_ERROR, 'No resource provided for OnDocFormSave event in ResourceDuplicator plugin');
return;
}
// duplicate only published resources
if (!$resource->get('published')) {
return;
}
// no contexts selected
if (empty($_POST['resinex-duplicate-to'])) {
return;
}
// no options selected
if (empty($_POST['resinex-duplicate'])) {
return;
}
// build options
switch ($_POST['resinex-duplicate']) {
case 'update':
$options = array(
'updateOnly' => true,
'createSymlinks' => false,
'notify' => false
);
break;
case 'symlinks':
$options = array(
'updateOnly' => false,
'createSymlinks' => true,
'notify' => false
);
break;
case 'translate':
$options = array(
'updateOnly' => false,
'createSymlinks' => false,
'notify' => true
);
break;
default: // no action
return;
}
try {
$modx->resinex->duplicateResource($resource, $_POST['resinex-duplicate-to'], $options);
} catch (Exception $e) {
$modx->log(modX::LOG_LEVEL_ERROR, $e->getTraceAsString());
}
break;
}"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(31) "plugins/resource-duplicator.php"
}
[6]=>
array(15) {
["id"]=>
string(1) "6"
["source"]=>
string(1) "3"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(14) "ServiceInvoker"
["description"]=>
string(0) ""
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(216) "$modx->getService('resinex', 'Resinex', MODX_CORE_PATH . 'components/resinex/');
$modx->resinex->initialize($modx->context->key);
$modx->getService('babel', 'Babel', MODX_CORE_PATH . 'components/babel/model/babel/');"
["locked"]=>
string(1) "0"
["properties"]=>
string(6) "a:0:{}"
["disabled"]=>
string(1) "0"
["moduleguid"]=>
string(0) ""
["static"]=>
string(1) "1"
["static_file"]=>
string(27) "plugins/service-invoker.php"
}
[7]=>
array(15) {
["id"]=>
string(1) "7"
["source"]=>
string(1) "0"
["property_preprocess"]=>
string(1) "0"
["name"]=>
string(5) "Babel"
["description"]=>
string(46) "Links and synchronizes multilingual resources."
["editor_type"]=>
string(1) "0"
["category"]=>
string(1) "0"
["cache_type"]=>
string(1) "0"
["plugincode"]=>
string(10837) "/**
* Babel
*
* Copyright 2010 by Jakob Class
*
* This file is part of Babel.
*
* Babel is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option) any later
* version.
*
* Babel is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* Babel; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307 USA
*
* @package babel
*/
/**
* Babel Plugin to link and synchronize multilingual resources
*
* Based on ideas of Sylvain Aerni
*
* Events:
* OnDocFormPrerender,OnDocFormSave,OnEmptyTrash,OnContextRemove,OnResourceDuplicate
*
* @author Jakob Class
*
* @package babel
*
*/
$babel = $modx->getService('babel','Babel',$modx->getOption('babel.core_path',null,$modx->getOption('core_path').'components/babel/').'model/babel/',$scriptProperties);
if (!($babel instanceof Babel)) return;
/* be sure babel TV is loaded */
if(!$babel->babelTv) return;
switch ($modx->event->name) {
case 'OnDocFormPrerender':
$output = '';
$errorMessage = '';
$resource =& $modx->event->params['resource'];
if(!$resource) {
/* a new resource is being to created
* -> skip rendering the babel box */
break;
}
$contextKeys = $babel->getGroupContextKeys($resource->get('context_key'));
$currentContextKey = $resource->get('context_key');
$linkedResources = $babel->getLinkedResources($resource->get('id'));
if(empty($linkedResources)) {
/* always be sure that the Babel TV is set */
$babel->initBabelTv($resource);
}
/* grab manager actions IDs */
$actions = $modx->request->getAllActionIDs();
if(isset($_POST['babel-context-key'])) {
/* one of the following babel actions has been performed: link, unlink or translate */
try {
$contextKey = $_POST['babel-context-key'];
/* check if context is valid */
$context = $modx->getObject('modContext', array('key' => $contextKey));
if(!$context) {
$errorParameter = array('context' => $contextKey);
throw new Exception('error.invalid_context_key');
}
/* manuallly add or change a translation link */
if(isset($_POST['babel-link'])) {
if($linkedResources[$contextKey] == $_POST['babel-link-target']) {
/* target resource is equal to current resource -> nothing to do */
throw new Exception();
}
$targetResource = $modx->getObject('modResource', intval($_POST['babel-link-target']));
if(!$targetResource) {
/* error: resource id is not valid */
$errorParameter = array('resource' => htmlentities($_POST['babel-link-target']));
throw new Exception('error.invalid_resource_id');
}
if($targetResource->get('context_key') != $contextKey) {
/* error: resource id of another context has been provided */
$errorParameter = array(
'resource' => $targetResource->get('id'),
'context' => $contextKey);
throw new Exception('error.resource_from_other_context');
}
$targetLinkedResources = $babel->getLinkedResources($targetResource->get('id'));
if(count($targetLinkedResources) > 1) {
/* error: target resource is already linked with other resources */
$errorParameter = array('resource' => $targetResource->get('id'));
throw new Exception('error.resource_already_linked');
}
/* add or change a translation link */
if(isset($linkedResources[$contextKey])) {
/* existing link has been changed:
* -> reset Babel TV of old resource */
$babel->initBabelTvById($linkedResources[$contextKey]);
}
$linkedResources[$contextKey] = $targetResource->get('id');
$babel->updateBabelTv($linkedResources, $linkedResources);
/* copy values of synchronized TVs to target resource */
if(isset($_POST['babel-link-copy-tvs']) && intval($_POST['babel-link-copy-tvs']) == 1) {
$babel->sychronizeTvs($resource->get('id'));
}
}
/* remove an existing translation link */
if(isset($_POST['babel-unlink'])) {
if(!isset($linkedResources[$contextKey])) {
/* error: there is no link for this context */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.no_link_to_context');
}
if($linkedResources[$contextKey] == $resource->get('id')) {
/* error: (current) resource can not be unlinked from it's translations */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.unlink_of_selflink_not_possible');
}
$unlinkedResource = $modx->getObject('modResource', intval($linkedResources[$contextKey]));
if(!$unlinkedResource) {
/* error: invalid resource id */
$errorParameter = array('resource' => htmlentities($linkedResources[$contextKey]));
throw new Exception('error.invalid_resource_id');
}
if($unlinkedResource->get('context_key') != $contextKey) {
/* error: resource is of a another context */
$errorParameter = array(
'resource' => $targetResource->get('id'),
'context' => $contextKey);
throw new Exception('error.resource_from_other_context');
}
/* unlink resource and reset its Babel TV */
$babel->initBabelTv($unlinkedResource);
unset($linkedResources[$contextKey]);
$babel->updateBabelTv($linkedResources, $linkedResources);
}
/* create an new resource an add a translation link */
if(isset($_POST['babel-translate'])) {
if($currentContextKey == $contextKey) {
/* error: translation should be created in the same context */
throw new Exception('error.translation_in_same_context');
}
if(isset($linkedResources[$contextKey])) {
/* error: there does already exist a translation */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.translation_already_exists');
}
$newResource = $babel->duplicateResource($resource, $contextKey);
if($newResource) {
$linkedResources[$contextKey] = $newResource->get('id');
$babel->updateBabelTv($linkedResources, $linkedResources);
} else {
/* error: translation could not be created */
$errorParameter = array('context' => $contextKey);
throw new Exception('error.could_not_create_translation');
}
/* redirect to new resource */
$url = $modx->getOption('manager_url',null,MODX_MANAGER_URL).'?a='.$actions['resource/update'].'&id='.$newResource->get('id');
$modx->sendRedirect(rtrim($url,'/'),'','','full');
}
} catch (Exception $exception) {
$errorKey = $exception->getMessage();
if($errorKey) {
if(!is_array($errorParameter)) {
$errorParameter = array();
}
$errorMessage = '
'.$modx->lexicon($errorKey,$errorParameter).'
';
}
}
}
/* create babel-box with links to translations */
$linkedResources = $babel->getLinkedResources($resource->get('id'));
$outputLanguageItems = '';
foreach($contextKeys as $contextKey) {
/* for each (valid/existing) context of the context group a button will be displayed */
$context = $modx->getObject('modContext', array('key' => $contextKey));
if(!$context) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Could not load context: '.$contextKey);
continue;
}
$context->prepare();
$cultureKey = $context->getOption('cultureKey',$modx->getOption('cultureKey'));
/* url to which the form will post it's data */
$formUrl = '?a='.$actions['resource/update'].'&id='.$resource->get('id');
if(isset($linkedResources[$contextKey])) {
/* link to this context has been set */
if($linkedResources[$contextKey] == $resource->get('id')) {
/* don't show language layer for current resource */
$showLayer = '';
} else {
$showLayer = 'yes';
}
$showTranslateButton = '';
$showUnlinkButton = 'yes';
$showSecondRow = '';
$resourceId = $linkedResources[$contextKey];
$resourceUrl = '?a='.$actions['resource/update'].'&id='.$resourceId;
if($resourceId == $resource->get('id')) {
$className = 'selected';
} else {
$className = '';
}
} else {
/* link to this context has not been set yet:
* -> show button to create translation */
$showLayer = 'yes';
$showTranslateButton = 'yes';
$showUnlinkButton = '';
$showSecondRow = 'yes';
$resourceId = '';
$resourceUrl = '#';
$className = 'notset';
}
$placeholders = array(
'formUrl' => $formUrl,
'contextKey' => $contextKey,
'cultureKey' => $cultureKey,
'resourceId' => $resourceId,
'resourceUrl' => $resourceUrl,
'className' => $className,
'showLayer' => $showLayer,
'showTranslateButton' => $showTranslateButton,
'showUnlinkButton' => $showUnlinkButton,
'showSecondRow' => $showSecondRow,
);
$outputLanguageItems .= $babel->getChunk('mgr/babelBoxItem', $placeholders);
}
$output .= '
A request for a password reset has been issued for your MODX user. If you sent this, you may follow this link and use this password to login. If you did not send this request, please ignore this email.
Produktai - HD PE | Braskem, Dow - puslapis 2 - Resinex
Resinex svetainėje naudojami slapukai ir panašios technologijos, siekiant geriau suprasti Jus dominančius produktus, tam, kad galėtume Jums asmeniškai suteikti daugiau informacijos. Tęsdami naršymą svetainėje, Jūs sutinkate, kad mes naudotume slapukus.
Sužinokite daugiau apie slapukus ir kaip juos valdyti