Перейти к публикации

Рекомендованные сообщения

Всем добрый вечер! Решил перейти на дле со слаеда, взял конвертер:

<?

/* ------- Настройка скрипта ---------------------------------------------- */

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>
&copy; 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}/", " &nbsp;", $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, в жизни всегда что-то менять приходится, говоря о безопасности, думаю со мной согласяться слаед в этом деле дле проигрывает, дле постоянно развивается, а слаед заброшен вот такие факторы и ряд некоторых менее значительных заставляет меня сменить cms.

Captain, я провожу тестирование на денвере, на сайте сейчас стоит слаед, поэтому смысла давать адрес нет...да и у Эдуарда глаз слишком много, после перехода на дле мне не хочется иметь с ним проблем, если Вы когда-нибудь работали с этим человеком, думаю Вы меня поймете и поймете мои опасения.

Для решения данной проблемы Адрес сайта ни к чему, я просто прошу помочь, если здесь мне ни чем помочь не могут, так и скажите, я пойду за помощью на другие ресурсы.

Ссылка на сообщение
Поделиться на других сайтах

Извините, но Вам необходимо прочитать правила форума. Выше вашего первого сообщения.

Извините, но ваша тема может закрыться, если вы не укажите ссылку на сайт.

Извините... :lol:

Ссылка на сообщение
Поделиться на других сайтах

Table 'dle.slaed_users' doesn't exist

Данная ошибка означает что в БД dle нет таблицы slaed_users, т.е. у вас все разведено в разные БД, а этот конвертер для одной БД. Вам нужно БД от DLE и Slaed объеденить в одну.

Извините, но ваша тема может закрыться, если вы не укажите ссылку на сайт.

Как будет сайт так и посмотрим, а тут из вопроса ясно что сайта еще нет.

Ссылка на сообщение
Поделиться на других сайтах

Точно! ппц, как это я так мог не заметить...

А вообще я бы автору посоветовал ставить двиг с нуля. Или у него новостей - тясяча? Если так, тогда да... Только через конвертор...

Просто когда делаешь конверт с одного двига на другой, возникает куча кодового мусора... Это не кретично, но не приятно... ;)

Изменено пользователем maks1192
Ссылка на сообщение
Поделиться на других сайтах

БД объединены, она добавляет префикс dle. и поэтому не находит такой таблицы, таблица slaed_users есть, а dle.slaed_users нет.

На сайте много файлов/пользователей/комментариев.

Celsoft отправил адрес Вам в ЛС.

Ссылка на сообщение
Поделиться на других сайтах

Проблема с конвертирование бд частично решена...в коде конвертор таблица slaed_users была...а в бд _user моя невнимательность, появилась другая ошибка, в слаеде можно было регистрироваться на одинаковое мыло, а при переносе на дле пишет duplicate entry.

Ссылка на сообщение
Поделиться на других сайтах

ошибка, в слаеде можно было регистрироваться на одинаковое мыло, а при переносе на дле пишет duplicate entry.

Дубликаты недопустимы, поэтому только ручное удаление дублирующихся полей из БД

Ссылка на сообщение
Поделиться на других сайтах

Очистил от дублей..фуф...успешно конвертирует новости...юзеров и категории, комменты из 11500 всего 200 почему-то конвертирует...либо просто долго висит экран что идет процесс, но так ничего и не происходит...

Ссылка на сообщение
Поделиться на других сайтах

Очистил от дублей..фуф...успешно конвертирует новости...юзеров и категории, комменты из 11500 всего 200 почему-то конвертирует...либо просто долго висит экран что идет процесс, но так ничего и не происходит...

У DLE ограничение стоит (на кол-во новостей, про комменты не знаю, не юзал), если не ошибаюсь повторять нужно удаляя с другого сайта уже загруженые. Целсофт мож точнее скажет. ;)

Изменено пользователем Captain
Ссылка на сообщение
Поделиться на других сайтах

К конвертеру это не относиться это же не DLE, увеличьте лимиты на время выполнения скрипта в php.ini

Ссылка на сообщение
Поделиться на других сайтах

Насчет времени выполнения скрипта в пхп.ини, выставил: 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)

Изменено пользователем vsv-ivanovo
Ссылка на сообщение
Поделиться на других сайтах

И на память тоже 1024мб выставил, не помагает:

Вот мой пхп.ини: http://dump.ru/file/3916365

Лично я не могу на данном сайте его скачать, залей его по куданить по легче. Типа zalil.ru

Ссылка на сообщение
Поделиться на других сайтах

Да вроде все правильно, а сервер перезагрузил после изменений? Только тогда они вступят в силу. На локалке по ходу.

Изменено пользователем Captain
Ссылка на сообщение
Поделиться на других сайтах

Captain, да конечно, но пока удручает ситуация с ошибкой в синтаксисе, пост 14 т.к. файлы очень нужны.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...