vsv-ivanovo 0 Опубликовано: 5 декабря 2009 Рассказать Опубликовано: 5 декабря 2009 Всем добрый вечер! Решил перейти на дле со слаеда, взял конвертер: <? /* ------- Настройка скрипта ---------------------------------------------- */ define("SLAED_PREFIX", "slaed"); // Префикс таблиц Slaed /* ----------------------------------------------------------------------- */ define('DATALIFEENGINE', true); define("ROOT_DIR", dirname(__FILE__)); define('ENGINE_DIR', ROOT_DIR.'/engine'); require_once ENGINE_DIR . '/init.php'; require_once ENGINE_DIR . '/classes/parse.class.php'; $parse = new ParseFilter(Array(), Array(), 1, 1); define('C_DEFAULT', 1); define('C_RESULT', 2); define('C_ERROR', 3); header("Expires: Wen, 15 Oct 2005 11:07:00 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Pragma: no-cache"); ob_implicit_flush(); ?> <html><head> <title>:: Spaiz Nuke -> Datalife Engine news converter :: created by nick-on ::</title> <meta HTTP-EQUIV=Content-Type CONTENT="text/html; charset=windows-1251"> <style> html, form{ padding:0; margin:0; } body, table, tr, td{ font:11px Tahoma, Verdana; } .copyright{ font:11px Tahoma, Verdana; color:#cccccc; } a{ text-decoration:none; } a:hover{ text-decoration:underline; } </style> </head> <body> <script> var WidthLocked = false; function lock_button(value) { document.getElementById('process').disabled = value; } function java_output(str, color){ switch(color){ case 2: color = 'navy'; break; case 3: color = 'red'; break; default: color = 'black'; } with(document.getElementById('logarea')){ if (!WidthLocked){ style.width = clientWidth; WidthLocked = true; } str = '<FONT COLOR=' + color + '>' + str + '</FONT>'; innerHTML += innerHTML ? "<BR>\n" + str : str; scrollTop += 14; } } </script> <table cellpadding=0 cellspacing=0 width=100% height=80%> <tr><td valign=middle> <form method=post> <input type=hidden name=action value=process> <table cellpadding=2 cellspacing=0 width=350 align=center border=0> <tr><td style="font:11px Tahoma, Verdana" colspan=2>Прогресc:</td></tr> <tr><td colspan=2> <div id=logarea style="width: 100%; height: 140px; border: 1px solid #7F9DB9; padding: 3px; overflow: auto;"></div> </td></tr> <tr><td class=copyright width=285> © Copyright 2005 created by <a href="mailto:nick-on@mail.ru?subject=spaiz_dle_convert" class=copyright style="font-weight:bold">nick-on</a> [333396679] </td> <td align=right width=65><input id=process type=submit value=" Старт " style="font:11px Tahoma, Verdana"></td> </tr> </table> </form> </td></tr> </table> <? if ($_POST['action'] == "process") { lock(true); line("Запуск.."); line(""); delete_entryes("category"); delete_entryes("users"); delete_entryes("comments"); delete_entryes("post"); line(""); create_categoryes(); create_admins(); create(); create_comments(); line(""); line("Готово! Время работы: ".$Timer->stop()." сек."); line(""); lock(false); }; function line($str, $color = C_DEFAULT) { $str = preg_replace("/\s{2}/", " ", $str); echo "<script>java_output('{$str}', $color);</SCRIPT>"; } function lock($value = true) { echo "<script>lock_button('$value')</script>"; } function delete_entryes($table) { global $db; line("Удаление записей - ".PREFIX."_" . $table, C_ERROR); $db->query("DELETE FROM " . PREFIX . "_" . $table); } function create_categoryes() { global $db, $parse; $category = array(); $result = $db->query("SELECT * FROM ".SLAED_PREFIX."_topics"); while ($item = $db->get_row($result)) { $id = $item['topicid']; $name = $item['topicname']; $alt_name = totranslit($name); $parentid = 0; $category["alt_name"][] = $alt_name; $category["id"][] = $id; $db->query("INSERT INTO ".PREFIX."_category (id, name, alt_name, parentid) VALUES ('$id', '$name', '$alt_name', '$parentid')"); } line ("Импортирование категорий успешно завершено", C_RESULT); } function create_comments() { global $db, $parse; $result = $db->query("SELECT * FROM ".SLAED_PREFIX."_comment"); while ($item = $db->get_row($result)) { if ($item['modul'] != 'Voting' and $item['modul'] != 'Files') { $id = $item['id']; $news_id = $item['cid']; $date = $item['date']; $email = $item['email']; $author = $item['name']; $ip = $item['host_name']; $text = $parse->safeSQL($parse->BB_Parse($parse->process($item['comment']), false)); $db->query("INSERT INTO ".PREFIX."_comments (id, post_id, date, email, autor, ip, text) VALUES ('$id', '$news_id', '$date', '$email', '$author', '$ip', '$text')"); } }; line ("Импортирование комментариев успешно завершено", C_RESULT); } function create(){ global $db, $parse; $result = $db->query("SELECT * FROM ". SLAED_PREFIX ."_stories"); while ($item = $db->get_row($result)) { $id = $item['sid']; // ID Новости $author = $item['aid']; // Автор $date = $item['time']; // Дата $category_id = $item['topic'];//$item['catid']; // Категория $title = $parse->safeSQL($parse->BB_Parse($parse->process( $item['title']), false)); // Заголовок $short_story = $parse->safeSQL($parse->BB_Parse($parse->process( $item['hometext']), false)); // Короткая новость $full_story = $parse->safeSQL($parse->BB_Parse($parse->process( $item['bodytext']), false)); // Полная новость $allow_comm = 1;//$item['acomm']; // Разрешить комментарии $allow_main = $item['ihome']; // Публиковать на главной $comm_num = $item['comments']; // Кол-во комментариев $alt_name = totranslit($title); $news_read = $item['counter']; $cat_url = $category["alt_name"][$category_id]; $query = "INSERT INTO ".PREFIX."_post (id, autor, date, title, short_story, full_story, alt_name, category, news_read, allow_main, allow_comm, approve, comm_num) VALUES ('$id', '$author', '$date', '$title', '$short_story', '$full_story', '$alt_name', $category_id, '$news_read', 1, $allow_comm, 1, $comm_num)"; $db->query($query); } line ("Импортирование новостей успешно завершено", C_RESULT); } function create_admins() { global $db, $parse; $query = "SELECT * FROM ". SLAED_PREFIX ."_users"; $result = $db->query($query); while ($item = $db->get_row($result)) { $login = $item['user_name']; $email = $item['user_email']; $pass = md5($item['user_password']); $query = "INSERT INTO ".PREFIX."_users (name, password, email, user_group) VALUES ('$login', '$pass', '$email', 4)"; $db->query($query); }; line("Импортирование пользователей завершено", C_RESULT); } ?> <body></html>[/codebox] Но при попытке запустить раюоту скрипта, выдается следущая ошибка: MySQL Error! ------------------------ The Error returned was: Table 'dle.slaed_users' doesn't exist Error Number: 1146 SELECT * FROM slaed_users Откуда он цапает Table '[b]dle.[/b]slaed_users' doesn't exist Очень прошу помочь решить данную проблему Slaed 2.6 DLE 8.2 Цитата Ссылка на сообщение Поделиться на других сайтах
sergey78 18 Опубликовано: 5 декабря 2009 Рассказать Опубликовано: 5 декабря 2009 извините, а почему решили перейти? Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 623 Опубликовано: 6 декабря 2009 Рассказать Опубликовано: 6 декабря 2009 (изменено) Извините, ссылку на сайт Изменено 6 декабря 2009 пользователем Captain Цитата Ссылка на сообщение Поделиться на других сайтах
vsv-ivanovo 0 Опубликовано: 6 декабря 2009 Рассказать Опубликовано: 6 декабря 2009 Автор Sergey78, в жизни всегда что-то менять приходится, говоря о безопасности, думаю со мной согласяться слаед в этом деле дле проигрывает, дле постоянно развивается, а слаед заброшен вот такие факторы и ряд некоторых менее значительных заставляет меня сменить cms. Captain, я провожу тестирование на денвере, на сайте сейчас стоит слаед, поэтому смысла давать адрес нет...да и у Эдуарда глаз слишком много, после перехода на дле мне не хочется иметь с ним проблем, если Вы когда-нибудь работали с этим человеком, думаю Вы меня поймете и поймете мои опасения. Для решения данной проблемы Адрес сайта ни к чему, я просто прошу помочь, если здесь мне ни чем помочь не могут, так и скажите, я пойду за помощью на другие ресурсы. Цитата Ссылка на сообщение Поделиться на других сайтах
maks1192 96 Опубликовано: 6 декабря 2009 Рассказать Опубликовано: 6 декабря 2009 Извините, но Вам необходимо прочитать правила форума. Выше вашего первого сообщения. Извините, но ваша тема может закрыться, если вы не укажите ссылку на сайт. Извините... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 6 декабря 2009 Рассказать Опубликовано: 6 декабря 2009 Table 'dle.slaed_users' doesn't exist Данная ошибка означает что в БД dle нет таблицы slaed_users, т.е. у вас все разведено в разные БД, а этот конвертер для одной БД. Вам нужно БД от DLE и Slaed объеденить в одну.Извините, но ваша тема может закрыться, если вы не укажите ссылку на сайт. Как будет сайт так и посмотрим, а тут из вопроса ясно что сайта еще нет. Цитата Ссылка на сообщение Поделиться на других сайтах
maks1192 96 Опубликовано: 6 декабря 2009 Рассказать Опубликовано: 6 декабря 2009 (изменено) Точно! ппц, как это я так мог не заметить... А вообще я бы автору посоветовал ставить двиг с нуля. Или у него новостей - тясяча? Если так, тогда да... Только через конвертор... Просто когда делаешь конверт с одного двига на другой, возникает куча кодового мусора... Это не кретично, но не приятно... Изменено 6 декабря 2009 пользователем maks1192 Цитата Ссылка на сообщение Поделиться на других сайтах
vsv-ivanovo 0 Опубликовано: 6 декабря 2009 Рассказать Опубликовано: 6 декабря 2009 Автор БД объединены, она добавляет префикс dle. и поэтому не находит такой таблицы, таблица slaed_users есть, а dle.slaed_users нет. На сайте много файлов/пользователей/комментариев. Celsoft отправил адрес Вам в ЛС. Цитата Ссылка на сообщение Поделиться на других сайтах
vsv-ivanovo 0 Опубликовано: 6 декабря 2009 Рассказать Опубликовано: 6 декабря 2009 Автор Проблема с конвертирование бд частично решена...в коде конвертор таблица slaed_users была...а в бд _user моя невнимательность, появилась другая ошибка, в слаеде можно было регистрироваться на одинаковое мыло, а при переносе на дле пишет duplicate entry. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 6 декабря 2009 Рассказать Опубликовано: 6 декабря 2009 ошибка, в слаеде можно было регистрироваться на одинаковое мыло, а при переносе на дле пишет duplicate entry. Дубликаты недопустимы, поэтому только ручное удаление дублирующихся полей из БД Цитата Ссылка на сообщение Поделиться на других сайтах
vsv-ivanovo 0 Опубликовано: 6 декабря 2009 Рассказать Опубликовано: 6 декабря 2009 Автор Очистил от дублей..фуф...успешно конвертирует новости...юзеров и категории, комменты из 11500 всего 200 почему-то конвертирует...либо просто долго висит экран что идет процесс, но так ничего и не происходит... Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 623 Опубликовано: 7 декабря 2009 Рассказать Опубликовано: 7 декабря 2009 (изменено) Очистил от дублей..фуф...успешно конвертирует новости...юзеров и категории, комменты из 11500 всего 200 почему-то конвертирует...либо просто долго висит экран что идет процесс, но так ничего и не происходит... У DLE ограничение стоит (на кол-во новостей, про комменты не знаю, не юзал), если не ошибаюсь повторять нужно удаляя с другого сайта уже загруженые. Целсофт мож точнее скажет. Изменено 7 декабря 2009 пользователем Captain Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 7 декабря 2009 Рассказать Опубликовано: 7 декабря 2009 К конвертеру это не относиться это же не DLE, увеличьте лимиты на время выполнения скрипта в php.ini Цитата Ссылка на сообщение Поделиться на других сайтах
vsv-ivanovo 0 Опубликовано: 10 декабря 2009 Рассказать Опубликовано: 10 декабря 2009 (изменено) Автор Насчет времени выполнения скрипта в пхп.ини, выставил: ini_set(«pcre.backtrack_limit»,10000000); ini_set("max_execution_time", "99999999"); в конвертере..хотя например 7000пользователей спокойно сконвертировал за несколько секунд. Также мне понадобилось сконвертить таблицу содержащую адреса, описания и названия файлов, т.к на сайте большой файловый архив и терять его нельзя, решил дописать, но знаний у меня естественно не хватило, поэтому очень прошу помочь с решением вопроса в отрывке конверта файлов(за основу взял конверт новостей): function create_files(){ global $db, $parse; $result = $db->query("SELECT * FROM ". SLAED_PREFIX ."_files"); while ($item = $db->get_row($result)) { $id = $item['lid']; // ID Файла $author = $item['name']; // Автор $date = $item['date']; // Дата $size = $item['filesize']; // Размер $version = $item['version']; // Версия $screenshot = $item['img']; // Скрин $filename = $item['url']; // Файл $category = $item['cid']; // Категория $title = $parse->safeSQL($parse->BB_Parse($parse->process( $item['title']), false)); // Заголовок $description = $parse->safeSQL($parse->BB_Parse($parse->process( $item['description']), false)); // Описание $allow_comm = $item['acomm']; // Разрешить комментарии $allow_main = $item['ihome']; // Публиковать на главной $comm_num = $item['totalcomments']; // Кол-во комментариев $alt_name = totranslit($title); $news_read = $item['hits']; $query = "INSERT INTO ".PREFIX."_downloads (id, autor, date, size, version, screenshot, filename, category, title, description, alt_name, news_read, allow_main, allow_comm, approve, comm_num) VALUES ('$id', '$author', '$date', $size, $version, $screenshot, $filename, $category, '$title', '$description', '$alt_name', '$news_read', $allow_comm, $comm_num)"; $db->query($query); } line ("Импортирование файлов успешно завершено", C_RESULT); } но при выполнении скрипта, бд выдает ошибку синтаксиса: MySQL Error! ------------------------ The Error returned was: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' http://www.site.ru/files/downloadthumbs/2Pac_tattoos.jpg, http://www.site' at line 3 Error Number: 1064 INSERT INTO dle_downloads (id, autor, date, size, version, screenshot, filename, category, title, description, alt_name, news_read, allow_main, allow_comm, approve, comm_num) VALUES ('1', 'unkniw', '2007-07-13 23:41:54', 68, , http://www.site.ru/files/downloadthumbs/2Pac_tattoos.jpg, http://www.site.ru/files/downloads/2Pac_tattoos.zip, 11, '2Pac_tattoos', 'Тату в стиле 2Pac', '2pac_tattoos', '1309', 1, 5) Изменено 10 декабря 2009 пользователем vsv-ivanovo Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 10 декабря 2009 Рассказать Опубликовано: 10 декабря 2009 Увеличьте также обьем оперативной памяти на процесс в php.ini Цитата Ссылка на сообщение Поделиться на других сайтах
vsv-ivanovo 0 Опубликовано: 10 декабря 2009 Рассказать Опубликовано: 10 декабря 2009 Автор И на память тоже 1024мб выставил, не помагает: Вот мой пхп.ини: http://dump.ru/file/3916365 Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 623 Опубликовано: 10 декабря 2009 Рассказать Опубликовано: 10 декабря 2009 И на память тоже 1024мб выставил, не помагает: Вот мой пхп.ини: http://dump.ru/file/3916365 Лично я не могу на данном сайте его скачать, залей его по куданить по легче. Типа zalil.ru Цитата Ссылка на сообщение Поделиться на других сайтах
vsv-ivanovo 0 Опубликовано: 10 декабря 2009 Рассказать Опубликовано: 10 декабря 2009 Автор Captain, http://slil.ru/28324437 Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 623 Опубликовано: 10 декабря 2009 Рассказать Опубликовано: 10 декабря 2009 (изменено) Да вроде все правильно, а сервер перезагрузил после изменений? Только тогда они вступят в силу. На локалке по ходу. Изменено 10 декабря 2009 пользователем Captain Цитата Ссылка на сообщение Поделиться на других сайтах
vsv-ivanovo 0 Опубликовано: 10 декабря 2009 Рассказать Опубликовано: 10 декабря 2009 Автор Captain, да конечно, но пока удручает ситуация с ошибкой в синтаксисе, пост 14 т.к. файлы очень нужны. Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 623 Опубликовано: 10 декабря 2009 Рассказать Опубликовано: 10 декабря 2009 vsv-ivanovo, тут по ходу в SQL-запросе дело (возможно), но я в этом не силен, так что не смогу помочь. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.