VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Продолжается увлекательный секс-марафон под названием "Добавим категории в альбомы". Не спрашивайте, как я до этого докатился.
Суть задачи: вывести на главную превью новых изображений в каждой категории. Вот так приблизительно: http://photo-continent.ru/. Это все хорошо и это все работает. Но! Для вывода такого счастья при 30 категориях требуется аж 60 запросов, что не лезет вообще ни в какие рамки.
Было принято решение создать временную таблицу и тогда все должно было стать гут и карашо. Но! В каталоге cron создаю latest.php с весьма даже немудреным кодом, например:
PHP Code:
$delsql = $vbulletin->db->query_write("DELETE FROM " . TABLE_PREFIX . "aa_picture WHERE catid = $i");
if (!delsql){echo "<h1>АПШИПКА</h1>";}
Какие я только запросы не писал - не отрабатываются в принципе. Причем, тот же код, повешенный как модуль форума или модуль CMPS отрабатывает на ура.
В чем может быть причина того, что при запуске скрипта по крону не отрабатывается SQL запрос? А?
а запрос вывода картинок по категориям можно посмотреть?
у нас на главной выводятся темы из нескольких разделов форума (примерно то же самое по структуре)
отображение тем, в блоках по разделам
- Категория
-- Раздел
---- темы
один запрос в БД
@Gostemilov
Специалист
Join Date: Jun 2007
Location: Одинцово Московская область
Награды в конкурсах:
Posts: 610
Версия vB: 3.8.4
Reputation:
Professional 629
Репутация в разделе: 495
0
Гм..... Мне бы еще сообразить как я вообще это сделал.... :( ладно попробую.
за основу взять модуль CMPS "latest album pictures"
На крон я пробую повесить вот что-то вроде этого: (как модуль CMPS оно работает)
PHP Code:
<?php
if($permissions['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canviewmembers']
AND $permissions['albumpermissions'] & $vbulletin->bf_ugp_albumpermissions['canviewalbum']
AND $vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_albums']
)
//Удаляем из временной таблицы старые данные
$delsql = $vbulletin->db->query_write("DELETE FROM " . TABLE_PREFIX . "aa_picture WHERE catid = $i");
if (!delsql){echo "<h1>Ошибка удаления</h1>";}
mysql_free_result($result);
$resimler = $vbulletin->db->query_read_slave("
SELECT user.userid, user.username, user.usergroupid,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid,
albumpicture.dateline, picture.pictureid, picture.userid, picture.extension,
picture.idhash, picture.thumbnail_filesize, picture.title,picture.views,picture.width,picture.height,picture.caption AS caption,
picture.thumbnail_dateline, picture.thumbnail_width, picture.thumbnail_height,picture.filesize,
album.albumid AS albumid, album.title AS albumstitle
FROM " . TABLE_PREFIX . "albumpicture AS albumpicture
INNER JOIN " . TABLE_PREFIX . "picture AS picture ON (albumpicture.pictureid = picture.pictureid)
INNER JOIN " . TABLE_PREFIX . "album AS album ON (albumpicture.albumid = album.albumid)
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = album.userid)
LEFT JOIN " . TABLE_PREFIX . "userlist AS userlist ON(userlist.userid = album.userid AND userlist.relationid = '" . $vbulletin->userinfo['userid'] . "' AND userlist.type = 'buddy')
" . (($getpicturesuser OR $getpicturesstate) ? 'WHERE albumpicture.albumid IN ('.$albumlist.') AND ' . $getpicturesuser . $getpicturesstate : '') . " $neyegore LIMIT 0, " . $mod_options['album_picture_count'] . "
");
Вот это отвечает за формирование вывода 4 последних картинок из альбомов, принадлежащих категории 1.
Только не надо сразу за обрез или бейсбольную биту, я это не выдаю даже за полуфабрикат
Gostemilov добавил 25.06.2013 в 20:00
Quote:
Originally Posted by kerk
а запрос вывода картинок по категориям можно посмотреть?
у нас на главной выводятся темы из нескольких разделов форума (примерно то же самое по структуре)
отображение тем, в блоках по разделам
- Категория
-- Раздел
---- темы
один запрос в БД
Да вот я бьюсь как селедка об топор, но ничего путного в голосу не лезет. Сейчас добью этот вариант - потом постараюсь сделать более человеческий. дело в том, что альбом может находиться в мультикатегориях, хоть в 30 сразу, поэтому тупо добавить 1 поле в picture и указать в нем, что это фото находится в категории такой-то нельзя. Фото принадлежит альбому, стало быть - где альбом - там и все фото внутри него.
Gostemilov добавил 25.06.2013 в 20:04
UPD - а ведь как все невинно начиналось! Просто хотел к фото альбомов помимо описания приделать еще и название (не только caption но еще и title)
Last edited by Gostemilov : 06-25-2013 at 09:04 PM.
Reason: Добавлено сообщение
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,712
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
0
Quote:
Originally Posted by Gostemilov
добавить 1 поле в picture и указать в нем, что это фото находится в категории такой-то нельзя. Фото принадлежит альбому, стало быть - где альбом - там и все фото внутри него.
ну можно же иерархию сделать чуть по другому?
сейчас:
- Альбом
-- Фотки этого альбома
можно сделать:
- Категория
-- Альбомы категории
---- Фотки в альбомах
т.е. добавлять поле не в таблицу пикчей, а в таблицу альбомов
но при такой структуре, нельзя будет добавить один альбом в несколько категорий
@Gostemilov
Специалист
Join Date: Jun 2007
Location: Одинцово Московская область
Награды в конкурсах:
Posts: 610
Версия vB: 3.8.4
Reputation:
Professional 629
Репутация в разделе: 495
0
А хочется-то именно мультикатегории!!! Уж делать так делать! -
Gostemilov добавил 25.06.2013 в 20:18
Я сейчас все-таки добью это дело через SQL а потом еще и переведу это все в массивы, то есть отрабатываться будет вообще минимум запросов, при условии, что обновление последних фото будет проходит не сиюминутно а по крону, раз в час или даже того реже, чай не баре Так почему ж не отрабатывается запрос в кроне, а?
И вообще - разве это плохо?
Last edited by Gostemilov : 06-25-2013 at 09:21 PM.
Reason: Добавлено сообщение
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,712
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
1
Quote:
Originally Posted by Gostemilov
разве это плохо?
да наверное, нет =)
мне предлагали сделать то же самое в файловике
на локалке сделал, но с существующей иерархией категорий, это работало криво ппц
поэтому я вернул все в исходную =)
нужно полностью изменять всю структуру добавления файлов
делать привязку файла к какой то дефолтной (основной) категории и потом, по желанию узера, добавлять его в другие категории
==
модуль для портала, который у нас на главной module Forum Threads (11.0 Кб) (пасс отправил на майл)
посмотри, как составлен запрос в БД из нескольких категорий, может переделаешь для своих нужд