Changeset 3426:3dde74bd36ee for inc/public/class.dc.template.php
- Timestamp:
- 11/30/16 09:40:32 (9 years ago)
- Branch:
- Template tags filters
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
inc/public/class.dc.template.php
r3424 r3426 273 273 } 274 274 275 public function getFilters($attr) 276 { 277 $p[0] = '0'; # encode_xml 278 $p[1] = '0'; # remove_html 279 $p[2] = '0'; # cut_string 280 $p[3] = '0'; # lower_case 281 $p[4] = '0'; # upper_case or capitalize 282 $p[5] = '0'; # encode_url 283 284 $p[0] = (integer) (!empty($attr['encode_xml']) || !empty($attr['encode_html'])); 285 $p[1] = (integer) !empty($attr['remove_html']); 286 287 if (!empty($attr['cut_string']) && (integer) $attr['cut_string'] > 0) { 288 $p[2] = (integer) $attr['cut_string']; 289 } 290 291 $p[3] = (integer) !empty($attr['lower_case']); 292 $p[4] = (integer) !empty($attr['upper_case']); 293 $p[4] = (!empty($attr['capitalize']) ? 2 : $p[4]); 294 $p[5] = (integer) !empty($attr['encode_url']); 295 296 return "context::global_filter(%s,".implode(",",$p).",'".addslashes($this->current_tag)."')"; 275 public function getFilters($attr,$default=array()) 276 { 277 if (!is_array($attr) && !($attr instanceof arrayObject)) { 278 $attr = array(); 279 } 280 281 $p = array_merge( 282 array( 283 0 => null, 284 'encode_xml' => 0, 285 'encode_html' => 0, 286 'cut_string' => 0, 287 'lower_case' => 0, 288 'upper_case' => 0, 289 'encode_url' => 0, 290 'remove_html' => 0, 291 'capitalize' => 0, 292 'strip_tags' => 0 293 ), 294 $default 295 ); 296 297 foreach($attr as $k => $v) { 298 // attributes names must follow this rule 299 $k = preg_filter('/[a-zA-Z0-9_]/','$0',$k); 300 if ($k) { 301 // addslashes protect var_export, str_replace protect sprintf; 302 $p[$k] = str_replace('%','%%',addslashes($v)); 303 } 304 } 305 306 return "context::global_filters(%s,".var_export($p,true).",'".addslashes($this->current_tag)."')"; 297 307 } 298 308
Note: See TracChangeset
for help on using the changeset viewer.