Merge branch 'aydun-CRM-16203' into 4.6
authorColeman Watts <coleman@civicrm.org>
Fri, 20 Nov 2015 00:40:57 +0000 (19:40 -0500)
committerColeman Watts <coleman@civicrm.org>
Fri, 20 Nov 2015 00:40:57 +0000 (19:40 -0500)
Conflicts:
CRM/Report/Form.php

1  2 
CRM/Report/Form.php

index 4980983f84d874dc04e50ef89abc470751e63f0c,a77494857ebcc58fe814897fe88fdee259fcc0da..023302d72269103916174406985131d6107a40c4
@@@ -1737,17 -1737,24 +1737,13 @@@ class CRM_Report_Form extends CRM_Core_
          break;
  
        case 'mhas':
 -        // mhas == multiple has
 -        if ($value !== NULL && count($value) > 0) {
 -          $sqlOP = $this->getSQLOperator($op);
 -          $value = CRM_Utils_Type::escapeAll($value, $type);
 -          $clause
 -            = "{$field['dbAlias']} REGEXP '[[:cntrl:]]" . implode('|', $value) .
 -            "[[:cntrl:]]'";
 -        }
 -        break;
 -
        case 'mnot':
-         // mhas == multiple has
 -        // mnot == multiple is not one of
++        // multiple has or multiple not
          if ($value !== NULL && count($value) > 0) {
--          $sqlOP = $this->getSQLOperator($op);
-           $operator = '';
-           if ($op == 'mnot') {
-             // mnot == multiple is not one of
-             $operator = 'NOT';
-           }
+           $value = CRM_Utils_Type::escapeAll($value, $type);
 -          $clause
 -            = "( {$field['dbAlias']} NOT REGEXP '[[:cntrl:]]" . implode('|', $value) .
 -            "[[:cntrl:]]' OR {$field['dbAlias']} IS NULL )";
++          $operator = $op == 'mnot' ? 'NOT' : '';
 +          $regexp = "[[:cntrl:]]*" . implode('[[:>:]]*|[[:<:]]*', (array) $value) . "[[:cntrl:]]*";
 +          $clause = "{$field['dbAlias']} {$operator} REGEXP '{$regexp}'";
          }
          break;