Run phpcs and phpcbf

This commit is contained in:
Kyle Huynh 2023-06-07 00:59:16 -04:00
parent 9557ca17d5
commit 0940670323
13 changed files with 149 additions and 152 deletions

View file

@ -81,8 +81,8 @@ function advanced_search_form_block_form_alter(&$form, FormStateInterface $form_
$condition_id = 'node_has_term'; $condition_id = 'node_has_term';
/** @var \Drupal\Core\Condition\ConditionInterface $condition */ /** @var \Drupal\Core\Condition\ConditionInterface $condition */
if (array_key_exists($condition_id,$visibility)) { if (array_key_exists($condition_id, $visibility)) {
$condition = $manager->createInstance($condition_id, isset($visibility[$condition_id]) ? $visibility[$condition_id] : []); $condition = $manager->createInstance($condition_id, $visibility[$condition_id] ?? []);
$form_state->set(['conditions', $condition_id], $condition); $form_state->set(['conditions', $condition_id], $condition);
$condition_form = $condition->buildConfigurationForm([], $form_state); $condition_form = $condition->buildConfigurationForm([], $form_state);
$condition_form['#type'] = 'details'; $condition_form['#type'] = 'details';

View file

@ -41,5 +41,5 @@ input.islandora-advanced-search-form__search {
} }
[id^="edit-terms"] { [id^="edit-terms"] {
display:initial !important; display: initial !important;
} }

View file

@ -122,7 +122,7 @@
.advanced_search_result_pager .pager__group > * { .advanced_search_result_pager .pager__group > * {
margin: 0.47214rem 2rem 0.47214rem 0; margin: 0.47214rem 2rem 0.47214rem 0;
display:flex; display: flex;
} }
.advanced_search_result_pager .pager__group > *:last-child { .advanced_search_result_pager .pager__group > *:last-child {
@ -143,17 +143,15 @@
display: none; display: none;
} }
.view-grid > .view-content{ .view-grid > .view-content {
display: grid; display: grid;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr);
/*margin: 0.47214rem 0 0.47214rem 2.61803rem;*/ /*margin: 0.47214rem 0 0.47214rem 2.61803rem;*/
} }
@media only screen and (max-width: 600px) { @media only screen and (max-width: 600px) {
.view-grid > .view-content{ .view-grid > .view-content {
display: grid; display: grid;
grid-template-columns: repeat(1, 1fr); grid-template-columns: repeat(1, 1fr);
} }
} }

View file

@ -150,15 +150,15 @@ class AdvancedSearchQuery {
$language_ids = $search_api_query->getLanguages(); $language_ids = $search_api_query->getLanguages();
$field_mapping = $backend->getSolrFieldNamesKeyedByLanguage($language_ids, $index); $field_mapping = $backend->getSolrFieldNamesKeyedByLanguage($language_ids, $index);
// disable for Lucene and wildcard // Disable for Lucene and wildcard
//$q[] = "{!boost b=boost_document}"; // $q[] = "{!boost b=boost_document}";
// Create a flag for active/inactive dismax.
// create a flag for active/inactive dismax
$config = \Drupal::config(SettingsForm::CONFIG_NAME); $config = \Drupal::config(SettingsForm::CONFIG_NAME);
$isDismax = $config->get(SettingsForm::EDISMAX_SEARCH_FLAG); $isDismax = $config->get(SettingsForm::EDISMAX_SEARCH_FLAG);
if (!isset($isDismax)) if (!isset($isDismax)) {
$isDismax = true; $isDismax = TRUE;
$isSearchAllFields = false; }
$isSearchAllFields = FALSE;
$fields_list = []; $fields_list = [];
if (!$isDismax) { if (!$isDismax) {
@ -169,50 +169,49 @@ class AdvancedSearchQuery {
$term = array_shift($terms); $term = array_shift($terms);
$q[] = $term->toSolrQuery($field_mapping); $q[] = $term->toSolrQuery($field_mapping);
// new // New.
$fields_list[] = $term->toSolrFields($field_mapping); $fields_list[] = $term->toSolrFields($field_mapping);
// set edismax is enabled if the field set to "all" // Set edismax is enabled if the field set to "all".
if ($term->getField() === "all") { if ($term->getField() === "all") {
$isSearchAllFields = true; $isSearchAllFields = TRUE;
} }
// for multiple conditions // For multiple conditions.
foreach ($terms as $term) { foreach ($terms as $term) {
$q[] = $term->getConjunction(); $q[] = $term->getConjunction();
$q[] = $term->toSolrQuery($field_mapping); $q[] = $term->toSolrQuery($field_mapping);
// new // New.
$fields_list[] = $term->toSolrFields($field_mapping); $fields_list[] = $term->toSolrFields($field_mapping);
// set dismax is enabled if the field set to "all" // Set dismax is enabled if the field set to "all".
if ($term->getField() === "all") { if ($term->getField() === "all") {
$isSearchAllFields = true; $isSearchAllFields = TRUE;
} }
} }
$q = implode(' ', $q); $q = implode(' ', $q);
// Limit extra processing if Luncene Search is enable.
// Limit extra processing if Luncene Search is enable
if ($isDismax) { if ($isDismax) {
if ((strpos($q, "*") !== false || strpos($q, "?") !== false)) { if ((strpos($q, "*") !== FALSE || strpos($q, "?") !== FALSE)) {
// if the query string contain '*', '?', OR is a single world, enable wildcard // If the query string contain '*', '?', OR is a single world, enable wildcard.
$tmp = str_replace('"', "", trim($q)); $tmp = str_replace('"', "", trim($q));
$query_fields = []; $query_fields = [];
if ($isSearchAllFields) { if ($isSearchAllFields) {
foreach ($field_mapping as $key => $field) { foreach ($field_mapping as $key => $field) {
foreach ($field as $f => $item) { foreach ($field as $f => $item) {
// bs_ are boolean fields, do not work well with text search // bs_ are boolean fields, do not work well with text search.
if (substr($item, 0, 3) !== "bs_" && !in_array($item, ['score', 'random', 'boost_document']) if (substr($item, 0, 3) !== "bs_" && !in_array($item, ['score', 'random', 'boost_document'])
&& ((strpos( $item, "sm_" ) === 0) || (strpos( $item, "tm_" ) === 0) || (strpos($item, "sort_ss_") === 0) || (strpos($item, "ts_") === 0) && ((strpos($item, "sm_") === 0) || (strpos($item, "tm_") === 0) || (strpos($item, "sort_ss_") === 0) || (strpos($item, "ts_") === 0)
|| (strpos($item, "ss_") === 0) || (strpos($item, "ss_") === 0)
)){ )) {
array_push($query_fields, '('.$item. ':'. $tmp .')'); array_push($query_fields, '(' . $item . ':' . $tmp . ')');
} }
} }
} }
@ -221,7 +220,7 @@ class AdvancedSearchQuery {
foreach ($fields_list as $f) { foreach ($fields_list as $f) {
$parts = explode(" ", $f); $parts = explode(" ", $f);
foreach ($parts as $p) { foreach ($parts as $p) {
array_push($query_fields, '(' . $p . ':' . $tmp .')'); array_push($query_fields, '(' . $p . ':' . $tmp . ')');
} }
} }
} }
@ -229,7 +228,7 @@ class AdvancedSearchQuery {
} }
else { else {
// enable dismax search query option // Enable dismax search query option.
/** @var Solarium\QueryType\Select\Query\Component\DisMax $dismax */ /** @var Solarium\QueryType\Select\Query\Component\DisMax $dismax */
$dismax = $solarium_query->getEDisMax(); $dismax = $solarium_query->getEDisMax();
$dismax->setQueryParser('edismax'); $dismax->setQueryParser('edismax');
@ -238,7 +237,7 @@ class AdvancedSearchQuery {
if ($isSearchAllFields) { if ($isSearchAllFields) {
foreach ($field_mapping as $key => $field) { foreach ($field_mapping as $key => $field) {
foreach ($field as $f => $item) { foreach ($field as $f => $item) {
// bs_ are boolean fields, do not work well with text search // bs_ are boolean fields, do not work well with text search.
if (substr($item, 0, 3) !== "bs_") { if (substr($item, 0, 3) !== "bs_") {
array_push($query_fields, $item); array_push($query_fields, $item);
} }
@ -424,4 +423,5 @@ class AdvancedSearchQuery {
$hl->addField($highlighted_field); $hl->addField($highlighted_field);
} }
} }
} }

View file

@ -4,6 +4,7 @@ namespace Drupal\advanced_search;
use Drupal\advanced_search\Form\AdvancedSearchForm; use Drupal\advanced_search\Form\AdvancedSearchForm;
use Drupal\advanced_search\Form\SettingsForm; use Drupal\advanced_search\Form\SettingsForm;
/** /**
* Defines a single search term. * Defines a single search term.
* *
@ -287,22 +288,22 @@ class AdvancedSearchQueryTerm {
$config = \Drupal::config(SettingsForm::CONFIG_NAME); $config = \Drupal::config(SettingsForm::CONFIG_NAME);
$isDismax = $config->get(SettingsForm::EDISMAX_SEARCH_FLAG); $isDismax = $config->get(SettingsForm::EDISMAX_SEARCH_FLAG);
if (!isset($isDismax)){ if (!isset($isDismax)) {
$isDismax = true; $isDismax = TRUE;
} }
if ($isDismax || $this->field === "all") { if ($isDismax || $this->field === "all") {
// Case 1: if keyword contains one word or a phrase // Case 1: if keyword contains one word or a phrase.
if(strpos(trim($value), ' ') !== false) { if (strpos(trim($value), ' ') !== FALSE) {
// add Or for the search case "scarborough bulletin" show no results // Add Or for the search case "scarborough bulletin" show no results.
$isNot = $this->getInclude() ? "" : "-"; $isNot = $this->getInclude() ? "" : "-";
if (substr_count($value, '\"') == 2) { if (substr_count($value, '\"') == 2) {
$value = str_replace('\"', "", trim($value)); $value = str_replace('\"', "", trim($value));
return $isNot . $value; return $isNot . $value;
} }
else { else {
return $isNot . "(" .$value . " OR " . str_replace('"', "", trim($value)) . ")"; return $isNot . "(" . $value . " OR " . str_replace('"', "", trim($value)) . ")";
} }
} }
if (!$this->getInclude()) { if (!$this->getInclude()) {
@ -310,25 +311,25 @@ class AdvancedSearchQueryTerm {
} }
else { else {
// Case 2: keywords is one word // Case 2: keywords is one word
// if there is quotation (with backslash) surrounded, // if there is quotation (with backslash) surrounded,.
if (strpos(trim($value), '\"' ) !== false) { if (strpos(trim($value), '\"') !== FALSE) {
$value = str_replace('\"', "", trim($value)); $value = str_replace('\"', "", trim($value));
} }
else { else {
// if there is quotation (without backslash) surrounded // If there is quotation (without backslash) surrounded.
$value = str_replace('"', "", trim($value)); $value = str_replace('"', "", trim($value));
} }
} }
return $value; return $value;
} }
else { else {
$isTitleSearch = false; $isTitleSearch = FALSE;
foreach ($solr_field_mapping[$this->field] as $field) { foreach ($solr_field_mapping[$this->field] as $field) {
// if field fulltext title is selected // If field fulltext title is selected.
if (strpos($field, "fulltext_title") !== false) { if (strpos($field, "fulltext_title") !== FALSE) {
$isTitleSearch = true; $isTitleSearch = TRUE;
if (strpos(trim($value), " AND " ) !== false) { if (strpos(trim($value), " AND ") !== FALSE) {
//When you type 'Orientation AND games' into the title search, you get one result. // When you type 'Orientation AND games' into the title search, you get one result.
// When you do the same search but add a search box, you get a lot more results. // When you do the same search but add a search box, you get a lot more results.
// (Recreation: Add a search box, set both search criteria to 'Title' and keep the operator to 'and'. // (Recreation: Add a search box, set both search criteria to 'Title' and keep the operator to 'and'.
// Type 'orientation' in one box and 'games' in the second box and click seach.) // Type 'orientation' in one box and 'games' in the second box and click seach.)
@ -338,17 +339,19 @@ class AdvancedSearchQueryTerm {
$i = 0; $i = 0;
foreach ($keys as $key) { foreach ($keys as $key) {
if ($i != count($keys)-1) if ($i != count($keys) - 1) {
$str .= $field . ':"' .$key . '" AND '; $str .= $field . ':"' . $key . '" AND ';
else }
$str .= $field . ':"' .$key . '")'; else {
$str .= $field . ':"' . $key . '")';
}
$i++; $i++;
} }
$terms[] = $str; $terms[] = $str;
} }
else { else {
if ($isTitleSearch) { if ($isTitleSearch) {
$terms[] = 'tm_lowercase_title:'. $value; $terms[] = 'tm_lowercase_title:' . $value;
} }
else { else {
$terms[] = "$field:$value"; $terms[] = "$field:$value";
@ -366,7 +369,6 @@ class AdvancedSearchQueryTerm {
return $this->include ? "($terms)" : "-($terms)"; return $this->include ? "($terms)" : "-($terms)";
} }
/** /**
* Using the provided field mapping create a Solr Fields string. * Using the provided field mapping create a Solr Fields string.
* *
@ -390,11 +392,10 @@ class AdvancedSearchQueryTerm {
} }
/** /**
* Get Field search * Get Field search.
*/ */
public function getField() { public function getField() {
return $this->field; return $this->field;
} }
} }

View file

@ -104,20 +104,18 @@ class AdvancedSearchForm extends FormBase {
} }
/** /**
* Get if Edismax Search checkbox is enabled or disable * Get if Edismax Search checkbox is enabled or disable.
*
* @return boolean
* *
* @return bool
*/ */
public static function getSearchAllFields() { public static function getSearchAllFields() {
return self::getConfig(SettingsForm::SEARCH_ALL_FIELDS_FLAG, 0); return self::getConfig(SettingsForm::SEARCH_ALL_FIELDS_FLAG, 0);
} }
/** /**
* Get if Edismax Search checkbox is enabled or disable * Get if Edismax Search checkbox is enabled or disable.
*
* @return boolean
* *
* @return bool
*/ */
public static function getEdismaxSearch() { public static function getEdismaxSearch() {
return self::getConfig(SettingsForm::EDISMAX_SEARCH_FLAG, 0); return self::getConfig(SettingsForm::EDISMAX_SEARCH_FLAG, 0);
@ -185,7 +183,7 @@ class AdvancedSearchForm extends FormBase {
*/ */
protected function processInput(FormStateInterface $form_state, array $term_default_values) { protected function processInput(FormStateInterface $form_state, array $term_default_values) {
$input = $form_state->getUserInput(); $input = $form_state->getUserInput();
$recursive = isset($input['recursive']) ? $input['recursive'] : NULL; $recursive = $input['recursive'] ?? NULL;
$term_values = isset($input['terms']) && is_array($input['terms']) ? $input['terms'] : []; $term_values = isset($input['terms']) && is_array($input['terms']) ? $input['terms'] : [];
// Form was not submitted see if we can rebuild from query parameters. // Form was not submitted see if we can rebuild from query parameters.
$advanced_search_query = new AdvancedSearchQuery(); $advanced_search_query = new AdvancedSearchQuery();
@ -275,7 +273,7 @@ class AdvancedSearchForm extends FormBase {
$options = (self::getEdismaxSearch() && self::getSearchAllFields()) ? ["all" => $this->t(self::getEdismaxSearchLabel())] + $this->fieldOptions($fields) : $this->fieldOptions($fields); $options = (self::getEdismaxSearch() && self::getSearchAllFields()) ? ["all" => $this->t(self::getEdismaxSearchLabel())] + $this->fieldOptions($fields) : $this->fieldOptions($fields);
$term_default_values = $this->defaultTermValues($options); $term_default_values = $this->defaultTermValues($options);
list($recursive, $term_values) = $this->processInput($form_state, $term_default_values); [$recursive, $term_values] = $this->processInput($form_state, $term_default_values);
$i = 0; $i = 0;
$term_elements = []; $term_elements = [];
$total_terms = count($term_values); $total_terms = count($term_values);
@ -284,20 +282,20 @@ class AdvancedSearchForm extends FormBase {
// Either specified by the user in the request or use the default. // Either specified by the user in the request or use the default.
$first = $i == 0; $first = $i == 0;
$term_value = !empty($term_values) ? array_shift($term_values) : $term_default_values; $term_value = !empty($term_values) ? array_shift($term_values) : $term_default_values;
$conjunction = isset($term_value[self::CONJUNCTION_FORM_FIELD]) ? $term_value[self::CONJUNCTION_FORM_FIELD] : $term_default_values[self::CONJUNCTION_FORM_FIELD]; $conjunction = $term_value[self::CONJUNCTION_FORM_FIELD] ?? $term_default_values[self::CONJUNCTION_FORM_FIELD];
$term_elements[] = [ $term_elements[] = [
// Only show on terms after the first. // Only show on terms after the first.
self::CONJUNCTION_FORM_FIELD => $first ? NULL : [ self::CONJUNCTION_FORM_FIELD => $first ? NULL : [
'#type' => 'select', '#type' => 'select',
'#attributes' => [ '#attributes' => [
'aria-label' => $this->t("Select search condition") 'aria-label' => $this->t("Select search condition"),
], ],
'#options' => [ '#options' => [
self::AND_OP => $this->t('and'), self::AND_OP => $this->t('and'),
self::OR_OP => $this->t('or'), self::OR_OP => $this->t('or'),
], ],
'#default_value' => $conjunction, '#default_value' => $conjunction,
'#theme_wrappers' => [] '#theme_wrappers' => [],
], ],
self::SEARCH_FORM_FIELD => [ self::SEARCH_FORM_FIELD => [
'#type' => 'select', '#type' => 'select',
@ -306,7 +304,7 @@ class AdvancedSearchForm extends FormBase {
], ],
'#options' => $options, '#options' => $options,
'#default_value' => $term_value[self::SEARCH_FORM_FIELD], '#default_value' => $term_value[self::SEARCH_FORM_FIELD],
'#theme_wrappers' => [] '#theme_wrappers' => [],
], ],
self::INCLUDE_FORM_FIELD => [ self::INCLUDE_FORM_FIELD => [
'#type' => 'select', '#type' => 'select',
@ -325,7 +323,7 @@ class AdvancedSearchForm extends FormBase {
':input[name="terms[' . $i . '][' . self::CONJUNCTION_FORM_FIELD . ']"]' => ['value' => self::AND_OP], ':input[name="terms[' . $i . '][' . self::CONJUNCTION_FORM_FIELD . ']"]' => ['value' => self::AND_OP],
], ],
], ],
'#theme_wrappers' => [] '#theme_wrappers' => [],
], ],
// Just markup to show when 'include' is not alterable due to the // Just markup to show when 'include' is not alterable due to the
// selected 'conjunction'. Hide for the first term. // selected 'conjunction'. Hide for the first term.
@ -340,15 +338,15 @@ class AdvancedSearchForm extends FormBase {
/*'content' => [ /*'content' => [
'#markup' => $this->t('is'), '#markup' => $this->t('is'),
],*/ ],*/
'#theme_wrappers' => [] '#theme_wrappers' => [],
], ],
self::VALUE_FORM_FIELD => [ self::VALUE_FORM_FIELD => [
'#type' => 'textfield', '#type' => 'textfield',
'#attributes' => [ '#attributes' => [
'aria-label' => $this->t("Enter a search term") 'aria-label' => $this->t("Enter a search term"),
], ],
'#default_value' => $term_value[self::VALUE_FORM_FIELD], '#default_value' => $term_value[self::VALUE_FORM_FIELD],
'#theme_wrappers' => [] '#theme_wrappers' => [],
], ],
'actions' => [ 'actions' => [
'#type' => 'container', '#type' => 'container',
@ -374,7 +372,7 @@ class AdvancedSearchForm extends FormBase {
'#name' => 'remove-term-' . $i, '#name' => 'remove-term-' . $i,
'#term_index' => $i, '#term_index' => $i,
'#attributes' => [ '#attributes' => [
'class' => [$block_class_prefix . '__remove', 'fa' ], 'class' => [$block_class_prefix . '__remove', 'fa'],
'aria-label' => $this->t("Remove"), 'aria-label' => $this->t("Remove"),
], ],
'#ajax' => [ '#ajax' => [
@ -440,7 +438,7 @@ class AdvancedSearchForm extends FormBase {
$terms[] = AdvancedSearchQueryTerm::fromUserInput($term); $terms[] = AdvancedSearchQueryTerm::fromUserInput($term);
} }
$terms = array_filter($terms); $terms = array_filter($terms);
$recurse = filter_var(isset($values['recursive']) ? $values['recursive'] : FALSE, FILTER_VALIDATE_BOOLEAN); $recurse = filter_var($values['recursive'] ?? FALSE, FILTER_VALIDATE_BOOLEAN);
$route = $this->getRouteName($form_state); $route = $this->getRouteName($form_state);
$advanced_search_query = new AdvancedSearchQuery(); $advanced_search_query = new AdvancedSearchQuery();
return $advanced_search_query->toUrl($this->request, $terms, $recurse, $route); return $advanced_search_query->toUrl($this->request, $terms, $recurse, $route);

View file

@ -2,14 +2,15 @@
namespace Drupal\advanced_search\Form; namespace Drupal\advanced_search\Form;
use Drupal\block\Entity\Block;
use Drupal\Core\Form\FormBase; use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Symfony\Component\HttpFoundation\RedirectResponse; use Drupal\Core\Url;
use \Drupal\Core\Url;
class SearchForm extends FormBase /**
{ *
*/
class SearchForm extends FormBase {
protected $block_id; protected $block_id;
/** /**
@ -36,16 +37,14 @@ class SearchForm extends FormBase
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function getFormId() public function getFormId() {
{
return 'search_form'; return 'search_form';
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function buildForm(array $form, FormStateInterface $form_state) public function buildForm(array $form, FormStateInterface $form_state) {
{
$config = \Drupal::config(SettingsForm::CONFIG_NAME); $config = \Drupal::config(SettingsForm::CONFIG_NAME);
if (!$config->get(SettingsForm::SEARCH_ALL_FIELDS_FLAG)) { if (!$config->get(SettingsForm::SEARCH_ALL_FIELDS_FLAG)) {
@ -57,29 +56,29 @@ class SearchForm extends FormBase
]; ];
} }
else { else {
$block = \Drupal\block\Entity\Block::load($this->block_id); $block = Block::load($this->block_id);
if ($block) { if ($block) {
$settings = $block->get('settings'); $settings = $block->get('settings');
$view_machine_name = $settings['search_view_machine_name']; $view_machine_name = $settings['search_view_machine_name'];
} }
$form['search-textfield'] = array( $form['search-textfield'] = [
'#type' => 'textfield', '#type' => 'textfield',
'#title' => (!empty($settings['search_textfield_label']) ? $settings['search_textfield_label'] : ''), '#title' => (!empty($settings['search_textfield_label']) ? $settings['search_textfield_label'] : ''),
'#attributes' => [ '#attributes' => [
'placeholder' => isset($settings['search_placeholder']) ? $this->t($settings['search_placeholder']) : $this->t("Search collections"), 'placeholder' => isset($settings['search_placeholder']) ? $this->t($settings['search_placeholder']) : $this->t("Search collections"),
'aria-label' => (isset($settings['search_textfield_label']) ? $this->t($settings['search_textfield_label']) : $this->t('Enter Keyword')) 'aria-label' => (isset($settings['search_textfield_label']) ? $this->t($settings['search_textfield_label']) : $this->t('Enter Keyword')),
], ],
'#theme_wrappers' => [] '#theme_wrappers' => [],
); ];
$form['actions']['#type'] = 'actions'; $form['actions']['#type'] = 'actions';
$form['actions']['submit'] = array( $form['actions']['submit'] = [
'#type' => 'submit', '#type' => 'submit',
'#value' => (!empty($settings['search_submit_label']) ? $settings['search_submit_label'] : 'Search'), '#value' => (!empty($settings['search_submit_label']) ? $settings['search_submit_label'] : 'Search'),
'#button_type' => 'primary', '#button_type' => 'primary',
); ];
} }
return $form; return $form;
@ -88,9 +87,8 @@ class SearchForm extends FormBase
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function submitForm(array &$form, FormStateInterface $form_state) public function submitForm(array &$form, FormStateInterface $form_state) {
{ $block = Block::load($this->block_id);
$block = \Drupal\block\Entity\Block::load($this->block_id);
if ($block) { if ($block) {
$settings = $block->get('settings'); $settings = $block->get('settings');
$view_machine_name = $settings['search_view_machine_name']; $view_machine_name = $settings['search_view_machine_name'];
@ -103,4 +101,5 @@ class SearchForm extends FormBase
]); ]);
$form_state->setRedirectUrl($url); $form_state->setRedirectUrl($url);
} }
} }

View file

@ -91,7 +91,7 @@ class SettingsForm extends ConfigFormBase {
</ul> </ul>
</li> </li>
</ul>'), </ul>'),
'#default_value' => isset($isEDismax) ? $isEDismax : 1, '#default_value' => $isEDismax ?? 1,
]; ];
$form['eDisMax']['textfields_container'] = [ $form['eDisMax']['textfields_container'] = [
@ -116,7 +116,6 @@ class SettingsForm extends ConfigFormBase {
'#default_value' => self::getConfig(self::EDISMAX_SEARCH_LABEL, "Keyword"), '#default_value' => self::getConfig(self::EDISMAX_SEARCH_LABEL, "Keyword"),
]; ];
$form['display-mode'] = [ $form['display-mode'] = [
'#type' => 'fieldset', '#type' => 'fieldset',
'#title' => $this->t("Pager Block"), '#title' => $this->t("Pager Block"),
@ -145,7 +144,7 @@ class SettingsForm extends ConfigFormBase {
->t('Default view mode:'), ->t('Default view mode:'),
'#options' => [ '#options' => [
'list' => 'List', 'list' => 'List',
'grid' => 'Grid' 'grid' => 'Grid',
], ],
'#default_value' => self::getConfig(self::DISPLAY_DEFAULT, 'grid'), '#default_value' => self::getConfig(self::DISPLAY_DEFAULT, 'grid'),
]; ];
@ -192,7 +191,6 @@ class SettingsForm extends ConfigFormBase {
], ],
]; ];
return parent::buildForm($form, $form_state); return parent::buildForm($form, $form_state);
} }

View file

@ -91,7 +91,7 @@ class AdvancedSearchBlock extends BlockBase implements ContainerFactoryPluginInt
final public function __construct(array $configuration, $plugin_id, $plugin_definition, DisplayPluginManager $display_plugin_manager, FormBuilderInterface $form_builder, Request $request) { final public function __construct(array $configuration, $plugin_id, $plugin_definition, DisplayPluginManager $display_plugin_manager, FormBuilderInterface $form_builder, Request $request) {
parent::__construct($configuration, $plugin_id, $plugin_definition); parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->displayPluginManager = $display_plugin_manager; $this->displayPluginManager = $display_plugin_manager;
list($view_id, $display_id) = preg_split('/__/', $this->getDerivativeId(), 2); [$view_id, $display_id] = preg_split('/__/', $this->getDerivativeId(), 2);
$this->view = View::Load($view_id); $this->view = View::Load($view_id);
$this->display = $this->view->getDisplay($display_id); $this->display = $this->view->getDisplay($display_id);
$this->formBuilder = $form_builder; $this->formBuilder = $form_builder;

View file

@ -40,7 +40,10 @@ abstract class SearchApiDisplayBlockDeriver implements ContainerDeriverInterface
*/ */
abstract protected function label(); abstract protected function label();
final public function __construct (ContainerInterface $container, $base_plugin_id) {} /**
*
*/
final public function __construct(ContainerInterface $container, $base_plugin_id) {}
/** /**
* {@inheritdoc} * {@inheritdoc}
@ -57,7 +60,7 @@ abstract class SearchApiDisplayBlockDeriver implements ContainerDeriverInterface
*/ */
public function getDerivativeDefinition($derivative_id, $base_plugin_definition) { public function getDerivativeDefinition($derivative_id, $base_plugin_definition) {
$derivatives = $this->getDerivativeDefinitions($base_plugin_definition); $derivatives = $this->getDerivativeDefinitions($base_plugin_definition);
return isset($derivatives[$derivative_id]) ? $derivatives[$derivative_id] : NULL; return $derivatives[$derivative_id] ?? NULL;
} }
/** /**

View file

@ -2,6 +2,7 @@
namespace Drupal\advanced_search\Plugin\Block; namespace Drupal\advanced_search\Plugin\Block;
use Drupal\advanced_search\Form\SearchForm;
use Drupal\Core\Block\BlockBase; use Drupal\Core\Block\BlockBase;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\advanced_search\Form\SettingsForm; use Drupal\advanced_search\Form\SettingsForm;
@ -20,8 +21,7 @@ class SearchBlock extends BlockBase {
* {@inheritdoc} * {@inheritdoc}
*/ */
public function defaultConfiguration() { public function defaultConfiguration() {
return [ return [] + parent::defaultConfiguration();
] + parent::defaultConfiguration();
} }
/** /**
@ -49,7 +49,7 @@ class SearchBlock extends BlockBase {
$displays = $view->get("display"); $displays = $view->get("display");
foreach ($displays as $display) { foreach ($displays as $display) {
if ($display['display_plugin'] === "page") { if ($display['display_plugin'] === "page") {
$options["view.$view_name". "." . $display['id']] = "view.$view_name". "." . $display['id']; $options["view.$view_name" . "." . $display['id']] = "view.$view_name" . "." . $display['id'];
} }
} }
} }
@ -57,7 +57,7 @@ class SearchBlock extends BlockBase {
'#type' => 'select', '#type' => 'select',
'#title' => $this->t('Select Search Results Page\'s Machine Name:'), '#title' => $this->t('Select Search Results Page\'s Machine Name:'),
'#default_value' => $this->configuration['search_view_machine_name'], '#default_value' => $this->configuration['search_view_machine_name'],
'#options' => $options '#options' => $options,
]; ];
$form['search-attributes']['search_textfield'] = [ $form['search-attributes']['search_textfield'] = [
'#type' => 'textfield', '#type' => 'textfield',
@ -100,7 +100,7 @@ class SearchBlock extends BlockBase {
public function build() { public function build() {
$config = $this->getConfiguration(); $config = $this->getConfiguration();
$blockId = $config['block_id']; $blockId = $config['block_id'];
$searchForm = new \Drupal\advanced_search\Form\SearchForm($blockId); $searchForm = new SearchForm($blockId);
return \Drupal::formBuilder()->getForm($searchForm); return \Drupal::formBuilder()->getForm($searchForm);
} }

View file

@ -68,7 +68,7 @@ class SearchResultsPagerBlock extends BlockBase implements ContainerFactoryPlugi
*/ */
public function build() { public function build() {
$id = $this->getDerivativeId(); $id = $this->getDerivativeId();
list($view_id, $display_id) = $this->getViewAndDisplayIdentifiers(); [$view_id, $display_id] = $this->getViewAndDisplayIdentifiers();
$view = View::Load($view_id); $view = View::Load($view_id);
$view_executable = $view->getExecutable(); $view_executable = $view->getExecutable();
$view_executable->setDisplay($display_id); $view_executable->setDisplay($display_id);
@ -121,7 +121,7 @@ class SearchResultsPagerBlock extends BlockBase implements ContainerFactoryPlugi
protected function buildResultsSummary(ViewExecutable $view_executable) { protected function buildResultsSummary(ViewExecutable $view_executable) {
$current_page = (int) $view_executable->getCurrentPage() + 1; $current_page = (int) $view_executable->getCurrentPage() + 1;
$per_page = (int) $view_executable->getItemsPerPage(); $per_page = (int) $view_executable->getItemsPerPage();
$total = isset($view_executable->total_rows) ? $view_executable->total_rows : count($view_executable->result); $total = $view_executable->total_rows ?? count($view_executable->result);
// If there is no result the "start" and "current_record_count" should be // If there is no result the "start" and "current_record_count" should be
// equal to 0. To have the same calculation logic, we use a "start offset" // equal to 0. To have the same calculation logic, we use a "start offset"
// to handle all the cases. // to handle all the cases.
@ -224,10 +224,10 @@ class SearchResultsPagerBlock extends BlockBase implements ContainerFactoryPlugi
]; ];
} }
if ($config->get(SettingsForm::DISPLAY_GRID_FLAG) ==1) { if ($config->get(SettingsForm::DISPLAY_GRID_FLAG) == 1) {
$display_options['grid'] = [ $display_options['grid'] = [
'icon' => 'fa-th', 'icon' => 'fa-th',
'title' => $this->t('Grid') 'title' => $this->t('Grid'),
]; ];
} }
@ -246,7 +246,7 @@ class SearchResultsPagerBlock extends BlockBase implements ContainerFactoryPlugi
'#title' => Markup::create($text), '#title' => Markup::create($text),
'#attributes' => [ '#attributes' => [
'class' => $active ? ['pager__link', 'pager__link--is-active', 'pager__display'] : ['pager__link', 'pager__display'], 'class' => $active ? ['pager__link', 'pager__link--is-active', 'pager__display'] : ['pager__link', 'pager__display'],
'aria-label' => $this->t("Display as " . Markup::create($text)) 'aria-label' => $this->t("Display as " . Markup::create($text)),
], ],
'#wrapper_attributes' => [ '#wrapper_attributes' => [
'class' => $active ? ['pager__item', 'is-active'] : ['pager__item'], 'class' => $active ? ['pager__item', 'is-active'] : ['pager__item'],
@ -305,7 +305,7 @@ class SearchResultsPagerBlock extends BlockBase implements ContainerFactoryPlugi
'#title_display' => 'invisible', '#title_display' => 'invisible',
'#options' => $options, '#options' => $options,
'#options_attributes' => $options_attributes, '#options_attributes' => $options_attributes,
'#attributes' => ['autocomplete' => 'off', "aria-label"=>"Sort By"], '#attributes' => ['autocomplete' => 'off', "aria-label" => "Sort By"],
'#wrapper_attributes' => ['class' => ['pager__sort', 'container']], '#wrapper_attributes' => ['class' => ['pager__sort', 'container']],
'#name' => 'order', '#name' => 'order',
'#value' => $default_value, '#value' => $default_value,

View file

@ -27,7 +27,7 @@ class Utilities {
foreach ($block_storage->loadByProperties(['theme' => $active_theme->getName()]) as $block) { foreach ($block_storage->loadByProperties(['theme' => $active_theme->getName()]) as $block) {
$plugin = $block->getPlugin(); $plugin = $block->getPlugin();
if ($plugin instanceof SearchResultsPagerBlock) { if ($plugin instanceof SearchResultsPagerBlock) {
list($view_id, $display_id) = $plugin->getViewAndDisplayIdentifiers(); [$view_id, $display_id] = $plugin->getViewAndDisplayIdentifiers();
$views[$block->id()] = [$view_id, $display_id]; $views[$block->id()] = [$view_id, $display_id];
} }
} }
@ -52,7 +52,7 @@ class Utilities {
foreach ($block_storage->loadByProperties(['theme' => $active_theme->getName()]) as $block) { foreach ($block_storage->loadByProperties(['theme' => $active_theme->getName()]) as $block) {
$plugin = $block->getPlugin(); $plugin = $block->getPlugin();
if ($plugin instanceof AdvancedSearchBlock) { if ($plugin instanceof AdvancedSearchBlock) {
list($view_id, $display_id) = $plugin->getViewAndDisplayIdentifiers(); [$view_id, $display_id] = $plugin->getViewAndDisplayIdentifiers();
$views[$block->id()] = [$view_id, $display_id]; $views[$block->id()] = [$view_id, $display_id];
} }
} }