Как добавить кнопку под аватаром?

Автор karavan, 03 марта 2013, 00:12:56

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

karavan

Подскажите пожалуйста, как добавить кнопку под аватаром, а именно хочу сделать кнопку "Удалить пользователя" в этом месте (показал стрелкой на скине), чтобы удалить пользователя не нужно было заходить в профиль, а прямо отсюда:

Istoric


Сапожник

Ну вы даете :)
Вы каждые пять минут пользователей удаляете?

Можно попробовать так:
    Центр администрирования »  Характеристики и настройки »   Поля профиля

Создаете новое поле. Размещение "Рядом с иконками", Тип поля - "Текст"
Поле "Показывать с дополнительным текстом (По желанию):" принимает html в котором вы можете вставить необходимую вам ссылку


Update: Не, не пойдет... В ссылке присутсвует id пользователя
Я хостюсь на Хвостинге :) 10 Гб (15 сайтов) ~ 30$/год
Рефка: http://hvosting.ua/

karavan

Цитата: Сапожник от 03 марта 2013, 00:35:54Ну вы даете :)
Вы каждые пять минут пользователей удаляете?
Нет конечно, это готовятся розыгрыши на 1 апреля )))
Спасибо, попробую, не знал что есть такой способ.
Цитата: Сапожник от 03 марта 2013, 00:35:54Update: Не, не пойдет... В ссылке присутсвует id пользователя
Жаль, буду ждать другие варианты (

Сапожник

Если для розыгрыша, вставь туда скрипт открытия окна "Вы удалили Админа" :) id тут не нужен :)
Я хостюсь на Хвостинге :) 10 Гб (15 сайтов) ~ 30$/год
Рефка: http://hvosting.ua/

karavan

Да нет, нужно чтобы удаляло по-настоящему.

Сапожник

#6
в файле display.template находишь строчку // Don't show an icon if they haven't specified a website.
if ($message['member']['website']['url'] != '' && !isset($context['disabled_fields']['website']))
echo '
<li><a href="', $message['member']['website']['url'], '" title="' . $message['member']['website']['title'] . '" target="_blank" class="new_win">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/www_sm.gif" alt="' . $message['member']['website']['title'] . '" />' : $txt['www']), '</a></li>';

после нее (или перед ней) вставляешь:if ($context['user']['is_admin'])
echo ' <li><a href="' . $scripturl . '?action=profile;area=deleteaccount;u='. $message['member']['id']. '"><img src="', $settings['images_url'], '/warn.gif" alt="', $txt['issue_warning_post'], '" title="Delete" /></a></li>';

Видит только админ

Ps Код исправлен 03-03-2013
Я хостюсь на Хвостинге :) 10 Гб (15 сайтов) ~ 30$/год
Рефка: http://hvosting.ua/

karavan

Сапожник спасибо, сейчас буду пробовать. А как сделать чтоб всем было видно, а не только админу?

Сапожник

#8
заменить  if ($context['user']['is_admin'])
на
if (!$user_info['is_guest'])
Все, кроме гостей, будут видеть.
Я хостюсь на Хвостинге :) 10 Гб (15 сайтов) ~ 30$/год
Рефка: http://hvosting.ua/

karavan

Спасибо, попробую завтра (жена спать заганяет уже :) ) о результате отпишусь.

Сапожник

Цитата: karavan от 03 марта 2013, 01:37:51жена спать заганяет уже :) ) о результате отпишусь.
О результате с кнопкой или с женой? :D

Ps Я проверял у себя,  так что должно работать ;)
Я хостюсь на Хвостинге :) 10 Гб (15 сайтов) ~ 30$/год
Рефка: http://hvosting.ua/

karavan

 :) хорошо, еще раз спасибо. Я просто на 1 апреля хочу всем дать модераторские права (давать предупреждения и удалять друг-друга). А вечером естественно откачу БД на исходные позиции, или подключу на 1 день клон форума и базы, подумаю ещё о этих нюансах но идея в целом уже готова >:D

Сапожник

А модерам можно дать права, чтоб удаляли пользователей разве?
Чтоб не получилось так, что кнопка есть, а воспользоваться нельзя.

Ps.
Я проапдейтил свое предыдущее сообщение: как дать доступ всем - гостям он не нужен.
Я хостюсь на Хвостинге :) 10 Гб (15 сайтов) ~ 30$/год
Рефка: http://hvosting.ua/

