X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fsubscribed.php;h=5527b276f35ce44fc25bd878aba7f8ae9c1734ca;hb=9d670d25f8bbab226f8ae6be48a8126f989f82b9;hp=924e2b67b3b6c4829bf00c781d1fe9b8c247c27c;hpb=b6cfd2dffeeb733f07818db5f4ce11d4b3d51771;p=quix0rs-gnu-social.git diff --git a/actions/subscribed.php b/actions/subscribed.php index 924e2b67b3..5527b276f3 100644 --- a/actions/subscribed.php +++ b/actions/subscribed.php @@ -1,28 +1,33 @@ . */ -if (!defined('LACONICA')) { exit(1) } +if (!defined('LACONICA')) { exit(1); } + +# XXX: make distinct from similar definitions in showstream.php + +define('SUBSCRIPTIONS_PER_ROW', 8); +define('SUBSCRIPTIONS_PER_PAGE', 80); class SubscribedAction extends Action { # Who is subscribed to a given user? - + function handle($args) { parent::handle($args); $nickname = $this->arg('nickname'); @@ -34,66 +39,82 @@ class SubscribedAction extends Action { if (!$user) { $this->no_such_user(); } - + $page = $this->arg('page') || 1; + common_show_header($profile->nickname . ": " . _t('Subscribers')); $this->show_subscribed($profile, $page); + common_show_footer(); } function show_subscribed($profile, $page) { - - $sub = DB_DataObject::factory('subscriptions'); - $sub->subscribed = $profile->id; + global $config; + $subs = DB_DataObject::factory('subscription'); + $subs->subscribed = $profile->id; + + $subs->orderBy('created DESC'); + # We ask for an extra one to know if we need to do another page - - $sub->limit((($page-1)*SUBSCRIPTIONS_PER_PAGE)+1, SUBSCRIPTIONS_PER_PAGE + 1); + + $subs->limit((($page-1)*SUBSCRIPTIONS_PER_PAGE), SUBSCRIPTIONS_PER_PAGE + 1); $subs_count = $subs->find(); - - common_start_element('div', 'subscriptions'); - + + common_element_start('div', 'subscriptions'); + $idx = 0; - + while ($subs->fetch()) { $idx++; if ($idx % SUBSCRIPTIONS_PER_ROW == 1) { - common_start_element('div', 'row'); + common_element_start('div', 'row'); } - common_start_element('a', array('title' => $subs->fullname || - $subs->nickname, - 'href' => $subs->profileurl, - 'class' => 'subscription')); - common_element('img', array('src' => $subs->avatar, - 'class' => 'avatar')); - common_end_element('a'); + $other = Profile::staticGet($subs->subscriber); + common_element_start('a', array('title' => ($other->fullname) ? + $other->fullname : + $other->nickname, + 'href' => $other->profileurl, + 'class' => 'subscription')); + $avatar = $other->getAvatar(AVATAR_STREAM_SIZE); + common_element('img', array('src' => (($avatar) ? $avatar->url : common_default_avatar(AVATAR_STREAM_SIZE)), + 'width' => AVATAR_STREAM_SIZE, + 'height' => AVATAR_STREAM_SIZE, + 'class' => 'avatar stream', + 'alt' => ($other->fullname) ? + $other->fullname : + $other->nickname)); + common_element_end('a'); + + # XXX: subscribe form here + if ($idx % SUBSCRIPTIONS_PER_ROW == 0) { - common_end_element('div'); + common_element_end('div'); } - + if ($idx == SUBSCRIPTIONS_PER_PAGE) { break; } } if ($page > 1) { - common_element('a', array('href' => + common_element('a', array('href' => common_local_url('subscriptions', array('nickname' => $profile->nickname, 'page' => $page - 1)), 'class' => 'prev'), _t('Previous')); } - + if ($subs_count > SUBSCRIPTIONS_PER_PAGE) { - common_element('a', array('href' => + common_element('a', array('href' => common_local_url('subscriptions', array('nickname' => $profile->nickname, 'page' => $page + 1)), 'class' => 'next'), _t('Next')); } - common_end_element('div'); + common_element_end('div'); } } \ No newline at end of file