From f04dbc8fa21d86bae5c34ece2637c3c345e29927 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 16 Nov 2009 00:19:47 -0500 Subject: [PATCH] Add "followers" and "following" commands --- lib/command.php | 40 ++++++++++++++++++++++++++++++++++++++ lib/commandinterpreter.php | 12 ++++++++++++ 2 files changed, 52 insertions(+) diff --git a/lib/command.php b/lib/command.php index 2ec3320de8..c4a4f7cf4f 100644 --- a/lib/command.php +++ b/lib/command.php @@ -605,6 +605,44 @@ class LoginCommand extends Command } } +class FollowingCommand extends Command +{ + function execute($channel) + { + $profile = $this->user->getSubscriptions(0); + $nicknames=array(); + while ($profile->fetch()) { + $nicknames[]=$profile->nickname; + } + if(count($nicknames)==0){ + $out=_('You are not subscribed to anyone.'); + }else{ + $out=_('You are subscribed to these people: '); + $out.=implode(', ',$nicknames); + } + $channel->output($this->user,$out); + } +} + +class FollowersCommand extends Command +{ + function execute($channel) + { + $profile = $this->user->getSubscribers(); + $nicknames=array(); + while ($profile->fetch()) { + $nicknames[]=$profile->nickname; + } + if(count($nicknames)==0){ + $out=_('No one is subscribed to you.'); + }else{ + $out=_('These people are subscribed to you: '); + $out.=implode(', ',$nicknames); + } + $channel->output($this->user,$out); + } +} + class HelpCommand extends Command { function execute($channel) @@ -615,6 +653,8 @@ class HelpCommand extends Command "off - turn off notifications\n". "help - show this help\n". "follow - subscribe to user\n". + "following - list the people you follow\n". + "followers - list the people that follow you\n". "leave - unsubscribe from user\n". "d - direct message to user\n". "get - get last notice from user\n". diff --git a/lib/commandinterpreter.php b/lib/commandinterpreter.php index d878fe2680..ecc08f1018 100644 --- a/lib/commandinterpreter.php +++ b/lib/commandinterpreter.php @@ -47,6 +47,18 @@ class CommandInterpreter } else { return new LoginCommand($user); } + case 'followers': + if ($arg) { + return null; + } else { + return new FollowersCommand($user); + } + case 'following': + if ($arg) { + return null; + } else { + return new FollowingCommand($user); + } case 'on': if ($arg) { list($other, $extra) = $this->split_arg($arg); -- 2.39.5