Commit 15ab9ff9 authored by mmn's avatar mmn

common_to_alphanumeric added, filtering Notice->source in classic layout

parent 844fe392
......@@ -552,6 +552,11 @@ abstract class ActivityHandlerPlugin extends Plugin
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));
}
......
......@@ -227,8 +227,10 @@ class NoticeListItem extends Widget
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,
......
......@@ -580,6 +580,15 @@ function common_canonical_email($email)
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)
{
require_once INSTALLDIR.'/extlib/HTMLPurifier/HTMLPurifier.auto.php';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment