̈6rrj.!̥BdVP¬exOtIeeb6#J4{N[!Ou疥zK!,tr<5Z_" UԾ&t7rP06!10!>H c^ 縕/q`dڐ"|?'P$=.6jH.[cP)AFWl]\"dş2^(Tc*e@?)V;S+r*J,):ܺ^9D'p/&\`Shzǘ9/~XK:HZ$q?_?˟n9GMS4.&}]0SRf왦$G"K[zZInOz\Zw}w)Hq~o<]/pr 3pw@z=o6ߨiY7RHARpU~ \ !c|כ bx;`׾MP K0϶#{A"Q#%'6l/L ȃ cNyVQQ [ߨOd]je 2;xV̵bO VDDB\](86V7ot@߅{lfI"XAЍg{:״qe.Z$x@ ӅsE^luwuUҌ)$aR(9B>XV0r.s}oPމa *݇3%1_3GB΅_K0R8o>8Kq >XVV`)9Hm[:I(gƳ gtY`;ɾk=֘v?pPDS{95 e;pnҚ!顯n7q´VUchܼ8N׏8ƆV{:kig" RHUE^x>,)W,>[ꃜǸ E;@}Kg1|EFFDj1p/ [M6PzA8Gfx3g,!XjŁ5s݅ (&ϯ #~afCL(*m34B^m~kYbQ); ;eeEB)a➨4Yb;T}Ջ?|:k:LHVWItǧsDv V]|ʽ 9NvMƧPQ0 yjyaVT ^NaX5_ťRWߟ TqA8$F1fxI[+b~Cm "0XɪAV~F4ʴjn4|u?78qcm2´i'5`Ev*K*iI# nNCnt=6s:n7t%3-9^hU$ꧻ|zcQ98*{O춅I 1(b?>wuUҌ)$aR(஑A@@PQR\9qaֹVv_dLب2_ڴx?đ EY*9$Y ⲷ$|РۿCY3\) 0ct($value)) { if ($value instanceof HTMLPurifier_Token) { // factor this out some time if (!$generator) { $generator = $this->context->get('Generator'); } if (isset($value->name)) { $subst['$'.$i.'.Name'] = $value->name; } if (isset($value->data)) { $subst['$'.$i.'.Data'] = $value->data; } $subst['$'.$i.'.Compact'] = $subst['$'.$i.'.Serialized'] = $generator->generateFromToken($value); // a more complex algorithm for compact representation // could be introduced for all types of tokens. This // may need to be factored out into a dedicated class if (!empty($value->attr)) { $stripped_token = clone $value; $stripped_token->attr = array(); $subst['$'.$i.'.Compact'] = $generator->generateFromToken($stripped_token); } $subst['$'.$i.'.Line'] = $value->line ? $value->line : 'unknown'; } continue; } elseif (is_array($value)) { $keys = array_keys($value); if (array_keys($keys) === $keys) { // list $subst['$'.$i] = $this->listify($value); } else { // associative array // no $i implementation yet, sorry $subst['$'.$i.'.Keys'] = $this->listify($keys); $subst['$'.$i.'.Values'] = $this->listify(array_values($value)); } continue; } $subst['$' . $i] = $value; } return strtr($raw, $subst); } } // vim: et sw=4 sts=4