Yagoda Опубликовано 4 Сентября 2006 Жалоба Поделиться Опубликовано 4 Сентября 2006 Думаю, тема будет многим интересна. Конкретно, моя проблема:Делаю конвертацию с Simple Machines Forum 1.1 RC2 в IPB 2.1.6 - проходит на ура.Захожу под именем админа с форума SMF - нормально.При попытке зайти в админ-панель - "Неверный пароль".При попытке сменить пароль - говорит "ОК", но с новым паролем войти уже никуда не могу. Процедура "recover" не помогает. В принципе, нужное могу и ручками занести в базу. Версия IPB - 2.1.6 Rus Насколько я понимаю, после конвертации, авторизация происходит несколько по другому.Может кто подскажет, как переключиться на стандартный метод авторизации, т.е. где эта настройка хранится. К базе и скрипту имею полный доступ (домашний ПК, домовая сеть).Или подскажите плиз, где дальше копать. Заранее спасибо. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Master Опубликовано 4 Сентября 2006 Жалоба Поделиться Опубликовано 4 Сентября 2006 Так только хеши МД5 зранятся вроде вместо паролей. В базinvision power board паролей нет. Можно взять эти МД5, но там нужен для них расшифровчик. Путем перебора паролей. Тупо. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
.silent Опубликовано 4 Сентября 2006 Жалоба Поделиться Опубликовано 4 Сентября 2006 (изменено) можно вручную поставить хэш.как все это дело хранится - можно глянуть тут http://www.ibresource.ru/forums/index.php?showtopic=25058 а можно и зарегистрироваться, а в базе подставить группу на админа. Изменено 4 Сентября 2006 пользователем .silent Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 4 Сентября 2006 Жалоба Поделиться Опубликовано 4 Сентября 2006 Yagoda тем пользователям которые имеют доступ к админцентру не рекомендую делать пароли из русских символов. Сколько конверторов написал, но на моей памяти больше проблемм с конвертацией небыло у меня никогда. Да и еще там в конверторе ссылочка есть снизу на пересчет и обновление кешей, сделайте это. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
.silent Опубликовано 4 Сентября 2006 Жалоба Поделиться Опубликовано 4 Сентября 2006 конвертер с VB тоже ты, наверное, делал? =] Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Yagoda Опубликовано 4 Сентября 2006 Автор Жалоба Поделиться Опубликовано 4 Сентября 2006 Проблема решилась на ура - нашел более новый скриптик recover. Им восстановил пароль админа.Скриптик маленький, привожу весь его код:<?php $member_id = "2"; // id пользователя информацию, которого будем менять $password = "123"; // новый пароль define( 'IPB_THIS_SCRIPT', 'public' ); define( 'IPB_LOAD_SQL' , 'queries' ); require_once( './init.php' ); //============================= // MAIN PROGRAM //============================= $INFO = array(); //-------------------------------- // Load our classes //-------------------------------- require_once ROOT_PATH ."sources/ipsclass.php"; require_once ROOT_PATH ."sources/classes/class_display.php"; require_once ROOT_PATH ."sources/classes/class_session.php"; require_once ROOT_PATH ."sources/classes/class_forums.php"; require_once KERNEL_PATH."class_converge.php"; require_once ROOT_PATH ."conf_global.php"; # Initiate super-class $ipsclass = new ipsclass(); $ipsclass->vars = $INFO; //-------------------------------- // The clocks a' tickin' //-------------------------------- $Debug = new Debug; $Debug->startTimer(); //-------------------------------- // Load the DB driver and such //-------------------------------- $ipsclass->init_db_connection(); //-------------------------------- // INIT other classes //-------------------------------- $ipsclass->print = new display(); $ipsclass->print->ipsclass =& $ipsclass; $ipsclass->sess = new session(); $ipsclass->sess->ipsclass =& $ipsclass; $ipsclass->forums = new forum_functions(); $ipsclass->forums->ipsclass =& $ipsclass; //-------------------------------- // Set up our vars //-------------------------------- $ipsclass->parse_incoming(); //-------------------------------- // Set converge //-------------------------------- $ipsclass->converge = new class_converge( $ipsclass->DB ); $ipsclass->DB->query("SELECT email FROM ".SQL_PREFIX."members WHERE id='".$member_id."'"); $mem = $ipsclass->DB->fetch_row(); $ipsclass->converge->converge_load_member($mem['email']); $ipsclass->converge->converge_update_password( md5($password), $mem['email'] ); die("Всё сделано.<br>Удалите этот файл с сервера!"); ?>Для инфы, может кому и пригодится.Был у меня когда-то форум на phpBB2, переехал на SMF 1.1 (возможностей в нем поболе, да и удобнее).Старый пришлось оставить "только чтение". Удалять было жалко - много информации.Так у меня и висело 2 форума месяца 4. Попалась инфа в Инете про IPB. Походил-почитал, в том числе и про утилиты конвертации-объединения. Засвербило объеденить эти форумы.Понадобилось:- convert - конвертация с других движков- unatco - объединение форумов IPB- recover - на всякий случай, восстановление пароля Установил 2 форума на машине - /ipb (основной) и /ipb_temp (временный).Т.к. инфы в старом SMF было больше, решил его брать основным.Конвертировал SMF > /ipb и phpBB2 > /ipb_temp. Пришлось воспользоваться утилитой recover.После конвертации на обоих получившихся форумах включил встроенный метод авторизации, пересобрал кеш и провел пересчет всего стандартными средствами.Объединение прошло нормально. Получил двойной набор масок доступа, групп и юзеров (юзеры на обоих форумах почти одни и теже были). Пришлось ручками освободить и удалить дубликаты масок и групп. Ну и разрешения просмотрел - поменял где надо. С дубликатами юзеров сложнее, сейчас буду искать (где-то попадался скрипт) - сложность в том, что некоторые дубликаты имеют разные имена и(или) адреса. Нужен скрипт, которому можно подсунуть id удаляемого юзера и id юзера, на которого перекинуть его посты и все прочее.Опубликовал у себя адрес нового форума - пусть юзеры тестируют. Наверно, придется ручками вводить пароли. Благо, пользователей не много. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Yagoda Опубликовано 5 Сентября 2006 Автор Жалоба Поделиться Опубликовано 5 Сентября 2006 Проблема разрешилась - как, писал здесь. Видимо удалили. Упс..Всем спасибо.Ой, извиняюсь - с кеша прочиталось. Все на месте. А удалить свой пост не могу. Мож модеры удалят? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Yagoda Опубликовано 5 Сентября 2006 Автор Жалоба Поделиться Опубликовано 5 Сентября 2006 Для IPB - 2.1.6 готового, для объядинения юзверей, похоже, ничего нет. Поковырялся в базе. В принципе, все просто.Находим все ИД плохого юзера и меняем на ИД хорошего. Затем плохого юзера просто удаляем. Естественно запросом SQL. Только вот загвоздка - списочек бы, в каких полях каких таблиц ИД юзера пишется? Что нашел (таблицы со стандартным префиксом ibf_ ): ibf_calendar_events - userid - события в календареibf_message_text - msg_author_id - личные сообщения. Или ответы на посты?ibf_message_topics - mt_from_id; mt_to_id - а это точно, личные сообщения Самое главное ibf_posts - author_idibf_topics - starter_id ???? Собственно, можно бы обойтись переброской только постов. Личные сообщения - нафиг, события - туда-же. Автор темы - думаю пересчитается. Сегодня, дома попробую (пишу с работы). Думаю, примерно вот так:u_ok - хороший юзерu_x - плохойUPDATE ibf_posts SET author_id=u_ok WHERE author_id=u_x Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 5 Сентября 2006 Жалоба Поделиться Опубликовано 5 Сентября 2006 .silent комплексуешь? конвертер с VB тоже ты, наверное, делал? =] к слову, если не учитывать особенности пермиций в VB(которые безусловно яляются сложными - числовыми), то конверт осущетвляется просто, а вот если движек форума самописный или нестандартный, например движек форума встроенный в CMS (вроде KOOBI или Битрикс), то тогда приходтся больше и больше ломать голову. Чем меньше SDK чем больше времени тратишь на конвертор. Yagoda я сегодня смотрел конвертор, очень советую его модифицироватьпоставь проверочку, что бы логины не совпадали $DB->query("SELECT * FROM {tbl.prefix}members WHERE LOWER(name)='".strtolower($data['name'])."'"); if($member = $DB->fetch_row()) { continue; } а в дальнейшем конверте проверять есть ли у этой записи владелец(живой пользователь) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Yagoda Опубликовано 5 Сентября 2006 Автор Жалоба Поделиться Опубликовано 5 Сентября 2006 Отчитываюсь:Метод объединения юзеров на движке IPB 2.1.6---------------u_ok - хороший юзерu_x - плохойUPDATE ibf_posts SET author_id=u_ok WHERE author_id=u_x;---------------Сработал!!! С час, правда, провозился - поиск плохого юзера в базе, поиск его хорошего аналога, исправление запроса, выполнение запроса. Опосля всего - перестройка кеша, пересчет всего и удаление плохих юзверей. Хорошо бы такой фунционал в админпанели. Понадобиться может в любое время, а такой скриптик держать в каталоге с форумом - опасно.Ура движку IPB!!! Уже и не думал, что удастся объединить форумы. Юзерам, правда, пришлось восстанавливать пароли, но это мелочи. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
.silent Опубликовано 6 Сентября 2006 Жалоба Поделиться Опубликовано 6 Сентября 2006 SAT, нет, просто уже двум клиентам исправлял не очень приятные последствия после конвертации с VB Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 6 Сентября 2006 Жалоба Поделиться Опубликовано 6 Сентября 2006 .silent я знаю в стандартной поставке нет ребилда кеша групп из-за чего вылезает масса ошибок Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.