From f0a30cc89ddf82e3c774800d24f0ea3664065d9c Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 8 May 2008 22:16:04 -0400 Subject: read-only stuff darcs-hash:20080509021604-84dde-f785fc09dd435fc12741b3a75184e2425721d03d.gz --- actions/subscriptions.php | 77 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 actions/subscriptions.php (limited to 'actions/subscriptions.php') diff --git a/actions/subscriptions.php b/actions/subscriptions.php new file mode 100644 index 000000000..88e12f5d5 --- /dev/null +++ b/actions/subscriptions.php @@ -0,0 +1,77 @@ +arg('nickname'); + $profile = Profile::staticGet('nickname', $nickname); + if (!$profile) { + $this->no_such_user(); + } + $user = User::staticGet($profile->id); + if (!$user) { + $this->no_such_user(); + } + $page = $this->arg('page') || 1; + $this->show_subscriptions($profile, $page); + } + + function show_subscriptions($profile, $page) { + + $sub = DB_DataObject::factory('subscriptions'); + $sub->subscriber = $profile->id; + + # 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_count = $subs->find(); + + common_start_element('div', 'subscriptions'); + + $idx = 0; + + while ($subs->fetch()) { + $idx++; + if ($idx % SUBSCRIPTIONS_PER_ROW == 1) { + common_start_element('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'); + + if ($idx % SUBSCRIPTIONS_PER_ROW == 0) { + common_end_element('div'); + } + + if ($idx == SUBSCRIPTIONS_PER_PAGE) { + break; + } + } + + if ($page > 1) { + 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_local_url('subscriptions', + array('nickname' => $profile->nickname, + 'page' => $page + 1)), + 'class' => 'next'), + _t('Next')); + } + common_end_element('div'); + } +} \ No newline at end of file -- cgit v1.2.3-54-g00ecf