×
HeadHunter and Superjob rezume updater on Ruby on Rails (21 авг 2017)

Практикуемся в написании кода под rails.

Вопрос Вывод онлайн пользователей с аватарами

Больше
6 года 8 мес. назад - 6 года 8 мес. назад #1 от Aleksej
Aleksej создал эту тему: Вывод онлайн пользователей с аватарами
Взято с joomlaforum.ru

Возникла необходимость сделать вывод онлайн пользователей с аватарами из форума и со ссылками на профиль форума.
Существует решение от "Darkick" на форуме (joomlaforum.ru) в разделе "Расширения форумчан", но работает для версий форума 1.5.хх только.

Чтобы работало на kunena 1.6.x:
1. Идем сюда и качаем модуль DWho's Online (модуль "продвинутый" Кто онлайн)

Модуль DWho's Online (mod_dwhosonline) является очень усовершенствованной и расширенной версией стандартного модуля "Сейчас на сайте". Он решает проблему фиксирования большого количества гостей (100-300 гостей), а также обладает многими полезными дополнениями.

Основные особенности модуля:

  1. позволяет задать интервал времени, в течение которого посетители будут считаться находящимися на сайте;
  2. показывает количество зарегистрированных пользователей, гостей и роботов, находящихся на сайте;
  3. определённые группы пользователей и конкретные пользователи могут быть скрыты от показа на сайте и подсчитаны как гости (или не подсчитаны совсем);
  4. может показывать произвольное количество последних зарегистрированных пользователей;
  5. можно показывать произвольное количество случайных пользователей сайта;
  6. выводит общее количество зарегистрированных пользователей (с ссылкой);
  7. показывает аватары пользователей и иконки роботов на сайте (требуется плагин DAvatar);
  8. аватары и имя пользователя являются ссылкой на профиль пользователя;
  9. рядом с именем пользователя можно вывести иконку отправки личного сообщения пользователю (uddeIM или Messaging);
  10. рядом с пользователем можно вывести его группу; разные группы пользователей выделяются разными классами, что позволяет по разному настроить их отображение с помощью стилей в CSS;
  11. содержимое модуля можно прогнать через контент-плагины (например использовать в связке с mavik Thumbnails).


2. Качаем DAvatar content plugin (плагин для аватарок)

Представляю вашему вниманию плагин DAvatar (plg_content_davatar) - плагин для универсальной вставки аватарок.
Плагин может использоваться для вставки аватарок в материалы (стандартным Джумловским способом - {davatar}), но основная цель создания плагина - использование его в различных расширениях для универсального вывода аватарок юзеров. Также, помимо вывода аватарки, плагин может автоматически сгенерировать ссылку на соответствующий профиль пользователя (либо формат ссылки можно задать самому).
Начиная с версии 1.3 может использоваться для автоматической вставки аватарок автора материала.

Поддерживаются аватары из:

  1. Agora forum
  2. AlphaUserPoints
  3. Community Builder
  4. Gravatar
  5. JFusion (всё, к чему цепляется JFusion)
  6. JomSocial
  7. JoomSuite
  8. Kunena forum
  9. Image provider (аватара берётся из файла, имя или формат которого можно задать в параметре src)
  10. Custom provider (позволяет задать произвольный SQL-запрос и сформировать формат адреса аватары)


Устанавливаем и настраиваем.

Некоторая полезная для настройки модуля информация.

Ссылка на профиль форума:
index.php?option=com_kunena&func=profile&userid=$id

Ссылка на список пользователей:
index.php?option=com_kunena&func=userlist&Itemid=100077

В файле plugins/content//davatar.php меняем строчки:
case 'kunena':
			case 'kunena_s':
				$params->set('query',
					'SELECT k.avatar AS avatar_sig, u.id, u.username, u.name, u.email
						FROM #__users u, #__fb_users k
						WHERE u.id = k.userid
							AND u.id LIKE '.$db->Quote('$id').'
							AND u.username LIKE '.$db->Quote('$username').'
							AND u.name LIKE '.$db->Quote('$name').'
							AND u.email LIKE '.$db->Quote('$email')
				);
				$params->set('avatar_url_format', JURI::base().'images/fbfiles/avatars/$avatar_sig');
				if ($params->get('no_avatar_image_url') == '') {
					if ($params->get('provider') == 'kunena') {
						$params->set('no_avatar_image_url', JURI::base().'images/fbfiles/avatars/nophoto.jpg');
					} else {
						$params->set('no_avatar_image_url', JURI::base().'images/fbfiles/avatars/s_nophoto.jpg');
					}
				}
				if ($params->get('no_user_image_url') == '') {
					if ($params->get('provider') == 'kunena') {
						$params->set('no_user_image_url', JURI::base().'images/fbfiles/avatars/nophoto.jpg');
					} else {
						$params->set('no_user_image_url', JURI::base().'images/fbfiles/avatars/s_nophoto.jpg');
					}
				}
				if ($params->get('profilelink_format') == '') {
					$params->set('profilelink_format', 'index.php?option=com_kunena&func=fbprofile&task=showprf&userid=$id'.$itemid);
				}
			break;

на строчки:
case 'kunena':
			case 'kunena_s':
				$params->set('query',
					'SELECT k.avatar AS avatar_sig, u.id, u.username, u.name, u.email
						FROM #__users u, #__kunena_users k
						WHERE u.id = k.userid
							AND u.id LIKE '.$db->Quote('$id').'
							AND u.username LIKE '.$db->Quote('$username').'
							AND u.name LIKE '.$db->Quote('$name').'
							AND u.email LIKE '.$db->Quote('$email')
				);
				$params->set('avatar_url_format', JURI::base().'media/kunena/avatars/$avatar_sig');
				if ($params->get('no_avatar_image_url') == '') {
					if ($params->get('provider') == 'kunena') {
						$params->set('no_avatar_image_url', JURI::base().'media/kunena/avatars/nophoto.jpg');
					} else {
						$params->set('no_avatar_image_url', JURI::base().'media/kunena/avatars/s_nophoto.jpg');
					}
				}
				if ($params->get('no_user_image_url') == '') {
					if ($params->get('provider') == 'kunena') {
						$params->set('no_user_image_url', JURI::base().'media/kunena/avatars/nophoto.jpg');
					} else {
						$params->set('no_user_image_url', JURI::base().'media/kunena/avatars/s_nophoto.jpg');
					}
				}
				if ($params->get('profilelink_format') == '') {
					$params->set('profilelink_format', 'index.php?option=com_kunena&func=profile&userid=$id'.$itemid);
				}
			break;
Вопросы по тонкой настройке модуля и плагина можно задать на страницах разработчиков.

По сути - нужно вставить ссылки на профиль и юзерлист и в плагине выбрать kunena форум... ну и еще ряд мелких настроек.

Приведенное решение является временным, ждем обновления плагина.
Последнее редактирование: 6 года 8 мес. назад от Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.