Забыли пароль?
Запросите новый здесь.

Автор темы: jikaka
ID темы: 871
Информация:
Тема содержит 10 сообщения, была просмотрена 4439 раз.
Просмотр темы
PHP-Fusion Russia » Расширения » Хаки/скрипты
 Распечатать тему
Быстрая смена темы для пользователей - панель
jikaka
Быстрая смена темы для пользователей - панель

Описание:
Боковая панель, которая позволяет быстрое переключение тем пользователями.

Установка:
Переходим:
Панель администратора -> Администрирование системы -> Панели

Создаем новую панель с такими характеристиками:
Содержание панели:
Скачать исходники  Код
openside("name");
  echo "content";
closeside();



заменяем на:
Скачать исходники  Код
openside("Смена темы");
if (iMEMBER && ($settings['userthemes'] == 1 || iADMIN)) {
   $theme_files = makefilelist(THEMES, '.|..|templates', true, 'folders');
   array_unshift($theme_files, 'Default');
 
   if(isset($_POST['uip_utheme'])&&in_array($_POST['uip_utheme'], $theme_files)){
      $result = dbquery("UPDATE ".DB_USERS." SET user_theme='{$_POST['uip_utheme']}' WHERE user_id='{$userdata['user_id']}' LIMIT 1");
      redirect(FUSION_REQUEST);
   }
   else {
      $_POST['uip_utheme'] = '';
   }
 
   echo '<form name="uip_ftheme" method="post" action="'.FUSION_REQUEST.'" style="text-align:center;">
   <select name="uip_utheme" class="textbox" style="width:100px;" onChange=\'document.forms["uip_ftheme"].submit();\'>'.makefileopts($theme_files, ($_POST['uip_utheme']?$_POST['uip_utheme']:$userdata['user_theme'])).'</select>
   <noscript><br/><input name="uip_sbtn" class="button" type="submit"></noscript>
   </form>';
}
closeside();


 
Web
Zaxap
А можно это как-нибудь ссылками организовать?
Зло не дремлет, а я добрый...
 
Alipapa
На многих сайтах у меня так сделано, но только не на отдельной панели, а добавлено в user_info_panel
А можно это как-нибудь ссылками организовать?
Можно, если через get, а не через post сделать
 
Web
Zaxap
Alipapa, можно пример кода, что-ли, ну или еще чего?)
Зло не дремлет, а я добрый...
 
Alipapa
Пишу не проверяя, поэтому возможно, что с ошибками, но как-то так:
Скачать исходники  Код
openside("Смена темы");
 if (iMEMBER && ($settings['userthemes'] == 1 || iADMIN)) {
 
    if(isset($_GET['uip_utheme'])){
       $result = dbquery("UPDATE ".DB_USERS." SET user_theme='{$_GET['uip_utheme']}' WHERE user_id='{$userdata['user_id']}' LIMIT 1");
       redirect(FUSION_REQUEST);
    }
 
   $temp = opendir('form');
   while ($folder = readdir($temp)) {
      switch ($folder) {
         case '.':
            break;
         case '..':
            break;
         default:
            echo "<a href='".FUSION_SELF."?uip_utheme=".$folder."'>".$folder."</a> | ";
      }
   }
   closedir($temp);
 }
 closeside();


 
Web
Zaxap
Alipapa, спасибо, суть понял, но что-то оно ругается...не угодила 9, 10 и 20 строчкиad
Зло не дремлет, а я добрый...
 
Alipapa
$temp = opendir('form'); неправильно, надо $temp = opendir('".THEMES."');
еще папку templates надо исключить
Скачать исходники  Код
case 'templates':
break;



Изменил(а) Alipapa, 19.07.2013 20:33
 
Web
Zaxap
:) Спасибо! Все работает! Только надо
Загрузить источник  GeSHi: PHP
  1. $temp = opendir(THEMES);
Добавлено за 0.032 секунд, используя GeSHi 1.0.8.10


И еще "На этой странице обнаружена циклическая переадресация"...
Зло не дремлет, а я добрый...
 
Alipapa
Ну это наверное из-за redirect(FUSION_REQUEST);
Надо заменить FUSION_REQUEST на FUSION_SELF (варианта из 1-го поста это не касается) и цикличного редиректа не будет. Да, здесь, в отличие от первоначального варианта, не всегда после смены темы будет возврат на ту же страницу, т.к. будут отброшены get-параметры. Это можно решить, но думаю, это не критично, чтобы с ним возиться
Изменил(а) Alipapa, 20.07.2013 10:20
x1
 
Web
Zaxap
Спасибо, Alipapa, получилось! Ура! Благодарствую! ab
Зло не дремлет, а я добрый...
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Bogatyr - бесплатный сборник плагинов и модов для PHP-Fusion 7.00 (можно 7.01)  →  Моды 5 / 1283 21.11.2017 17:14
Посоветуйте как можно больше дешёвых хостингов для лендингов  →  Хостинг 3 / 693 30.09.2017 18:44
Видео плагин для php fusion 7.01.xx  →  Плагины 42 / 17993 21.08.2017 19:49
Как правильно загрузить свой шрифт в css для всех браузеров?  →  Темы оформления 7 версии 12 / 5655 04.08.2017 10:06
Подскажите хостинг для форума на vBulletin  →  Хостинг 5 / 3353 01.08.2017 08:23
Фермы для майнинга криптовалюты  →  Реклама на портале 1 / 556 07.07.2017 06:20
С какой CMS легче всего тырить темы для PHP-Fusion?  →  Темы оформления 7 версии 0 / 2583 11.06.2017 10:01
Нужна платная тема для движка v7.02.07  →  Платные услуги 1 / 506 05.06.2017 06:02
Удаление пользователей  →  Вопросы новичков 11 / 4701 30.05.2017 22:22
Для каждой доп страницы свой текст в шапке  →  Народное творчество 8 / 6765 14.04.2017 21:02
Топ 5 пользователей форума
Alex Alex (1,172)   Zaxap Zaxap (1,078)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)