Перейти к контенту

[2.1.x]Member_Group_Color_in_Forum_View


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

Название: Member_Group_Color_in_Forum_View

Добавил: GLeNN

Добавлен: 20 Мар 2006

Обновлен: 20 Мар 2006

Категория: IP.Board 2.1.x

 

При присмотре списка тем, ник автора темы будет цвета его группы

 

Нажмите здесь, чтобы скачать файл

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

Вообще-то в правилах написано "Напомним, что сюда не принимаются модификации с Invisionize (кроме русификаций после соответствующего разрешения от настоящего автора)!"

 

http://mods.invisionize.com/db/index.php/f/6248

 

:D

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

У мода есть недостаток - вчера юзеру фиксил, незнаю как в последней версии, но у него был.

 

При просмотре форума в котором нет ни одного сообщения выскакивала ошибка SQL-запроса, там была неаккуратно использовано конструкция WHERE IN(), в результате в скобках получалась пустота.

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

А мне нравиться. Первый мод который я поставил. И глюков нету никаких. Вот только недостаток - цвет другой только в ветках. А если подняться на один пункт выше (тоесть на форум или подфорум) то там цаета уже обычные.
Ссылка на комментарий
Поделиться на других сайтах

а можно ли сделать так чтобы в сообщениях тоже группы свом цветом обозначались?

 

это надо просто тоже самое сделать в topics.php?

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

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

 

Читайте следующий мой пост...

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

Вообщем покопалься я в разных модах и скомпанировал следуещее. Можете его если хотите как отдельный мод вывесить так как он далеко переходит границы мода который обсуждаэться в данной теме.

===========================================================
 Member Group Color ВЕЗДЕ + убираем подчёркивание ников
(Собрано by mrMad-Cat)
===========================================================

Редактируемые файлы:
./sources/action_public/forums.php
./sources/action_public/topics.php
./sources/action_public/memberlist.php 
./sources/action_public/profile.php 


1)Редактируем CSS в админпанели. Класс normalname

Находим Код:
*******************************************************************************
.normalname{ 
color: #003;
font-size: 12px; 
font-weight: bold; 
}

.normalname a:link, 
.normalname a:visited, 
.normalname a:active{ 
font-size: 12px;
*******************************************************************************

Вставляем:
*******************************************************************************
text-decoration: none;
*******************************************************************************



2.1) Открыть: ./sources/action_public/forums.php

Найти: [ In function render_forum() ]
*******************************************************************************
	//-----------------------------------------
	// Show meh the topics!
	//-----------------------------------------
*******************************************************************************

Добавить ниже:
*******************************************************************************
	# Member Group Color in Forum View
	if( count($topic_ids) )
	{
		$this->ipsclass->DB->build_query( array(
											'select'   => 't.tid',
											'from'	 => array( 'topics' => 't' ),
											'where'	=> "tid IN(".implode(",", $topic_ids).")",
											'add_join' => array(
											# MEMBER TABLE JOIN
											0 => array( 'select' => 'mg.mgroup as starter_group',
														'from'   => array( 'members' => 'mg' ),
														'where'  => 'mg.id=t.starter_id',
														'type'   => 'left' ),
											# MEMBER TABLE JOIN
											1 => array( 'select' => 'pg.mgroup as poster_group',
														'from'   => array( 'members' => 'pg' ),
														'where'  => 'pg.id=t.last_poster_id',
														'type'   => 'left' )
																),
										)		);
		$this->ipsclass->DB->exec_query();

		while( $m = $this->ipsclass->DB->fetch_row() )
		{
			if( is_array($topic_array[ $m['tid'] ]) )
			{
				$topic_array[ $m['tid'] ]['starter_group'] = $m['starter_group'];
				$topic_array[ $m['tid'] ]['poster_group']  = $m['poster_group'];
			}
		}
	}
*******************************************************************************



2.2) Найти: [ In function parse_data( $topic ) ]
*******************************************************************************
	$topic['last_poster'] = $topic['last_poster_id'] ? $this->ipsclass->make_profile_link( $topic['last_poster_name'], $topic['last_poster_id']) : "-".$topic['last_poster_name']."-";

	$topic['starter']	 = $topic['starter_id']	 ? $this->ipsclass->make_profile_link( $topic['starter_name'], $topic['starter_id']) : "-".$topic['starter_name']."-";
*******************************************************************************

Заменить на:
*******************************************************************************
	//$topic['last_poster'] = $topic['last_poster_id'] ? $this->ipsclass->make_profile_link( $topic['last_poster_name'], $topic['last_poster_id']) : "-".$topic['last_poster_name']."-";

	//$topic['starter']	 = $topic['starter_id']	 ? $this->ipsclass->make_profile_link( $topic['starter_name'], $topic['starter_id']) : "-".$topic['starter_name']."-";
	$pgroup = $this->ipsclass->cache['group_cache'][ $topic['poster_group'] ];
	$sgroup = $this->ipsclass->cache['group_cache'][ $topic['starter_group'] ];
	$topic['last_poster'] = $topic['last_poster_id'] ? "<a href='{$this->ipsclass->base_url}showuser={$topic['last_poster_id']}'>{$pgroup['prefix']}{$topic['last_poster_name']}{$pgroup['suffix']}</a>" : "-".$topic['last_poster_name']."-";
	$topic['starter']	 = $topic['starter_id']	 ? "<a href='{$this->ipsclass->base_url}showuser={$topic['starter_id']}'>{$sgroup['prefix']}{$topic['starter_name']}{$sgroup['suffix']}</a>" : "-".$topic['starter_name']."-";
*******************************************************************************



3) Открыть sources/action_public/topics.php

Найти:
*******************************************************************************
					$poster['members_display_name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['members_display_name']}</a>";
*******************************************************************************

Заменить на:
*******************************************************************************
					$poster['members_display_name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$this->ipsclass->cache['group_cache'][ $poster['mgroup'] ]['prefix']}{$poster['members_display_name']}{$ibforums->cache['group_cache'][ $poster['mgroup'] ]['suffix']}</a>";
*******************************************************************************



4) Открыть: sources/action_public/memberlist.php
Найти: (In Function: view_msg)
*******************************************************************************
			//-----------------------------------------
			// Bug fix... name-- breaks formatting
			// xhmlt invalid..
			//-----------------------------------------
*******************************************************************************

Прописать ниже:
*******************************************************************************
			//-----------------------------------------
			// Member Color
			//-----------------------------------------

			$member['members_display_name'] = $this->ipsclass->cache['group_cache'][$member['mgroup']]['prefix'].$member['members_display_name'].$this->ipsclass->cache['group_cache'][$member['mgroup']]['suffix'];
*******************************************************************************



5) Открыть: sources/action_public/profile.php

Найти:
*******************************************************************************
	//-----------------------------------------
	// Output
	//-----------------------------------------
*******************************************************************************

Прописать ниже:
*******************************************************************************
//-----------------------------------------
// Member Color
//-----------------------------------------

$info['members_display_name'] = $this->ipsclass->cache['group_cache'][$member['mgroup']]['prefix'].$info['members_display_name'].$this->ipsclass->cache['group_cache'][$member['mgroup']]['suffix'];
*******************************************************************************



УСЁ! :).

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

Это уже не в эту тему... Только вот вопрос зачем? :D Помоему это уже не важно. Тут надо было убирать подчёркивание потому что это негативно отражалось на других моментах. А так это в принцыпе не надо.
Ссылка на комментарий
Поделиться на других сайтах

Нет, потому что мой вариант предусматривает раскраску ников в: темах, ветках, профиле и списке всех форумчан. А твой как я понял только для тем.
Ссылка на комментарий
Поделиться на других сайтах

Ну тот мод это же часть этого... Ты сам посмотри. Ты говоришь что надо убрать из него пункт 2.1 и 2.2 и 4. Правильно. Тоесть оно само и так измениться. Ну возможно. Я проверять не буду так как у меня и так всё прекрасно. Но пункт 1, 3 и 5 всёравно остаються.

 

ЗЫ: Надо сконмпоновать наши моды в одно целое. Получиться мод: форматирование ников в соответствие форматированию их груп во всех частях форума, убирание подчёркивания и кликание на ник с последующим его перемещением в форму ответа. Ты сделаешь или я?

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

  • 4 недели спустя...
Ник меняеться только в ветках... Тоесть на главной разници нету.
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.