X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fsubscriptions.php;h=acc40d71628500fa4a8e118bb771dc640375a1ce;hb=bdb83be1790c089b8c236cc57c1448c787a7ecef;hp=ef0e36e300fc7a65661c0e10d957b472018a9773;hpb=1a15570339fa7ae5e33a98a7fe6a8645e3d3af72;p=quix0rs-gnu-social.git diff --git a/actions/subscriptions.php b/actions/subscriptions.php index ef0e36e300..acc40d7162 100644 --- a/actions/subscriptions.php +++ b/actions/subscriptions.php @@ -1,26 +1,31 @@ . */ if (!defined('LACONICA')) { exit(1); } +# XXX: make distinct from similar definitions in showstream.php + +define('SUBSCRIPTIONS_PER_ROW', 10); +define('SUBSCRIPTIONS_PER_PAGE', 80); + class SubscriptionsAction extends Action { - + function handle($args) { parent::handle($args); $nickname = $this->arg('nickname'); @@ -33,63 +38,77 @@ class SubscriptionsAction extends Action { $this->no_such_user(); } $page = $this->arg('page') || 1; + common_show_header($profile->nickname . ": " . _t('Subscriptions')); $this->show_subscriptions($profile, $page); + common_show_footer(); } function show_subscriptions($profile, $page) { - $sub = DB_DataObject::factory('subscriptions'); - $sub->subscriber = $profile->id; - + $subs = DB_DataObject::factory('subscription'); + $subs->subscriber = $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_element_start('div', 'subscriptions'); - + $idx = 0; - + while ($subs->fetch()) { + $idx++; if ($idx % SUBSCRIPTIONS_PER_ROW == 1) { common_element_start('div', 'row'); } - common_element_start('a', array('title' => $subs->fullname || - $subs->nickname, - 'href' => $subs->profileurl, + $other = Profile::staticGet($subs->subscribed); + + common_element_start('a', array('title' => ($other->fullname) ? + $other->fullname : + $other->nickname, + 'href' => $other->profileurl, 'class' => 'subscription')); - $avatar = $subs->getAvatar(AVATAR_STREAM_SIZE); - common_element('img', array('src' => (($avatar) ? $avatar->url : DEFAULT_STREAM_AVATAR), - 'width' => AVATAR_STREAM_SIZE, - 'height' => AVATAR_STREAM_SIZE, - 'class' => 'avatar stream')); + $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_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)),