/** * Show a list of people who've flagged this profile * * @return void */ function showFlaggersList() { $flaggers = array(); $ufp = new User_flag_profile(); $ufp->selectAdd(); $ufp->selectAdd('user_id'); $ufp->profile_id = $this->profile->id; $ufp->orderBy('created'); if ($ufp->find()) { // XXX: this should always happen while ($ufp->fetch()) { $user = User::staticGet('id', $ufp->user_id); if (!empty($user)) { // XXX: this would also be unusual $flaggers[] = clone $user; } } } $cnt = count($flaggers); $others = 0; if ($cnt > self::MAX_FLAGGERS) { $flaggers = array_slice($flaggers, 0, self::MAX_FLAGGERS); $others = $cnt - self::MAX_FLAGGERS; } $lnks = array(); foreach ($flaggers as $flagger) { $url = common_local_url('showstream', array('nickname' => $flagger->nickname)); $lnks[] = XMLStringer::estring('a', array('href' => $url, 'class' => 'flagger'), $flagger->nickname); } if ($cnt > 0) { if ($others > 0) { $flagging_users = implode(', ', $lnks); // TRANS: Message displayed on a profile if it has been flagged. // TRANS: %1$s is a comma separated list of at most 5 user nicknames that flagged. // TRANS: %2$d is a positive integer of additional flagging users. Also used for the plural. $text .= sprintf(_m('Flagged by %1$s and %2$d other', 'Flagged by %1$s and %2$d others', $others), $flagging_users, $others); } else { // TRANS: Message displayed on a profile if it has been flagged. // TRANS: %s is a comma separated list of at most 5 user nicknames that flagged. $text .= sprintf(_m('Flagged by %s'), $flagging_users); } $this->out->elementStart('p', array('class' => 'flaggers')); $this->out->raw($text); $this->out->elementEnd('p'); } }
/** * Show a list of people who've flagged this profile * * @return void */ function showFlaggersList() { $flaggers = array(); $ufp = new User_flag_profile(); $ufp->selectAdd(); $ufp->selectAdd('user_id'); $ufp->profile_id = $this->profile->id; $ufp->orderBy('created'); if ($ufp->find()) { // XXX: this should always happen while ($ufp->fetch()) { $user = User::staticGet('id', $ufp->user_id); if (!empty($user)) { // XXX: this would also be unusual $flaggers[] = clone $user; } } } $cnt = count($flaggers); $others = 0; if ($cnt > self::MAX_FLAGGERS) { $flaggers = array_slice($flaggers, 0, self::MAX_FLAGGERS); $others = $cnt - self::MAX_FLAGGERS; } $lnks = array(); foreach ($flaggers as $flagger) { $url = common_local_url('showstream', array('nickname' => $flagger->nickname)); $lnks[] = XMLStringer::estring('a', array('href' => $url, 'class' => 'flagger'), $flagger->nickname); } if ($cnt > 0) { $text = _('Flagged by '); $text .= implode(', ', $lnks); if ($others > 0) { $text .= sprintf(_(' and %d others'), $others); } $this->out->elementStart('p', array('class' => 'flaggers')); $this->out->raw($text); $this->out->elementEnd('p'); } }