Shinji 0 Опубликовано: 13 января 2010 Рассказать Опубликовано: 13 января 2010 Доброго времени Celsoft! Подскажите пож-ста, каким образом можно сделать так что бы во всех местах сайта где отображается Логин пользователя отображалось его Полное Имя... а Логин использовался только для входа. Или подскажите в каких файлах это используется что бы иметь возможность поправить это самостоятельно. Цель: сделать так что бы можно было менять отображаемое имя на сайте, а не регистрировать нового пользователя с другим именем. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 13 января 2010 Рассказать Опубликовано: 13 января 2010 Подскажите пож-ста, каким образом можно сделать так что бы во всех местах сайта где отображается Логин пользователя отображалось его Полное Имя... а Логин использовался только для входа. Такой возможности в скрипте нетИли подскажите в каких файлах это используется что бы иметь возможность поправить это самостоятельно. это не один файл и не одна строчка, переделывать придется почти все, начиная со всех MySQL запросов. т.к. например в новостях никаких данных о полном имени не храниться в таблицах Цитата Ссылка на сообщение Поделиться на других сайтах
Shinji 0 Опубликовано: 13 января 2010 Рассказать Опубликовано: 13 января 2010 Автор Такой возможности в скрипте нет Я потому и спрашиваю... что не нашел этой возможности... это не один файл и не одна строчка, переделывать придется почти все, начиная со всех MySQL запросов Ну всех это наверное слишком загнуто, но все же... Я понимаю что в большинстве мест достаточно будет добавить в запрос на выбор FullName и потом проверку сделать if ($fullname = "") $name == $name else $name == $fullname только вот знать бы в каких файлах это все исправлять что бы ничего не пропустить... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 13 января 2010 Рассказать Опубликовано: 13 января 2010 Ну всех это наверное слишком загнуто Нет не слишком, это действительно так. В скрипте нет понятия "отображаемое имя", есть понятие "полное имя" и полное имя выводится только в профиле. В новостях храниться только логин, но не храниться полное имя, поэтому $fullname вам неоткуда взять, как вы его можете проверить если в скрипте не существует такого понятия. Поэтому нужно полностью переделывать логику скрипта и структуру БД. Текущая структура, таких данных не содержит. Цитата Ссылка на сообщение Поделиться на других сайтах
Shinji 0 Опубликовано: 13 января 2010 Рассказать Опубликовано: 13 января 2010 Автор Хм... Я так полагаю что надо только поправить файлы создания/редактирования новостей/комментариев сделать так что бы вместо вставки в строку Autor вставлялось имя взятое по принципу описанному выше (если есть Полное имя - использовать его, если нет его - используем логин). А FullName и так есть в массиве $member_id, т.е. доступно постоянно. if ($member_id['fullname'] = "") $name == $member_id['fullname'] else $name == $member_id['name'] А так же в Sitelogin.php и еще каких-то... вопрос каких =) Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 13 января 2010 Рассказать Опубликовано: 13 января 2010 $member_id['fullname'] это не автор, это тот кто просматривает сайт, и каждый посетитель будет видеть свое собственное имя Цитата Ссылка на сообщение Поделиться на других сайтах
Shinji 0 Опубликовано: 13 января 2010 Рассказать Опубликовано: 13 января 2010 Автор Я говорю про момент добавления/редактирования новости/комментария (там-то имя нужного пользователя), а не в момент просмотра... в момент просмотра значение берется из Autor в соответствующей строке. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 13 января 2010 Рассказать Опубликовано: 13 января 2010 это вы можете внести в engine/inc/addnews.php Но вы внесете хаос на свой сайт, перестанет работать просмотр профиля, отсылка сообщий и прочее что есть в меню, учет картинок, счетчики новстей у пользователя и еще много вещей. Поверьте я же не просто так сказал что это сложно, это не предусмотрено архитектурно скриптом, поэтому любое изменение в данном вопросе это хаос и баги. Если бы это было в одну строку, я бы вам сразу написал, где менять.И в данном случае правильным для вас вариантом использовать логин в виде полного имени, например зарегистрировать не как admin, а как Иванов Сергей Иванович, такие логины допустимы и могут использоваться Цитата Ссылка на сообщение Поделиться на других сайтах
Shinji 0 Опубликовано: 13 января 2010 Рассказать Опубликовано: 13 января 2010 (изменено) Автор в /engine/inc/addnews.php надо поменять: строка 547, 576, 577: $member_id['name'] > $member_id['fullname'] На статистику новостей не повлияет, т.к. там учет идет по $member_id['user_id'] Аааа... я понял в чем у Вас в коде ошибка и почему работа усложнится (/engine/inc/editnews.php): if( $user_group[$member_id['user_group']]['allow_edit'] and $row['autor'] == $member_id['name'] ) { $have_perm = 1; } Проверка на возможность редактирования новости идет не по user_ID (который кстати хранится в строке новости), а по автору новости... ЗЫ: Это может еще и ошибку спровоцировать, когда стоит удаление "неактивных" пользователей... Если зарегистрироваться под уже удаленным пользователем (под таким же логином), то можно редактировать новости, если у него они имелись Изменено 13 января 2010 пользователем Shinji Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.