Лента - отделяем блоги от пользователей
Доброго времени суток!
Копался с livestreet (AltoCMS) и заметил такой глюк, в ленте не показываются посты из закрытых блогов (напрочь), даже если пользователь на них подписан… Не стал разбираться, что там и как должно работать, глянул запрос:
Я нашел более изящное решение). Вот мой запрос:
Теперь стало получше:
— Показываем топики только из блогов на которые подписан пользователь;
— Показываем топики (из персональных блогов) пользователей, на которых подписан пользователь;
Читать дальше →
Копался с livestreet (AltoCMS) и заметил такой глюк, в ленте не показываются посты из закрытых блогов (напрочь), даже если пользователь на них подписан… Не стал разбираться, что там и как должно работать, глянул запрос:
SELECT t.topic_id FROM ".Config::Get('db.table.topic')." as t, ".Config::Get('db.table.blog')." as b WHERE t.topic_publish = 1 AND t.blog_id=b.blog_id AND b.blog_type!='close' { AND t.topic_id < ?d } AND ( 1=0 { OR t.blog_id IN (?a) } { OR t.user_id IN (?a) } ) ORDER BY t.topic_id DESC { LIMIT 0, ?d }
Я нашел более изящное решение). Вот мой запрос:
SELECT t.topic_id FROM ".Config::Get('db.table.topic')." as t, ".Config::Get('db.table.blog')." as b WHERE t.topic_publish = 1 AND t.blog_id=b.blog_id { AND t.topic_id < ?d } AND ( false { OR t.blog_id IN (?a) } { OR (t.user_id IN (?a) AND b.blog_type='personal') } ) ORDER BY t.topic_id DESC { LIMIT 0, ?d }
Теперь стало получше:
— Показываем топики только из блогов на которые подписан пользователь;
— Показываем топики (из персональных блогов) пользователей, на которых подписан пользователь;
Читать дальше →