Ну наверно между выходом JComments 2.1 и появлением K2 2.2 прошло некоторое время? Я в будущее заглядывать не умею, и не могу предугадать, что они там поменяют... Раньше таблица называлась '#__jw_k2_comments', начиная с 2.х они переименовали ее в '#__k2_comments'. Выпущу новую версию JComments - все заработает...
В качестве быстрого решения можно поменять в
/administrator/components/com_jcomments/admin.jcomments.migration.php код:
function importK2()
{
$db = & JCommentsFactory::getDBO();
$db->setQuery( "DELETE FROM #__jcomments WHERE source = 'k2'" );
$db->query();
$query = "SELECT c.*"
. "\n, u.username, u.name, u.id as userid"
. "\nFROM `#__jw_k2_comments` AS c"
. "\nLEFT JOIN `#__users` AS u ON c.user_id = u.id "
;
$db->setQuery( $query);
$rows = $db->loadObjectList();
foreach( $rows as $row) {
$comment = new JCommentsDB( $db );
$comment->object_id = $row->item_id;
$comment->object_group = 'com_k2';
$comment->parent = 0;
$comment->userid = isset($row->userid)? intval($row->userid) : 0;
$comment->name = isset($row->full_name)? $row->full_name : $row->name;
$comment->username = isset($row->full_name)? $row->full_name : $row->username;
$comment->comment = JCommentsMigrationTool::processComment($row->comment_text);
$comment->email = $row->comment_email;
$comment->homepage = $row->comment_url;
$comment->ip = '';
$comment->published = $row->published;
$comment->date = $row->comment_date;
$comment->source = 'k2';
$comment->lang = JCommentsInput::getParam($_POST, $comment->source . '_lang', '');
$comment->store();
}
$db->setQuery("SELECT COUNT(*) FROM `#__jcomments` WHERE `source`= 'k2'");
return $db->loadResult();
}
на
function importK2()
{
$db = & JCommentsFactory::getDBO();
$db->setQuery( "DELETE FROM #__jcomments WHERE source = 'k2'" );
$db->query();
$query = "SELECT c.*"
. "\n, u.name"
. "\nFROM `#__k2_comments` AS c"
. "\nLEFT JOIN `#__users` AS u ON c.userid = u.id "
;
$db->setQuery( $query);
$rows = $db->loadObjectList();
foreach( $rows as $row) {
$comment = new JCommentsDB( $db );
$comment->object_id = $row->itemID;
$comment->object_group = 'com_k2';
$comment->parent = 0;
$comment->userid = isset($row->userID)? intval($row->userID) : 0;
$comment->name = isset($row->userName)? $row->userName : $row->name;
$comment->username = isset($row->userName)? $row->userName : $row->name;
$comment->comment = JCommentsMigrationTool::processComment($row->commentText);
$comment->email = $row->commentEmail;
$comment->homepage = $row->commentURL;
$comment->ip = '';
$comment->published = $row->published;
$comment->date = $row->commentDate;
$comment->source = 'k2';
$comment->lang = JCommentsInput::getVar($comment->source . '_lang', '');
$comment->store();
}
$db->setQuery("SELECT COUNT(*) FROM `#__jcomments` WHERE `source`= 'k2'");
return $db->loadResult();
}
И должно все заработать (если они опять чего-то не поменяли, с тех пор как я чинил импорт).