Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
ProgmanX

Стили IPB 2.3.1

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

К сожалению нет! (я только учусь, и в данном случае нужна ваша помощь)
давайте так, я напишу, какой код нужен. Но id групп, и id скинов, смотреть сами будете, без моей помощи, по крайней мере.

 

 

открыть

./sources/ipsclass.php
----------------------
найти
----------------------
				else if ( $this->member['skin'] )
				{
					$id	   = $this->member['skin'];
					$skin_set = 1;
				}
----------------------
заменить на
----------------------
				else
				{ 
					if ( $this->member['skin'] )
					{
						$id	   = $this->member['skin'];
						$skin_set = 1;
					}
					else
					{
						$my_skins_array = array (   'ID группы 1' => 'ID стиля для этой группы (1)',
													'ID группы 2' => 'ID стиля для этой группы (2)',
													'ID группы 3' => 'ID стиля для этой группы (3)',
													'и тд' => 'строки копипастить надо, если еще добавить хотите',
												 );
						if(isset($my_skins_array[ $this->member['mgroup'] ]))
						{
							$id	   = $my_skins_array[ $this->member['mgroup'] ];
							$skin_set = 1;
						}
					}
				}

надеюсь аглоритм понятен?

ключ массива - ID группы

значение ключа - ID стиля.

я не проверял, попробуйте. Если будет ошибка - скажите какая, и что вы пишите там.

Поделиться сообщением


Ссылка на сообщение
03/18/08 20:54 (изменено)

Вопрос:

1. Что такое ID Стиля?

2. Что такое ID Пользователя

?

(чучуть подробнее, куда что вписать)

Изменено пользователем ProgmanX

Поделиться сообщением


Ссылка на сообщение

ID = номер.

Поделиться сообщением


Ссылка на сообщение

Админцентр -> Прочее -> Управление SQL -> Инструменты ( ACP -> Admin -> SQL Management ->SQL Toolbox )

внизу введите

select g_id, g_title from ibf_groups

и запишите ID нужных групп. ID - это циферка слева (столбик g_id), название группы - это буковки справа (столбик g_title).

--

select set_skin_set_id, set_name from ibf_skin_sets

и запишите ID нужных вам скинов. ID - это циферка слева (столбик set_skin_set_id), название группы - это буковки справа (столбик set_name).

--

'ID группы 1' => 'ID стиля для этой группы (1)',

что здесь делать ясно?

пишите ID группы, и скин, который будет по-умолчанию у нее.

 

Пример для рут админа

'4' => '2',

группа с ID 4 будет использовать по-умолчанию скин с ID 2

Поделиться сообщением


Ссылка на сообщение

Что то не работает!!! (есть ли ошибки???)

	if ( $skin_set != 1 AND $this->vars['allow_skins'] == 1 )
			{
				if ( $this->input['skinid'] )
				{
					$id		= $this->input['skinid'];
					$skin_set  = 1;
				}
				  else
				{ 
					if ( $this->member['skin'] )
					{
						$id	   = $this->member['skin'];
						$skin_set = 1;
					}
					else
					{
						$my_skins_array = array (   '2' => '16',
													'6' => '16',
													'7' => '16',
													'8' => '16',
													'10' => '16',
												 );
						if(isset($my_skins_array[ $this->member['mgroup'] ]))
						{
							$id	   = $my_skins_array[ $this->member['mgroup'] ];
							$skin_set = 1;
						}
					}
				}
			}
		}
	}

Поделиться сообщением


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

--

написано правильно.

Можете заменить код

						if ( $this->member['skin'] )
					{
						$id	   = $this->member['skin'];
						$skin_set = 1;
					}
					else
					{
						$my_skins_array = array (   '2' => '16',
													'6' => '16',
													'7' => '16',
													'8' => '16',
													'10' => '16',
												 );
						if(isset($my_skins_array[ $this->member['mgroup'] ]))
						{
							$id	   = $my_skins_array[ $this->member['mgroup'] ];
							$skin_set = 1;
						}
					}

на

$my_skins_array = array (   '2' => '16',
													'6' => '16',
													'7' => '16',
													'8' => '16',
													'10' => '16',
												 );
						if(isset($my_skins_array[ $this->member['mgroup'] ]))
						{
							$id	   = $my_skins_array[ $this->member['mgroup'] ];
							$skin_set = 1;
						}

но тогда у юзера пропадет право выбора своего стиля

--

У вас стиль "по-умолчанию" выставлен?!?!

Это не тот, что вы выбираете внизу, а в утилитах для скинов надо проставить для всех юзеров 1 стиль "по-умолчанию"!!!

 

старайтесь не употреблять восклицательные знаки. Не думаю, что это кому-то нравится.

Поделиться сообщением


Ссылка на сообщение
03/20/08 23:45 (изменено)

Один стиль стоит по умолчанию, "не скрыт от пользователей!!! (и в подфорумах)

