- if (query) {
- m_query = query;
- }
- if (sortOrder) {
- m_sortOrder = sortOrder;
- }
- if (perpage) {
- m_perpage = perpage;
- }
- if (targets) {
- m_filters.push({ id: targets, name: targets });
- }
-
- for (var i in m_filters) {
- var filter = m_filters[i];
- if (filter.id) {
- if (pp2filter)
- pp2filter += ",";
- if (filter.id.match(/^[a-z:]+[=~]/)) {
- log("filter '" + filter.id + "' already begins with SETTING OP");
- } else {
- filter.id = 'pz:id=' + filter.id;
- }
- pp2filter += filter.id;
- } else {
- if (pp2limit)
- pp2limit += ",";
- pp2limit += filter.field + "=" + filter.value.replace(/[\\|,]/g, '\\$&');
- }
- }
+ if (query) m_query = query;
+ if (sortOrder) m_sortOrder = sortOrder;
+ if (perpage) m_perpage = perpage;
+ if (targets) m_filterSet.add(targetFilter(targets, targets));
+
+ var pp2filter = m_filterSet.pp2filter();
+ var pp2limit = m_filterSet.pp2limit(limit);
+ var pp2catLimit = m_filterSet.pp2catLimit();
+ if (pp2catLimit) {
+ pp2filter = pp2filter ? pp2filter + "," + pp2catLimit : pp2catLimit;
+ }