xRay Опубликовано 14 Июля 2007 Жалоба Поделиться Опубликовано 14 Июля 2007 (изменено) Хак Меняем Логин на Отображаемое имя для IPB 2.1.х И выше Открываем: /modules/ipb_member_sync.phpНаходим в функции on_name_change// mJournal mod start $this->ipsclass->DB->query("SELECT id FROM ibf_jmembers WHERE id='".$id."'"); $row = $this->ipsclass->DB->fetch_row(); if ($row['id'] == $id) { $this->ipsclass->DB->query("UPDATE ibf_jmembers SET name='".$new_name."' WHERE id='".$id."'"); } // mJournal mod endЗаменяем на (т.е. закоментируем его)// mJournal mod start /*$this->ipsclass->DB->query("SELECT id FROM ibf_jmembers WHERE id='".$id."'"); $row = $this->ipsclass->DB->fetch_row(); if ($row['id'] == $id) { $this->ipsclass->DB->query("UPDATE ibf_jmembers SET name='".$new_name."' WHERE id='".$id."'"); }*/ // mJournal mod end Добвить после функции on_name_change function on_name_display_change( $id, $new_name ) { global $DB, $std, $ibforums; //---- START // mJournal mod start $this->ipsclass->DB->query("SELECT id FROM ibf_jmembers WHERE id='".$id."'"); $row = $this->ipsclass->DB->fetch_row(); if ($row['id'] == $id) { $this->ipsclass->DB->query("UPDATE ibf_jmembers SET name='".$new_name."' WHERE id='".$id."'"); } // mJournal mod end //---- END } Открываем: /sources/action_admin/member.phpНаходим$this->ipsclass->admin->save_log("Changed Member's Display Name '{$member['members_display_name']}' to '$display_name'"); Добавляем ниже if ( USE_MODULES == 1 ) { $this->modules->register_class($this); $this->modules->on_name_display_change($mid, $display_name ); } Открываем: /sources/admin/ad_journal_misc.phpНаходим$this->base->DB->query("SELECT id, name, mgroup FROM ibf_members ORDER BY id LIMIT ".$start_user.", ".$pergo);Заменяем на$this->base->DB->query("SELECT id, members_display_name as name, mgroup FROM ibf_members ORDER BY id LIMIT ".$start_user.", ".$pergo); Если Вы ставили хак Arhar изменяющий порядок создания Дневников для пользователей, то вам этот шаг делать не надо. Открываем: /journal/journal.php Находим$DB->query("SELECT id, name, mgroup FROM ibf_members WHERE id='".$ibforums->input['user']."' LIMIT 1");Заменяем на$DB->query("SELECT id, members_display_name as name, mgroup FROM ibf_members WHERE id='".$ibforums->input['user']."' LIMIT 1"); В админке форума SQL Management->SQL Toolbox (или из phpMyAdmin) выполняем SQL-запрос:update ibf_jmembers a SET name = (SELECT b.members_display_name FROM ibf_members b where a.id=b.id)Этим запросом мы заменим всем пользователям Дневников Ники в Дневника на Отображаемый Ник на Форуме Дальше шаги для тех кто ставил хак [+] 2.0pb7 - Друзья-Враги на основе всех участников форума Открываем: /journal/dosetup.phpНаходим в функции add_friends $DB->query("SELECT name, id FROM ibf_members WHERE ".$query); $memb = $DB->fetch_row();Заменям на это $DB->query("SELECT members_display_name as name, id FROM ibf_members WHERE ".$query); $memb = $DB->fetch_row(); Находим в функции add_enemy $DB->query("SELECT name, id FROM ibf_members WHERE ".$query); $memb = $DB->fetch_row();Заменям на это $DB->query("SELECT members_display_name as name, id FROM ibf_members WHERE ".$query); $memb = $DB->fetch_row(); Открываем: /journal/journal.phpНаходим в функции get_user_friends $DB->query("SELECT i.friend_id as id, i.is_super_friend, m.name FROM ibf_jfriends i LEFT JOIN ibf_members m ON (m.id = i.friend_id) WHERE i.member_id='".$this->users['id']."' AND i.is_friend='1'");Заменям на это $DB->query("SELECT i.friend_id as id, i.is_super_friend, m.members_display_name as name FROM ibf_jfriends i LEFT JOIN ibf_members m ON (m.id = i.friend_id) WHERE i.member_id='".$this->users['id']."' AND i.is_friend='1'"); Находим в функции get_user_ufriends $DB->query("SELECT i.member_id as id, m.name FROM ibf_jfriends i LEFT JOIN ibf_members m ON (m.id=i.member_id) WHERE i.friend_id='".$this->users['id']."' AND i.is_friend='1'");Заменям на это $DB->query("SELECT i.member_id as id, m.members_display_name as name FROM ibf_jfriends i LEFT JOIN ibf_members m ON (m.id=i.member_id) WHERE i.friend_id='".$this->users['id']."' AND i.is_friend='1'"); Открываем: /journal/setup.phpНаходим в функции page_friends $DB->query("SELECT m.id as f_id, m.name as member_name, z.j_title, z.j_access, z.j_comments, z.j_posts FROM ibf_members m LEFT JOIN ibf_jmembers z ON (m.id = z.id) WHERE m.id IN (".implode(', ',array_keys($journal->_cache['u_friends'])).") ORDER BY m.name ASC");Заменям на это $DB->query("SELECT m.id as f_id, m.members_display_name as member_name, z.j_title, z.j_access, z.j_comments, z.j_posts FROM ibf_members m LEFT JOIN ibf_jmembers z ON (m.id = z.id) WHERE m.id IN (".implode(', ',array_keys($journal->_cache['u_friends'])).") ORDER BY m.name ASC"); Находим в функции page_enemy $DB->query("SELECT j.friend_id as f_id, m.name as member_name, z.j_title, z.j_access, z.j_comments, z.j_posts FROM ibf_jfriends j LEFT JOIN ibf_members m ON (m.id=j.friend_id) LEFT JOIN ibf_jmembers z ON (m.id = z.id) WHERE j.member_id='".$journal->users['id']."' AND j.is_friend='0' ORDER BY m.name ASC");Заменям на это $DB->query("SELECT j.friend_id as f_id, m.members_display_name as member_name, z.j_title, z.j_access, z.j_comments, z.j_posts FROM ibf_jfriends j LEFT JOIN ibf_members m ON (m.id=j.friend_id) LEFT JOIN ibf_jmembers z ON (m.id = z.id) WHERE j.member_id='".$journal->users['id']."' AND j.is_friend='0' ORDER BY m.name ASC"); Изменено 14 Июля 2007 пользователем xRay Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Lera Опубликовано 14 Июля 2007 Жалоба Поделиться Опубликовано 14 Июля 2007 этот кусок кода нужно закоментироватьВот тут у меня бАльшииие проблемы. Как это сделать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 14 Июля 2007 Жалоба Поделиться Опубликовано 14 Июля 2007 Lera,// mJournal mod start $this->ipsclass->DB->query("SELECT id FROM ibf_jmembers WHERE id='".$id."'"); $row = $this->ipsclass->DB->fetch_row(); if ($row['id'] == $id) { $this->ipsclass->DB->query("UPDATE ibf_jmembers SET name='".$new_name."' WHERE id='".$id."'"); } // mJournal mod end— заменить на:// mJournal mod start /*$this->ipsclass->DB->query("SELECT id FROM ibf_jmembers WHERE id='".$id."'"); $row = $this->ipsclass->DB->fetch_row(); if ($row['id'] == $id) { $this->ipsclass->DB->query("UPDATE ibf_jmembers SET name='".$new_name."' WHERE id='".$id."'"); }*/ // mJournal mod end Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Lera Опубликовано 14 Июля 2007 Жалоба Поделиться Опубликовано 14 Июля 2007 Артур, спасибо большое. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Lera Опубликовано 14 Июля 2007 Жалоба Поделиться Опубликовано 14 Июля 2007 Работает как часики, спасибо xRay Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
WWWovan Опубликовано 1 Сентября 2007 Жалоба Поделиться Опубликовано 1 Сентября 2007 Все получилось. Правда для отображения собственного "отображаемого имени" в верху страницы(Там где "Привет, ....!")пришлось поменять в скине журнала (Global--member_bar)name на members_display_name...Но если менял било ошибку. Пришлось поменять в skin_global.php, а потом "Загрузить шаблоны из PHP" Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 18 Сентября 2007 Автор Жалоба Поделиться Опубликовано 18 Сентября 2007 Дополнение к хаку Меняем Логин на Отображаемое имя для того чтобы друзей/врагов можно было заносить как по логину так и по отображаемому имени (касается только тех ктоставил хак [+] 2.0pb7 - Друзья-Враги на основе всех участников форума) Открываем: /journal/dosetup.phpНаходим в функции add_friends$query = "name='".$ibforums->input['mem_name']."'";Заменям на это$query = "name='".$ibforums->input['mem_name']."' or members_display_name='".$ibforums->input['mem_name']."'"; Находим в функции add_enemy$query = "name='".$ibforums->input['mem_name']."'";Заменям на это$query = "name='".$ibforums->input['mem_name']."' or members_display_name='".$ibforums->input['mem_name']."'"; Теперь я думаю вопрос закрыт Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Alvor Опубликовано 28 Сентября 2007 Жалоба Поделиться Опубликовано 28 Сентября 2007 (изменено) А что с версией для 2.3.1? Пытаюсь сделал как тут - файла /journal/journal.php нет, да и $DB->query("SELECT id, name, mgroup FROM ibf_members WHERE id='".$ibforums->input['user']."' LIMIT 1"); находится в journal/includes/class_journal.phpДальше для тех кто ставил друзей-врагов, но в этой версии в настройках есть списки друзей и врагов, надо делать дальшейшую инструкцию? ЗЫ: Еще в комментариях ставится отображаемое имя... обновите инструкцию пжаалста... Изменено 28 Сентября 2007 пользователем Alvor Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Allure Опубликовано 28 Сентября 2007 Жалоба Поделиться Опубликовано 28 Сентября 2007 А что с версией для 2.3.1? Пытаюсь сделал как тут - файла /journal/journal.php нет, да и $DB->query("SELECT id, name, mgroup FROM ibf_members WHERE id='".$ibforums->input['user']."' LIMIT 1"); находится в journal/includes/class_journal.phpДальше для тех кто ставил друзей-врагов, но в этой версии в настройках есть списки друзей и врагов, надо делать дальшейшую инструкцию? ЗЫ: Еще в комментариях ставится отображаемое имя... обновите инструкцию пжаалста... /journal/journal.php и journal/includes/class_journal.php - одно и то же. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Alvor Опубликовано 28 Сентября 2007 Жалоба Поделиться Опубликовано 28 Сентября 2007 Ну что одно и то же я понял, а вот насчет остальных вопросов ответ бы услышать Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 30 Сентября 2007 Автор Жалоба Поделиться Опубликовано 30 Сентября 2007 А что с версией для 2.3.1? Пытаюсь сделал как тут - файла /journal/journal.php нет, да и $DB->query("SELECT id, name, mgroup FROM ibf_members WHERE id='".$ibforums->input['user']."' LIMIT 1"); находится в journal/includes/class_journal.phpДальше для тех кто ставил друзей-врагов, но в этой версии в настройках есть списки друзей и врагов, надо делать дальшейшую инструкцию?Я же ясно написал что имеется ввиду хак:[+] 2.0pb7 - Друзья-Враги на основе всех участников форуматы его ставил? если да, то делай что дальше написано. ЗЫ: Еще в комментариях ставится отображаемое имя... обновите инструкцию пжаалста...Значит ты не выполнил вот этот sql-запросВ админке форума SQL Management->SQL Toolbox (или из phpMyAdmin) выполняем SQL-запрос:SQL update ibf_jmembers a SET name = (SELECT b.members_display_name FROM ibf_members b where a.id=b.id) Этим запросом мы заменим всем пользователям Дневников Ники в Дневника на Отображаемый Ник на Форуме Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Alvor Опубликовано 1 Октября 2007 Жалоба Поделиться Опубликовано 1 Октября 2007 Выполнил. И в таблице ibf_jmembers содержатся именно отображаемые имена. Но при оставлении комментария упорно пишется логин. Где еще можно рыть? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
CiD Опубликовано 1 Октября 2007 Жалоба Поделиться Опубликовано 1 Октября 2007 Для комментовupdate ibf_jcomments a SET author_name = (SELECT b.members_display_name FROM ibf_members b where a.author_id=b.id) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Alvor Опубликовано 1 Октября 2007 Жалоба Поделиться Опубликовано 1 Октября 2007 CiD, насколько я понял это поменяет уже существующие каменты. Но новые-то все равно создаются с логином! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Полковник Опубликовано 2 Октября 2007 Жалоба Поделиться Опубликовано 2 Октября 2007 Форум 2.3.1. Может кому пригодится. После установки мода невозможно выйти - белая страница. Дальнейшие коряги смотреть не стал, похоже форум вообще неадекватно себя ведет. Докладываю, что вот это делать не надо:Открываем: /modules/ipb_member_sync.phpНаходим в функции on_name_changeКод// mJournal mod start $this->ipsclass->DB->query("SELECT id FROM ibf_jmembers WHERE id='".$id."'"); $row = $this->ipsclass->DB->fetch_row(); if ($row['id'] == $id) { $this->ipsclass->DB->query("UPDATE ibf_jmembers SET name='".$new_name."' WHERE id='".$id."'"); }// mJournal mod end Заменяем на (т.е. закоментируем его)Код // mJournal mod start /*$this->ipsclass->DB->query("SELECT id FROM ibf_jmembers WHERE id='".$id."'"); $row = $this->ipsclass->DB->fetch_row(); if ($row['id'] == $id) { $this->ipsclass->DB->query("UPDATE ibf_jmembers SET name='".$new_name."' WHERE id='".$id."'"); }*/// mJournal mod end Добвить после функции on_name_changeКод function on_name_display_change( $id, $new_name ) { global $DB, $std, $ibforums; //---- START // mJournal mod start $this->ipsclass->DB->query("SELECT id FROM ibf_jmembers WHERE id='".$id."'"); $row = $this->ipsclass->DB->fetch_row(); if ($row['id'] == $id) { $this->ipsclass->DB->query("UPDATE ibf_jmembers SET name='".$new_name."' WHERE id='".$id."'"); }// mJournal mod end //---- END } Автору - решпект, работает как из пушки... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 8 Ноября 2007 Автор Жалоба Поделиться Опубликовано 8 Ноября 2007 * Не большой фикс связан с тем что когда пользователи сами себе меняют отображаемое имя, то имя журнала не менялось. Открываем: /sources/action_public/usercp.phpНаходим//-----------------------------------------// Recache forums//----------------------------------------- $this->ipsclass->update_forum_cache(); //-----------------------------------------// Bounce back//----------------------------------------- $this->display_name_change( "", $this->ipsclass->lang['dname_change_ok'] );Добавляем нижеif ( USE_MODULES == 1 ) { $this->modules->register_class($this); $this->modules->on_name_display_change($this->ipsclass->member['id'], $display_name ); } * Небольшой фикс чтобы в кто он-лайн у дневника отображалось верное название (т.е. отображаемое имя пользователя) Открываем: /sources/action_public/online.phpНаходим$this->ipsclass->DB->query("SELECT id, name FROM ibf_members WHERE id IN ($j_string)");Заменяем на$this->ipsclass->DB->query("SELECT id, members_display_name as name FROM ibf_members WHERE id IN ($j_string)"); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Alvor Опубликовано 12 Ноября 2007 Жалоба Поделиться Опубликовано 12 Ноября 2007 Ну вот, допетрил...берем /journal/misc/comment_new.phpищем$rpost['author_name'] = $ibforums->member['id'] ? $ibforums->member['name'] : $ibforums->input['UserName'];меняем на$rpost['author_name'] = $ibforums->member['id'] ? $ibforums->member['members_display_name'] : $ibforums->input['UserName'];Все, новые комментарии идут с отображаемым именем. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Еve Опубликовано 16 Ноября 2007 Жалоба Поделиться Опубликовано 16 Ноября 2007 Для тех, кто ставил мод Кто читал дневник Файл ./journal/misc/user_blocks.phpнайти$member = $journal->txt_truncate($row['name'],13);замнить на$member = $journal->txt_truncate($row['members_display_name'],13); Файл ./journal/misc/list_vizitors.phpнайти $DB->query("SELECT v.*, m.id, m.name, jm.j_posts, jm.j_title FROM ibf_jvizitorsзаменить на $DB->query("SELECT v.*, m.id, m.members_display_name as name, jm.j_posts, jm.j_title FROM ibf_jvizitors Типо всё. =) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
WWWovan Опубликовано 23 Января 2008 Жалоба Поделиться Опубликовано 23 Января 2008 Для того, чтобы в названии дневника отображалось отображаемое имя нужно в файле journal/journal.php Найти$DB->query("INSERT INTO ibf_jmembers (id,name,mgroup) VALUES ('".$r['id']."','".$r['name']."','".$r['mgroup']."')"); и заменить на $DB->query("INSERT INTO ibf_jmembers (id,name,mgroup) VALUES ('".$r['id']."','".$r['members_display_name']."','".$r['mgroup']."')"); Чтобы поменять ранее записанные имена нужно выполнить следующий запрос:update ibf_jmembers a SET name = (SELECT b.members_display_name FROM ibf_members b where a.id=b.id) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Saechka Опубликовано 31 Января 2008 Жалоба Поделиться Опубликовано 31 Января 2008 Помогите, пожалуйста!!! После установки этого мода вдруг сегодня всплыла проблема: человек решил завести себе дневник, а его имя не отображается нигде. Картинку прилагаю... Как это подправить??? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 31 Января 2008 Автор Жалоба Поделиться Опубликовано 31 Января 2008 SaechkaВерсии форума IPB и модуля mJournal какие? Это у одного человека так случилось или еще у кого-то так же? Что у него за ник? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Saechka Опубликовано 1 Февраля 2008 Жалоба Поделиться Опубликовано 1 Февраля 2008 Да, что-то стормозила сразу написать, прошу прощения! Русская версия IP.Board 2.3.3, поставлен mJournal 2.1 Public Beta 1 Ник англ. буквами: Murzilka Насчет остальных проверила - нет, имена видны. Но у участника Murzilka журнал закрыт для просмотра, т.е. его вижу вообще только я, получается... Но имя-то, по идее, все равно ж писаться должно... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
BESTRAFER Опубликовано 6 Февраля 2008 Жалоба Поделиться Опубликовано 6 Февраля 2008 При попытке выйти из аккаунта со страницы журнала У вас нет доступа к этой странице или функции. Если вы не авторизованы, можете сделать это, используя форму ниже, а затем попробовать снова.с форума нормально с лог-аутом... тот способ, что описан выше (на первой странице) не дает результата...версия форума 2.3.1 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 6 Февраля 2008 Жалоба Поделиться Опубликовано 6 Февраля 2008 http://www.ibresource.ru/forums/index.php?...mp;#entry230518 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Saechka Опубликовано 18 Февраля 2008 Жалоба Поделиться Опубликовано 18 Февраля 2008 Да, что-то стормозила сразу написать, прошу прощения! Русская версия IP.Board 2.3.3, поставлен mJournal 2.1 Public Beta 1 Ник англ. буквами: Murzilka Насчет остальных проверила - нет, имена видны. Но у участника Murzilka журнал закрыт для просмотра, т.е. его вижу вообще только я, получается... Но имя-то, по идее, все равно ж писаться должно... И снова я и снова с той же проблемой...Помогите, плз!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! У меня множатся "безниковые" Опять англ. ник - Jennifer Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.