public static function GetTemplateFilterRegex($p_sql = false)
{
$filters = array();
$preferencesService = \Zend_Registry::get('container')->getService('system_preferences_service');
if ($filterStr = $preferencesService->TemplateFilter) {
foreach (explode(',', $filterStr) as $filter) {
if ($p_sql) {
$filter = preg_quote(trim($filter), '/');
// quote the filter
$filter = str_replace('\\', '\\\\', $filter);
$filter = str_replace('\\*', '.*', $filter);
// * becomes .*
$filter = str_replace('\\?', '.', $filter);
// becomes .
$filter1 = "(^{$filter}\$)";
$filters[] = $filter1;
$filter2 = "(/{$filter}\$)";
$filters[] = $filter2;
$filter1 = "(^{$filter}/)";
$filters[] = $filter1;
$filter2 = "(/{$filter}/)";
$filters[] = $filter2;
} else {
$filter = preg_quote(trim($filter), '/');
// quote the filter
$filter = str_replace('\\*', '.*', $filter);
// * becomes .*
$filter = str_replace('\\?', '.', $filter);
// becomes .
$filter = "(^{$filter}\$)";
$filters[] = $filter;
}
}
}
$filterRegex = implode('|', $filters);
return $filterRegex;
}