Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 6 |
CRAP | |
0.00% |
0 / 22 |
| ViewsSearchQuery | |
0.00% |
0 / 1 |
|
0.00% |
0 / 6 |
90 | |
0.00% |
0 / 22 |
| conditions | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| words | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| simple | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| matches | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| publicParseSearchExpression | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| conditionReplaceString | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 12 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\search\ViewsSearchQuery. | |
| */ | |
| namespace Drupal\search; | |
| use Drupal\Core\Database\Query\Condition; | |
| /** | |
| * Extends the core SearchQuery to be able to gets its protected values. | |
| */ | |
| class ViewsSearchQuery extends SearchQuery { | |
| /** | |
| * Returns the conditions property. | |
| * | |
| * @return array | |
| * The query conditions. | |
| */ | |
| public function &conditions() { | |
| return $this->conditions; | |
| } | |
| /** | |
| * Returns the words property. | |
| * | |
| * @return array | |
| * The positive search keywords. | |
| */ | |
| public function words() { | |
| return $this->words; | |
| } | |
| /** | |
| * Returns the simple property. | |
| * | |
| * @return bool | |
| * TRUE if it is a simple query, and FALSE if it is complicated (phrases | |
| * or LIKE). | |
| */ | |
| public function simple() { | |
| return $this->simple; | |
| } | |
| /** | |
| * Returns the matches property. | |
| * | |
| * @return int | |
| * The number of matches needed. | |
| */ | |
| public function matches() { | |
| return $this->matches; | |
| } | |
| /** | |
| * Executes and returns the protected parseSearchExpression method. | |
| */ | |
| public function publicParseSearchExpression() { | |
| return $this->parseSearchExpression(); | |
| } | |
| /** | |
| * Replaces the original condition with a custom one from views recursively. | |
| * | |
| * @param string $search | |
| * The searched value. | |
| * @param string $replace | |
| * The value which replaces the search value. | |
| * @param array $condition | |
| * The query conditions array in which the string is replaced. This is an | |
| * item from a \Drupal\Core\Database\Query\Condition::conditions array, | |
| * which must have a 'field' element. | |
| */ | |
| function conditionReplaceString($search, $replace, &$condition) { | |
| if ($condition['field'] instanceof Condition) { | |
| $conditions =& $condition['field']->conditions(); | |
| foreach ($conditions as $key => &$subcondition) { | |
| if (is_numeric($key)) { | |
| // As conditions can have subconditions, for example db_or(), the | |
| // function has to be called recursively. | |
| $this->conditionReplaceString($search, $replace, $subcondition); | |
| } | |
| } | |
| } | |
| else { | |
| $condition['field'] = str_replace($search, $replace, $condition['field']); | |
| } | |
| } | |
| } |