Я же в коде пытаюсь установить другой стиль для нескольких групп!!!

Он не стоит по умолчанию и не используется в подфорумах, "не скрыт от пользователей"!!!

 

В этом коде (что ниже) он и сам не функционирует но и нельзя авторизоватся на форуме!!!

 if ( $skin_set != 1 AND $this->vars['allow_skins'] == 1 )
			{
				if ( $this->input['skinid'] )
				{
					$id		= $this->input['skinid'];
					$skin_set  = 1;
				}
				  else
				{ 
					if ( $this->member['skin'] )
					{
						$id	   = $this->member['skin'];
						$skin_set = 1;
					}
					else
					{
						$my_skins_array = array (   '2' => '16',
													'6' => '16',
													'7' => '16',
													'8' => '16',
													'10' => '16',
												 );
						if(isset($my_skins_array[ $this->member['mgroup'] ]))
						{
							$id	   = $my_skins_array[ $this->member['mgroup'] ];
							$skin_set = 1;
						}
					}
				}
			}
		}
	}

В этом коде (что ниже) он просто не работает! Стиль как был по умолчанию для всех так и остался!

				//-----------------------------------------
			// Are we allowing user chooseable skins?
			//-----------------------------------------

 if ( $skin_set != 1 AND $this->vars['allow_skins'] == 1 )
			{
				if ( $this->input['skinid'] )
				{
					$id		= $this->input['skinid'];
					$skin_set  = 1;
				}
				  else
				{ 
				  $my_skins_array = array (   '2' => '16',
													'6' => '16',
													'7' => '16',
													'8' => '16',
													'10' => '16',
												 );
						if(isset($my_skins_array[ $this->member['mgroup'] ]))
						{
							$id	   = $my_skins_array[ $this->member['mgroup'] ];
							$skin_set = 1;
						}
				}
			}
		}
	}

Каковы могут быть еще советы?

Изменено пользователем ProgmanX

Поделиться сообщением


Ссылка на сообщение
03/21/08 11:26 (изменено)

ладно!!! вечером проверю, что не так!!! подождите!!!

 

 

 

 

added: :) :) :)

Изменено пользователем SomehaiN

Поделиться сообщением


Ссылка на сообщение

Буду ждать...

Поделиться сообщением


Ссылка на сообщение

ну вот и вечер наступил!!!

 

Проверил!!! Как ни странно, но все работает!!! Я сделал в точности что вы просили!

Стиль по умолчанию для группы/групп!
Если юзер выбрал другой стиль, то сие не будет отрабатываться! А если хотите, чтобы у пользователя не было права выбора своего стиля, и скрипт не смотрел на его выбор, надо делать так.
./sources/ipsclass.php
----------------------
найти
----------------------
				else if ( $this->member['skin'] )
				{
					$id	   = $this->member['skin'];
					$skin_set = 1;
				}
----------------------
заменить на
----------------------
	else
				{ 
					$my_skins_array = array (  'ID группы' => 'ID стиля для этой группы',
												 );
					if(isset($my_skins_array[ $this->member['mgroup'] ]))
					{
						$id	   = $my_skins_array[ $this->member['mgroup'] ];
						$skin_set = 1;
					}
				}

Этот вариант, и предыдущий работают!!! Проверял!

 

Еще раз повторяю, если хотите чтобы работал первый вариант, сделайте

в утилитах для скинов надо проставить для всех юзеров 1 стиль "по-умолчанию"!!!

 

==

ps: да, мне тоже смешно... но порой бесит.

Поделиться сообщением


Ссылка на сообщение

- еще одна мелочь!

Я запутался, где выставляется стиль для всех юзеров по умолчанию???

Поделиться сообщением


Ссылка на сообщение

:)

ACP - Внешний Вид

Поделиться сообщением


Ссылка на сообщение

При включении разрешения выбора стиля пользователями!

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

Я в общем добился с помощью andaril результата но не 100%

Еще мне нужно чтоб никто не мог сменить себе стиль!!!

Причем не выключением данной функции в админцентре! (иначе не будет работать код)

Каковы еще возможны решения???

Другой код или отключение выбора???

Поделиться сообщением


Ссылка на сообщение

Мдя. Вас же спрашивали выше. Вы сказали, что жёстко задавать стиль не нужно, только чтобы по умолчанию был тот, который вы определите для группы. Вы внимательно читаете вопросы? И после этого хотите, чтобы немедленно вам давали ответ? Или вы просто не в состоянии сформулировать ваше требования? :)

 

Уберите из кода вашего:

AND $this->vars['allow_skins'] == 1

Поделиться сообщением


Ссылка на сообщение

Я извиняюсь за не предусмотрительность!

Сразу не подумал что это тоже нужно!!!

AND $this->vars['allow_skins'] == 1

К сожалению удаления этого фрагмента кода ничего не дало!

Пользователи по прежнему могут менять стиль и он меняется!

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

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