Есть такой замечательный модуль Private node.
Он дает возможность сделать ноду видимой:
1) Всем
2) Только Вам
3) Вашим друзьям.
К сожалению с buddylist2 он не дружит. Есть неофициальный patch для этого. Но в нем тоже косяк. Может кто поможет исправить этот косяк?
Итак.
Если заменить все buddylist_get_buddies() на buddy_api_get_buddies(), то у вас появится возможность показывать ноду своим друзьям. НО! Пользователи имеющие друзей получат ошибку.
user warning: Unknown column 'a' in 'where clause' query: SELECT DISTINCT(n.nid), n.title, n.created FROM node n INNER JOIN node_access na ON na.nid = n.nid LEFT OUTER JOIN private_nodes pn ON pn.nid = n.nid WHERE (na.grant_view >= 1 AND ((na.gid = 0 AND na.realm = 'all') OR (na.gid = 0 AND na.realm = 'og_public'))) AND ((pn.nid is null OR (pn.level=1 AND n.uid IN (a)) OR n.uid=26)) AND ( n.type = 'news' AND n.status = 1 AND n.nid != '587' ) ORDER BY n.created DESC LIMIT 0, 10 in /usr/home/scandi/work/www/includes/database.mysql.inc on line 172.
user warning: Unknown column 'a' in 'where clause' query: SELECT DISTINCT(node.nid), rand() AS random_sort FROM node node INNER JOIN node_access na ON na.nid = node.nid LEFT OUTER JOIN private_nodes pn ON pn.nid = node.nid WHERE (na.grant_view >= 1 AND ((na.gid = 0 AND na.realm = 'all') OR (na.gid = 0 AND na.realm = 'og_public'))) AND ((pn.nid is null OR (pn.level=1 AND node.uid IN (a)) OR node.uid=26)) AND ( (node.type IN ('image')) ) ORDER BY random_sort ASC LIMIT 0, 1 in /usr/home/scandi/work/www/includes/database.mysql.inc on line 172.
user warning: Unknown column 'a' in 'where clause' query: SELECT DISTINCT(node.nid) FROM node node INNER JOIN node_access na ON na.nid = node.nid LEFT OUTER JOIN private_nodes pn ON pn.nid = node.nid WHERE (na.grant_view >= 1 AND ((na.gid = 0 AND na.realm = 'all') OR (na.gid = 0 AND na.realm = 'og_public'))) AND ((pn.nid is null OR (pn.level=1 AND node.uid IN (a)) OR node.uid=26)) AND ( (node.type IN ('partner')) AND (node.promote = '1') ) LIMIT 0, 5 in /usr/home/scandi/work/www/includes/database.mysql.inc on line 172.
user warning: Unknown column 'a' in 'where clause' query: SELECT DISTINCT(node.nid), node_data_field_date.field_date_value AS node_data_field_date_field_date_value, node.title AS node_title, node.changed AS node_changed FROM node node LEFT JOIN term_node term_node ON node.nid = term_node.nid LEFT JOIN term_hierarchy term_hierarchy ON term_node.tid = term_hierarchy.tid LEFT JOIN content_type_news node_data_field_date ON node.vid = node_data_field_date.vid INNER JOIN node_access na ON na.nid = node.nid LEFT OUTER JOIN private_nodes pn ON pn.nid = node.nid WHERE (na.grant_view >= 1 AND ((na.gid = 0 AND na.realm = 'all') OR (na.gid = 0 AND na.realm = 'og_public'))) AND ((pn.nid is null OR (pn.level=1 AND node.uid IN (a)) OR node.uid=26)) AND ( (node.type IN ('news')) AND (term_node.tid IN ('1')) AND (node.status = '1') ) ORDER BY node_data_field_date_field_date_value DESC LIMIT 0, 5 in /usr/home/scandi/work/www/includes/database.mysql.inc on line 172.
Если же выполнить второй пункт этого patch и закоментить вот так
/*
foreach($buddies as $b){
$buddies_uid[]=$b['uid'];
}
*/
То ту же самую ошибку получат пользователи НЕ имеющие друзей.
Жесть какая то.
Может кто подмогнёть а?
Комментарии
Собственно с «косяком» не пробовали к автору патча???
Спасибо, что нахер не послали.
Что вы, что вы, здесь культурные девушки.