DF Service

Professional Web Software Development

Russian | English      

  ГлавнаяПоискВходРегистрация  
 
Страниц: 1
Послать Тему Печать
Инструкция! Конвертация баз топлистов БЕЗ КОНВЕРТОРА! (Прочитано 7651 раз)
DF™
Global Moderator
DFService
*****
Вне Форума

DFService

Сообщений: 19
MSK
Инструкция! Конвертация баз топлистов БЕЗ КОНВЕРТОРА!
03/04/05 :: 02:53:18
 
Конвертация баз необходима, если Вы хотите обновить свой старый топлист, так образом чтобы участникам не пришлось регистрироваться вновь и менять свои ссылки на топлист.

Рассмотрим два способа конвертирования баз топлистов:
1 способ. Универсальный (бесплатный). Применим к большинству топлистов и не требует написания конвертора.
1. Подготовка. Новый топ-лист устанавливается рядом со старым, так что он не мешает работе старого топлиста.
2. Конвертация участников. Регистрируем в новом топлисте участников с данными аналогичными участникам в старом топлисте и создаем базу соответствия старых и новых логинов/ID.
Создаем текстовый файл convbase.txt и открываем его на редактирование. Вызываем на редактирование аккаунт участника в старом топлисте и открываем форму регистрации участников в новом топлисте. Копируем  данные участника из формы редактирования в форму регистрации и регистрируем аккаунт с такими же данными в новом топлисте. При регистрации вам выдадут цифровой идентификатор(ID) вместо старого текстового (цифрового) логина. Записываем в файл convbase.txt строку: OldLogin=NewID - старый логин и соответствующий ему новый ID в новом топлисте. Проделываем все выше описанное со всеми аккаунтами старого топлиста  и получаем в новом топлисте участников идентичных участникам в старом топлисте.
В файле convbase.txt  должна получиться база типа:
OldLogin1=NewID1
OldLogin2=NewID2
OldLogin3=NewID3
3. Поддержка входных ссылок старого топлиста.
Трафик идущий на входные ссылки участников старого топлиста должен быть переадресован на входные ссылки участников нового топлиста. Для этого используем скрипт-редирект, приведенный ниже, который заменит входной скрипт старого топлиста.
<?php
$URL_INTOP="http://mynewtop.com/cgi-bin/in.cgi";
$DEFAULT_ID=0;
$OLDTOP_TYPE=0;
# $OLDTOP_TYPE=0 -> auto
# $OLDTOP_TYPE=1 -> intop.cgi?id=LOGIN   (AutoRank Pro/PHP)
# $OLDTOP_TYPE=2 -> intop.php?usr=LOGIN  (Tango)
# $OLDTOP_TYPE=3 -> intop.cgi?LOGIN      (TopSitesPro)
$CONVBASE_FILE="./convbase.txt";
$userid=$DEFAULT_ID;
if($OLDTOP_TYPE!=3) { list ($username, $LOGIN)=split ('=', $QUERY_STRING);  
} else { $LOGIN=$QUERY_STRING;  }
if($fd = @fopen($CONVBASE_FILE,'r')){
while (!feof ($fd)) {
 $buffer = fgets($fd, 30);
 list ($username, $ruserid) = split ('=', $buffer);
 if($username == $LOGIN){
  $userid=$ruserid;
  break;
 }
}
fclose($fd);
header("Location: $URL_INTOP?id=$userid\n\n");
}else
echo "Can't open file $CONVBASE_FILE";
?>
Копируем код скрипта в текстовый файл и назначаем переменную  $URL_INTOP своим значением(пишем свою ссылку на in.cgi).  Значение переменной $OLDTOP_TYPE можно не менять (нулевое значение подходит к большинству топлистов), ее значение зависит от вида входной ссылки старого топлиста.
     Теперь необходимо определиться с названием файла скрипта. Название файла скрипта должно быть таким же, как и скрипт на который посылается трафик в старом топлисте. Определить его можно по входной ссылке.
Например:
http://www.mytop.com/in.php?id=login                        ->  in.php
http://www.mytop.com/?login                                       ->   index.html
http://www.mytop.com/cgi-bin/rankem.cgi?id=login    ->   rankem.cgi
http://www.mytop.com/cgi-bin/intop.cgi?login             ->   intop.cgi
Если получается, что скрипт-редирект должен иметь расширение cgi, то необходимо добавить в начало файла строку: “њ#!/usr/bin/php”ќ (это строка должна быть обязательно первой).
После того как разобрались с названием файла скрипта, необходимо определиться с местоположением скрипта-редиректа. Он должен занять место входного скрипта старого топлиста (перед заменой рекомендуем переименовать старый файл).
Закачиваем на ftp скрипт-редирект и  файл convbase.txt, оба файла необходимо закачивать в текстовом режиме. Если файл скрипта имеет расширение cgi, то ему необходимо выставить права 755.
Далее необходимо убедиться, что все работает. При клике по ссылке ведущей на старый топлист вы должны попадать на новый топлист.
Также необходимо известить участников о смене их логинов для входа в мемберс область. Свои новые логины и пароли они могут узнать, напомнив себе пароль с помощью функции Remind password.

2 способ. Профессиональный (платный). Используется трудоемкий и более детальный подход к конвертированию информации. Сохраняются не только участники, но основная статистика старого топлиста. При поддержке старых входных ссылок сохраняются рефереры,  и не используется переадресация трафика. Поддерживается вход участников в мемберс-зону старого топлиста,  залогинившись в старой мемберс-зоне по своим старым данным, участник попадает в мемберс-зону нового топлиста. Отпадает необходимость извещать участников о смене их логинов.
Основной плюс этого способа, что владелец топлиста не участвует в конвертации. А минус
что нужно изучать базы старого топлиста и писать конвертор и еще минус в скобках.
Более подробно второй способ рассмотрим в другой раз, если кому будет интересно.

P.S. Принимаются все замечания и предложения. У кого что  получилось, не получилось пишите.
Наверх
(вложенный файл удалён)  
« Последняя редакция: 03/27/10 :: 19:29:01 от DVA »  
Посмотреть Профиль WWW 6777546   IP записан
Страниц: 1
Послать Тему Печать