Skip to content

Commit

Permalink
Fixes #5211 - Fatal error on search.
Browse files Browse the repository at this point in the history
  • Loading branch information
CaMer0n committed Mar 26, 2024
1 parent 6f6418f commit b432e20
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 11 deletions.
8 changes: 5 additions & 3 deletions e107_admin/search.php
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,10 @@

}



if(empty($search_prefs['core_handlers']))
{
$search_prefs['core_handlers'] = [];
}

$handlers_total = count($search_prefs['core_handlers']) + count($search_prefs['plug_handlers']);

Expand Down Expand Up @@ -264,7 +266,7 @@
<tr>
<td>".SEALAN_3."</td>
<td class='form-inline'>
".$frm->radio_switch('search_sort', $search_prefs['mysql_sort'], 'MySQL', SEALAN_31)."&nbsp;
".$frm->radio_switch('search_sort', $search_prefs['mysql_sort'], 'MySQL', 'PHP')."&nbsp;
".$frm->text('php_limit', $tp -> toForm($search_prefs['php_limit']), 5, 'class=tbox&size=mini')."&nbsp;".SEALAN_32."
<span class='field-help'>".SEALAN_49."</span>
</td>
Expand Down
17 changes: 9 additions & 8 deletions e107_handlers/search_class.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ class e_search
var $query;
var $text;
var $pos;
var $bullet;
var $keywords;
public $bullet;
private $keywords = [];
var $stopwords_php = "|a|about|an|and|are|as|at|be|by|com|edu|for|from|how|i|in|is|it|of|on|or|that|the|this|to|was|what|when|where|who|will|with|the|www|";
var $stopwords_mysql = "|a|a's|able|about|above|according|accordingly|across|actually|after|afterwards|again|against|ain't|all|allow|allows|almost|alone|along|already|also|although|always|am|among|amongst|an|and|another|any|anybody|anyhow|anyone|anything|anyway|anyways|anywhere|apart|appear|appreciate|appropriate|are|aren't|around|as|aside|ask|asking|associated|at|available|away|awfully|be|became|because|become|becomes|becoming|been|before|beforehand|behind|being|believe|below|beside|besides|best|better|between|beyond|both|brief|but|by|c'mon|c's|came|can|can't|cannot|cant|cause|causes|certain|certainly|changes|clearly|co|com|come|comes|concerning|consequently|consider|considering|contain|containing|contains|corresponding|could|couldn't|course|currently|definitely|described|despite|did|didn't|different|do|does|doesn't|doing|don't|done|down|downwards|during|each|edu|eg|eight|either|else|elsewhere|enough|entirely|especially|et|etc|even|ever|every|everybody|everyone|everything|everywhere|ex|exactly|example|except|far|few|fifth|first|five|followed|following|follows|for|former|formerly|forth|four|from|further|furthermore|get|gets|getting|given|gives|go|goes|going|gone|got|gotten|greetings|had|hadn't|happens|hardly|has|hasn't|have|haven't|having|he|he's|hello|help|hence|her|here|here's|hereafter|hereby|herein|hereupon|hers|herself|hi|him|himself|his|hither|hopefully|how|howbeit|however|i|i'd|i'll|i'm|i've|ie|if|ignored|immediate|in|inasmuch|inc|indeed|indicate|indicated|indicates|inner|insofar|instead|into|inward|is|isn't|it|it'd|it'll|it's|its|itself|just|keep|keeps|kept|know|knows|known|last|lately|later|latter|latterly|least|less|lest|let|let's|like|liked|likely|little|look|looking|looks|ltd|mainly|many|may|maybe|me|mean|meanwhile|merely|might|more|moreover|most|mostly|much|must|my|myself|name|namely|nd|near|nearly|necessary|need|needs|neither|never|nevertheless|new|next|nine|no|nobody|non|none|noone|nor|normally|not|nothing|novel|now|nowhere|obviously|of|off|often|oh|ok|okay|old|on|once|one|ones|only|onto|or|other|others|otherwise|ought|our|ours|ourselves|out|outside|over|overall|own|particular|particularly|per|perhaps|php|placed|please|plus|possible|presumably|probably|provides|que|quite|qv|rather|rd|re|really|reasonably|regarding|regardless|regards|relatively|respectively|right|said|same|saw|say|saying|says|second|secondly|see|seeing|seem|seemed|seeming|seems|seen|self|selves|sensible|sent|serious|seriously|seven|several|shall|she|should|shouldn't|since|six|so|some|somebody|somehow|someone|something|sometime|sometimes|somewhat|somewhere|soon|sorry|specified|specify|specifying|still|sub|such|sup|sure|t's|take|taken|tell|tends|th|than|thank|thanks|thanx|that|that's|thats|the|their|theirs|them|themselves|then|thence|there|there's|thereafter|thereby|therefore|therein|theres|thereupon|these|they|they'd|they'll|they're|they've|think|third|this|thorough|thoroughly|those|though|three|through|throughout|thru|thus|to|together|too|took|toward|towards|tried|tries|truly|try|trying|twice|two|un|under|unfortunately|unless|unlikely|until|unto|up|upon|us|use|used|useful|uses|using|usually|value|various|very|via|viz|vs|want|wants|was|wasn't|way|we|we'd|we'll|we're|we've|welcome|well|went|were|weren't|what|what's|whatever|when|whence|whenever|where|where's|whereafter|whereas|whereby|wherein|whereupon|wherever|whether|which|while|whither|who|who's|whoever|whole|whom|whose|why|will|willing|wish|with|within|without|won't|wonder|would|would|wouldn't|yes|yet|you|you'd|you'll|you're|you've|your|yours|yourself|yourselves|zero|";
var $params;
Expand All @@ -40,9 +40,8 @@ function __construct($query = '')
{
$tp = e107::getParser();
$this->query = (string) $query;
$this->bullet = '';

if(defined('GLYPH'))

/* if(defined('GLYPH'))
{
$this->bullet = '<i class="'.GLYPH.'"></i>';
}
Expand All @@ -53,7 +52,7 @@ function __construct($query = '')
elseif(file_exists(THEME.'images/bullet2.gif'))
{
$this->bullet = '<img src="'.THEME_ABS.'images/bullet2.gif" alt="bullet" class="icon" />';
}
}*/

$this->bullet = ''; // Use CSS instead.

Expand Down Expand Up @@ -233,10 +232,12 @@ public function parsesearch($table, $return_fields, $search_fields, $weights, $h

$sql_query = "SELECT ".$return_fields." FROM #".$table." WHERE ".$where." (".$match_query.") ".$sql_order.$limit.";";

if ((($keycount = count($this -> keywords['split'])) > 1) && (strpos($query, '"') === FALSE) && (!isset($no_exact)))
$keycount = !empty($this->keywords['split']) ? count($this->keywords['split']) : 0;

if(!empty($keycount) && (strpos($query, '"') === false) && (!isset($no_exact)))
{
$exact_query[] = $query;
$this -> keywords['split'] = array_merge($exact_query, $this -> keywords['split']);
$this->keywords['split'] = array_merge($exact_query, $this->keywords['split']);
}
}
else // MySQL Sorting.
Expand Down

0 comments on commit b432e20

Please sign in to comment.