/**
* Add new filters to the discussion model
*
* @param DiscussionModel $sender Sending controller instance.
* @param array $args Event arguments.
*/
public function discussionModel_initStatic_handler($sender, $args)
{
DiscussionModel::addFilterSet('prefix', 'Prefixes');
DiscussionModel::addFilter('has-prefix', 'Has prefix', ['d.Prefix IS NOT NULL' => null], 'base-filter', 'prefix');
DiscussionModel::addFilter('no-prefix', 'No prefix', ['d.Prefix IS NULL' => null], 'base-filter', 'prefix');
$currentPrefixes = PrefixDiscussionPlugin::getPrefixes();
unset($currentPrefixes['-']);
$usedPrefixesResult = Gdn::sql()->select('Prefix')->from('Discussion')->where('Prefix IS NOT NULL')->get()->resultArray();
foreach ($usedPrefixesResult as $row) {
$prefix = $row['Prefix'];
if (!isset($currentPrefixes[$prefix])) {
$currentPrefixes[$prefix] = $prefix;
}
}
natsort($currentPrefixes);
foreach ($currentPrefixes as $prefix) {
DiscussionModel::addFilter('prefix-' . $this->stringToSlug($prefix), $prefix, ['d.Prefix' => $prefix], 'prefix-filter', 'prefix');
}
}