Completed
Push — dev2 ( 8c5e3c...d49e91 )
by Gordon
05:10 queued 02:18
created
src/SilverStripe/Elastica/FindElasticaSearchPageExtension.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -40,10 +40,10 @@
 block discarded – undo
40 40
 
41 41
 		$cache = SS_Cache::factory('searchpagecache');
42 42
 		$searchPage = null;
43
-		$cachekeyname = 'searchpageuri'.$identifier.$this->owner->Locale.$ck;
43
+		$cachekeyname = 'searchpageuri' . $identifier . $this->owner->Locale . $ck;
44 44
 
45
-		if(!($searchPage = unserialize($cache->load($cachekeyname)))) {
46
-			$searchPage = ElasticSearchPage::get()->filter('Identifier',$identifier)->first();
45
+		if (!($searchPage = unserialize($cache->load($cachekeyname)))) {
46
+			$searchPage = ElasticSearchPage::get()->filter('Identifier', $identifier)->first();
47 47
 			$cache->save(serialize($searchPage), $cachekeyname);
48 48
 		}
49 49
 		return $searchPage;
Please login to merge, or discard this patch.
searchpage/ElasticSearchPage_Validator.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -43,11 +43,11 @@  discard block
 block discarded – undo
43 43
 					try {
44 44
 						$instance = Injector::inst()->create($clazz);
45 45
 						if (!$instance->hasExtension('SilverStripe\Elastica\Searchable')) {
46
-							$this->validationError('ClassesToSearch', 'The class '.$clazz.' must have the Searchable extension');
46
+							$this->validationError('ClassesToSearch', 'The class ' . $clazz . ' must have the Searchable extension');
47 47
 						}
48 48
 					} catch (ReflectionException $e) {
49 49
 						$this->validationError("ClassesToSearch",
50
-							'The class '.$clazz.' does not exist',
50
+							'The class ' . $clazz . ' does not exist',
51 51
 							'error'
52 52
 						);
53 53
 					}
@@ -58,16 +58,16 @@  discard block
 block discarded – undo
58 58
 
59 59
 		// Check the identifier is unique
60 60
 		$mode = Versioned::get_reading_mode();
61
-		$suffix =  '';
61
+		$suffix = '';
62 62
 		if ($mode == 'Stage.Live') {
63 63
 			$suffix = '_Live';
64 64
 		}
65
-		$where = 'ElasticSearchPage'.$suffix.'.ID != '.$data['ID']." AND `Identifier` = '".$data['Identifier']."'";
65
+		$where = 'ElasticSearchPage' . $suffix . '.ID != ' . $data['ID'] . " AND `Identifier` = '" . $data['Identifier'] . "'";
66 66
 		$existing = ElasticSearchPage::get()->where($where)->count();
67 67
 		if ($existing > 0) {
68 68
 			$valid = false;
69 69
 			$this->validationError('Identifier',
70
-					'The identifier '.$data['Identifier'].' already exists',
70
+					'The identifier ' . $data['Identifier'] . ' already exists',
71 71
 					'error'
72 72
 			);
73 73
 		}
Please login to merge, or discard this patch.
searchpage/ElasticSearchForm.php 2 patches
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -27,17 +27,17 @@  discard block
 block discarded – undo
27 27
 	 */
28 28
 	public function __construct($controller, $name, $fields = null, $actions = null) {
29 29
 		$searchText = isset($this->Query) ? $this->Query : '';
30
-        $fields = new FieldList(
31
-           $tf = new TextField("q", "", $searchText)
32
-        );
30
+		$fields = new FieldList(
31
+		   $tf = new TextField("q", "", $searchText)
32
+		);
33 33
 
34 34
 
35
-        $buttonText = _t('SearchPage.SEARCH', 'Search');
36
-        $actions = new FieldList(
37
-            $fa = new FormAction('submit', $buttonText)
38
-        );
35
+		$buttonText = _t('SearchPage.SEARCH', 'Search');
36
+		$actions = new FieldList(
37
+			$fa = new FormAction('submit', $buttonText)
38
+		);
39 39
 
40
-        $this->SubmitButton = $fa;
40
+		$this->SubmitButton = $fa;
41 41
 
42 42
 		if(class_exists('Translatable') && singleton('SiteTree')->hasExtension('Translatable')) {
43 43
 			$fields->push(new HiddenField('searchlocale', 'searchlocale', Translatable::get_current_locale()));
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	 */
65 65
 	public function setButtonText($newButtonText) {
66 66
 		$this->actions = new FieldList(
67
-            $fa = new FormAction('submit', $newButtonText)
68
-        );
67
+			$fa = new FormAction('submit', $newButtonText)
68
+		);
69 69
 	}
70 70
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -39,7 +39,7 @@
 block discarded – undo
39 39
 
40 40
         $this->SubmitButton = $fa;
41 41
 
42
-		if(class_exists('Translatable') && singleton('SiteTree')->hasExtension('Translatable')) {
42
+		if (class_exists('Translatable') && singleton('SiteTree')->hasExtension('Translatable')) {
43 43
 			$fields->push(new HiddenField('searchlocale', 'searchlocale', Translatable::get_current_locale()));
44 44
 		}
45 45
 
Please login to merge, or discard this patch.
tests/ElasticSearcherUnitTest.php 1 patch
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -233,6 +233,9 @@
 block discarded – undo
233 233
 
234 234
 
235 235
 
236
+	/**
237
+	 * @param PaginatedList $paginated
238
+	 */
236 239
 	private function makeCode($paginated) {
237 240
 		$results = $paginated->getList()->toArray();
238 241
 		$ctr = 0;
Please login to merge, or discard this patch.
tests/TranslatableSearchableTest.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@
 block discarded – undo
9 9
 	public function setUp() {
10 10
 		// this needs to be called in order to create the list of searchable
11 11
 		// classes and fields that are available.  Simulates part of a build
12
-		$classes = array('SearchableTestPage','SiteTree','Page','FlickrPhotoTO','FlickrSetTO',
12
+		$classes = array('SearchableTestPage', 'SiteTree', 'Page', 'FlickrPhotoTO', 'FlickrSetTO',
13 13
 			'FlickrTagTO', 'FlickrAuthorTO', 'FlickrSetTO');
14 14
 		$this->requireDefaultRecordsFrom = $classes;
15 15
 
Please login to merge, or discard this patch.
src/SilverStripe/Elastica/ElasticaService.php 2 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -133,7 +133,7 @@
 block discarded – undo
133 133
 	 *
134 134
 	 * @param \Elastica\Query|string|array $query
135 135
 	 * @param string|array $types List of comma separated SilverStripe classes to search, or blank for all
136
-	 * @return \Elastica\ResultList
136
+	 * @return \Elastica\ResultSet
137 137
 	 */
138 138
 	public function search($query, $types = '') {
139 139
 		$query = Query::create($query); // may be a string
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
 	}
122 122
 
123 123
 	private function getLocaleIndexName() {
124
-		$name = $this->indexName.'-'.$this->locale;
124
+		$name = $this->indexName . '-' . $this->locale;
125 125
 		$name = strtolower($name);
126 126
 		$name = str_replace('-', '_', $name);
127 127
 		return $name;
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
 		$search = new Search(new Client());
153 153
 
154 154
 		if ($this->test_mode) {
155
-			$search->setOption('search_type',Search::OPTION_SEARCH_TYPE_DFS_QUERY_THEN_FETCH);
155
+			$search->setOption('search_type', Search::OPTION_SEARCH_TYPE_DFS_QUERY_THEN_FETCH);
156 156
 		}
157 157
 
158 158
 
@@ -195,7 +195,7 @@  discard block
 block discarded – undo
195 195
 		}
196 196
 
197 197
 		if (!$empty($types)) {
198
-			foreach($types as $type) {
198
+			foreach ($types as $type) {
199 199
 				$search->addType($type);
200 200
 			}
201 201
 		}
@@ -263,7 +263,7 @@  discard block
 block discarded – undo
263 263
 		//$search = new Search(new Client());
264 264
 		$search->addIndex($this->getLocaleIndexName());
265 265
 		if (!$empty($types)) {
266
-			foreach($types as $type) {
266
+			foreach ($types as $type) {
267 267
 				$search->addType($type);
268 268
 			}
269 269
 		}
@@ -350,9 +350,9 @@  discard block
 block discarded – undo
350 350
 
351 351
 	public function listIndexes($trace) {
352 352
 		$command = "curl 'localhost:9200/_cat/indices?v'";
353
-		exec($command,$op);
353
+		exec($command, $op);
354 354
 		ElasticaUtil::message("\n++++ $trace ++++\n");
355
-		ElasticaUtil::message(print_r($op,1));
355
+		ElasticaUtil::message(print_r($op, 1));
356 356
 		ElasticaUtil::message("++++ /{$trace} ++++\n\n");
357 357
 		return $op;
358 358
 	}
@@ -375,12 +375,12 @@  discard block
 block discarded – undo
375 375
 			ElasticaUtil::message("\tAdding $amount documents to the index\n");
376 376
 			if (isset($this->StartTime)) {
377 377
 				$elapsed = microtime(true) - $this->StartTime;
378
-				$timePerDoc = ($elapsed)/($this->nDocumentsIndexed);
378
+				$timePerDoc = ($elapsed) / ($this->nDocumentsIndexed);
379 379
 				$documentsRemaining = $this->nDocumentsToIndexForLocale - $this->nDocumentsIndexed;
380
-				$eta = ($documentsRemaining)*$timePerDoc;
381
-				$hours = (int)($eta/3600);
382
-				$minutes = (int)(($eta-$hours*3600)/60);
383
-				$seconds = (int)(0.5+$eta-$minutes*60-$hours*3600);
380
+				$eta = ($documentsRemaining) * $timePerDoc;
381
+				$hours = (int)($eta / 3600);
382
+				$minutes = (int)(($eta - $hours * 3600) / 60);
383
+				$seconds = (int)(0.5 + $eta - $minutes * 60 - $hours * 3600);
384 384
 				$etaHR = "{$hours}h {$minutes}m {$seconds}s";
385 385
 				ElasticaUtil::message("ETA to completion of indexing $this->locale ($documentsRemaining documents): $etaHR");
386 386
 			}
@@ -451,17 +451,17 @@  discard block
 block discarded – undo
451 451
 	 * @return \DataObject[] $records
452 452
 	 */
453 453
 	protected function recordsByClassConsiderVersioned($class, $pageSize = 0, $page = 0) {
454
-		$offset = $page*$pageSize;
454
+		$offset = $page * $pageSize;
455 455
 
456 456
 		if ($class::has_extension("Versioned")) {
457
-			if ($pageSize >0) {
457
+			if ($pageSize > 0) {
458 458
 				$records = \Versioned::get_by_stage($class, 'Live')->limit($pageSize, $offset);
459 459
 			} else {
460 460
 				$records = \Versioned::get_by_stage($class, 'Live');
461 461
 			}
462 462
 		} else {
463
-			if ($pageSize >0) {
464
-				$records = $class::get()->limit($pageSize,$offset);
463
+			if ($pageSize > 0) {
464
+				$records = $class::get()->limit($pageSize, $offset);
465 465
 			} else {
466 466
 				$records = $class::get();
467 467
 			}
@@ -479,12 +479,12 @@  discard block
 block discarded – undo
479 479
 	protected function refreshClass($class) {
480 480
 		$nRecords = $this->recordsByClassConsiderVersioned($class)->count();
481 481
 		$batchSize = 500;
482
-		$pages = $nRecords/$batchSize + 1;
482
+		$pages = $nRecords / $batchSize + 1;
483 483
 		$processing = true;
484 484
 
485
-		for ($i=0; $i < $pages; $i++) {
485
+		for ($i = 0; $i < $pages; $i++) {
486 486
 			$this->startBulkIndex();
487
-			$pagedRecords = $this->recordsByClassConsiderVersioned($class,$batchSize, $i);
487
+			$pagedRecords = $this->recordsByClassConsiderVersioned($class, $batchSize, $i);
488 488
 			$this->nDocumentsIndexed += $pagedRecords->count();
489 489
 			$batch = $pagedRecords->toArray();
490 490
 			$this->refreshRecords($batch);
@@ -506,7 +506,7 @@  discard block
 block discarded – undo
506 506
 
507 507
 		//Count the number of documents for this locale
508 508
 		$amount = 0;
509
-		echo "CURRENT LOCALE:".$this->locale;
509
+		echo "CURRENT LOCALE:" . $this->locale;
510 510
 		foreach ($classes as $class) {
511 511
 			$amount += $this->recordsByClassConsiderVersioned($class)->count();
512 512
 		}
@@ -582,7 +582,7 @@  discard block
 block discarded – undo
582 582
 			$settingsClassName = $indexSettings[$this->locale];
583 583
 			$result = \Injector::inst()->create($settingsClassName);
584 584
 		} else {
585
-			throw new \Exception('ERROR: No index settings are provided for locale '.$this->locale."\n");
585
+			throw new \Exception('ERROR: No index settings are provided for locale ' . $this->locale . "\n");
586 586
 
587 587
 		}
588 588
 		return $result;
@@ -598,7 +598,7 @@  discard block
 block discarded – undo
598 598
 		$classes = array();
599 599
 
600 600
 		$whitelist = array('SearchableTestPage', 'SearchableTestFatherPage', 'SearchableTestGrandFatherPage',
601
-			'FlickrPhotoTO','FlickrTagTO','FlickrPhotoTO','FlickrAuthorTO','FlickrSetTO');
601
+			'FlickrPhotoTO', 'FlickrTagTO', 'FlickrPhotoTO', 'FlickrAuthorTO', 'FlickrSetTO');
602 602
 
603 603
 		foreach (\ClassInfo::subclassesFor('DataObject') as $candidate) {
604 604
 			$instance = singleton($candidate);
@@ -661,7 +661,7 @@  discard block
 block discarded – undo
661 661
 			if (isset($mapping['fields'])) {
662 662
 				$subFields = array_keys($mapping['fields']);
663 663
 				foreach ($subFields as $subField) {
664
-					$name = $field.'.'.$subField;
664
+					$name = $field . '.' . $subField;
665 665
 					array_push($allFields, $name);
666 666
 				}
667 667
 			}
@@ -681,7 +681,7 @@  discard block
 block discarded – undo
681 681
 		);
682 682
 
683 683
 		//FlickrPhoto/3829/_termvector
684
-		$path = $this->getIndex()->getName().'/'.$searchable->ClassName.'/'.$searchable->ID.'/_termvector';
684
+		$path = $this->getIndex()->getName() . '/' . $searchable->ClassName . '/' . $searchable->ID . '/_termvector';
685 685
 		$response = $this->getClient()->request(
686 686
 				$path,
687 687
 				\Elastica\Request::GET,
Please login to merge, or discard this patch.
searchpage/ElasticSearchPage.php 2 patches
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
 	);
63 63
 
64 64
 	private static $many_many_extraFields = array(
65
-    	'ElasticaSearchableFields' => array(
65
+		'ElasticaSearchableFields' => array(
66 66
 		'Searchable' => 'Boolean', // allows the option of turning off a single field for searching
67 67
 		'SimilarSearchable' => 'Boolean', // allows field to be used in more like this queries.
68 68
 		'Active' => 'Boolean', // preserve previous edits of weighting when classes changed
@@ -104,10 +104,10 @@  discard block
 block discarded – undo
104 104
 		$sortedWords = $this->SimilarityStopWords;
105 105
 
106 106
 		$stopwordsField = StringTagField::create(
107
-		    'SimilarityStopWords',
108
-		    'Stop Words for Similar Search',
109
-		    $sortedWords,
110
-		    $sortedWords
107
+			'SimilarityStopWords',
108
+			'Stop Words for Similar Search',
109
+			$sortedWords,
110
+			$sortedWords
111 111
 		);
112 112
 
113 113
 		$stopwordsField->setShouldLazyLoad(true); // tags should be lazy loaded
@@ -190,15 +190,15 @@  discard block
 block discarded – undo
190 190
 		$fields->addFieldToTab('Root.Search.Aggregations', new TextField('SearchHelper',
191 191
 			'ClassName of object to manipulate search details and results.  Leave blank for standard search'));
192 192
 
193
-        $ottos = AutoCompleteOption::get()->Filter('Locale', $this->Locale)->map('ID', 'Name')->
194
-        									toArray();
195
-        $df = DropdownField::create('AutoCompleteFunctionID', 'Autocomplete Function')->
196
-        							setSource($ottos);
197
-        $df->setEmptyString('-- Please select what do do after find as you type has occurred --');
193
+		$ottos = AutoCompleteOption::get()->Filter('Locale', $this->Locale)->map('ID', 'Name')->
194
+											toArray();
195
+		$df = DropdownField::create('AutoCompleteFunctionID', 'Autocomplete Function')->
196
+									setSource($ottos);
197
+		$df->setEmptyString('-- Please select what do do after find as you type has occurred --');
198 198
 
199
-        $ottos = $this->ElasticaSearchableFields()->filter('EnableAutocomplete',1)->Map('ID', 'Name')->toArray();
200
-        $autoCompleteFieldDF = DropDownField::create('AutoCompleteFieldID', 'Field to use for autocomplete')->setSource($ottos);
201
-        $autoCompleteFieldDF->setEmptyString('-- Please select which field to use for autocomplete --');
199
+		$ottos = $this->ElasticaSearchableFields()->filter('EnableAutocomplete',1)->Map('ID', 'Name')->toArray();
200
+		$autoCompleteFieldDF = DropDownField::create('AutoCompleteFieldID', 'Field to use for autocomplete')->setSource($ottos);
201
+		$autoCompleteFieldDF->setEmptyString('-- Please select which field to use for autocomplete --');
202 202
 
203 203
 		$fields->addFieldToTab("Root.Search.AutoComplete",
204 204
 		  		FieldGroup::create(
@@ -223,7 +223,7 @@  discard block
 block discarded – undo
223 223
 		$pickerConfig->removeComponentsByType(new PickerFieldAddExistingSearchButton());
224 224
 		$pickerConfig->getComponentByType('GridFieldPaginator')->setItemsPerPage(100);
225 225
 
226
-        $searchPicker->enableEdit();
226
+		$searchPicker->enableEdit();
227 227
 		$edittest = $pickerConfig->getComponentByType('GridFieldDetailForm');
228 228
 		$edittest->setFields(FieldList::create(
229 229
 			TextField::create('Name', 'Field Name'),
@@ -257,23 +257,23 @@  discard block
 block discarded – undo
257 257
 
258 258
 		// What do display on the grid of searchable fields
259 259
 		$dataColumns = $pickerConfig->getComponentByType('GridFieldDataColumns');
260
-        $dataColumns->setDisplayFields(array(
260
+		$dataColumns->setDisplayFields(array(
261 261
 			'Name' => 'Name',
262
-        	'ClazzName' => 'Class',
262
+			'ClazzName' => 'Class',
263 263
 			'Type' => 'Type',
264 264
 			'Searchable' => 'Use for Search?',
265 265
 			'SimilarSearchable' => 'Use for Similar Search?',
266 266
 			'ShowHighlights' => 'Show Search Highlights',
267 267
 			'Weight' => 'Weighting'
268
-        ));
268
+		));
269 269
 
270 270
 		return $fields;
271 271
 	}
272 272
 
273 273
 
274 274
 	public function getCMSValidator() {
275
-        return new ElasticSearchPage_Validator();
276
-    }
275
+		return new ElasticSearchPage_Validator();
276
+	}
277 277
 
278 278
 
279 279
 	/**
@@ -358,7 +358,7 @@  discard block
 block discarded – undo
358 358
 		$esfs = $this->ElasticaSearchableFields();
359 359
 
360 360
 		// Remove existing searchable fields for this page from the list of all available
361
-    	$delta = array_keys($esfs->map()->toArray());
361
+		$delta = array_keys($esfs->map()->toArray());
362 362
 		$newSearchableFields = $sfs->exclude('ID', $delta);
363 363
 
364 364
 		if ($newSearchableFields->count() > 0) {
@@ -448,7 +448,7 @@  discard block
 block discarded – undo
448 448
 		Requirements::javascript(THIRDPARTY_DIR . '/jquery/jquery.js');
449 449
 		Requirements::javascript("elastica/javascript/jquery.autocomplete.js");
450 450
 		Requirements::javascript("elastica/javascript/elastica.js");
451
-        Requirements::css("elastica/css/elastica.css");
451
+		Requirements::css("elastica/css/elastica.css");
452 452
 	}
453 453
 
454 454
 
@@ -522,9 +522,9 @@  discard block
 block discarded – undo
522 522
 
523 523
 		try {
524 524
 			// Simulate server being down for testing purposes
525
-	        if (isset($_GET['ServerDown'])) {
526
-	        	throw new Elastica\Exception\Connection\HttpException('Unable to reach search server');
527
-	        }
525
+			if (isset($_GET['ServerDown'])) {
526
+				throw new Elastica\Exception\Connection\HttpException('Unable to reach search server');
527
+			}
528 528
 			if (class_exists($class)) {
529 529
 				$instance = \DataObject::get_by_id($class,$instanceID);
530 530
 
@@ -664,9 +664,9 @@  discard block
 block discarded – undo
664 664
 		$paginated = null;
665 665
 		try {
666 666
 			// Simulate server being down for testing purposes
667
-	        if (isset($_GET['ServerDown'])) {
668
-	        	throw new Elastica\Exception\Connection\HttpException('Unable to reach search server');
669
-	        }
667
+			if (isset($_GET['ServerDown'])) {
668
+				throw new Elastica\Exception\Connection\HttpException('Unable to reach search server');
669
+			}
670 670
 
671 671
 			// now actually perform the search using the original query
672 672
 			$paginated = $es->search($queryText, $fieldsToSearch, $testMode);
Please login to merge, or discard this patch.
Spacing   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -118,29 +118,29 @@  discard block
 block discarded – undo
118 118
 			'Default values are those used by Elastica'));
119 119
 		$fields->addFieldToTab("Root.Search.Similarity", $lf);
120 120
 		$fields->addFieldToTab("Root.Search.Similarity", new TextField('MinTermFreq',
121
-			'The minimum term frequency below which the terms will be ignored from the input '.
121
+			'The minimum term frequency below which the terms will be ignored from the input ' .
122 122
 			'document. Defaults to 2.'));
123 123
 		$fields->addFieldToTab("Root.Search.Similarity", new TextField('MaxTermFreq',
124
-			'The maximum number of query terms that will be selected. Increasing this value gives '.
124
+			'The maximum number of query terms that will be selected. Increasing this value gives ' .
125 125
 			'greater accuracy at the expense of query execution speed. Defaults to 25.'));
126 126
 		$fields->addFieldToTab("Root.Search.Similarity", new TextField('MinWordLength',
127 127
 			'The minimum word length below which the terms will be ignored.  Defaults to 0.'));
128 128
 		$fields->addFieldToTab("Root.Search.Similarity", new TextField('MinDocFreq',
129
-			'The minimum document frequency below which the terms will be ignored from the input '.
129
+			'The minimum document frequency below which the terms will be ignored from the input ' .
130 130
 			'document. Defaults to 5.'));
131 131
 		$fields->addFieldToTab("Root.Search.Similarity", new TextField('MaxDocFreq',
132
-			'The maximum document frequency above which the terms will be ignored from the input '.
133
-			'document. This could be useful in order to ignore highly frequent words such as stop '.
132
+			'The maximum document frequency above which the terms will be ignored from the input ' .
133
+			'document. This could be useful in order to ignore highly frequent words such as stop ' .
134 134
 			'words. Defaults to unbounded (0).'));
135 135
 		$fields->addFieldToTab("Root.Search.Similarity", new TextField('MinWordLength',
136
-			'The minimum word length below which the terms will be ignored. The old name min_'.
136
+			'The minimum word length below which the terms will be ignored. The old name min_' .
137 137
 			'word_len is deprecated. Defaults to 0.'));
138 138
 		$fields->addFieldToTab("Root.Search.Similarity", new TextField('MaxWordLength',
139
-			'The maximum word length above which the terms will be ignored. The old name max_word_'.
139
+			'The maximum word length above which the terms will be ignored. The old name max_word_' .
140 140
 			'len is deprecated. Defaults to unbounded (0).'));
141 141
 		$fields->addFieldToTab("Root.Search.Similarity", new TextField('MinShouldMatch',
142
-			'This parameter controls the number of terms that must match. This can be either a '.
143
-			'number or a percentage.  See '.
142
+			'This parameter controls the number of terms that must match. This can be either a ' .
143
+			'number or a percentage.  See ' .
144 144
 			'https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html'));
145 145
 
146 146
 		// ---- search details tab ----
@@ -177,9 +177,9 @@  discard block
 block discarded – undo
177 177
 
178 178
 		$html = '<div class="field text" id="SiteTreeOnlyInfo">';
179 179
 		$html .= "<p>Copy the following into the above field to ensure that all SiteTree classes are searched</p>";
180
-		$html .= '<p class="message">'.$list;
180
+		$html .= '<p class="message">' . $list;
181 181
 		$html .= "</p></div>";
182
-		$infoField = new LiteralField('InfoField',$html);
182
+		$infoField = new LiteralField('InfoField', $html);
183 183
 		$fields->addFieldToTab('Root.Search.SearchFor', $infoField);
184 184
 
185 185
 		$fields->addFieldToTab('Root.Main', new HTMLEditorField('ContentForEmptySearch'));
@@ -196,7 +196,7 @@  discard block
 block discarded – undo
196 196
         							setSource($ottos);
197 197
         $df->setEmptyString('-- Please select what do do after find as you type has occurred --');
198 198
 
199
-        $ottos = $this->ElasticaSearchableFields()->filter('EnableAutocomplete',1)->Map('ID', 'Name')->toArray();
199
+        $ottos = $this->ElasticaSearchableFields()->filter('EnableAutocomplete', 1)->Map('ID', 'Name')->toArray();
200 200
         $autoCompleteFieldDF = DropDownField::create('AutoCompleteFieldID', 'Field to use for autocomplete')->setSource($ottos);
201 201
         $autoCompleteFieldDF->setEmptyString('-- Please select which field to use for autocomplete --');
202 202
 
@@ -208,9 +208,9 @@  discard block
 block discarded – undo
208 208
 		 );
209 209
 
210 210
 		// ---- grid of searchable fields ----
211
-		$html = '<p id="SearchFieldIntro">'._t('SiteConfig.ELASTICA_SEARCH_INFO',
212
-				"Select a field to edit it's properties").'</p>';
213
-		$fields->addFieldToTab('Root.Search.Fields', $h1=new LiteralField('SearchInfo', $html));
211
+		$html = '<p id="SearchFieldIntro">' . _t('SiteConfig.ELASTICA_SEARCH_INFO',
212
+				"Select a field to edit it's properties") . '</p>';
213
+		$fields->addFieldToTab('Root.Search.Fields', $h1 = new LiteralField('SearchInfo', $html));
214 214
 		$searchPicker = new PickerField('ElasticaSearchableFields', 'Searchable Fields',
215 215
 			$this->ElasticaSearchableFields()->filter('Active', 1)->sort('Name'));
216 216
 
@@ -283,7 +283,7 @@  discard block
 block discarded – undo
283 283
 	public function validate() {
284 284
 		$result = parent::validate();
285 285
 		$mode = Versioned::get_reading_mode();
286
-		$suffix =  '';
286
+		$suffix = '';
287 287
 		if ($mode == 'Stage.Live') {
288 288
 			$suffix = '_Live';
289 289
 		}
@@ -292,17 +292,17 @@  discard block
 block discarded – undo
292 292
 			$result->error('The identifier cannot be blank');
293 293
 		}
294 294
 
295
-		$where = 'ElasticSearchPage'.$suffix.'.ID != '.$this->ID." AND `Identifier` = '{$this->Identifier}'";
295
+		$where = 'ElasticSearchPage' . $suffix . '.ID != ' . $this->ID . " AND `Identifier` = '{$this->Identifier}'";
296 296
 		$existing = ElasticSearchPage::get()->where($where)->count();
297 297
 		if ($existing > 0) {
298
-			$result->error('The identifier '.$this->Identifier.' already exists');
298
+			$result->error('The identifier ' . $this->Identifier . ' already exists');
299 299
 		}
300 300
 
301 301
 
302
-		error_log('CTS:'.$this->ClassesToSearch);
302
+		error_log('CTS:' . $this->ClassesToSearch);
303 303
 
304 304
 		// now check classes to search actually exist, assuming in site tree not set
305
-		error_log('STO:'.$this->SiteTreeOnly);
305
+		error_log('STO:' . $this->SiteTreeOnly);
306 306
 		if (!$this->SiteTreeOnly) {
307 307
 			if ($this->ClassesToSearch == '') {
308 308
 				$result->error('At least one searchable class must be available, or SiteTreeOnly flag set');
@@ -312,10 +312,10 @@  discard block
 block discarded – undo
312 312
 					try {
313 313
 						$instance = Injector::inst()->create($clazz);
314 314
 						if (!$instance->hasExtension('SilverStripe\Elastica\Searchable')) {
315
-							$result->error('The class '.$clazz.' must have the Searchable extension');
315
+							$result->error('The class ' . $clazz . ' must have the Searchable extension');
316 316
 						}
317 317
 					} catch (ReflectionException $e) {
318
-						$result->error('The class '.$clazz.' does not exist');
318
+						$result->error('The class ' . $clazz . ' does not exist');
319 319
 					}
320 320
 				}
321 321
 			}
@@ -363,7 +363,7 @@  discard block
 block discarded – undo
363 363
 
364 364
 		if ($newSearchableFields->count() > 0) {
365 365
 			foreach ($newSearchableFields->getIterator() as $newSearchableField) {
366
-				error_log('NEW FIELD:'.$newSearchableField->Name);
366
+				error_log('NEW FIELD:' . $newSearchableField->Name);
367 367
 				$newSearchableField->Active = true;
368 368
 				$newSearchableField->Weight = 1;
369 369
 
@@ -371,7 +371,7 @@  discard block
 block discarded – undo
371 371
 
372 372
 				// Note 1 used instead of true for SQLite3 testing compatibility
373 373
 				$sql = "UPDATE ElasticSearchPage_ElasticaSearchableFields SET ";
374
-				$sql .= 'Active=1, Weight=1 WHERE ElasticSearchPageID = '.$this->ID;
374
+				$sql .= 'Active=1, Weight=1 WHERE ElasticSearchPageID = ' . $this->ID;
375 375
 				DB::query($sql);
376 376
 			}
377 377
 		}
@@ -418,7 +418,7 @@  discard block
 block discarded – undo
418 418
 			$qField->setAttribute('data-autocomplete-field', 'Title');
419 419
 			$qField->setAttribute('data-autocomplete-classes', $this->ClassesToSearch);
420 420
 			$qField->setAttribute('data-autocomplete-sitetree', $this->SiteTreeOnly);
421
-			$qField->setAttribute('data-autocomplete-source',$this->Link());
421
+			$qField->setAttribute('data-autocomplete-source', $this->Link());
422 422
 			$qField->setAttribute('data-autocomplete-function',
423 423
 			$this->AutocompleteFunction()->Slug);
424 424
 		}
@@ -440,7 +440,7 @@  discard block
 block discarded – undo
440 440
 
441 441
 class ElasticSearchPage_Controller extends Page_Controller {
442 442
 
443
-	private static $allowed_actions = array('SearchForm', 'submit','index','similar');
443
+	private static $allowed_actions = array('SearchForm', 'submit', 'index', 'similar');
444 444
 
445 445
 	public function init() {
446 446
 		parent::init();
@@ -516,7 +516,7 @@  discard block
 block discarded – undo
516 516
 
517 517
 		// Use the standard field for more like this, ie not stemmed
518 518
 		foreach ($fieldsToSearch as $field => $value) {
519
-			$fieldsToSearch[$field.'.standard'] = $value;
519
+			$fieldsToSearch[$field . '.standard'] = $value;
520 520
 			unset($fieldsToSearch[$field]);
521 521
 		}
522 522
 
@@ -526,7 +526,7 @@  discard block
 block discarded – undo
526 526
 	        	throw new Elastica\Exception\Connection\HttpException('Unable to reach search server');
527 527
 	        }
528 528
 			if (class_exists($class)) {
529
-				$instance = \DataObject::get_by_id($class,$instanceID);
529
+				$instance = \DataObject::get_by_id($class, $instanceID);
530 530
 
531 531
 				$paginated = $es->moreLikeThis($instance, $fieldsToSearch);
532 532
 
@@ -570,7 +570,7 @@  discard block
 block discarded – undo
570 570
 
571 571
 		// calculate time
572 572
 		$endTime = microtime(true);
573
-		$elapsed = round(100*($endTime-$startTime))/100;
573
+		$elapsed = round(100 * ($endTime - $startTime)) / 100;
574 574
 
575 575
 		// store variables for the template to use
576 576
 		$data['ElapsedTime'] = $elapsed;
@@ -624,11 +624,11 @@  discard block
 block discarded – undo
624 624
 		$testMode = isset($_GET['TestMode']);
625 625
 
626 626
 		// filters for aggregations
627
-		$ignore = array('url', 'start','q','is');
627
+		$ignore = array('url', 'start', 'q', 'is');
628 628
 		$ignore = \Config::inst()->get('Elastica', 'BlackList');
629 629
 		foreach ($this->request->getVars() as $key => $value) {
630 630
 			if (!in_array($key, $ignore)) {
631
-				$es->addFilter($key,$value);
631
+				$es->addFilter($key, $value);
632 632
 			}
633 633
 		}
634 634
 
@@ -677,7 +677,7 @@  discard block
 block discarded – undo
677 677
 				$data['SuggestedQuery'] = $es->getSuggestedQuery();
678 678
 				$data['SuggestedQueryHighlighted'] = $es->getSuggestedQueryHighlighted();
679 679
 				//Link for if the user really wants to try their original query
680
-				$sifLink = rtrim($this->Link(),'/').'?q='.$queryText.'&is=1';
680
+				$sifLink = rtrim($this->Link(), '/') . '?q=' . $queryText . '&is=1';
681 681
 				$data['SearchInsteadForLink'] = $sifLink;
682 682
 				$paginated = $es->search($es->getSuggestedQuery(), $fieldsToSearch);
683 683
 
@@ -685,7 +685,7 @@  discard block
 block discarded – undo
685 685
 
686 686
 			// calculate time
687 687
 			$endTime = microtime(true);
688
-			$elapsed = round(100*($endTime-$startTime))/100;
688
+			$elapsed = round(100 * ($endTime - $startTime)) / 100;
689 689
 
690 690
 			// store variables for the template to use
691 691
 			$data['ElapsedTime'] = $elapsed;
@@ -716,7 +716,7 @@  discard block
 block discarded – undo
716 716
 	 */
717 717
 	public function QueryIsEmpty() {
718 718
 		$result = !isset($_GET['q']);
719
-		if (isset($_GET['q']))	{
719
+		if (isset($_GET['q'])) {
720 720
 			$queryText = $_GET['q'];
721 721
 			if ($queryText == '') {
722 722
 				$result = true;
@@ -735,7 +735,7 @@  discard block
 block discarded – undo
735 735
 		$queryText = $data['q'];
736 736
 		$url = $this->Link();
737 737
 		$url = rtrim($url, '/');
738
-		$link = rtrim($url, '/').'?q='.$queryText.'&sfid='.$data['identifier'];
738
+		$link = rtrim($url, '/') . '?q=' . $queryText . '&sfid=' . $data['identifier'];
739 739
 		$this->redirect($link);
740 740
 	}
741 741
 
@@ -759,7 +759,7 @@  discard block
 block discarded – undo
759 759
 
760 760
 		}
761 761
 
762
-		if($this->action == 'similar') {
762
+		if ($this->action == 'similar') {
763 763
 			$queryField->setDisabled(true);
764 764
 			$actions = $form->Actions();
765 765
 			foreach ($actions as $field) {
@@ -775,7 +775,7 @@  discard block
 block discarded – undo
775 775
 			$queryField->setAttribute('data-autocomplete-field', 'Title');
776 776
 			$queryField->setAttribute('data-autocomplete-classes', $this->ClassesToSearch);
777 777
 			$queryField->setAttribute('data-autocomplete-sitetree', $this->SiteTreeOnly);
778
-			$queryField->setAttribute('data-autocomplete-source',$this->Link());
778
+			$queryField->setAttribute('data-autocomplete-source', $this->Link());
779 779
 			$queryField->setAttribute('data-autocomplete-function',
780 780
 			$this->AutocompleteFunction()->Slug);
781 781
 		}
Please login to merge, or discard this patch.