LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
25.05.2012, 23:41:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: не работает импорт компонентов K2 в JComments  (Прочитано 1283 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Лат
Осваиваюсь на форуме
***

Репутация: +19/-6
Offline Offline

Пол: Мужской
Сообщений: 113


Звоните 8 (905) 778-52-44


« : 17.04.2010, 17:22:42 »

Версии расширений- последние: K2 2.2, JComments 2.1
Характеристики сервера и Joomla:
 
Платформа:    Linux winnipeg 2.6.25-NX.18-winnipeg #1 SMP Thu Jan 21 18:03:55 MSK 2010 i686
Версия MySQL:    5.0.26-log
Сравнение БД:    utf8_general_ci
Версия PHP:    5.2.5
Веб-сервер:    Apache/2.0.63-lk.c (Unix) mod_ssl/2.0.63-lk.c OpenSSL/0.9.8g mod_dp20/0.99.2 PHP/5.2.5 mod_python/3.3.1 Python/2.5.1 mod_ruby/1.2.6 Ruby/1.8.6(2007-09-24)
Интерфейс веб-сервер -> PHP:    apache2handler
Версия Joomla:    Joomla! 1.5.15 Stable [ Wojmamni Ama Mamni ] 05-November-2009 04:00 GMT

Симптомы- при импорте опция импорта из K2 отсутствует вообще
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #1 : 17.04.2010, 17:32:46 »

Ну наверно между выходом 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();
}
 

И должно все заработать (если они опять чего-то не поменяли, с тех пор как я чинил импорт).
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet