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

[2.1.x]Редактор иконок форума


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

  • 2 недели спустя...
  • Ответы 133
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Ты по ходу пропустил какойто пункт в редактирование в админке.

Да, действительно пропустил извеняй.

Мод классный, спасибо.

 

 

Тоже огромное спасибо! Всё без проблем прошло! Только вот вопрос... Где б иконок накачать, а то я в графике 0? :D

Можешь у меня с http://fsmpt.jino-net.ru/forum/ скопировать, я часть иконок нашёл, а недостающие сам нарисовал ;)

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

  • 1 месяц спустя...
качается какаето фигня.....хтмл страница внутри которой непонятный набор символов

Который начинается на RAR! :-D

 

Вообще-то качаетя WinRAR архив.

 

2Автор, класть в архив Thumbs.db - вовсе не обязательно -)

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

Кода меняю иконку для раздела, то отображается вместо неё красный крестик. Иконка формата gif размером 40х40 или 60х60. В названии файла только латинские буквы. Не пойму что это такое... :D С иконками, котрые приложены к моду всё впорядке...

 

А, всё, разобрался!

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

Почему-то не всегда виден список иконок при выборе! Мало того, когда я конвертирую файл gif в jpeg чтобы было больше возможностей для редактирования в Фотошопе, а потом опять перекодирываю в gif, то иконка, которая раньше была видна в списке, пропадает!!! Почему так может быть?????? :D
Ссылка на комментарий
Поделиться на других сайтах

А эти иконки показывают отсутствие и наличие новых сообщений в разделе?

Как сделать что бы ставилась бледная иконка когда новых сообщений в разделе нет?

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

Лорд Император, создаешь копию нормальной картинки, делаешь её бледной, добавляешь к названию "_off" и закидываешь в ту папку, где все картинки (/forumicons/)...

 

Народ!!! Что нужно где испраить, чтобы у меня когда и новые сообщение и старые если были, чтобы всё равно одна и та же картинка отображалась? В ощем, мне не нужно чтобы когда новых тем в разделе нет иконка заменялась на бледную... Жду ответа..

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

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

  • 2 недели спустя...
Поддерживаю вопрос, который задаёт siemens, будет ли такой мод для версии 2.2.0 или этот может нормально работать на новой версии форума?
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

С изменением иконки она становится ненажимаемой (если я вдруг захотел отметить кликом мыши форум прочитанным). Можно этот момент сделать?

А так - мод действительно классный. :D

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

Для 2.2 сделаю, как только появится стабильная русская версия.

 

Для 2.1 (почти полная переработка оригинального мода):

 

- Путь к иконкам изменен с ./html/forumicons на просто ./forumicons

- На редиректы теперь тоже можно ставить иконки

- Иконки стали кликабельны и выполняют свою обычную функцию

- Иконки можно глобально включать/выключать для каждого скина в отдельности через опции скина. Если они выключены, то для данного скина будут использоваться стандартные (удобно, например, когда светлый скин и светлые иконки, а на темных они - пакость).

- Список иконок в каталоге теперь сортируется по имени.

 

Если вдруг что-то неправильно заработало - пишите, потому что я эту модификацию собирал постфактум, по кусочкам от того, что сделано. Мог что-то и забыть.

 

Демо - <a href="http://forum.net13.info" target="_blank">http://forum.net13.info</a>

 

+---------------------------------------------------------------------
|   Invision Power Board v2.1.x
|  =================================================================
|   http://www.invisionpower.com
|   http://www.ibresource.ru
|  =================================================================
+---------------------------------------------------------------------
|
|   > Forum Icons PLUS
|   > by Alex/AT, based on gtasa "Forum Icons" mod
|
|   > Version: 1.0
|   > Date: 11.01.2007
|   > Last Update: 11.01.2007
|
+---------------------------------------------------------------------
|
|   > Version 1.0
|   > - Initial release
|   > - Made images clickable (with the original function of marking
|   >   forums as read, a bit hacky but works)
|   > - Made custom images work on redirects, too
|   > - Added possibility to enable/disable custom icons per skin
|   > - Icon list is sorted by name
|
|   > *** gtasa Forum Icons
|   > - Original mod
|
+---------------------------------------------------------------------
|
|   > This mod allows to assign custom icons (instead of standard IPB
|   > ones) to the forums. It does also allow to enable/disable
|   > custom icons per skin set (good for skins which make custom
|   > icons behave badly :).
|
|   > Place custom icons (.GIF) files into the ./forumicons folder
|   > which you must create in the root folder of IPB. The images
|   > must be named <icon>.gif and <icon_off>.gif, the first is for
|   > forums with new messages, the second is for forums without new
|   > messages.
|
|   > Before testing, don't forget to enable custom icons in the
|   > skin manager (using skin options).
|
+---------------------------------------------------------------------
|
|   > Author is not responsible for any consequences of using this
|   > forum modification, including those caused by this module
|   > Use at your own risk
|
+---------------------------------------------------------------------

######################################################################
Execute the following SQL queries on the database
======================================================================
ALTER TABLE `ibf_forums` ADD `icon` text NOT NULL;
ALTER TABLE `ibf_skin_sets` ADD `set_use_fimgs` tinyint(1) DEFAULT '1';
======================================================================

######################################################################
Create ./forumicons folder in the IPB root
======================================================================

######################################################################
./sources/classes/class_forums.php
======================================================================
FIND
----------------------------------------------------------------------
	if ( $forum_data['img_new_post'] == '<{C_ON}>' )
	{
		$forum_data['img_new_post'] = $this->ipsclass->compiled_templates['skin_boards']->forum_img_with_link($forum_data['img_new_post'], $forum_data['id']);
	}
	else if ( $forum_data['img_new_post'] == '<{C_ON_CAT}>' )
	{
		$forum_data['img_new_post'] = $this->ipsclass->compiled_templates['skin_boards']->subforum_img_with_link($forum_data['img_new_post'], $forum_data['id']);
	}
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
	# [B] Forum icons (Alex/AT)
	else if ( substr($forum_data['img_new_post'], 0, 12) == '<img tag="" ' )
	{
		$forum_data['img_new_post'] = '<img '.substr($forum_data['img_new_post'], 12);
		$forum_data['img_new_post'] = $this->ipsclass->compiled_templates['skin_boards']->forum_img_with_link($forum_data['img_new_post'], $forum_data['id']);
	}
	else if ( substr($forum_data['img_new_post'], 0, 16) == '<img tag="_CAT" ' )
	{
		$forum_data['img_new_post'] = '<img '.substr($forum_data['img_new_post'], 16);
		$forum_data['img_new_post'] = $this->ipsclass->compiled_templates['skin_boards']->subforum_img_with_link($forum_data['img_new_post'], $forum_data['id']);
	}
	# [E] Forum icons (Alex/AT)
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
return ( $forum_data['last_post'] && $forum_data['last_post'] > $rtime ) ? "<{C_ON".$sub_cat_img."}>" : "<{C_OFF".$sub_cat_img."}>";
----------------------------------------------------------------------
REPLACE WITH
----------------------------------------------------------------------
# [B] Forum icons (Alex/AT)
if ($this->ipsclass->skin['_fimgs'] AND $forum_data['icon']){
	return ( $forum_data['last_post'] && $forum_data['last_post'] > $rtime ) ? ( "<img tag=\"".$sub_cat_img."\" src=\"".$this->ipsclass->vars['board_url']."/forumicons/".$forum_data['icon'].".gif\">" )
	: "<img src=\"".$this->ipsclass->vars['board_url']."/forumicons/".$forum_data['icon']."_off.gif\">";
}else{
		return ( $forum_data['last_post'] && $forum_data['last_post'] > $rtime ) ? "<{C_ON".$sub_cat_img."}>" : "<{C_OFF".$sub_cat_img."}>";
}
# [E] Forum icons (Alex/AT)
======================================================================

######################################################################
./sources/action_admin/forums.php
======================================================================
FIND
----------------------------------------------------------------------
	$form['parent_id']	= $this->ipsclass->adskin->form_dropdown("parent_id"   , $forumlist, $_POST['parent_id'] ? $_POST['parent_id']	: $forum['parent_id'] );
	$form['status']	   = $this->ipsclass->adskin->form_dropdown("status"	  , $dd_state , $_POST['status']	? $_POST['status']	   : $forum['status'] );
	$form['sub_can_post'] = $this->ipsclass->adskin->form_yes_no(  'sub_can_post', $_POST['sub_can_post']		  ? $_POST['sub_can_post'] : $forum['sub_can_post'] );
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
	# [B] Forum icons (Alex/AT)
	$dh = opendir( ROOT_PATH.'forumicons' );
	$icons = array();
	$icons[] = array("", "Default Icons");
	while ($icon = readdir($dh)) {
		if((preg_match("/(.gif)/",$icon) || preg_match("/(.jpg)/",$icon) || preg_match("/(.jpeg)/",$icon) || preg_match("/(.png)/",$icon)) && !preg_match("/(_off)/",$icon)) {
			if($icon != '.' || $icon != '..') {
			$iconname = str_replace(".gif","",$icon);
			$icons[] = array($iconname, $iconname);
			}
		}
	}
	closedir($dh);

	sort($icons);

	$form['icon'] = $this->ipsclass->adskin->form_dropdown( "icon", $icons, $_POST['icon'] ? $_POST['icon'] : $forum['icon'] );
	# [E] Forum icons (Alex/AT)
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
	$save = array (  'name'					=> $this->ipsclass->input['name'],
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
					# [B] Forum icons (Alex/AT)
					 'icon'					=> $this->ipsclass->input['icon'],
					# [E] Forum icons (Alex/AT)
======================================================================

######################################################################
./skin_acp/IPB2_Standard/acp_skin_html/cp_skin_forums.php
======================================================================
FIND
----------------------------------------------------------------------
	<tr>
  		<td width='40%' class='tablerow1'><strong>Описание</strong><div class='desctext'>HTML разрешен.<br />Переносы строк автоматически заменяются на <br>.</div></td>

  		<td width='60%' class='tablerow2'>{$form['description']}</td>
	</tr>
----------------------------------------------------------------------
ABOVE, ADD
----------------------------------------------------------------------
<!-- [B] Forum icons (Alex/AT) -->
<tr>
  		<td width='40%' class='tablerow1'><strong>Иконка</strong></td>
  		<td width='60%' class='tablerow2'>{$form['icon']}</td>
	</tr>
<!-- [E] Forum icons (Alex/AT) -->
======================================================================

######################################################################
./sources/action_admin/skin_sets.php
======================================================================
FIND
----------------------------------------------------------------------
	$new['set_name']		  = $this->ipsclass->input['set_name'];
	$new['set_image_dir']	 = $this_set['set_image_dir'];
	$new['set_hidden']		= $this->ipsclass->input['hidden'];
	$new['set_default']	   = 0;
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
	# [B] Forum icons (Alex/AT)
	$new['set_use_fimgs']	  = $this->ipsclass->input['set_use_fimgs'];
	# [E] Forum icons (Alex/AT)
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
					 'set_css_method'	  => $this->ipsclass->input['set_css_method'],
					 'set_hidden'		  => $this->ipsclass->input['set_hidden'],
					 'set_image_dir'	   => $this->ipsclass->input['set_image_dir'],
					 'set_author_email'	=> $this->ipsclass->input['set_author_email'],
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
					# [B] Forum icons (Alex/AT)
					 'set_use_fimgs'	   => $this->ipsclass->input['set_use_fimgs'],
					# [E] Forum icons (Alex/AT)
----------------------------------------------------------------------
FIND
----------------------------------------------------------------------
						   <td width='60%' class='tdrow1'>style_emoticons/ ".$this->ipsclass->adskin->form_dropdown('set_emoticon_folder', $emodirs, $row['set_emoticon_folder'])."</td>
						 </tr>
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
						<!-- [B] Forum icons (Alex/AT) -->
						 <tr>
						   <td width='40%' class='tdrow1'>Использовать нестандартные иконки для форумов?</td>
						   <td width='60%' class='tdrow1'>".$this->ipsclass->adskin->form_yes_no('set_use_fimgs', $row['set_use_fimgs'])."</td>
						 </tr>
						<!-- [E] Forum icons (Alex/AT) -->
======================================================================

######################################################################
./sources/ipsclass.php
======================================================================
FIND
----------------------------------------------------------------------
	$this->skin['_css']		 = $db_skin['set_cache_css'];
	$this->skin['_wrapper']	 = $db_skin['set_cache_wrapper'];
	$this->skin['_macro']	   = $db_skin['set_cache_macro'];
	$this->skin['_imagedir']	= $db_skin['set_image_dir'];
	$this->skin['_emodir']	  = $db_skin['set_emoticon_folder'];
	$this->skin['_setid']	   = $db_skin['set_skin_set_id'];
----------------------------------------------------------------------
BELOW, ADD
----------------------------------------------------------------------
	# [B] Forum icons (Alex/AT)
	$this->skin['_fimgs']	   = $db_skin['set_use_fimgs'] ? 1 : 0;
	# [E] Forum icons (Alex/AT)
======================================================================

######################################################################
./sources/action_public/boards.php
======================================================================
FIND (2 times)
----------------------------------------------------------------------
			//-----------------------------------------
			// Get all subforum stats
			// and calculate
			//-----------------------------------------

			if ( $this->ipsclass->vars['forum_cache_minimum'] )
			{
				$forum_data['description'] = "<!--DESCRIPTION:{$forum_data['id']}-->";
				$need_desc[] = $forum_data['id'];
			}

			if ( $forum_data['redirect_on'] )
			{
				$temp_html .= $this->ipsclass->compiled_templates['skin_boards']->forum_redirect_row( $forum_data );
			}
			else
			{
				$temp_html .= $this->ipsclass->compiled_templates['skin_boards']->ForumRow( $this->ipsclass->forums->forums_format_lastinfo( $this->ipsclass->forums->forums_calc_children( $forum_data['id'], $forum_data ) ) );
			}
----------------------------------------------------------------------
REPLACE (2 times) WITH
----------------------------------------------------------------------
			//-----------------------------------------
			// Get all subforum stats
			// and calculate
			//-----------------------------------------

			if ( $this->ipsclass->vars['forum_cache_minimum'] )
			{
				$forum_data['description'] = "<!--DESCRIPTION:{$forum_data['id']}-->";
				$need_desc[] = $forum_data['id'];
			}

			# [B] Forum icons (Alex/AT)
			if ( $forum_data['redirect_on'] )
			{
				# Alex/AT Mod - redirect can have images, too
				if ($this->ipsclass->skin['_fimgs'] AND ($forum_data['icon'])) {
					$temp_html_redir = $this->ipsclass->compiled_templates['skin_boards']->forum_redirect_row( $forum_data );
					$temp_html .= strtr($temp_html_redir, array('<{BR_REDIRECT}>' => "<img src=\"".$this->ipsclass->vars['board_url']."/forumicons/".$forum_data['icon'].".gif\">"));
				} else {
					$temp_html .= $this->ipsclass->compiled_templates['skin_boards']->forum_redirect_row( $forum_data );
				}
			}
			else
			{
				$temp_html .= $this->ipsclass->compiled_templates['skin_boards']->ForumRow( $this->ipsclass->forums->forums_format_lastinfo( $this->ipsclass->forums->forums_calc_children( $forum_data['id'], $forum_data ) ) );
			}
			# [E] Forum icons (Alex/AT)
======================================================================

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

поставил, иконки выбирать в админке можна, а нафоруме чего неменяються (2.1.6)

Для 2.2 сделаю, как только появится стабильная русская версия.

 

Для 2.1 (почти полная переработка оригинального мода):

 

- Путь к иконкам изменен с ./html/forumicons на просто ./forumicons

- На редиректы теперь тоже можно ставить иконки

- Иконки стали кликабельны и выполняют свою обычную функцию

- Иконки можно глобально включать/выключать для каждого скина в отдельности через опции скина. Если они выключены, то для данного скина будут использоваться стандартные (удобно, например, когда светлый скин и светлые иконки, а на темных они - пакость).

- Список иконок в каталоге теперь сортируется по имени.

 

Если вдруг что-то неправильно заработало - пишите, потому что я эту модификацию собирал постфактум, по кусочкам от того, что сделано. Мог что-то и забыть.

 

Демо - <a href="http://forum.net13.info" target="_blank">http://forum.net13.info</a>

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

То же самое что и у screamers - как решить проблему

 

...

 

Теперь все заработало!! На версии 2.1.7

Если сделать все как писал Alex/AT (респект) - то все работает отлично - не забывайте менять в настройках стиля поле "Использовать нестандартные иконки для форумов?"

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

Alex/AT, там исправлена ошибка с тем, что некотрые gif-изображения, загружаемые в forumicons в списке админки видны, а некоторые нет?
Ссылка на комментарий
Поделиться на других сайтах


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

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

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