The search plugin is VERY important for this reason - having 2 search boxes is confusing to a lot of people. It's not to us because we're use to using joomla and know how everything works, but in more than one project I've had issues with having 2 search boxes.
Think about it - someone arrives on the homepage and sees a search box - they search for a location without knowing that if they clicked through to the component there would be ANOTHER search box. But, no results turn up so they're gone. This is not an ideal situation, which is why I think you created the plugin to begin with.
If the component was free that's one thing, but I paid for the component and the ability to integrate it with the native joomla search as advertised so "just disable it" doesn't sit well with me. The plugin obviously works, it just doesn't output the link correctly in the results with SEF turned on.
As far as I know there's only one file where the issue could be - plugins/search/hotspots.php. I'm not a coder, but my guess is it's something within these lines:
if(is_array($rows)) {
foreach($rows as $key => $row) {
$urlcat = $row->catid . ':' . JFilterOutput::stringURLSafe($row->cat_name);
$urlid = $row->id.':'.JFilterOutput::stringURLSafe($row->title);
$itemId = getHotspotsItemid('com_hotspots');
$rows[$key]->href = JRoute::_("index.php?option=com_hotspots&view=hotspot&lcatid=" . $urlcat . "&id=" . $urlid . '&Itemid=' . $itemId);
}
}
return $rows;
}
/**
*
* @staticvar <int> $ids
* @param <string> $component
* @return <int>
*/
function getHotspotsItemid($component='') {
static $ids;
if (!isset($ids)) {
$ids = array();
}
if (!isset($ids[$component])) {
$database = & JFactory::getDBO();
$query = "SELECT id FROM #__menu"
. "\n WHERE link LIKE '%option=$component%'"
. "\n AND type = 'component'"
. "\n AND published = 1 LIMIT 1";
$database->setQuery($query);
$ids[$component] = $database->loadResult();
}
return $ids[$component];
}
?>
Is there ANYONE who can take a look at this for 2 minutes and come up with a solution?