User Relationships - цифра колличества друзей

Главные вкладки

Аватар пользователя ska1n ska1n 14 февраля 2010 в 9:23

Возник такой вопрос - нужно сделать блок в виде информера, в котором отображаются два числа модуля User Relationships: сколько всего друзей добавлено (используется только один тип отношений) и число сколько новых заявок в друзья (если нет заявок, то и цифры нет)... подсобите как на php это реализовать? гугл и курение API модуля ничего не дало(

Комментарии

Аватар пользователя vgoodvin vgoodvin 14 февраля 2010 в 13:45

"ska1n" wrote:
курение API модуля ничего не дало(

Если даже в API нет соответствующих методов, то на крайний случай всегда можно сделать запрос пямо к БД, предварительно изучив как модуль хранит данные. Как-то копался в UR, нашел методы для получения списка нужных мне связей, а насчет получения их количества не знаю.

Аватар пользователя ska1n ska1n 14 февраля 2010 в 14:12

нашел решение здесь - http://drupal.org/node/268993#comment-2241568
однако, в этом коде идет пересчет всех отношений и у всех показывается одна и та же цифра, передал его под себя:

<?php
global $user;
$userid = $user->uid;
$sql = "SELECT rtid, COUNT(rid) FROM {user_relationships} WHERE requester_id = $userid && approved = 1 GROUP BY rtid ORDER BY COUNT(rid)";
$results = db_query($sql);
while ($row = db_fetch_array($results)) {
    echo  $row['COUNT(rid)']; //Вывод цифры
}
?>

теперь осталось найти счетчик всех новых запросов Smile если не сложно, писари на пыхе\скуле, проверьте правильность кода выше, с точки зрения безопасности\валидности, я просто не силен в кодинге, а хочется, чтобы было все правильно написано)

Аватар пользователя ska1n ska1n 14 февраля 2010 в 14:19

оказалось все намного проще, всего-то подправить скульный запрос

<?php
global $user;
$userid = $user->uid;
$sql = "SELECT rtid, COUNT(rid) FROM {user_relationships} WHERE requestee_id = $userid && approved = 0 GROUP BY rtid ORDER BY COUNT(rid)";
$results = db_query($sql);
while ($row = db_fetch_array($results)) {
    echo  "+".$row['COUNT(rid)']; //Вывод цифры
}
?>

теперь остается только одна просьба - как бы скрепить правильней два запроса двух скриптов в одну, более-менее правильную форму?