karavan

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

GeorG

Цитата: karavan от 03 марта 2013, 01:45:02Я просто на 1 апреля хочу всем дать модераторские права (давать предупреждения и удалять друг-друга).
Вот вас самого первого и удалят ;D

Дадите админские права, вам ещё и шелл зальют...
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

karavan

Цитата: GeorG от 03 марта 2013, 07:17:00Вот вас самого первого и удалят ;D
;D вполне возможно, но на то оно и 1 апреля ;D
А по шеллу, я только дам права делать предупреждения и удалять пользователей, полные права естественно давать не буду.

karavan

Сапожник вы уверены что всё точно правильно? Добавил блок

if (!$user_info['is_guest'])
echo ' <li><a href="' . $scripturl . '?action=profile;area=deleteaccount;u='. $context['user']['id']. '"><img src="', $settings['images_url'], '/warn.gif" alt="', $txt['issue_warning_post'], '" title="Delete" /></a></li>';


Кнопка действительно появилась, но при нажатии на неё, предлагается удалить мою (собственную) учетную запись:
ЦитироватьВы уверены, что хотите удалить свою учетную запись?
У вас тоже так, или это я что-то не так сделал? :-[

GeorG

$context['user']['id'] замените на - $message['member']['id']
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Сапожник

Цитата: karavan от 03 марта 2013, 19:44:28Кнопка действительно появилась, но при нажатии на неё, предлагается удалить мою (собственную) учетную запись:
Это было продолжение первоапрельской шутки :D
Каждый, решивший нажать кнопку, сам себя удалял :)

Ps. Стормозил, т.е. ошибся :)
Georg, спасибо за исправление.
Я хостюсь на Хвостинге :) 10 Гб (15 сайтов) ~ 30$/год
Рефка: http://hvosting.ua/

karavan

Сапожник, GeorG спасибо, благодаря вашим советам всё отлично получилось

Попробую систематизировать информацию, собранную в этой теме благодаря Сапожнику и GeorGу, её можно использовать как для розыгрыша на 1 апреля, так и для вполне серьёзных целей. Во всех 3-х вариантах нужно редактировать файл \forum\Themes\default\Display.template.php а именно после блока

// Don't show an icon if they haven't specified a website.
if ($message['member']['website']['url'] != '' && !isset($context['disabled_fields']['website']))
echo '
<li><a href="', $message['member']['website']['url'], '" title="' . $message['member']['website']['title'] . '" target="_blank" class="new_win">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/www_sm.gif" alt="' . $message['member']['website']['title'] . '" />' : $txt['www']), '</a></li>';

(у меня это строки № 409-412 в Notepad++) вставить один из предложенных вариантов, а именно:

Вариант 1, кнопка "Удалить пользователя", видимая только для админа:

// Knopka udalit polzovatela pod avatarom.
if ($context['user']['is_admin'])
                    echo ' <li><a href="' . $scripturl . '?action=profile;area=deleteaccount;u='. $message['member']['id']. '"><img src="', $settings['images_url'], '/warn.gif" alt="', $txt['issue_warning_post'], '" title="Delete" /></a></li>';


Вариант 2, кнопка "Удалить пользователя", видимая для всех, кроме гостей:


// Knopka udalit polzovatela pod avatarom.
if (!$user_info['is_guest'])
                    echo ' <li><a href="' . $scripturl . '?action=profile;area=deleteaccount;u='. $message['member']['id']. '"><img src="', $settings['images_url'], '/warn.gif" alt="', $txt['issue_warning_post'], '" title="Udalit gada" /></a></li>';


Вариант 3, кнопка "Удалить" с помощью которой пользователь желая удалить кого-то удалит самого себя :) актуально на 1 апреля, правда желательно ещё поправить языковые файлы, чтобы он этого не понял из появившегося предупреждения "Вы уверены, что хотите удалить свою учетную запись?" >:D


// Knopka udalit polzovatela pod avatarom.
    if (!$user_info['is_guest'])
    echo ' <li><a href="' . $scripturl . '?action=profile;area=deleteaccount;u='. $context['user']['id']. '"><img src="', $settings['images_url'], '/warn.gif" alt="', $txt['issue_warning_post'], '" title="Delete" /></a></li>';


Также можно заменить кнопку warn.gif на любую другую, например череп с костями или что-то подобное, но это уже дело вашего творчества. Удачи!