We can make some optimization for this plugin, so this code:
if (!empty($object_id) && !empty($object_group) && $object_group == 'com_virtuemart')
$q = "SELECT product_id, product_sku, product_name FROM #__vm_product"; // then try to add its name as well
$q .= "\n WHERE product_id = ".$object_id;
$database->setQuery( $q);
if (!shTranslateUrl($option, $shLangName))
$row = $database->loadObject( false);
else $row = $database->loadObject( );
$title[] = $row->product_name;[/quote]
shRemoveFromGETVarsList('object_id');
shRemoveFromGETVarsList('object_group');
and
if (!empty($object_id) && !empty($object_group) && $object_group == 'com_content')
$q = "SELECT id, title FROM #__content"; // then try to add its name as well
$q .= "\n WHERE id = ".$object_id;
$database->setQuery( $q);
if (!shTranslateUrl($option, $shLangName))
$row = $database->loadObject( false);
else $row = $database->loadObject( );
$title[] = $row->title;
shRemoveFromGETVarsList('object_id');
shRemoveFromGETVarsList('object_group');
may be replaced with:
if (!empty($object_id) && !empty($object_group)) {
include_once(JPATH_ROOT . DS . 'components' . DS . 'com_jcomments' . DS . 'jcomments.php');
$title[] = JCommentsObjectHelper::getTitle($object_id, $object_group);
shRemoveFromGETVarsList('object_id');
shRemoveFromGETVarsList('object_group');
}
The function JCommentsObjectHelper::getTitle returns title for given object id and component.