Опубликовано: 16 марта 200817 г Интересует вот такая вещь! Один стиль для всех, а для пользователей отдельный! Как можно реализовать? (IPB 2.3.1)
Опубликовано: 18 марта 200817 г Автор Вопрос:1. Что такое ID Стиля?2. Что такое ID Пользователя?(чучуть подробнее, куда что вписать) Изменено 18 марта 200817 г пользователем ProgmanX
Опубликовано: 19 марта 200817 г Админцентр -> Прочее -> Управление 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
Опубликовано: 20 марта 200817 г Автор Что то не работает!!! (есть ли ошибки???) 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; } } } } } }
Опубликовано: 20 марта 200817 г я не проверял, попробуйте. Если будет ошибка - скажите какая, и что вы пишите там.по словам не работает, мне надо телепатически узнать, что именно не работает?--написано правильно.Можете заменить код 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 стиль "по-умолчанию"!!! старайтесь не употреблять восклицательные знаки. Не думаю, что это кому-то нравится.
Опубликовано: 20 марта 200817 г Автор Один стиль стоит по умолчанию, "не скрыт от пользователей!!! (и в подфорумах)Я же в коде пытаюсь установить другой стиль для нескольких групп!!!Он не стоит по умолчанию и не используется в подфорумах, "не скрыт от пользователей"!!! В этом коде (что ниже) он и сам не функционирует но и нельзя авторизоватся на форуме!!! 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 марта 200817 г пользователем ProgmanX
Опубликовано: 21 марта 200817 г ладно!!! вечером проверю, что не так!!! подождите!!! added: :) :) :) Изменено 21 марта 200817 г пользователем SomehaiN
Опубликовано: 21 марта 200817 г ну вот и вечер наступил!!! Проверил!!! Как ни странно, но все работает!!! Я сделал в точности что вы просили!Стиль по умолчанию для группы/групп!Если юзер выбрал другой стиль, то сие не будет отрабатываться! А если хотите, чтобы у пользователя не было права выбора своего стиля, и скрипт не смотрел на его выбор, надо делать так../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: да, мне тоже смешно... но порой бесит.
Опубликовано: 22 марта 200817 г Автор - еще одна мелочь!Я запутался, где выставляется стиль для всех юзеров по умолчанию???
Опубликовано: 23 марта 200817 г Автор При включении разрешения выбора стиля пользователями!У меня заработала последняя версия кода (та что мол не реагирует на выбор стиля пользователем, что является далеко не так)Я в общем добился с помощью andaril результата но не 100%Еще мне нужно чтоб никто не мог сменить себе стиль!!!Причем не выключением данной функции в админцентре! (иначе не будет работать код)Каковы еще возможны решения???Другой код или отключение выбора???
Опубликовано: 23 марта 200817 г Мдя. Вас же спрашивали выше. Вы сказали, что жёстко задавать стиль не нужно, только чтобы по умолчанию был тот, который вы определите для группы. Вы внимательно читаете вопросы? И после этого хотите, чтобы немедленно вам давали ответ? Или вы просто не в состоянии сформулировать ваше требования? :) Уберите из кода вашего:AND $this->vars['allow_skins'] == 1
Опубликовано: 24 марта 200817 г Автор Я извиняюсь за не предусмотрительность!Сразу не подумал что это тоже нужно!!!AND $this->vars['allow_skins'] == 1К сожалению удаления этого фрагмента кода ничего не дало!Пользователи по прежнему могут менять стиль и он меняется!
Интересует вот такая вещь!
Один стиль для всех, а для пользователей отдельный! Как можно реализовать? (IPB 2.3.1)