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

Отображаемое имя и логин пользователя


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

Доброго времени Celsoft!

Подскажите пож-ста, каким образом можно сделать так что бы во всех местах сайта где отображается Логин пользователя отображалось его Полное Имя... а Логин использовался только для входа.

Или подскажите в каких файлах это используется что бы иметь возможность поправить это самостоятельно.

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

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

Подскажите пож-ста, каким образом можно сделать так что бы во всех местах сайта где отображается Логин пользователя отображалось его Полное Имя... а Логин использовался только для входа.

Такой возможности в скрипте нет

Или подскажите в каких файлах это используется что бы иметь возможность поправить это самостоятельно.

это не один файл и не одна строчка, переделывать придется почти все, начиная со всех MySQL запросов. т.к. например в новостях никаких данных о полном имени не храниться в таблицах

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

Такой возможности в скрипте нет

Я потому и спрашиваю... что не нашел этой возможности...

это не один файл и не одна строчка, переделывать придется почти все, начиная со всех MySQL запросов

Ну всех это наверное слишком загнуто, но все же... Я понимаю что в большинстве мест достаточно будет добавить в запрос на выбор FullName и потом проверку сделать

if ($fullname = "") $name == $name

else $name == $fullname

только вот знать бы в каких файлах это все исправлять что бы ничего не пропустить...

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

Ну всех это наверное слишком загнуто

Нет не слишком, это действительно так. В скрипте нет понятия "отображаемое имя", есть понятие "полное имя" и полное имя выводится только в профиле. В новостях храниться только логин, но не храниться полное имя, поэтому $fullname вам неоткуда взять, как вы его можете проверить если в скрипте не существует такого понятия. Поэтому нужно полностью переделывать логику скрипта и структуру БД. Текущая структура, таких данных не содержит.

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

Хм... Я так полагаю что надо только поправить файлы создания/редактирования новостей/комментариев сделать так что бы вместо вставки в строку Autor вставлялось имя взятое по принципу описанному выше (если есть Полное имя - использовать его, если нет его - используем логин). А FullName и так есть в массиве $member_id, т.е. доступно постоянно.

if ($member_id['fullname'] = "") $name == $member_id['fullname']

else $name == $member_id['name']

А так же в Sitelogin.php и еще каких-то... вопрос каких =)

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

$member_id['fullname']

это не автор, это тот кто просматривает сайт, и каждый посетитель будет видеть свое собственное имя :)

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

Я говорю про момент добавления/редактирования новости/комментария (там-то имя нужного пользователя), а не в момент просмотра... в момент просмотра значение берется из Autor в соответствующей строке.

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

это вы можете внести в engine/inc/addnews.php

Но вы внесете хаос на свой сайт, перестанет работать просмотр профиля, отсылка сообщий и прочее что есть в меню, учет картинок, счетчики новстей у пользователя и еще много вещей.

Поверьте я же не просто так сказал что это сложно, это не предусмотрено архитектурно скриптом, поэтому любое изменение в данном вопросе это хаос и баги. Если бы это было в одну строку, я бы вам сразу написал, где менять.

И в данном случае правильным для вас вариантом использовать логин в виде полного имени, например зарегистрировать не как admin, а как Иванов Сергей Иванович, такие логины допустимы и могут использоваться

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

в /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 (который кстати хранится в строке новости), а по автору новости...

ЗЫ: Это может еще и ошибку спровоцировать, когда стоит удаление "неактивных" пользователей... Если зарегистрироваться под уже удаленным пользователем (под таким же логином), то можно редактировать новости, если у него они имелись ;)

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

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

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

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

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

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

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

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

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

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