Вот исправленная интеграция для 1.8.9:
1. Откройте файл /components/com_datsogallery/includes/datso.viewdetails.php 
и замените на:
if ($ad_showcomment) {
    $commentsPath = JPATH_SITE . DS . 'components'. DS . 'com_jcomments'. DS . 'jcomments.php';
    if (file_exists($commentsPath)) {
    	require_once($commentsPath);
	    echo JComments::showComments($id, 'com_datsogallery', $imgtitle);
    }
	/*
Найдите:
  }
  if ($ad_showsend2friend) {
   и замените на:
  */
  }
  if ($ad_showsend2friend) {
2. Откройте файл /components/com_datsogallery/datso.functions.php
Найдите::
if ($ad_showcomments) {
	$and = ($is_editor)? '' : ' AND published = 1';
	$db->setQuery('SELECT COUNT(cmtid) FROM #__datsogallery_comments WHERE cmtpic = '.$row1->id.$and);
	$comments = $db->loadResult();
	echo "<strong>"._DG_COMMENTS."</strong>: $comments";
}
и замените на:
if ($ad_showcomments) {
	$comments = 0;
	$commentsPath = JPATH_SITE . DS . 'components'. DS . 'com_jcomments'. DS . 'jcomments.php';
	if (file_exists($commentsPath)) {
		require_once($commentsPath);
		$comments = JComments::getCommentsCount($row1->id, 'com_datsogallery');
	}
	echo "<strong>"._DG_COMMENTS."</strong>: $comments";
}
Найдите::
$db->setQuery("SELECT COUNT(cmtid) FROM #__datsogallery_comments WHERE cmtpic = ".$row->id);
$comments = $db->loadResult();
и замените на::
$comments = 0;
$commentsPath = JPATH_SITE . DS . 'components'. DS . 'com_jcomments'. DS . 'jcomments.php';
if (file_exists($commentsPath)) {
	require_once($commentsPath);
	$comments = JComments::getCommentsCount($row->id, 'com_datsogallery');
}
3. Откройте файл /components/com_datsogallery/includes/datso.lastcommented.php
Найдите::
  $db->setQuery('SELECT count(*)'
  .' FROM #__datsogallery AS d'
  .' JOIN #__datsogallery_comments AS c'
  .' ON c.cmtpic = d.id'
  .' WHERE d.published = 1'
  .' AND d.approved = 1'
  );
  $total = $db->loadResult();
  $pageNav = new JPagination($total, $limitstart, $limit);
  $page_nav_links = $pageNav->getPagesLinks();
  $db->setQuery('SELECT a.*, cc.cmtid'
  .' FROM #__datsogallery AS a,'
  .' #__datsogallery_comments AS cc,'
  .' #__datsogallery_catg AS ca'
  .' WHERE a.id = cc.cmtpic'
  .' AND a.catid = ca.cid'
  .' AND cc.cmtid = (SELECT MAX(ab.cmtid)'
  .' FROM #__datsogallery_comments AS ab'
  .' WHERE a.id = ab.cmtpic)'
  .' AND a.published = 1'
  .' AND a.approved = 1'
  .' AND ca.published = 1'
  .' AND ca.access <= '.$user->get('aid')
  .' GROUP BY a.id'
  .' ORDER BY cc.cmtid DESC'
  .' LIMIT '.$pageNav->limitstart.', '.$pageNav->limit
  );
и замените на::
  $db->setQuery('SELECT count(*)'
  .' FROM #__datsogallery AS d'
  .' JOIN #__jcomments AS c'
  .' ON cc.object_id = d.id'
  .' WHERE d.published = 1'
  .' AND d.approved = 1'
  );
  $total = $db->loadResult();
  $pageNav = new JPagination($total, $limitstart, $limit);
  $page_nav_links = $pageNav->getPagesLinks();
  $db->setQuery("select a.*, cc.id as cmtid "
  ." from #__datsogallery as a, #__jcomments as cc, "
  ." #__datsogallery_catg as ca "
  ." where a.id=cc.object_id "
  ." and cc.object_group='com_datsogallery' "
  ." and a.catid=ca.cid "
  ." and cc.id=(select max(ab.id) "
  ." from #__jcomments as ab "
  ." where a.id=ab.object_id and ab.object_group='com_datsogallery') "
  .' AND a.published = 1'
  .' AND a.approved = 1'
  .' AND ca.published = 1'
  .' AND ca.access <= '.$user->get('aid')
  .' GROUP BY a.id'
  .' ORDER BY cc.id DESC'
  .' LIMIT '.$pageNav->limitstart.', '.$pageNav->limit
  );
  
   Найдите::
if ($ad_showcomments) {
 $is_editor = (
 strtolower($user->usertype) == 'editor'
 || strtolower($user->usertype) == 'administrator'
 || strtolower($user->usertype) == 'super administrator'
 );
 $and = ($is_editor)? '' : ' AND published = 1';
 $db->setQuery("SELECT COUNT(cmtid) FROM #__datsogallery_comments WHERE cmtpic = ".$row->id.$and);
 $comments = $db->loadResult();
 echo _DG_COMMENTS.": $comments";
}
                     и замените на:
if ($ad_showcomments) {
	$comments = 0;
	$commentsPath = JPATH_SITE . DS . 'components'. DS . 'com_jcomments'. DS . 'jcomments.php';
	if (file_exists($commentsPath)) {
		require_once($commentsPath);
		$comments = JComments::getCommentsCount($row->id, 'com_datsogallery');
	}
	echo _DG_COMMENTS.": $comments";
}
Дальше откройте все указанные файлы:
\components\com_datsogallery\includes\datso.downloads.php
\components\com_datsogallery\includes\datso.favorites.php
\components\com_datsogallery\includes\datso.lastadded.php
\components\com_datsogallery\includes\datso.owner.php
\components\com_datsogallery\includes\datso.popular.php
\components\com_datsogallery\includes\datso.purchases.php
\components\com_datsogallery\includes\datso.rating.php
\components\com_datsogallery\includes\datso.search.php
Найдите:
if ($ad_showcomments) {
 $is_editor = (
 strtolower($user->usertype) == 'editor'
 || strtolower($user->usertype) == 'administrator'
 || strtolower($user->usertype) == 'super administrator'
 );
 $and = ($is_editor)? '' : ' AND published = 1';
 $db->setQuery("SELECT COUNT(cmtid) FROM #__datsogallery_comments WHERE cmtpic = ".$row->id.$and);
 $comments = $db->loadResult();
 echo _DG_COMMENTS.": $comments";
}
и замените на:
if ($ad_showcomments) {
	$comments = 0;
	$commentsPath = JPATH_SITE . DS . 'components'. DS . 'com_jcomments'. DS . 'jcomments.php';
	if (file_exists($commentsPath)) {
		require_once($commentsPath);
		$comments = JComments::getCommentsCount($row->id, 'com_datsogallery');
	}
	echo _DG_COMMENTS.": $comments";
}