Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > vBulletin 4.x
Расширенный поиск

vBulletin 4.x Все для скрипта форума vBulletin 4.x

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2012, 13:38 Вверх   #1
Грамотный форумчанин
 
Аватар для dmnangel
dmnangel вне форума
Доп. информация
По умолчанию Показ случайных изображений из публичных альбомов. Виджет для форума

Автор : Sulquendi
Версия: 1.2
Демо

Для начало убедимся, что у нас включен боковой слайдер на форуме:

Админка - Настройки - Опции - Настройки боковой панели форума и блоков - Включить боковую панель форума - Да

Далее проходим:
Админка - Разделы и модераторы - Управление блоками форума
В открывшимся окне нажимаем снизу Добавить Блок

Выбрать тип блока - HTML/Php код

Далее:

Заголовок пишем Случайные изображения (или на свое усмотрение)
Время кэширования (в минутах) ставим 0 (для того чтоб при каждой загрузки страницы выводились случайные изображения, ибо они будут выводится через время указанное там)
Тип содержимого - php
Содержимое:
PHP код:
// Показ случайных изображений из публичных альбомов
// Author : Sulquendi
// Version: 1.2

// -- Конфигурации виджета -- 
$use_vB_thumbnail_size     true;
$use_custom_css         false;
$twidth                 180;
$limit                    5;
$albums_list            "";


// -- Nothing to configure below this line --
if ($use_custom_css){
    
$pthumb     'class="pthumb"';
    
$pcaption    'class="pcaption"';
    
$pmore        'class="pmore"';
    
$pstyle        '';
}else{
    
$pthumb     'style="text-align:center;"';
    
$pcaption    'style="text-align:center;font-style:italic;font-family: Times, serif;margin-bottom:10px;"';
    
$pmore        'style="text-align:right;display:block;"';
    
$pstyle        'style="border: 1px solid black;padding:1px;background: white;"';
}
if (
$albums_list!=""$sup_cond "AND alb.albumid IN ($albums_list)"; else $sup_cond ="";
ob_start();
require_once(
DIR '/includes/functions_album.php');
require_once(
DIR '/includes/functions_user.php');
$pic_get vB::$db->query_read("
    SELECT     alb.albumid, att.attachmentid, att.userid, att.caption, att.dateline, att.state, fdt.filesize, IF(fdt.thumbnail_filesize > 0, 1, 0) AS hasthumbnail, fdt.thumbnail_dateline, fdt.thumbnail_width, fdt.thumbnail_height, u.username
    FROM "
.TABLE_PREFIX."album AS alb
    LEFT JOIN "
.TABLE_PREFIX."attachment AS att ON alb.albumid = att.contentid
    LEFT JOIN "
.TABLE_PREFIX."filedata AS fdt ON att.filedataid = fdt.filedataid
    LEFT JOIN "
.TABLE_PREFIX."user AS u ON att.userid = u.userid
    WHERE alb.state = 'public' AND att.contenttypeid = '8' 
$sup_cond
    ORDER BY rand(" 
microtime()*1000 ") 
   LIMIT 
$limit");
  
$output_bits "";
  while(
$pic vB::$db->fetch_array($pic_get))
  {
    
$albuminfo fetch_albuminfo($pic[albumid]);
    
$picture prepare_pictureinfo_thumb($pic$albuminfo);
    if (
$use_vB_thumbnail_size$size $picture[dimensions]; else $size "width=$twidth";
    
$output_bits .= "<div $pthumb><a href=\"album.php?{$vbulletin->session->vars['sessionurl']}albumid={$pic[albumid]}&attachmentid={$picture[attachmentid]}\"><img $pstyle src=\"attachment.php?{$vbulletin->session->vars['sessionurl']}attachmentid={$picture[attachmentid]}&thumb=1&d={$picture[thumbnail_dateline]}\" alt=\"{$picture[caption_preview]}\" $size /></a>";
    
$output_bits .= "</div><div $pcaption>{$picture[caption_preview]} by {$pic[username]}</div>";
  }
$output_bits .= '<span '.$pmore.'><a href="album.php" alt="To the albums">Больше...</a></span>';
$output $output_bits;
ob_end_clean(); 
Использовать шаблон - block_html

Сохраняем, выставляем нумерацию отображение как будет угодно и переходим на сам форум. Обновляем и смотрим

Минус данного виджета, что в нем нет проверки прав пользователей. Т.е. если вы не зарегистрированы, а в параметрах конфиденциальности у пользователя стоит показывать только зарегистрированным, или вообще только друзьям, то на месте изображения будет красоваться пустое поле

Разбор полетов:

// -- Конфигурации виджета -- //
$use_vB_thumbnail_size = true;
$use_custom_css = false;
$twidth = 180;
$limit = 5;
$albums_list = "";
true - включить
false - выключить

$use_vB_thumbnail_size - Использовать параметры миниатюр форума
$use_custom_css - Пользовательская разметка css
$twidth - Ширина миниатюры
$limit - Кол-во показываемых миниатюр
$albums_list - ID альбомов из каких показывать. Если пусто, то из всех

Пользовательская разметка css
$pthumb = 'style="text-align:center;"';
$pcaption = 'style="text-align:center;font-style:italic;font-family: Times, serif;margin-bottom:10px;"';
$pmore = 'style="text-align:right;display:block;"';
$pstyle = 'style="border: 1px solid black;padding:1px;background: white;"';
$pthumb - разметка миниатюры
$pcaption - стиль комментария под миниатюрой
$pmore - кнопка Больше...
$pstyle - стиль изображения

  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:55. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.08210 секунды с 12 запросами