/var/www/vhosts/ihelp.ro/httpdocs/src/Controller
Edit: /var/www/vhosts/ihelp.ro/httpdocs/src/Controller/SearchController.php (3043B)
Authentication->addUnauthenticatedActions(['index']);
}
/**
* index method
*/
public function index()
{
parent::getFavorites();
$query = $this->request->getQuery();
$results = [];
$results['causes'] = false;
$results['products'] = false;
$q = null;
if (empty($query['t']) || !in_array(trim($query['t']), ['a', 'c', 'p'])) {
$query['t'] = 'a';
}
if (!empty($query['q'])) {
$q = trim($query['q']);
$this->loadModel('Products');
$this->loadModel('Causes');
switch (trim($query['t'])) {
case 'a':
default:
$results['causes'] = $this->Causes->find()
->where([
'OR' => [
['name LIKE' => '%' . $q . '%'],
['description LIKE' => '%' . $q . '%']
],
])
->toArray();
$results['products'] =
$this->Products->find()
->contain(['Tags', 'Causes', 'FeaturedImage', 'Causes.FeaturedImage'])
->where([
'OR' => [
['Products.name LIKE' => '%' . $q . '%'],
['Products.description LIKE' => '%' . $q . '%']
],
])
->toArray();
break;
case 'c':
$results['causes'] = $this->Causes->find()
->where([
'OR' => [
['name LIKE' => '%' . $q . '%'],
['description LIKE' => '%' . $q . '%']
],
])
->toArray();
break;
case 'p':
$results['products'] =
$this->Products->find()
->contain(['Tags', 'Causes', 'FeaturedImage', 'Causes.FeaturedImage'])
->where([
'OR' => [
['Products.name LIKE' => '%' . $q . '%'],
['Products.description LIKE' => '%' . $q . '%']
],
])
->toArray();
break;
}
}
$this->set(compact('results', 'q'));
}
}