0sra%Ң6 [h@ V.ِ;ϫÜIšxFg=);x#䳕-T~1Tx9$е[G q&!a##8sԙ} CbYEe(8JUj*A/:[۸`{7Va uH Ӈ,(c@u{dA޴^t60q3ժѦE~Xc:Nm{?˨C_~[j*(n}@#џD奠vp]y$$FD?m¥S-#`%R&KE/Zr J T.gD}-vz+!@b_žl*dca*,GyKtSt0VT5hsvBvSr·w4?VZK$}7jPt"ߣZNz V}ʌd'u`:-QF+|Jeh`0!z<{"ҸQ4jtDۢMּ2ZG U_mE<+{ rԋ:ӂ\PEvDM͠/[p`+}64fj/㓴V'u9qia 3NaDž;?PBX$Nva&I<9p:ނXJk6*$AAh*lcۥFm +A];93]LO{qv.5w BLLfͽ)_nOw'o7eQ+jb=3i`!ȗwҼZM8YE[狴{wDd_Iq$F{鄺e[ov#ss)U.Ѭp~&AYhP"Y+q3߷@[tk9]uunp-SzaxK_Q_D/Rtn'S$W\)n](cf#NP'h]G æDVX,smוz[K*XnSjt~ASOxs9qm{i Qc\#7Fl`'#4h N3F~8a ap*k8uOtv6hN_8ŏ`7i˿}nh$'S%I1v(ѻ8|{'Ce5pT/3tk |BJRkVB%ɕe_+#"7ӊ^11Sh6q?3LJBGhMO!Tߑڌ` ,[ds8w(lSw \EIn\`/;ݞI.Wɨb#AD,*һe5PފfLb;CCK8HO>#IJOȻ^&D+0bNGyKtSt0!qF^wϞ!:jUGD+/K0< ԹYV J03R(#(P|9 {@ƒ2=VP"8qëF5d?ͼ0(H7Hr`@jLr1` e!?Tu鮕W`24K:#wc:,W Z%N) k1F6s`[o0H/bAK8`G2+YKؽ{cf\6j= SH2'X]skZ*߄K WAJRCoT@%C~Suz-[o7 yE Y%/Ky; 0htq BI# R// u1[=P̛O<)߮+AK=3sFp$Vd4z Zf b^Բ϶ V~: 2i#]eXۏCE4ͤ,Ba @&WkzmqY|]^.|VA'Nq_S Ǎ= fCG#)'/pXjnD1}d!ϤVn_^y|ѱ1JtNѓe_'"zcO A{2m7I%iF$8l~7YI&ǸvgyY`/U2R;A2Vp>W};B*GC趟j{ڈf(,1bfю=$[EH8U'NCiG|[:uzo:z0=w[  4 6 @oؒޥjxkmbj8\ы#-%<օD ؛(ؑ)$xuxqOڣryoڱ׎ &?BŌQ`j]7Ҁ =E?ȹ2[&竧w%.}fl5uwYޥ{(bpW9r{xO(k/<^$q!V>AUfgj0k؉=iϻrjI6R*u`TVHxΞ{t@Nq_S ǍͦnzV0V"fp$nF9)1YϦ^P0҂γD~;eƶ&$oKXC/(]`7Դ&r`[G)4&V_}*t]Rst91YI:4cQb®*K}g@nDk Z!_a&7V t|0]jc!Bv![Yk箍L .5YU$^Xؖ- _"NicߝtӪ*YS, /]5+)ӑQY&"*ܺȉ}F[-,6`M4 `y:8l"] :nNF0k.^smw&+C:k"h~x' Tf]V¶/{\ =:bz# 'yNJx5VcWH uiA~)pG&+P(qB09gSڸQ רF8_mͿ Xm]5c`bəwx}t& !;߶[J<:kQ,|y”aHzkێ_;oVhw=gy6hS=p\L}.7w z >WLj&&$3>޸D&"*;_+518[~,?k\,JkȚ0Ѻ6@ E y:;1ɢZY]*Oz#+juq+_NAٚhX;A'Do';I:ꦭޏkjWZ ^A%C{x7js]#3EI@FtvUSkM/!Q1Pʆ3iGbChRiרW8jy,Ŀ^ xoKʆ7.]; 7>TÄ0JӉ8m\w_SLp L,iR(܋ECQonPgũO -Y;AB[?CAUEGucSx=mD @<퇀y]\b&3Pwel[p2J'4E{+T䒪 8hH@oh xmR)*_}6j}.stomMessages() {{{ /** * Retrieve the given string identifier corresponding message. * * @param string $code The string identifier of the message * @param array $vars An array of template variables * @param array $messages An optional array of messages to use. Array * indexes are message codes. * * @return string */ public function getWithCustomMessages( $code, $vars = array(), $messages = array() ) { // get message if (isset($messages[$code])) { $message = $messages[$code]; } elseif (isset($this->messages[$code])) { $message = $this->messages[$code]; } else { $message = 'UNKNOWN'; } return $this->replaceTemplateVars($message, $vars); } // }}} // replaceTemplateVars() {{{ /** * Replaces template vars in a message * * @param string $message The message * @param array $vars An array of template variables * * @return string */ protected function replaceTemplateVars($message, $vars = array()) { $tmpkeys = array_keys($vars); $keys = array(); foreach ($tmpkeys as $key) { $keys[] = '{$' . $key . '}'; } return str_replace($keys, array_values($vars), $message); } // }}} }