vbZ{Ǣnߜw~q!O؜cb-ׇCk*]:P3`H)}oGovZ?R,O!D-J'ɸagswM>\ŸG򱋠<0 j^ ;B Z.*>2!h1p-{afjq)b9OxUb_(?^$7ke:пs`շgijH<[@d1zV`2GOBIU.D~97^6l6'njaݴd:C ֏|e6LN^}7}-1({R['T_Y$S \/V,UGrs¿x]AHE}}7}-1("^ "TppjC?~\ThЉjgx)6pBKi&K};<8M!XBa9~ J2N'wU9wW=r5` ~)N.ӧ}VIs櫪>47oҋ0]8 V VqǃK IId7 bA,,o Q#\̫k W惱Na&>.߂MSڐI]/vI3"다)Q6FIqv!R-_<~Z_Y)EXIve͜&hx:Gtɩ S|;wpvnmڑ{\THf"׀dCF=;GC"@K , EZaM菏.߂M3PxJ BKߥx>b*p ?#0 B!rF.sPe٦^m괆6$/5P o/NV?ėa$Wcwc vr?~P\V39,;]$80N ]3j+3:,6a[:5+QNA)UעaH3V:[#A yJ0;cwgFN5K]OGVBQ}O}ՄY;$=$~wgFN5K]OtB@t`{x|jga(SA$F,aV_hC8n1ݬd->P#z\a0Z=i9BŰEQ-~0apa݅^E@ 8k2Z+DZ];נliL+'8T#Fce˔&9^ ii(̈́=^ΙzV+: eƛ9ӎ։JD|O"84m{m>@ 8k2Z+DZ]מ 0wm3Xu%ި1ܛs"N!N~YB Ã4m{m>@ 8k2Z+DZ]rz[1AſN<1FZ =FZJHT~$XG-<,x{צ˚9_)&]u&^g :5+QNA1Ŭu0@wwc(!$cĄy}(ý*m9-bp Dq֠2[ 9]vI,^ 6]|BVtzc74m{m>g7-|s}G>6.e!9^*;Ah7L2.Zʯ;%m.G0SeĪYFR%߄Rb|j,u-(&[j@5hblPˢO^Bl}^ͶBK8~qA^nRt-v}>MRAÔnjBbsZUp#S!SFa=E,ьM{!Rz Ex1SIÃ'Sh+Al0(w?rT)Z#?εju\'ҿd5pf"qic-L WΌrBv0bg&Ar2K$q=WjZn[Zcm8Wew%L̯]E{:R戋m0d8SuSIXu%ި1ܛs#h!:|6r V`ی3<䒓4DQrW9nޑK)^P;M͂Jy= `|`M!wNk[j yˀ41zdQE5}6 g Kq' i*t)QlkNWSX0^chppJ&^16$YbH)CD꘬app~>, ">R& D|X liE!<JD'JޕvVd+s. oE}Ÿ[/;m0|6I%32 ?rUX-C[-hid֠{{2T|-Wg{uQūS& zk+uܠ(:&ﵺ(3iJ%U2fgr+4κ"FJ&ˉ~X^#׸tɩ S|w r?Ir81cy2dA!V}[HY Li +TO@EvAЬu2Oojv&tGK+,J8PD5h`wZn-:fq Ӟ8wPUpX}xVt{ resolve_language($content['about']); } // License if (is_readable($this->home . '/content/license.html')) { $content['license'] = 'self'; } else { $content['license'] = $rcmail->config->get('help_license_url', 'http://www.gnu.org/licenses/gpl-3.0-standalone.html'); $content['license'] = $this->resolve_language($content['license']); } // Help Index $src = $rcmail->config->get('help_source', 'http://docs.roundcube.net/doc/help/1.1/%l/'); $index_map = $rcmail->config->get('help_index_map', []); // resolve task/action for deep linking $rel = !empty($_REQUEST['_rel']) ? $_REQUEST['_rel'] : ''; list($task, ) = explode('/', $rel); if (!empty($index_map[$rel])) { $src .= $index_map[$rel]; } else if (!empty($index_map[$task])) { $src .= $index_map[$task]; } $content['index'] = $this->resolve_language($src); return $content; } function error_page($args) { $rcmail = rcmail::get_instance(); if ( $args['code'] == 403 && $rcmail->request_status == rcube::REQUEST_ERROR_URL && ($url = $rcmail->config->get('help_csrf_info')) ) { $args['text'] .= '

' . html::a(['href' => $url, 'target' => '_blank'], $this->gettext('csrfinfo')) . '

'; } return $args; } private function resolve_language($path) { // resolve language placeholder $rcmail = rcmail::get_instance(); $langmap = $rcmail->config->get('help_language_map', ['*' => 'en_US']); $lang = !empty($langmap[$_SESSION['language']]) ? $langmap[$_SESSION['language']] : $langmap['*']; return str_replace('%l', $lang, $path); } }