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

Автор темы: jikaka
ID темы: 871
Информация:
Тема содержит 10 сообщения, была просмотрена 5568 раз.
Просмотр темы
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.022 секунд, используя 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:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
SharkBoss - партнёрская программа для монетизации ЛЮБЫХ видов трафика (включая спам).  →  Реклама на портале 0 / 692 04.04.2024 10:39
Proxy5 - Отличные IPv4 прокси для любых задач (Бесплатный тест)  →  Платные услуги 0 / 1594 31.10.2023 09:47
Где взять список районов по областям для разных стран?  →  Пожелания и предложения 0 / 1577 10.08.2023 12:44
От какой CMS лучше переделывать плагины сервисов оплаты, доставки, 1С для PHP-Fusion-7?  →  Пожелания и предложения 2 / 1820 08.08.2023 08:59
Посоветуйте плагины для назначения прав админов и групп пользователей  →  Пожелания и предложения 0 / 3202 06.06.2022 11:52
Первый пост темы в панели на главной  →  Моды 5 / 2303 22.05.2022 12:06
Бот для поиска чужих файлов на Dropmefiles.com  →  Реклама на портале 1 / 990 11.03.2022 05:28
Zinsta - Программа для раскрутки и продвижения instagram  →  Флуд 12 / 7152 15.01.2022 10:47
Версия для слабовидящих Button visually impaired  →  Javascript, ajax, jquery 1 / 1992 04.01.2022 10:44
ЧПУ Дополнительных страниц для PHP-Fusion 8  →  Разное 8 / 6449 26.10.2020 18:42
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)