if ($nli->notice->scope != 0 && $nli->notice->scope != 1) {
$class .= ' limited-scope';
}
+ try {
+ $class .= ' notice-source-'.common_to_alphanumeric($this->notice->source);
+ } catch (Exception $e) {
+ // either source or what we filtered out was a zero-length string
+ }
$nli->out->elementStart('li', array('class' => $class,
'id' => 'notice-' . $id));
}
if ($this->notice->scope != 0 && $this->notice->scope != 1) {
$class .= ' limited-scope';
}
- if (!empty($this->notice->source)) {
- $class .= ' notice-source-'.$this->notice->source;
+ try {
+ $class .= ' notice-source-'.common_to_alphanumeric($this->notice->source);
+ } catch (Exception $e) {
+ // either source or what we filtered out was a zero-length string
}
$id_prefix = (strlen($this->id_prefix) ? $this->id_prefix . '-' : '');
$this->out->elementStart($this->item_tag, array('class' => $class,
return $email;
}
+function common_to_alphanumeric($str)
+{
+ $filtered = preg_replace('/[^A-Za-z0-9]\s*/', '', $str);
+ if (strlen($filtered) < 1) {
+ throw new Exception('Filtered string was zero-length.');
+ }
+ return $filtered;
+}
+
function common_purify($html, array $args=array())
{
require_once INSTALLDIR.'/extlib/HTMLPurifier/HTMLPurifier.auto.php';