Simple Machines Community Forum

Customizing SMF => Tips and Tricks => Topic started by: GL700Wing on July 24, 2018, 03:29:21 AM

Title: Adding AutoSuggest to Search for 'By user' field
Post by: GL700Wing on July 24, 2018, 03:29:21 AM
To add  AutoSuggest to the 'By user' field for searches modify ./Themes/default/Search.template.php as follows:

Find:
<dd><input id="userspec" type="text" name="userspec" value="', empty($context['search_params']['userspec']) ? '*' : $context['search_params']['userspec'], '" size="40" class="input_text" /></dd>

Replace With:
<dd><input id="userspec" type="text" name="userspec" value="', empty($context['search_params']['userspec']) ? '*' : $context['search_params']['userspec'], '" size="40" class="input_text" />
<script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/suggest.js?fin20"></script>
<script type="text/javascript"><!-- // --><![CDATA[
var oAdduserspec = new smc_AutoSuggest({
sSelf: \'oAdduserspec\',
sSessionId: \'', $context['session_id'], '\',
sSessionVar: \'', $context['session_var'], '\',
sSuggestId: \'userspec\',
sControlId: \'userspec\',
sSearchType: \'member\',
sTextDeleteItem: \'', $txt['autosuggest_delete_item'], '\',
bItemList: false
});
// ]]></script>
</dd>
Title: Re: Adding AutoSuggest to Search for 'By user' field
Post by: dougiefresh on August 16, 2018, 10:34:19 PM
Nice idea, GL700Wing!
Title: Re: Adding AutoSuggest to Search for 'By user' field
Post by: vbgamer45 on August 16, 2018, 10:41:38 PM
Nice, I think I could use this in some mods that I do.
Title: Re: Adding AutoSuggest to Search for 'By user' field
Post by: GigaWatt on August 23, 2018, 09:15:14 PM
Just added it to my forum, works great 8).

(https://s20.postimg.cc/euqhj28n1/SHOT8683.png)
Title: Re: Adding AutoSuggest to Search for 'By user' field
Post by: GigaWatt on August 30, 2018, 02:45:31 PM
There is just one small bug. It doesn't check whether you're a guest or not and suggests a nick in either case (logged in or not). I have disabled the Memberlist for guests on my forum, so this is kind of small "leak".

It's not that big of a deal, I'd still keep running it ;). It's not that guests can't check active members on the forum, read their nick and search by it in the Advanced Search box ;).
Title: Re: Adding AutoSuggest to Search for 'By user' field
Post by: GL700Wing on August 30, 2018, 08:21:39 PM
Quote from: GigaWatt on August 30, 2018, 02:45:31 PMThere is just one small bug. It doesn't check whether you're a guest or not and suggests a nick in either case (logged in or not). I have disabled the Memberlist for guests on my forum, so this is kind of small "leak".
I also don't allow guests to view the memberlist (or to view a member's profile summary) so I don't really consider it an issue.  However, it is easy to change the behaviour  ...




To add  AutoSuggest to the 'By user' field for searches only where viewing of the memberlist or viewing of member profile summaries is allowed modify ./Themes/default/Search.template.php as follows:

Find:
<dd><input id="userspec" type="text" name="userspec" value="', empty($context['search_params']['userspec']) ? '*' : $context['search_params']['userspec'], '" size="40" class="input_text" /></dd>

Replace With:
<dd><input id="userspec" type="text" name="userspec" value="', empty($context['search_params']['userspec']) ? '*' : $context['search_params']['userspec'], '" size="40" class="input_text" />';

if (allowedTo('view_mlist') || allowedTo('profile_view_any'))
echo '
<script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/suggest.js?fin20"></script>
<script type="text/javascript"><!-- // --><![CDATA[
var oAdduserspec = new smc_AutoSuggest({
sSelf: \'oAdduserspec\',
sSessionId: \'', $context['session_id'], '\',
sSessionVar: \'', $context['session_var'], '\',
sSuggestId: \'userspec\',
sControlId: \'userspec\',
sSearchType: \'member\',
sTextDeleteItem: \'', $txt['autosuggest_delete_item'], '\',
bItemList: false
});
// ]]></script>';

echo '
</dd>

Title: Re: Adding AutoSuggest to Search for 'By user' field
Post by: GigaWatt on August 30, 2018, 08:42:45 PM
Yep, that solved it ;).
Title: Re: Adding AutoSuggest to Search for 'By user' field
Post by: EthanR on September 05, 2018, 05:49:40 PM
Thanks :) Working nicely.