From edbc0c665cc65875b4d14b79939233b1c9c06bb6 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 23 Dec 2008 14:19:07 -0500 Subject: [PATCH] replace all tabs with four spaces The PEAR coding standards decree: no tabs, but indent by four spaces. I've done a global search-and-replace on all tabs, replacing them by four spaces. This is a huge change, but it will go a long way to getting us towards phpcs-compliance. And that means better code readability, and that means more participation. darcs-hash:20081223191907-84dde-21e8efe210e6d5d54e935a22d0cee5c7bbfc007d.gz --- _darcs/inventory | 12 +- ...1e8efe210e6d5d54e935a22d0cee5c7bbfc007d.gz | Bin 0 -> 157972 bytes _darcs/pristine/actions/accesstoken.php | 34 +- _darcs/pristine/actions/all.php | 94 +- _darcs/pristine/actions/allrss.php | 84 +- _darcs/pristine/actions/api.php | 322 +- _darcs/pristine/actions/avatarbynickname.php | 76 +- _darcs/pristine/actions/block.php | 12 +- _darcs/pristine/actions/confirmaddress.php | 38 +- _darcs/pristine/actions/deletenotice.php | 136 +- _darcs/pristine/actions/deleteprofile.php | 246 +- _darcs/pristine/actions/disfavor.php | 94 +- _darcs/pristine/actions/doc.php | 28 +- _darcs/pristine/actions/emailsettings.php | 590 +- _darcs/pristine/actions/facebookhome.php | 140 +- _darcs/pristine/actions/facebookinvite.php | 26 +- _darcs/pristine/actions/facebookremove.php | 58 +- _darcs/pristine/actions/facebooksettings.php | 34 +- _darcs/pristine/actions/favor.php | 134 +- _darcs/pristine/actions/favorited.php | 102 +- _darcs/pristine/actions/favoritesrss.php | 72 +- _darcs/pristine/actions/featured.php | 108 +- _darcs/pristine/actions/finishaddopenid.php | 154 +- _darcs/pristine/actions/finishimmediate.php | 62 +- _darcs/pristine/actions/finishopenidlogin.php | 742 +- .../actions/finishremotesubscribe.php | 402 +- _darcs/pristine/actions/foaf.php | 348 +- _darcs/pristine/actions/imsettings.php | 468 +- _darcs/pristine/actions/invite.php | 342 +- _darcs/pristine/actions/login.php | 236 +- _darcs/pristine/actions/logout.php | 32 +- _darcs/pristine/actions/microsummary.php | 38 +- _darcs/pristine/actions/newmessage.php | 224 +- _darcs/pristine/actions/newnotice.php | 254 +- _darcs/pristine/actions/noticesearch.php | 244 +- _darcs/pristine/actions/noticesearchrss.php | 56 +- _darcs/pristine/actions/nudge.php | 86 +- _darcs/pristine/actions/openidlogin.php | 122 +- _darcs/pristine/actions/openidsettings.php | 258 +- _darcs/pristine/actions/opensearch.php | 70 +- _darcs/pristine/actions/othersettings.php | 228 +- _darcs/pristine/actions/peoplesearch.php | 76 +- _darcs/pristine/actions/peopletag.php | 132 +- _darcs/pristine/actions/postnotice.php | 114 +- _darcs/pristine/actions/profilesettings.php | 824 +- _darcs/pristine/actions/public.php | 136 +- _darcs/pristine/actions/publicrss.php | 58 +- _darcs/pristine/actions/publicxrds.php | 82 +- _darcs/pristine/actions/recoverpassword.php | 590 +- _darcs/pristine/actions/register.php | 474 +- _darcs/pristine/actions/remotesubscribe.php | 604 +- _darcs/pristine/actions/replies.php | 96 +- _darcs/pristine/actions/repliesrss.php | 84 +- _darcs/pristine/actions/requesttoken.php | 34 +- _darcs/pristine/actions/showfavorites.php | 102 +- _darcs/pristine/actions/showmessage.php | 140 +- _darcs/pristine/actions/shownotice.php | 132 +- _darcs/pristine/actions/showstream.php | 736 +- _darcs/pristine/actions/smssettings.php | 590 +- _darcs/pristine/actions/subedit.php | 10 +- _darcs/pristine/actions/subscribe.php | 76 +- _darcs/pristine/actions/subscribers.php | 48 +- _darcs/pristine/actions/subscriptions.php | 44 +- _darcs/pristine/actions/sup.php | 110 +- _darcs/pristine/actions/tag.php | 270 +- _darcs/pristine/actions/tagother.php | 330 +- _darcs/pristine/actions/tagrss.php | 58 +- _darcs/pristine/actions/twitapiaccount.php | 104 +- _darcs/pristine/actions/twitapiblocks.php | 28 +- .../actions/twitapidirect_messages.php | 516 +- _darcs/pristine/actions/twitapifavorites.php | 296 +- .../pristine/actions/twitapifriendships.php | 192 +- _darcs/pristine/actions/twitapihelp.php | 50 +- .../pristine/actions/twitapinotifications.php | 16 +- _darcs/pristine/actions/twitapistatuses.php | 1042 +- _darcs/pristine/actions/twitapiusers.php | 44 +- _darcs/pristine/actions/twittersettings.php | 596 +- _darcs/pristine/actions/unblock.php | 10 +- _darcs/pristine/actions/unsubscribe.php | 72 +- _darcs/pristine/actions/updateprofile.php | 286 +- _darcs/pristine/actions/userauthorization.php | 1104 +- _darcs/pristine/actions/userbyid.php | 30 +- _darcs/pristine/actions/userrss.php | 108 +- _darcs/pristine/actions/xrds.php | 212 +- _darcs/pristine/classes/Avatar.php | 106 +- _darcs/pristine/classes/Channel.php | 316 +- _darcs/pristine/classes/Command.php | 584 +- .../pristine/classes/CommandInterpreter.php | 334 +- _darcs/pristine/classes/Fave.php | 28 +- _darcs/pristine/classes/Foreign_link.php | 86 +- _darcs/pristine/classes/Foreign_user.php | 86 +- .../pristine/classes/Memcached_DataObject.php | 274 +- _darcs/pristine/classes/Message.php | 78 +- _darcs/pristine/classes/Notice.php | 804 +- _darcs/pristine/classes/NoticeWrapper.php | 42 +- _darcs/pristine/classes/Notice_tag.php | 34 +- _darcs/pristine/classes/Profile.php | 216 +- _darcs/pristine/classes/Profile_tag.php | 152 +- _darcs/pristine/classes/Queue_item.php | 60 +- _darcs/pristine/classes/Sms_carrier.php | 8 +- _darcs/pristine/classes/Subscription.php | 8 +- _darcs/pristine/classes/User.php | 592 +- _darcs/pristine/lib/common.php | 162 +- _darcs/pristine/lib/deleteaction.php | 74 +- _darcs/pristine/lib/facebookaction.php | 516 +- _darcs/pristine/lib/oauthstore.php | 218 +- _darcs/pristine/lib/omb.php | 378 +- _darcs/pristine/lib/openid.php | 316 +- _darcs/pristine/lib/personal.php | 366 +- _darcs/pristine/lib/profilelist.php | 260 +- _darcs/pristine/lib/queuehandler.php | 194 +- _darcs/pristine/lib/rssaction.php | 322 +- _darcs/pristine/lib/search_engines.php | 4 +- _darcs/pristine/lib/searchaction.php | 154 +- _darcs/pristine/lib/settingsaction.php | 100 +- _darcs/pristine/lib/stream.php | 34 +- _darcs/pristine/lib/subs.php | 122 +- _darcs/pristine/lib/theme.php | 18 +- _darcs/pristine/lib/twitter.php | 216 +- _darcs/pristine/lib/twitterapi.php | 1224 +- _darcs/pristine/lib/xmppqueuehandler.php | 112 +- _darcs/pristine/scripts/enjitqueuehandler.php | 86 +- _darcs/pristine/scripts/fixup_hashtags.php | 12 +- _darcs/pristine/scripts/fixup_inboxes.php | 58 +- .../scripts/fixup_notices_rendered.php | 20 +- _darcs/pristine/scripts/getpiddir.php | 4 +- _darcs/pristine/scripts/inbox_users.php | 122 +- .../pristine/scripts/jabberqueuehandler.php | 28 +- _darcs/pristine/scripts/maildaemon.php | 344 +- _darcs/pristine/scripts/ombqueuehandler.php | 52 +- .../pristine/scripts/publicqueuehandler.php | 30 +- _darcs/pristine/scripts/sitemap.php | 538 +- _darcs/pristine/scripts/smsqueuehandler.php | 32 +- .../pristine/scripts/synctwitterfriends.php | 28 +- .../pristine/scripts/update_translations.php | 98 +- .../pristine/scripts/xmppconfirmhandler.php | 192 +- _darcs/pristine/scripts/xmppdaemon.php | 504 +- _darcs/tentative_pristine | 28060 +++++++++++++++- actions/accesstoken.php | 34 +- actions/all.php | 94 +- actions/allrss.php | 84 +- actions/api.php | 322 +- actions/avatarbynickname.php | 76 +- actions/block.php | 12 +- actions/confirmaddress.php | 38 +- actions/deletenotice.php | 136 +- actions/deleteprofile.php | 246 +- actions/disfavor.php | 94 +- actions/doc.php | 28 +- actions/emailsettings.php | 590 +- actions/facebookhome.php | 140 +- actions/facebookinvite.php | 26 +- actions/facebookremove.php | 58 +- actions/facebooksettings.php | 34 +- actions/favor.php | 134 +- actions/favorited.php | 102 +- actions/favoritesrss.php | 72 +- actions/featured.php | 108 +- actions/finishaddopenid.php | 154 +- actions/finishimmediate.php | 62 +- actions/finishopenidlogin.php | 742 +- actions/finishremotesubscribe.php | 402 +- actions/foaf.php | 348 +- actions/imsettings.php | 468 +- actions/invite.php | 342 +- actions/login.php | 236 +- actions/logout.php | 32 +- actions/microsummary.php | 38 +- actions/newmessage.php | 224 +- actions/newnotice.php | 254 +- actions/noticesearch.php | 244 +- actions/noticesearchrss.php | 56 +- actions/nudge.php | 86 +- actions/openidlogin.php | 122 +- actions/openidsettings.php | 258 +- actions/opensearch.php | 70 +- actions/othersettings.php | 228 +- actions/peoplesearch.php | 76 +- actions/peopletag.php | 132 +- actions/postnotice.php | 114 +- actions/profilesettings.php | 824 +- actions/public.php | 136 +- actions/publicrss.php | 58 +- actions/publicxrds.php | 82 +- actions/recoverpassword.php | 590 +- actions/register.php | 474 +- actions/remotesubscribe.php | 604 +- actions/replies.php | 96 +- actions/repliesrss.php | 84 +- actions/requesttoken.php | 34 +- actions/showfavorites.php | 102 +- actions/showmessage.php | 140 +- actions/shownotice.php | 132 +- actions/showstream.php | 736 +- actions/smssettings.php | 590 +- actions/subedit.php | 10 +- actions/subscribe.php | 76 +- actions/subscribers.php | 48 +- actions/subscriptions.php | 44 +- actions/sup.php | 110 +- actions/tag.php | 270 +- actions/tagother.php | 330 +- actions/tagrss.php | 58 +- actions/twitapiaccount.php | 104 +- actions/twitapiblocks.php | 28 +- actions/twitapidirect_messages.php | 516 +- actions/twitapifavorites.php | 296 +- actions/twitapifriendships.php | 192 +- actions/twitapihelp.php | 50 +- actions/twitapinotifications.php | 16 +- actions/twitapistatuses.php | 1042 +- actions/twitapiusers.php | 44 +- actions/twittersettings.php | 596 +- actions/unblock.php | 10 +- actions/unsubscribe.php | 72 +- actions/updateprofile.php | 286 +- actions/userauthorization.php | 1104 +- actions/userbyid.php | 30 +- actions/userrss.php | 108 +- actions/xrds.php | 212 +- classes/Avatar.php | 106 +- classes/Channel.php | 316 +- classes/Command.php | 584 +- classes/CommandInterpreter.php | 334 +- classes/Fave.php | 28 +- classes/Foreign_link.php | 86 +- classes/Foreign_user.php | 86 +- classes/Memcached_DataObject.php | 274 +- classes/Message.php | 78 +- classes/Notice.php | 804 +- classes/NoticeWrapper.php | 42 +- classes/Notice_tag.php | 34 +- classes/Profile.php | 216 +- classes/Profile_tag.php | 152 +- classes/Queue_item.php | 60 +- classes/Sms_carrier.php | 8 +- classes/Subscription.php | 8 +- classes/User.php | 592 +- lib/common.php | 162 +- lib/deleteaction.php | 74 +- lib/facebookaction.php | 516 +- lib/oauthstore.php | 218 +- lib/omb.php | 378 +- lib/openid.php | 316 +- lib/personal.php | 366 +- lib/profilelist.php | 260 +- lib/queuehandler.php | 194 +- lib/rssaction.php | 322 +- lib/search_engines.php | 4 +- lib/searchaction.php | 154 +- lib/settingsaction.php | 100 +- lib/stream.php | 34 +- lib/subs.php | 122 +- lib/theme.php | 18 +- lib/twitter.php | 216 +- lib/twitterapi.php | 1224 +- lib/xmppqueuehandler.php | 112 +- scripts/enjitqueuehandler.php | 86 +- scripts/fixup_hashtags.php | 12 +- scripts/fixup_inboxes.php | 58 +- scripts/fixup_notices_rendered.php | 20 +- scripts/getpiddir.php | 4 +- scripts/inbox_users.php | 122 +- scripts/jabberqueuehandler.php | 28 +- scripts/maildaemon.php | 344 +- scripts/ombqueuehandler.php | 52 +- scripts/publicqueuehandler.php | 30 +- scripts/sitemap.php | 538 +- scripts/smsqueuehandler.php | 32 +- scripts/synctwitterfriends.php | 28 +- scripts/update_translations.php | 98 +- scripts/xmppconfirmhandler.php | 192 +- scripts/xmppdaemon.php | 504 +- 273 files changed, 56264 insertions(+), 28200 deletions(-) create mode 100644 _darcs/patches/20081223191907-84dde-21e8efe210e6d5d54e935a22d0cee5c7bbfc007d.gz diff --git a/_darcs/inventory b/_darcs/inventory index c66eff2b70..f49b758abf 100644 --- a/_darcs/inventory +++ b/_darcs/inventory @@ -49,4 +49,14 @@ Evan Prodromou **20081223173330] [bring lib/noticelist.php into line with PEAR code standards Evan Prodromou **20081223190851] [incorrect label on notice list file comment -Evan Prodromou **20081223191430] \ No newline at end of file +Evan Prodromou **20081223191430] +[replace all tabs with four spaces +Evan Prodromou **20081223191907 + + The PEAR coding standards decree: no tabs, but indent by four spaces. + I've done a global search-and-replace on all tabs, replacing them by + four spaces. This is a huge change, but it will go a long way to + getting us towards phpcs-compliance. And that means better code + readability, and that means more participation. + +] \ No newline at end of file diff --git a/_darcs/patches/20081223191907-84dde-21e8efe210e6d5d54e935a22d0cee5c7bbfc007d.gz b/_darcs/patches/20081223191907-84dde-21e8efe210e6d5d54e935a22d0cee5c7bbfc007d.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ce001299ada2f731ccaebf7761f14aa74bcbea2 GIT binary patch literal 157972 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 literal 0 HcmV?d00001 diff --git a/_darcs/pristine/actions/accesstoken.php b/_darcs/pristine/actions/accesstoken.php index 4907749ce0..a468c33a69 100644 --- a/_darcs/pristine/actions/accesstoken.php +++ b/_darcs/pristine/actions/accesstoken.php @@ -22,21 +22,21 @@ if (!defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/omb.php'); class AccesstokenAction extends Action { - function handle($args) { - parent::handle($args); - try { - common_debug('getting request from env variables', __FILE__); - common_remove_magic_from_request(); - $req = OAuthRequest::from_request(); - common_debug('getting a server', __FILE__); - $server = omb_oauth_server(); - common_debug('fetching the access token', __FILE__); - $token = $server->fetch_access_token($req); - common_debug('got this token: "'.print_r($token,TRUE).'"', __FILE__); - common_debug('printing the access token', __FILE__); - print $token; - } catch (OAuthException $e) { - common_server_error($e->getMessage()); - } - } + function handle($args) { + parent::handle($args); + try { + common_debug('getting request from env variables', __FILE__); + common_remove_magic_from_request(); + $req = OAuthRequest::from_request(); + common_debug('getting a server', __FILE__); + $server = omb_oauth_server(); + common_debug('fetching the access token', __FILE__); + $token = $server->fetch_access_token($req); + common_debug('got this token: "'.print_r($token,TRUE).'"', __FILE__); + common_debug('printing the access token', __FILE__); + print $token; + } catch (OAuthException $e) { + common_server_error($e->getMessage()); + } + } } diff --git a/_darcs/pristine/actions/all.php b/_darcs/pristine/actions/all.php index 2a26e48d4d..066ee77bff 100644 --- a/_darcs/pristine/actions/all.php +++ b/_darcs/pristine/actions/all.php @@ -23,71 +23,71 @@ require_once(INSTALLDIR.'/actions/showstream.php'); class AllAction extends StreamAction { - function handle($args) { + function handle($args) { - parent::handle($args); + parent::handle($args); - $nickname = common_canonical_nickname($this->arg('nickname')); - $user = User::staticGet('nickname', $nickname); + $nickname = common_canonical_nickname($this->arg('nickname')); + $user = User::staticGet('nickname', $nickname); - if (!$user) { - $this->client_error(_('No such user.')); - return; - } + if (!$user) { + $this->client_error(_('No such user.')); + return; + } - $profile = $user->getProfile(); + $profile = $user->getProfile(); - if (!$profile) { - common_server_error(_('User has no profile.')); - return; - } + if (!$profile) { + common_server_error(_('User has no profile.')); + return; + } - # Looks like we're good; show the header + # Looks like we're good; show the header - common_show_header(sprintf(_("%s and friends"), $profile->nickname), - array($this, 'show_header'), $user, - array($this, 'show_top')); + common_show_header(sprintf(_("%s and friends"), $profile->nickname), + array($this, 'show_header'), $user, + array($this, 'show_top')); - $this->show_notices($user); + $this->show_notices($user); - common_show_footer(); - } + common_show_footer(); + } - function show_header($user) { - common_element('link', array('rel' => 'alternate', - 'href' => common_local_url('allrss', array('nickname' => - $user->nickname)), - 'type' => 'application/rss+xml', - 'title' => sprintf(_('Feed for friends of %s'), $user->nickname))); - } + function show_header($user) { + common_element('link', array('rel' => 'alternate', + 'href' => common_local_url('allrss', array('nickname' => + $user->nickname)), + 'type' => 'application/rss+xml', + 'title' => sprintf(_('Feed for friends of %s'), $user->nickname))); + } - function show_top($user) { - $cur = common_current_user(); + function show_top($user) { + $cur = common_current_user(); - if ($cur && $cur->id == $user->id) { - common_notice_form('all'); - } + if ($cur && $cur->id == $user->id) { + common_notice_form('all'); + } - $this->views_menu(); + $this->views_menu(); - $this->show_feeds_list(array(0=>array('href'=>common_local_url('allrss', array('nickname' => $user->nickname)), - 'type' => 'rss', - 'version' => 'RSS 1.0', - 'item' => 'allrss'))); - } + $this->show_feeds_list(array(0=>array('href'=>common_local_url('allrss', array('nickname' => $user->nickname)), + 'type' => 'rss', + 'version' => 'RSS 1.0', + 'item' => 'allrss'))); + } - function show_notices($user) { + function show_notices($user) { - $page = $this->trimmed('page'); - if (!$page) { - $page = 1; - } + $page = $this->trimmed('page'); + if (!$page) { + $page = 1; + } - $notice = $user->noticesWithFriends(($page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1); + $notice = $user->noticesWithFriends(($page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1); $cnt = $this->show_notice_list($notice); - common_pagination($page > 1, $cnt > NOTICES_PER_PAGE, - $page, 'all', array('nickname' => $user->nickname)); - } + common_pagination($page > 1, $cnt > NOTICES_PER_PAGE, + $page, 'all', array('nickname' => $user->nickname)); + } } diff --git a/_darcs/pristine/actions/allrss.php b/_darcs/pristine/actions/allrss.php index e49ac55401..d28fcea49d 100644 --- a/_darcs/pristine/actions/allrss.php +++ b/_darcs/pristine/actions/allrss.php @@ -25,53 +25,53 @@ require_once(INSTALLDIR.'/lib/rssaction.php'); class AllrssAction extends Rss10Action { - var $user = NULL; + var $user = NULL; - function init() { - $nickname = $this->trimmed('nickname'); - $this->user = User::staticGet('nickname', $nickname); + function init() { + $nickname = $this->trimmed('nickname'); + $this->user = User::staticGet('nickname', $nickname); - if (!$this->user) { - common_user_error(_('No such user.')); - return false; - } else { - return true; - } - } + if (!$this->user) { + common_user_error(_('No such user.')); + return false; + } else { + return true; + } + } - function get_notices($limit=0) { + function get_notices($limit=0) { - $user = $this->user; - - $notice = $user->noticesWithFriends(0, $limit); - - while ($notice->fetch()) { - $notices[] = clone($notice); - } + $user = $this->user; + + $notice = $user->noticesWithFriends(0, $limit); + + while ($notice->fetch()) { + $notices[] = clone($notice); + } - return $notices; - } + return $notices; + } - function get_channel() { - $user = $this->user; - $c = array('url' => common_local_url('allrss', - array('nickname' => - $user->nickname)), - 'title' => sprintf(_('%s and friends'), $user->nickname), - 'link' => common_local_url('all', - array('nickname' => - $user->nickname)), - 'description' => sprintf(_('Feed for friends of %s'), $user->nickname)); - return $c; - } + function get_channel() { + $user = $this->user; + $c = array('url' => common_local_url('allrss', + array('nickname' => + $user->nickname)), + 'title' => sprintf(_('%s and friends'), $user->nickname), + 'link' => common_local_url('all', + array('nickname' => + $user->nickname)), + 'description' => sprintf(_('Feed for friends of %s'), $user->nickname)); + return $c; + } - function get_image() { - $user = $this->user; - $profile = $user->getProfile(); - if (!$profile) { - return NULL; - } - $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE); - return ($avatar) ? $avatar->url : NULL; - } + function get_image() { + $user = $this->user; + $profile = $user->getProfile(); + if (!$profile) { + return NULL; + } + $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE); + return ($avatar) ? $avatar->url : NULL; + } } \ No newline at end of file diff --git a/_darcs/pristine/actions/api.php b/_darcs/pristine/actions/api.php index 919a515ce9..e03961e21f 100644 --- a/_darcs/pristine/actions/api.php +++ b/_darcs/pristine/actions/api.php @@ -10,115 +10,115 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see . */ if (!defined('LACONICA')) { exit(1); } class ApiAction extends Action { - var $user; - var $content_type; - var $api_arg; - var $api_method; - var $api_action; - - function handle($args) { - parent::handle($args); - - $this->api_action = $this->arg('apiaction'); - $method = $this->arg('method'); - $argument = $this->arg('argument'); - - if (isset($argument)) { - $cmdext = explode('.', $argument); - $this->api_arg = $cmdext[0]; - $this->api_method = $method; - $this->content_type = strtolower($cmdext[1]); - } else { - - # Requested format / content-type will be an extension on the method - $cmdext = explode('.', $method); - $this->api_method = $cmdext[0]; - $this->content_type = strtolower($cmdext[1]); - } - - if ($this->requires_auth()) { - if (!isset($_SERVER['PHP_AUTH_USER'])) { - - # This header makes basic auth go - header('WWW-Authenticate: Basic realm="Laconica API"'); - - # If the user hits cancel -- bam! - $this->show_basic_auth_error(); - } else { - $nickname = $_SERVER['PHP_AUTH_USER']; - $password = $_SERVER['PHP_AUTH_PW']; - $user = common_check_user($nickname, $password); - - if ($user) { - $this->user = $user; - $this->process_command(); - } else { - # basic authentication failed - $this->show_basic_auth_error(); - } - } - } else { - - # Look for the user in the session - if (common_logged_in()) { - $this->user = common_current_user(); - } - - $this->process_command(); - } - } - - function process_command() { - $action = "twitapi$this->api_action"; - $actionfile = INSTALLDIR."/actions/$action.php"; - - if (file_exists($actionfile)) { - require_once($actionfile); - $action_class = ucfirst($action)."Action"; - $action_obj = new $action_class(); + var $user; + var $content_type; + var $api_arg; + var $api_method; + var $api_action; + + function handle($args) { + parent::handle($args); + + $this->api_action = $this->arg('apiaction'); + $method = $this->arg('method'); + $argument = $this->arg('argument'); + + if (isset($argument)) { + $cmdext = explode('.', $argument); + $this->api_arg = $cmdext[0]; + $this->api_method = $method; + $this->content_type = strtolower($cmdext[1]); + } else { + + # Requested format / content-type will be an extension on the method + $cmdext = explode('.', $method); + $this->api_method = $cmdext[0]; + $this->content_type = strtolower($cmdext[1]); + } + + if ($this->requires_auth()) { + if (!isset($_SERVER['PHP_AUTH_USER'])) { + + # This header makes basic auth go + header('WWW-Authenticate: Basic realm="Laconica API"'); + + # If the user hits cancel -- bam! + $this->show_basic_auth_error(); + } else { + $nickname = $_SERVER['PHP_AUTH_USER']; + $password = $_SERVER['PHP_AUTH_PW']; + $user = common_check_user($nickname, $password); + + if ($user) { + $this->user = $user; + $this->process_command(); + } else { + # basic authentication failed + $this->show_basic_auth_error(); + } + } + } else { + + # Look for the user in the session + if (common_logged_in()) { + $this->user = common_current_user(); + } + + $this->process_command(); + } + } + + function process_command() { + $action = "twitapi$this->api_action"; + $actionfile = INSTALLDIR."/actions/$action.php"; + + if (file_exists($actionfile)) { + require_once($actionfile); + $action_class = ucfirst($action)."Action"; + $action_obj = new $action_class(); if (!$action_obj->prepare($this->args)) { return; } - if (method_exists($action_obj, $this->api_method)) { - $apidata = array( 'content-type' => $this->content_type, - 'api_method' => $this->api_method, - 'api_arg' => $this->api_arg, - 'user' => $this->user); - - call_user_func(array($action_obj, $this->api_method), $_REQUEST, $apidata); - } else { - common_user_error("API method not found!", $code=404); - } - } else { - common_user_error("API method not found!", $code=404); - } - } - - # Whitelist of API methods that don't need authentication - function requires_auth() { - static $noauth = array( 'statuses/public_timeline', - 'statuses/show', - 'users/show', - 'help/test', - 'help/downtime_schedule'); - - static $bareauth = array('statuses/user_timeline', - 'statuses/friends', - 'statuses/followers', - 'favorites/favorites'); + if (method_exists($action_obj, $this->api_method)) { + $apidata = array( 'content-type' => $this->content_type, + 'api_method' => $this->api_method, + 'api_arg' => $this->api_arg, + 'user' => $this->user); + + call_user_func(array($action_obj, $this->api_method), $_REQUEST, $apidata); + } else { + common_user_error("API method not found!", $code=404); + } + } else { + common_user_error("API method not found!", $code=404); + } + } + + # Whitelist of API methods that don't need authentication + function requires_auth() { + static $noauth = array( 'statuses/public_timeline', + 'statuses/show', + 'users/show', + 'help/test', + 'help/downtime_schedule'); + + static $bareauth = array('statuses/user_timeline', + 'statuses/friends', + 'statuses/followers', + 'favorites/favorites'); # If the site is "private", all API methods need authentication @@ -126,71 +126,71 @@ class ApiAction extends Action { return true; } - $fullname = "$this->api_action/$this->api_method"; - - if (in_array($fullname, $bareauth)) { - # bareauth: only needs auth if without an argument - if ($this->api_arg) { - return false; - } else { - return true; - } - } else if (in_array($fullname, $noauth)) { - # noauth: never needs auth - return false; - } else { - # everybody else needs auth - return true; - } - } - - function show_basic_auth_error() { - header('HTTP/1.1 401 Unauthorized'); - $msg = 'Could not authenticate you.'; - - if ($this->content_type == 'xml') { - header('Content-Type: application/xml; charset=utf-8'); - common_start_xml(); - common_element_start('hash'); - common_element('error', NULL, $msg); - common_element('request', NULL, $_SERVER['REQUEST_URI']); - common_element_end('hash'); - common_end_xml(); - } else if ($this->content_type == 'json') { - header('Content-Type: application/json; charset=utf-8'); - $error_array = array('error' => $msg, 'request' => $_SERVER['REQUEST_URI']); - print(json_encode($error_array)); - } else { - header('Content-type: text/plain'); - print "$msg\n"; - } - } - - function is_readonly() { - # NOTE: before handle(), can't use $this->arg - $apiaction = $_REQUEST['apiaction']; - $method = $_REQUEST['method']; - list($cmdtext, $fmt) = explode('.', $method); - - static $write_methods = array( - 'account' => array('update_location', 'update_delivery_device', 'end_session'), - 'blocks' => array('create', 'destroy'), - 'direct_messages' => array('create', 'destroy'), - 'favorites' => array('create', 'destroy'), - 'friendships' => array('create', 'destroy'), - 'help' => array(), - 'notifications' => array('follow', 'leave'), - 'statuses' => array('update', 'destroy'), - 'users' => array() - ); - - if (array_key_exists($apiaction, $write_methods)) { - if (!in_array($cmdtext, $write_methods[$apiaction])) { - return true; - } - } - - return false; - } + $fullname = "$this->api_action/$this->api_method"; + + if (in_array($fullname, $bareauth)) { + # bareauth: only needs auth if without an argument + if ($this->api_arg) { + return false; + } else { + return true; + } + } else if (in_array($fullname, $noauth)) { + # noauth: never needs auth + return false; + } else { + # everybody else needs auth + return true; + } + } + + function show_basic_auth_error() { + header('HTTP/1.1 401 Unauthorized'); + $msg = 'Could not authenticate you.'; + + if ($this->content_type == 'xml') { + header('Content-Type: application/xml; charset=utf-8'); + common_start_xml(); + common_element_start('hash'); + common_element('error', NULL, $msg); + common_element('request', NULL, $_SERVER['REQUEST_URI']); + common_element_end('hash'); + common_end_xml(); + } else if ($this->content_type == 'json') { + header('Content-Type: application/json; charset=utf-8'); + $error_array = array('error' => $msg, 'request' => $_SERVER['REQUEST_URI']); + print(json_encode($error_array)); + } else { + header('Content-type: text/plain'); + print "$msg\n"; + } + } + + function is_readonly() { + # NOTE: before handle(), can't use $this->arg + $apiaction = $_REQUEST['apiaction']; + $method = $_REQUEST['method']; + list($cmdtext, $fmt) = explode('.', $method); + + static $write_methods = array( + 'account' => array('update_location', 'update_delivery_device', 'end_session'), + 'blocks' => array('create', 'destroy'), + 'direct_messages' => array('create', 'destroy'), + 'favorites' => array('create', 'destroy'), + 'friendships' => array('create', 'destroy'), + 'help' => array(), + 'notifications' => array('follow', 'leave'), + 'statuses' => array('update', 'destroy'), + 'users' => array() + ); + + if (array_key_exists($apiaction, $write_methods)) { + if (!in_array($cmdtext, $write_methods[$apiaction])) { + return true; + } + } + + return false; + } } diff --git a/_darcs/pristine/actions/avatarbynickname.php b/_darcs/pristine/actions/avatarbynickname.php index b33cababf7..2ca861a66b 100644 --- a/_darcs/pristine/actions/avatarbynickname.php +++ b/_darcs/pristine/actions/avatarbynickname.php @@ -24,45 +24,45 @@ class AvatarbynicknameAction extends Action { parent::handle($args); $nickname = $this->trimmed('nickname'); if (!$nickname) { - $this->client_error(_('No nickname.')); - return; - } - $size = $this->trimmed('size'); + $this->client_error(_('No nickname.')); + return; + } + $size = $this->trimmed('size'); if (!$size) { - $this->client_error(_('No size.')); - return; - } - $size = strtolower($size); - if (!in_array($size, array('original', '96', '48', '24'))) { - $this->client_error(_('Invalid size.')); - return; - } + $this->client_error(_('No size.')); + return; + } + $size = strtolower($size); + if (!in_array($size, array('original', '96', '48', '24'))) { + $this->client_error(_('Invalid size.')); + return; + } - $user = User::staticGet('nickname', $nickname); - if (!$user) { - $this->client_error(_('No such user.')); - return; - } - $profile = $user->getProfile(); - if (!$profile) { - $this->client_error(_('User has no profile.')); - return; - } - if ($size == 'original') { - $avatar = $profile->getOriginal(); - } else { - $avatar = $profile->getAvatar($size+0); - } + $user = User::staticGet('nickname', $nickname); + if (!$user) { + $this->client_error(_('No such user.')); + return; + } + $profile = $user->getProfile(); + if (!$profile) { + $this->client_error(_('User has no profile.')); + return; + } + if ($size == 'original') { + $avatar = $profile->getOriginal(); + } else { + $avatar = $profile->getAvatar($size+0); + } - if ($avatar) { - $url = $avatar->url; - } else { - if ($size == 'original') { - $url = common_default_avatar(AVATAR_PROFILE_SIZE); - } else { - $url = common_default_avatar($size+0); - } - } - common_redirect($url, 302); - } + if ($avatar) { + $url = $avatar->url; + } else { + if ($size == 'original') { + $url = common_default_avatar(AVATAR_PROFILE_SIZE); + } else { + $url = common_default_avatar($size+0); + } + } + common_redirect($url, 302); + } } diff --git a/_darcs/pristine/actions/block.php b/_darcs/pristine/actions/block.php index e6d2b7e49e..20ba81edba 100644 --- a/_darcs/pristine/actions/block.php +++ b/_darcs/pristine/actions/block.php @@ -32,12 +32,12 @@ class BlockAction extends Action { return false; } - $token = $this->trimmed('token'); + $token = $this->trimmed('token'); - if (!$token || $token != common_session_token()) { - $this->client_error(_('There was a problem with your session token. Try again, please.')); - return; - } + if (!$token || $token != common_session_token()) { + $this->client_error(_('There was a problem with your session token. Try again, please.')); + return; + } $id = $this->trimmed('blockto'); @@ -75,7 +75,7 @@ class BlockAction extends Action { $id = $this->profile->id; - common_show_header(_('Block user')); + common_show_header(_('Block user')); common_element('p', NULL, _('Are you sure you want to block this user? '. diff --git a/_darcs/pristine/actions/confirmaddress.php b/_darcs/pristine/actions/confirmaddress.php index 44280e08a7..9d97c82058 100644 --- a/_darcs/pristine/actions/confirmaddress.php +++ b/_darcs/pristine/actions/confirmaddress.php @@ -43,44 +43,44 @@ class ConfirmaddressAction extends Action { $this->client_error(_('That confirmation code is not for you!')); return; } - $type = $confirm->address_type; - if (!in_array($type, array('email', 'jabber', 'sms'))) { - $this->server_error(sprintf(_('Unrecognized address type %s'), $type)); - return; - } + $type = $confirm->address_type; + if (!in_array($type, array('email', 'jabber', 'sms'))) { + $this->server_error(sprintf(_('Unrecognized address type %s'), $type)); + return; + } if ($cur->$type == $confirm->address) { $this->client_error(_('That address has already been confirmed.')); - return; - } + return; + } $cur->query('BEGIN'); $orig_user = clone($cur); - $cur->$type = $confirm->address; + $cur->$type = $confirm->address; - if ($type == 'sms') { - $cur->carrier = ($confirm->address_extra)+0; - $carrier = Sms_carrier::staticGet($cur->carrier); - $cur->smsemail = $carrier->toEmailAddress($cur->sms); - } + if ($type == 'sms') { + $cur->carrier = ($confirm->address_extra)+0; + $carrier = Sms_carrier::staticGet($cur->carrier); + $cur->smsemail = $carrier->toEmailAddress($cur->sms); + } - $result = $cur->updateKeys($orig_user); + $result = $cur->updateKeys($orig_user); if (!$result) { - common_log_db_error($cur, 'UPDATE', __FILE__); + common_log_db_error($cur, 'UPDATE', __FILE__); $this->server_error(_('Couldn\'t update user.')); return; } - if ($type == 'email') { - $cur->emailChanged(); - } + if ($type == 'email') { + $cur->emailChanged(); + } $result = $confirm->delete(); if (!$result) { - common_log_db_error($confirm, 'DELETE', __FILE__); + common_log_db_error($confirm, 'DELETE', __FILE__); $this->server_error(_('Couldn\'t delete email confirmation.')); return; } diff --git a/_darcs/pristine/actions/deletenotice.php b/_darcs/pristine/actions/deletenotice.php index 64746283ae..ba348c5faf 100644 --- a/_darcs/pristine/actions/deletenotice.php +++ b/_darcs/pristine/actions/deletenotice.php @@ -22,80 +22,80 @@ if (!defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/deleteaction.php'); class DeletenoticeAction extends DeleteAction { - function handle($args) { - parent::handle($args); - # XXX: Ajax! + function handle($args) { + parent::handle($args); + # XXX: Ajax! - if ($_SERVER['REQUEST_METHOD'] == 'POST') { - $this->delete_notice(); - } else if ($_SERVER['REQUEST_METHOD'] == 'GET') { - $this->show_form(); - } - } + if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $this->delete_notice(); + } else if ($_SERVER['REQUEST_METHOD'] == 'GET') { + $this->show_form(); + } + } - function get_instructions() { - return _('You are about to permanently delete a notice. Once this is done, it cannot be undone.'); - } + function get_instructions() { + return _('You are about to permanently delete a notice. Once this is done, it cannot be undone.'); + } - function get_title() { - return _('Delete notice'); - } + function get_title() { + return _('Delete notice'); + } - function show_form($error=NULL) { - $user = common_current_user(); + function show_form($error=NULL) { + $user = common_current_user(); - common_show_header($this->get_title(), array($this, 'show_header'), $error, - array($this, 'show_top')); - common_element_start('form', array('id' => 'notice_delete_form', - 'method' => 'post', - 'action' => common_local_url('deletenotice'))); - common_hidden('token', common_session_token()); - common_hidden('notice', $this->trimmed('notice')); - common_element_start('p'); - common_element('span', array('id' => 'confirmation_text'), _('Are you sure you want to delete this notice?')); + common_show_header($this->get_title(), array($this, 'show_header'), $error, + array($this, 'show_top')); + common_element_start('form', array('id' => 'notice_delete_form', + 'method' => 'post', + 'action' => common_local_url('deletenotice'))); + common_hidden('token', common_session_token()); + common_hidden('notice', $this->trimmed('notice')); + common_element_start('p'); + common_element('span', array('id' => 'confirmation_text'), _('Are you sure you want to delete this notice?')); - common_element('input', array('id' => 'submit_no', - 'name' => 'submit', - 'type' => 'submit', - 'value' => _('No'))); - common_element('input', array('id' => 'submit_yes', - 'name' => 'submit', - 'type' => 'submit', - 'value' => _('Yes'))); - common_element_end('p'); - common_element_end('form'); - common_show_footer(); - } + common_element('input', array('id' => 'submit_no', + 'name' => 'submit', + 'type' => 'submit', + 'value' => _('No'))); + common_element('input', array('id' => 'submit_yes', + 'name' => 'submit', + 'type' => 'submit', + 'value' => _('Yes'))); + common_element_end('p'); + common_element_end('form'); + common_show_footer(); + } - function delete_notice() { - # CSRF protection - $token = $this->trimmed('token'); - if (!$token || $token != common_session_token()) { - $this->show_form(_('There was a problem with your session token. Try again, please.')); - return; - } - $url = common_get_returnto(); - $confirmed = $this->trimmed('submit'); - if ($confirmed == _('Yes')) { - $user = common_current_user(); - $notice_id = $this->trimmed('notice'); - $notice = Notice::staticGet($notice_id); - $replies = new Reply; - $replies->get('notice_id', $notice_id); + function delete_notice() { + # CSRF protection + $token = $this->trimmed('token'); + if (!$token || $token != common_session_token()) { + $this->show_form(_('There was a problem with your session token. Try again, please.')); + return; + } + $url = common_get_returnto(); + $confirmed = $this->trimmed('submit'); + if ($confirmed == _('Yes')) { + $user = common_current_user(); + $notice_id = $this->trimmed('notice'); + $notice = Notice::staticGet($notice_id); + $replies = new Reply; + $replies->get('notice_id', $notice_id); - common_dequeue_notice($notice); - if (common_config('memcached', 'enabled')) { - $notice->blowSubsCache(); - } - $replies->delete(); - $notice->delete(); - } else { - if ($url) { - common_set_returnto(NULL); - } else { - $url = common_local_url('public'); - } - } - common_redirect($url); - } + common_dequeue_notice($notice); + if (common_config('memcached', 'enabled')) { + $notice->blowSubsCache(); + } + $replies->delete(); + $notice->delete(); + } else { + if ($url) { + common_set_returnto(NULL); + } else { + $url = common_local_url('public'); + } + } + common_redirect($url); + } } diff --git a/_darcs/pristine/actions/deleteprofile.php b/_darcs/pristine/actions/deleteprofile.php index 418ac998d0..29797bc76d 100644 --- a/_darcs/pristine/actions/deleteprofile.php +++ b/_darcs/pristine/actions/deleteprofile.php @@ -32,101 +32,101 @@ class DeleteprofileAction extends Action { } } - function get_instructions() { - return _('Export and delete your user information.'); - } - - function form_header($title, $msg=NULL, $success=false) { - common_show_header($title, - NULL, - array($msg, $success), - array($this, 'show_top')); - } - - function show_feeds_list($feeds) { - common_element_start('div', array('class' => 'feedsdel')); - common_element('p', null, 'Feeds:'); - common_element_start('ul', array('class' => 'xoxo')); - - foreach ($feeds as $key => $value) { - $this->common_feed_item($feeds[$key]); - } - common_element_end('ul'); - common_element_end('div'); - } + function get_instructions() { + return _('Export and delete your user information.'); + } + + function form_header($title, $msg=NULL, $success=false) { + common_show_header($title, + NULL, + array($msg, $success), + array($this, 'show_top')); + } + + function show_feeds_list($feeds) { + common_element_start('div', array('class' => 'feedsdel')); + common_element('p', null, 'Feeds:'); + common_element_start('ul', array('class' => 'xoxo')); + + foreach ($feeds as $key => $value) { + $this->common_feed_item($feeds[$key]); + } + common_element_end('ul'); + common_element_end('div'); + } //TODO move to common.php (and retrace its origin) - function common_feed_item($feed) { + function common_feed_item($feed) { + $user = common_current_user(); + $nickname = $user->nickname; + + switch($feed['item']) { + case 'notices': default: + $feed_classname = $feed['type']; + $feed_mimetype = "application/".$feed['type']."+xml"; + $feed_title = "$nickname's ".$feed['version']." notice feed"; + $feed['textContent'] = "RSS"; + break; + + case 'foaf': + $feed_classname = "foaf"; + $feed_mimetype = "application/".$feed['type']."+xml"; + $feed_title = "$nickname's FOAF file"; + $feed['textContent'] = "FOAF"; + break; + } + common_element_start('li'); + common_element('a', array('href' => $feed['href'], + 'class' => $feed_classname, + 'type' => $feed_mimetype, + 'title' => $feed_title), + $feed['textContent']); + common_element_end('li'); + } + + function show_form($msg=NULL, $success=false) { + $this->form_header(_('Delete my account'), $msg, $success); + common_element('h2', NULL, _('Delete my account confirmation')); + $this->show_confirm_delete_form(); + common_show_footer(); + } + + function show_confirm_delete_form() { $user = common_current_user(); - $nickname = $user->nickname; - - switch($feed['item']) { - case 'notices': default: - $feed_classname = $feed['type']; - $feed_mimetype = "application/".$feed['type']."+xml"; - $feed_title = "$nickname's ".$feed['version']." notice feed"; - $feed['textContent'] = "RSS"; - break; - - case 'foaf': - $feed_classname = "foaf"; - $feed_mimetype = "application/".$feed['type']."+xml"; - $feed_title = "$nickname's FOAF file"; - $feed['textContent'] = "FOAF"; - break; - } - common_element_start('li'); - common_element('a', array('href' => $feed['href'], - 'class' => $feed_classname, - 'type' => $feed_mimetype, - 'title' => $feed_title), - $feed['textContent']); - common_element_end('li'); - } - - function show_form($msg=NULL, $success=false) { - $this->form_header(_('Delete my account'), $msg, $success); - common_element('h2', NULL, _('Delete my account confirmation')); - $this->show_confirm_delete_form(); - common_show_footer(); - } - - function show_confirm_delete_form() { - $user = common_current_user(); $notices = DB_DataObject::factory('notice'); $notices->profile_id = $user->id; $notice_count = (int) $notices->count(); - common_element_start('form', array('method' => 'POST', - 'id' => 'delete', - 'action' => - common_local_url('deleteprofile'))); + common_element_start('form', array('method' => 'POST', + 'id' => 'delete', + 'action' => + common_local_url('deleteprofile'))); - common_hidden('token', common_session_token()); + common_hidden('token', common_session_token()); common_element('p', null, "Last chance to copy your notices and contacts by saving the two links below before deleting your account. Be careful, this operation cannot be undone."); - $this->show_feeds_list(array(0=>array('href'=>common_local_url('userrss', array('limit' => $notice_count, 'nickname' => $user->nickname)), - 'type' => 'rss', - 'version' => 'RSS 1.0', - 'item' => 'notices'), - 1=>array('href'=>common_local_url('foaf',array('nickname' => $user->nickname)), - 'type' => 'rdf', - 'version' => 'FOAF', - 'item' => 'foaf'))); + $this->show_feeds_list(array(0=>array('href'=>common_local_url('userrss', array('limit' => $notice_count, 'nickname' => $user->nickname)), + 'type' => 'rss', + 'version' => 'RSS 1.0', + 'item' => 'notices'), + 1=>array('href'=>common_local_url('foaf',array('nickname' => $user->nickname)), + 'type' => 'rdf', + 'version' => 'FOAF', + 'item' => 'foaf'))); common_checkbox('confirmation', _('Check if you are sure you want to delete your account.')); - common_submit('deleteaccount', _('Delete my account')); - common_element_end('form'); + common_submit('deleteaccount', _('Delete my account')); + common_element_end('form'); } - function handle_post() { - # CSRF protection - $token = $this->trimmed('token'); - if (!$token || $token != common_session_token()) { - $this->show_form(_('There was a problem with your session token. Try again, please.')); - return; - } + function handle_post() { + # CSRF protection + $token = $this->trimmed('token'); + if (!$token || $token != common_session_token()) { + $this->show_form(_('There was a problem with your session token. Try again, please.')); + return; + } if ($this->arg('deleteaccount') && $this->arg('confirmation')) { $this->delete_account(); @@ -134,9 +134,9 @@ class DeleteprofileAction extends Action { $this->show_form(); } - function delete_account() { - $user = common_current_user(); - assert(!is_null($user)); # should already be checked + function delete_account() { + $user = common_current_user(); + assert(!is_null($user)); # should already be checked // deleted later through the profile /* @@ -219,53 +219,53 @@ class DeleteprofileAction extends Action { common_redirect(common_local_url('public')); } - function show_top($arr) { - $msg = $arr[0]; - $success = $arr[1]; - if ($msg) { - $this->message($msg, $success); - } else { - $inst = $this->get_instructions(); - $output = common_markup_to_html($inst); - common_element_start('div', 'instructions'); - common_raw($output); - common_element_end('div'); - } - $this->settings_menu(); - } + function show_top($arr) { + $msg = $arr[0]; + $success = $arr[1]; + if ($msg) { + $this->message($msg, $success); + } else { + $inst = $this->get_instructions(); + $output = common_markup_to_html($inst); + common_element_start('div', 'instructions'); + common_raw($output); + common_element_end('div'); + } + $this->settings_menu(); + } function settings_menu() { # action => array('prompt', 'title') - $menu = - array('profilesettings' => - array(_('Profile'), - _('Change your profile settings')), - 'emailsettings' => - array(_('Email'), - _('Change email handling')), - 'openidsettings' => - array(_('OpenID'), - _('Add or remove OpenIDs')), - 'smssettings' => - array(_('SMS'), - _('Updates by SMS')), - 'imsettings' => - array(_('IM'), - _('Updates by instant messenger (IM)')), - 'twittersettings' => - array(_('Twitter'), - _('Twitter integration options')), - 'othersettings' => - array(_('Other'), - _('Other options'))); + $menu = + array('profilesettings' => + array(_('Profile'), + _('Change your profile settings')), + 'emailsettings' => + array(_('Email'), + _('Change email handling')), + 'openidsettings' => + array(_('OpenID'), + _('Add or remove OpenIDs')), + 'smssettings' => + array(_('SMS'), + _('Updates by SMS')), + 'imsettings' => + array(_('IM'), + _('Updates by instant messenger (IM)')), + 'twittersettings' => + array(_('Twitter'), + _('Twitter integration options')), + 'othersettings' => + array(_('Other'), + _('Other options'))); $action = $this->trimmed('action'); common_element_start('ul', array('id' => 'nav_views')); foreach ($menu as $menuaction => $menudesc) { - if ($menuaction == 'imsettings' && - !common_config('xmpp', 'enabled')) { - continue; - } + if ($menuaction == 'imsettings' && + !common_config('xmpp', 'enabled')) { + continue; + } common_menu_item(common_local_url($menuaction), $menudesc[0], $menudesc[1], diff --git a/_darcs/pristine/actions/disfavor.php b/_darcs/pristine/actions/disfavor.php index be208f65ab..e47e68a8c8 100644 --- a/_darcs/pristine/actions/disfavor.php +++ b/_darcs/pristine/actions/disfavor.php @@ -21,63 +21,63 @@ if (!defined('LACONICA')) { exit(1); } class DisfavorAction extends Action { - function handle($args) { + function handle($args) { - parent::handle($args); + parent::handle($args); - if (!common_logged_in()) { - common_user_error(_('Not logged in.')); - return; - } + if (!common_logged_in()) { + common_user_error(_('Not logged in.')); + return; + } - $user = common_current_user(); + $user = common_current_user(); - if ($_SERVER['REQUEST_METHOD'] != 'POST') { - common_redirect(common_local_url('showfavorites', array('nickname' => $user->nickname))); - return; - } + if ($_SERVER['REQUEST_METHOD'] != 'POST') { + common_redirect(common_local_url('showfavorites', array('nickname' => $user->nickname))); + return; + } - $id = $this->trimmed('notice'); + $id = $this->trimmed('notice'); - $notice = Notice::staticGet($id); + $notice = Notice::staticGet($id); - $token = $this->trimmed('token-'.$notice->id); + $token = $this->trimmed('token-'.$notice->id); - if (!$token || $token != common_session_token()) { - $this->client_error(_("There was a problem with your session token. Try again, please.")); - return; - } + if (!$token || $token != common_session_token()) { + $this->client_error(_("There was a problem with your session token. Try again, please.")); + return; + } - $fave = new Fave(); - $fave->user_id = $this->id; - $fave->notice_id = $notice->id; - if (!$fave->find(true)) { - $this->client_error(_('This notice is not a favorite!')); - return; - } + $fave = new Fave(); + $fave->user_id = $this->id; + $fave->notice_id = $notice->id; + if (!$fave->find(true)) { + $this->client_error(_('This notice is not a favorite!')); + return; + } - $result = $fave->delete(); + $result = $fave->delete(); - if (!$result) { - common_log_db_error($fave, 'DELETE', __FILE__); - $this->server_error(_('Could not delete favorite.')); - return; - } - - $user->blowFavesCache(); + if (!$result) { + common_log_db_error($fave, 'DELETE', __FILE__); + $this->server_error(_('Could not delete favorite.')); + return; + } + + $user->blowFavesCache(); - if ($this->boolean('ajax')) { - common_start_html('text/xml;charset=utf-8', true); - common_element_start('head'); - common_element('title', null, _('Add to favorites')); - common_element_end('head'); - common_element_start('body'); - common_favor_form($notice); - common_element_end('body'); - common_element_end('html'); - } else { - common_redirect(common_local_url('showfavorites', - array('nickname' => $user->nickname))); - } - } + if ($this->boolean('ajax')) { + common_start_html('text/xml;charset=utf-8', true); + common_element_start('head'); + common_element('title', null, _('Add to favorites')); + common_element_end('head'); + common_element_start('body'); + common_favor_form($notice); + common_element_end('body'); + common_element_end('html'); + } else { + common_redirect(common_local_url('showfavorites', + array('nickname' => $user->nickname))); + } + } } diff --git a/_darcs/pristine/actions/doc.php b/_darcs/pristine/actions/doc.php index f3327048f2..0cf665d683 100644 --- a/_darcs/pristine/actions/doc.php +++ b/_darcs/pristine/actions/doc.php @@ -21,18 +21,18 @@ if (!defined('LACONICA')) { exit(1); } class DocAction extends Action { - function handle($args) { - parent::handle($args); - $title = $this->trimmed('title'); - $filename = INSTALLDIR.'/doc/'.$title; - if (!file_exists($filename)) { - common_user_error(_('No such document.')); - return; - } - $c = file_get_contents($filename); - $output = common_markup_to_html($c); - common_show_header(_(ucfirst($title))); - common_raw($output); - common_show_footer(); - } + function handle($args) { + parent::handle($args); + $title = $this->trimmed('title'); + $filename = INSTALLDIR.'/doc/'.$title; + if (!file_exists($filename)) { + common_user_error(_('No such document.')); + return; + } + $c = file_get_contents($filename); + $output = common_markup_to_html($c); + common_show_header(_(ucfirst($title))); + common_raw($output); + common_show_footer(); + } } diff --git a/_darcs/pristine/actions/emailsettings.php b/_darcs/pristine/actions/emailsettings.php index b35b4d28ee..b77817c8e4 100644 --- a/_darcs/pristine/actions/emailsettings.php +++ b/_darcs/pristine/actions/emailsettings.php @@ -23,308 +23,308 @@ require_once(INSTALLDIR.'/lib/settingsaction.php'); class EmailsettingsAction extends SettingsAction { - function get_instructions() { - return _('Manage how you get email from %%site.name%%.'); - } - - function show_form($msg=NULL, $success=false) { - $user = common_current_user(); - $this->form_header(_('Email Settings'), $msg, $success); - common_element_start('form', array('method' => 'post', - 'id' => 'emailsettings', - 'action' => - common_local_url('emailsettings'))); - common_hidden('token', common_session_token()); - - common_element('h2', NULL, _('Address')); - - if ($user->email) { - common_element_start('p'); - common_element('span', 'address confirmed', $user->email); - common_element('span', 'input_instructions', - _('Current confirmed email address.')); - common_hidden('email', $user->email); - common_element_end('p'); - common_submit('remove', _('Remove')); - } else { - $confirm = $this->get_confirmation(); - if ($confirm) { - common_element_start('p'); - common_element('span', 'address unconfirmed', $confirm->address); - common_element('span', 'input_instructions', - _('Awaiting confirmation on this address. Check your inbox (and spam box!) for a message with further instructions.')); - common_hidden('email', $confirm->address); - common_element_end('p'); - common_submit('cancel', _('Cancel')); - } else { - common_input('email', _('Email Address'), - ($this->arg('email')) ? $this->arg('email') : NULL, - _('Email address, like "UserName@example.org"')); - common_submit('add', _('Add')); - } - } - - if ($user->email) { - common_element('h2', NULL, _('Incoming email')); - - if ($user->incomingemail) { - common_element_start('p'); - common_element('span', 'address', $user->incomingemail); - common_element('span', 'input_instructions', - _('Send email to this address to post new notices.')); - common_element_end('p'); - common_submit('removeincoming', _('Remove')); - } - - common_element_start('p'); - common_element('span', 'input_instructions', - _('Make a new email address for posting to; cancels the old one.')); - common_element_end('p'); - common_submit('newincoming', _('New')); - } - - common_element('h2', NULL, _('Preferences')); - - common_checkbox('emailnotifysub', - _('Send me notices of new subscriptions through email.'), - $user->emailnotifysub); - common_checkbox('emailnotifyfav', - _('Send me email when someone adds my notice as a favorite.'), - $user->emailnotifyfav); - common_checkbox('emailnotifymsg', - _('Send me email when someone sends me a private message.'), - $user->emailnotifymsg); - common_checkbox('emailnotifynudge', - _('Allow friends to nudge me and send me an email.'), - $user->emailnotifynudge); - common_checkbox('emailpost', - _('I want to post notices by email.'), - $user->emailpost); - common_checkbox('emailmicroid', - _('Publish a MicroID for my email address.'), - $user->emailmicroid); - - common_submit('save', _('Save')); - - common_element_end('form'); - common_show_footer(); - } - - function get_confirmation() { - $user = common_current_user(); - $confirm = new Confirm_address(); - $confirm->user_id = $user->id; - $confirm->address_type = 'email'; - if ($confirm->find(TRUE)) { - return $confirm; - } else { - return NULL; - } - } - - function handle_post() { - - # CSRF protection - $token = $this->trimmed('token'); - if (!$token || $token != common_session_token()) { - $this->show_form(_('There was a problem with your session token. Try again, please.')); - return; - } - - if ($this->arg('save')) { - $this->save_preferences(); - } else if ($this->arg('add')) { - $this->add_address(); - } else if ($this->arg('cancel')) { - $this->cancel_confirmation(); - } else if ($this->arg('remove')) { - $this->remove_address(); - } else if ($this->arg('removeincoming')) { - $this->remove_incoming(); - } else if ($this->arg('newincoming')) { - $this->new_incoming(); - } else { - $this->show_form(_('Unexpected form submission.')); - } - } - - function save_preferences() { - - $emailnotifysub = $this->boolean('emailnotifysub'); - $emailnotifyfav = $this->boolean('emailnotifyfav'); - $emailnotifymsg = $this->boolean('emailnotifymsg'); - $emailnotifynudge = $this->boolean('emailnotifynudge'); - $emailmicroid = $this->boolean('emailmicroid'); - $emailpost = $this->boolean('emailpost'); - - $user = common_current_user(); - - assert(!is_null($user)); # should already be checked - - $user->query('BEGIN'); - - $original = clone($user); - - $user->emailnotifysub = $emailnotifysub; - $user->emailnotifyfav = $emailnotifyfav; - $user->emailnotifymsg = $emailnotifymsg; - $user->emailnotifynudge = $emailnotifynudge; - $user->emailmicroid = $emailmicroid; - $user->emailpost = $emailpost; - - $result = $user->update($original); - - if ($result === FALSE) { - common_log_db_error($user, 'UPDATE', __FILE__); - common_server_error(_('Couldn\'t update user.')); - return; - } - - $user->query('COMMIT'); - - $this->show_form(_('Preferences saved.'), true); - } - - function add_address() { - - $user = common_current_user(); - - $email = $this->trimmed('email'); - - # Some validation - - if (!$email) { - $this->show_form(_('No email address.')); - return; - } - - $email = common_canonical_email($email); - - if (!$email) { - $this->show_form(_('Cannot normalize that email address')); - return; - } - if (!Validate::email($email, true)) { - $this->show_form(_('Not a valid email address')); - return; - } else if ($user->email == $email) { - $this->show_form(_('That is already your email address.')); - return; - } else if ($this->email_exists($email)) { - $this->show_form(_('That email address already belongs to another user.')); - return; - } - - $confirm = new Confirm_address(); - $confirm->address = $email; - $confirm->address_type = 'email'; - $confirm->user_id = $user->id; - $confirm->code = common_confirmation_code(64); - - $result = $confirm->insert(); - - if ($result === FALSE) { - common_log_db_error($confirm, 'INSERT', __FILE__); - common_server_error(_('Couldn\'t insert confirmation code.')); - return; - } - - mail_confirm_address($user, $confirm->code, $user->nickname, $email); - - $msg = _('A confirmation code was sent to the email address you added. Check your inbox (and spam box!) for the code and instructions on how to use it.'); - - $this->show_form($msg, TRUE); - } - - function cancel_confirmation() { - $email = $this->arg('email'); - $confirm = $this->get_confirmation(); - if (!$confirm) { - $this->show_form(_('No pending confirmation to cancel.')); - return; - } - if ($confirm->address != $email) { - $this->show_form(_('That is the wrong IM address.')); - return; - } + function get_instructions() { + return _('Manage how you get email from %%site.name%%.'); + } + + function show_form($msg=NULL, $success=false) { + $user = common_current_user(); + $this->form_header(_('Email Settings'), $msg, $success); + common_element_start('form', array('method' => 'post', + 'id' => 'emailsettings', + 'action' => + common_local_url('emailsettings'))); + common_hidden('token', common_session_token()); + + common_element('h2', NULL, _('Address')); + + if ($user->email) { + common_element_start('p'); + common_element('span', 'address confirmed', $user->email); + common_element('span', 'input_instructions', + _('Current confirmed email address.')); + common_hidden('email', $user->email); + common_element_end('p'); + common_submit('remove', _('Remove')); + } else { + $confirm = $this->get_confirmation(); + if ($confirm) { + common_element_start('p'); + common_element('span', 'address unconfirmed', $confirm->address); + common_element('span', 'input_instructions', + _('Awaiting confirmation on this address. Check your inbox (and spam box!) for a message with further instructions.')); + common_hidden('email', $confirm->address); + common_element_end('p'); + common_submit('cancel', _('Cancel')); + } else { + common_input('email', _('Email Address'), + ($this->arg('email')) ? $this->arg('email') : NULL, + _('Email address, like "UserName@example.org"')); + common_submit('add', _('Add')); + } + } + + if ($user->email) { + common_element('h2', NULL, _('Incoming email')); + + if ($user->incomingemail) { + common_element_start('p'); + common_element('span', 'address', $user->incomingemail); + common_element('span', 'input_instructions', + _('Send email to this address to post new notices.')); + common_element_end('p'); + common_submit('removeincoming', _('Remove')); + } + + common_element_start('p'); + common_element('span', 'input_instructions', + _('Make a new email address for posting to; cancels the old one.')); + common_element_end('p'); + common_submit('newincoming', _('New')); + } + + common_element('h2', NULL, _('Preferences')); + + common_checkbox('emailnotifysub', + _('Send me notices of new subscriptions through email.'), + $user->emailnotifysub); + common_checkbox('emailnotifyfav', + _('Send me email when someone adds my notice as a favorite.'), + $user->emailnotifyfav); + common_checkbox('emailnotifymsg', + _('Send me email when someone sends me a private message.'), + $user->emailnotifymsg); + common_checkbox('emailnotifynudge', + _('Allow friends to nudge me and send me an email.'), + $user->emailnotifynudge); + common_checkbox('emailpost', + _('I want to post notices by email.'), + $user->emailpost); + common_checkbox('emailmicroid', + _('Publish a MicroID for my email address.'), + $user->emailmicroid); + + common_submit('save', _('Save')); + + common_element_end('form'); + common_show_footer(); + } + + function get_confirmation() { + $user = common_current_user(); + $confirm = new Confirm_address(); + $confirm->user_id = $user->id; + $confirm->address_type = 'email'; + if ($confirm->find(TRUE)) { + return $confirm; + } else { + return NULL; + } + } + + function handle_post() { + + # CSRF protection + $token = $this->trimmed('token'); + if (!$token || $token != common_session_token()) { + $this->show_form(_('There was a problem with your session token. Try again, please.')); + return; + } + + if ($this->arg('save')) { + $this->save_preferences(); + } else if ($this->arg('add')) { + $this->add_address(); + } else if ($this->arg('cancel')) { + $this->cancel_confirmation(); + } else if ($this->arg('remove')) { + $this->remove_address(); + } else if ($this->arg('removeincoming')) { + $this->remove_incoming(); + } else if ($this->arg('newincoming')) { + $this->new_incoming(); + } else { + $this->show_form(_('Unexpected form submission.')); + } + } + + function save_preferences() { + + $emailnotifysub = $this->boolean('emailnotifysub'); + $emailnotifyfav = $this->boolean('emailnotifyfav'); + $emailnotifymsg = $this->boolean('emailnotifymsg'); + $emailnotifynudge = $this->boolean('emailnotifynudge'); + $emailmicroid = $this->boolean('emailmicroid'); + $emailpost = $this->boolean('emailpost'); + + $user = common_current_user(); + + assert(!is_null($user)); # should already be checked + + $user->query('BEGIN'); + + $original = clone($user); + + $user->emailnotifysub = $emailnotifysub; + $user->emailnotifyfav = $emailnotifyfav; + $user->emailnotifymsg = $emailnotifymsg; + $user->emailnotifynudge = $emailnotifynudge; + $user->emailmicroid = $emailmicroid; + $user->emailpost = $emailpost; + + $result = $user->update($original); + + if ($result === FALSE) { + common_log_db_error($user, 'UPDATE', __FILE__); + common_server_error(_('Couldn\'t update user.')); + return; + } + + $user->query('COMMIT'); + + $this->show_form(_('Preferences saved.'), true); + } + + function add_address() { + + $user = common_current_user(); + + $email = $this->trimmed('email'); + + # Some validation + + if (!$email) { + $this->show_form(_('No email address.')); + return; + } + + $email = common_canonical_email($email); + + if (!$email) { + $this->show_form(_('Cannot normalize that email address')); + return; + } + if (!Validate::email($email, true)) { + $this->show_form(_('Not a valid email address')); + return; + } else if ($user->email == $email) { + $this->show_form(_('That is already your email address.')); + return; + } else if ($this->email_exists($email)) { + $this->show_form(_('That email address already belongs to another user.')); + return; + } + + $confirm = new Confirm_address(); + $confirm->address = $email; + $confirm->address_type = 'email'; + $confirm->user_id = $user->id; + $confirm->code = common_confirmation_code(64); + + $result = $confirm->insert(); + + if ($result === FALSE) { + common_log_db_error($confirm, 'INSERT', __FILE__); + common_server_error(_('Couldn\'t insert confirmation code.')); + return; + } + + mail_confirm_address($user, $confirm->code, $user->nickname, $email); + + $msg = _('A confirmation code was sent to the email address you added. Check your inbox (and spam box!) for the code and instructions on how to use it.'); + + $this->show_form($msg, TRUE); + } + + function cancel_confirmation() { + $email = $this->arg('email'); + $confirm = $this->get_confirmation(); + if (!$confirm) { + $this->show_form(_('No pending confirmation to cancel.')); + return; + } + if ($confirm->address != $email) { + $this->show_form(_('That is the wrong IM address.')); + return; + } $result = $confirm->delete(); if (!$result) { - common_log_db_error($confirm, 'DELETE', __FILE__); + common_log_db_error($confirm, 'DELETE', __FILE__); $this->server_error(_('Couldn\'t delete email confirmation.')); return; } $this->show_form(_('Confirmation cancelled.'), TRUE); - } - - function remove_address() { - - $user = common_current_user(); - $email = $this->arg('email'); - - # Maybe an old tab open...? - - if ($user->email != $email) { - $this->show_form(_('That is not your email address.')); - return; - } - - $user->query('BEGIN'); - $original = clone($user); - $user->email = NULL; - $result = $user->updateKeys($original); - if (!$result) { - common_log_db_error($user, 'UPDATE', __FILE__); - common_server_error(_('Couldn\'t update user.')); - return; - } - $user->query('COMMIT'); - - $this->show_form(_('The address was removed.'), TRUE); - } - - function remove_incoming() { - $user = common_current_user(); - - if (!$user->incomingemail) { - $this->show_form(_('No incoming email address.')); - return; - } - - $orig = clone($user); - $user->incomingemail = NULL; - - if (!$user->updateKeys($orig)) { - common_log_db_error($user, 'UPDATE', __FILE__); - $this->server_error(_("Couldn't update user record.")); - } - - $this->show_form(_('Incoming email address removed.'), TRUE); - } - - function new_incoming() { - $user = common_current_user(); - - $orig = clone($user); - $user->incomingemail = mail_new_incoming_address(); - - if (!$user->updateKeys($orig)) { - common_log_db_error($user, 'UPDATE', __FILE__); - $this->server_error(_("Couldn't update user record.")); - } - - $this->show_form(_('New incoming email address added.'), TRUE); - } - - function email_exists($email) { - $user = common_current_user(); - $other = User::staticGet('email', $email); - if (!$other) { - return false; - } else { - return $other->id != $user->id; - } - } + } + + function remove_address() { + + $user = common_current_user(); + $email = $this->arg('email'); + + # Maybe an old tab open...? + + if ($user->email != $email) { + $this->show_form(_('That is not your email address.')); + return; + } + + $user->query('BEGIN'); + $original = clone($user); + $user->email = NULL; + $result = $user->updateKeys($original); + if (!$result) { + common_log_db_error($user, 'UPDATE', __FILE__); + common_server_error(_('Couldn\'t update user.')); + return; + } + $user->query('COMMIT'); + + $this->show_form(_('The address was removed.'), TRUE); + } + + function remove_incoming() { + $user = common_current_user(); + + if (!$user->incomingemail) { + $this->show_form(_('No incoming email address.')); + return; + } + + $orig = clone($user); + $user->incomingemail = NULL; + + if (!$user->updateKeys($orig)) { + common_log_db_error($user, 'UPDATE', __FILE__); + $this->server_error(_("Couldn't update user record.")); + } + + $this->show_form(_('Incoming email address removed.'), TRUE); + } + + function new_incoming() { + $user = common_current_user(); + + $orig = clone($user); + $user->incomingemail = mail_new_incoming_address(); + + if (!$user->updateKeys($orig)) { + common_log_db_error($user, 'UPDATE', __FILE__); + $this->server_error(_("Couldn't update user record.")); + } + + $this->show_form(_('New incoming email address added.'), TRUE); + } + + function email_exists($email) { + $user = common_current_user(); + $other = User::staticGet('email', $email); + if (!$other) { + return false; + } else { + return $other->id != $user->id; + } + } } diff --git a/_darcs/pristine/actions/facebookhome.php b/_darcs/pristine/actions/facebookhome.php index 8ee2d4cd36..c964f451af 100644 --- a/_darcs/pristine/actions/facebookhome.php +++ b/_darcs/pristine/actions/facebookhome.php @@ -10,11 +10,11 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see . */ if (!defined('LACONICA')) { exit(1); } @@ -23,110 +23,110 @@ require_once(INSTALLDIR.'/lib/facebookaction.php'); class FacebookhomeAction extends FacebookAction { - function handle($args) { - parent::handle($args); + function handle($args) { + parent::handle($args); - $this->login(); - } + $this->login(); + } - function login() { + function login() { - $user = null; + $user = null; - $facebook = $this->get_facebook(); - $fbuid = $facebook->require_login(); + $facebook = $this->get_facebook(); + $fbuid = $facebook->require_login(); - # check to see whether there's already a Facebook link for this user - $flink = Foreign_link::getByForeignID($fbuid, 2); // 2 == Facebook + # check to see whether there's already a Facebook link for this user + $flink = Foreign_link::getByForeignID($fbuid, 2); // 2 == Facebook - if ($flink) { + if ($flink) { - $user = $flink->getUser(); - $this->show_home($facebook, $fbuid, $user); + $user = $flink->getUser(); + $this->show_home($facebook, $fbuid, $user); - } else { + } else { - # Make the user put in her Laconica creds - $nickname = common_canonical_nickname($this->trimmed('nickname')); - $password = $this->arg('password'); + # Make the user put in her Laconica creds + $nickname = common_canonical_nickname($this->trimmed('nickname')); + $password = $this->arg('password'); - if ($nickname) { + if ($nickname) { - if (common_check_user($nickname, $password)) { + if (common_check_user($nickname, $password)) { - $user = User::staticGet('nickname', $nickname); + $user = User::staticGet('nickname', $nickname); - if (!$user) { - echo ''; - $this->show_login_form(); - } + if (!$user) { + echo ''; + $this->show_login_form(); + } - $flink = DB_DataObject::factory('foreign_link'); - $flink->user_id = $user->id; - $flink->foreign_id = $fbuid; - $flink->service = 2; # Facebook - $flink->created = common_sql_now(); + $flink = DB_DataObject::factory('foreign_link'); + $flink->user_id = $user->id; + $flink->foreign_id = $fbuid; + $flink->service = 2; # Facebook + $flink->created = common_sql_now(); - # $this->set_flags($flink, $noticesync, $replysync, $friendsync); + # $this->set_flags($flink, $noticesync, $replysync, $friendsync); - $flink_id = $flink->insert(); + $flink_id = $flink->insert(); - if ($flink_id) { - echo ''; - } + if ($flink_id) { + echo ''; + } - $this->show_home($facebook, $fbuid, $user); + $this->show_home($facebook, $fbuid, $user); - return; - } else { - echo ''; - } - } + return; + } else { + echo ''; + } + } - $this->show_login_form(); - } + $this->show_login_form(); + } - } + } - function show_home($facebook, $fbuid, $user) { + function show_home($facebook, $fbuid, $user) { - $this->show_header('Home'); + $this->show_header('Home'); - echo $this->show_notices($user); - $this->update_profile_box($facebook, $fbuid, $user); + echo $this->show_notices($user); + $this->update_profile_box($facebook, $fbuid, $user); - $this->show_footer(); - } + $this->show_footer(); + } - function show_notices($user) { + function show_notices($user) { - $page = $this->trimmed('page'); - if (!$page) { - $page = 1; - } + $page = $this->trimmed('page'); + if (!$page) { + $page = 1; + } - $notice = $user->noticesWithFriends(($page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1); + $notice = $user->noticesWithFriends(($page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1); - echo '