andaril 4 03/17/08 20:04 К сожалению нет! (я только учусь, и в данном случае нужна ваша помощь)давайте так, я напишу, какой код нужен. Но 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 стиля.я не проверял, попробуйте. Если будет ошибка - скажите какая, и что вы пишите там. Поделиться сообщением Ссылка на сообщение
ProgmanX 0 03/18/08 20:54 (изменено) Вопрос:1. Что такое ID Стиля?2. Что такое ID Пользователя?(чучуть подробнее, куда что вписать) Изменено 18 марта 2008 пользователем ProgmanX Поделиться сообщением Ссылка на сообщение
andaril 4 03/19/08 12:58 Админцентр -> Прочее -> Управление 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 Поделиться сообщением Ссылка на сообщение
ProgmanX 0 03/20/08 02:26 Что то не работает!!! (есть ли ошибки???) 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; } } } } } } Поделиться сообщением Ссылка на сообщение
andaril 4 03/20/08 09:35 я не проверял, попробуйте. Если будет ошибка - скажите какая, и что вы пишите там.по словам не работает, мне надо телепатически узнать, что именно не работает?--написано правильно.Можете заменить код 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 стиль "по-умолчанию"!!! старайтесь не употреблять восклицательные знаки. Не думаю, что это кому-то нравится. Поделиться сообщением Ссылка на сообщение
ProgmanX 0 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; } } } } }Каковы могут быть еще советы? Изменено 20 марта 2008 пользователем ProgmanX Поделиться сообщением Ссылка на сообщение
andaril 4 03/21/08 11:26 (изменено) ладно!!! вечером проверю, что не так!!! подождите!!! added: :) :) :) Изменено 21 марта 2008 пользователем SomehaiN Поделиться сообщением Ссылка на сообщение
andaril 4 03/21/08 21:23 ну вот и вечер наступил!!! Проверил!!! Как ни странно, но все работает!!! Я сделал в точности что вы просили!Стиль по умолчанию для группы/групп!Если юзер выбрал другой стиль, то сие не будет отрабатываться! А если хотите, чтобы у пользователя не было права выбора своего стиля, и скрипт не смотрел на его выбор, надо делать так../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: да, мне тоже смешно... но порой бесит. Поделиться сообщением Ссылка на сообщение
ProgmanX 0 03/22/08 00:19 - еще одна мелочь!Я запутался, где выставляется стиль для всех юзеров по умолчанию??? Поделиться сообщением Ссылка на сообщение
ProgmanX 0 03/23/08 01:54 При включении разрешения выбора стиля пользователями!У меня заработала последняя версия кода (та что мол не реагирует на выбор стиля пользователем, что является далеко не так)Я в общем добился с помощью andaril результата но не 100%Еще мне нужно чтоб никто не мог сменить себе стиль!!!Причем не выключением данной функции в админцентре! (иначе не будет работать код)Каковы еще возможны решения???Другой код или отключение выбора??? Поделиться сообщением Ссылка на сообщение
Sannis 2 03/23/08 08:42 Мдя. Вас же спрашивали выше. Вы сказали, что жёстко задавать стиль не нужно, только чтобы по умолчанию был тот, который вы определите для группы. Вы внимательно читаете вопросы? И после этого хотите, чтобы немедленно вам давали ответ? Или вы просто не в состоянии сформулировать ваше требования? :) Уберите из кода вашего:AND $this->vars['allow_skins'] == 1 Поделиться сообщением Ссылка на сообщение
ProgmanX 0 03/24/08 01:44 Я извиняюсь за не предусмотрительность!Сразу не подумал что это тоже нужно!!!AND $this->vars['allow_skins'] == 1К сожалению удаления этого фрагмента кода ничего не дало!Пользователи по прежнему могут менять стиль и он меняется! Поделиться сообщением Ссылка на сообщение