+++ /dev/null
-<?php
-/**
- * @todo Add header and documentation
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-/*
- * Generates the cross domain communication channel file
- * (xd_receiver.html). By generating it we can add some caching
- * instructions.
- *
- * See: http://wiki.developers.facebook.com/index.php/Cross_Domain_Communication_Channel
- */
-class FBC_XDReceiverAction extends Action
-{
- /**
- * Do we need to write to the database?
- *
- * @return boolean true
- */
- function isReadonly()
- {
- return true;
- }
-
- /**
- * Handle a request
- *
- * @param array $args Arguments from $_REQUEST
- *
- * @return void
- */
- function handle($args)
- {
- // Parent handling, including cache check
- parent::handle($args);
- $this->showPage();
- }
-
- function showPage()
- {
- // cache the xd_receiver
- header('Cache-Control: max-age=225065900');
- header('Expires:');
- header('Pragma:');
-
- $this->startXML('html');
-
- $language = $this->getLanguage();
-
- $this->elementStart('html', array('xmlns' => 'http://www.w3.org/1999/xhtml',
- 'xml:lang' => $language,
- 'lang' => $language));
- $this->elementStart('head');
- $this->element('title', null, 'cross domain receiver page');
- $this->script('http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.debug.js');
- $this->elementEnd('head');
- $this->elementStart('body');
- $this->elementEnd('body');
-
- $this->elementEnd('html');
- }
-}
+++ /dev/null
-/** Styles for Facebook logo and Facebook user profile avatar.
- *
- * @package StatusNet
- * @author Sarven Capadisli <csarven@status.net>
- * @copyright 2009 StatusNet, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-#site_nav_global_primary #nav_fb {
-position:relative;
-margin-left:18px;
-}
-
-#nav_fb #fbc_profile-pic {
-position:absolute;
-top:-3px;
-left:-18px;
-display:inline;
-border:1px solid #3B5998;
-padding:1px;
-}
-
-#nav_fb #fb_favicon {
-position:absolute;
-top:-13px;
-left:-25px;
-display:inline;
-}
-
-#settings_facebook_connect_options legend {
-display:none;
-}
-#form_settings_facebook_connect fieldset fieldset legend {
-display:block;
-}
+++ /dev/null
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Plugin to enable Facebook Connect
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- *
- * @category Plugin
- * @package StatusNet
- * @author Zach Copley <zach@status.net>
- * @copyright 2009 StatusNet, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET')) {
- exit(1);
-}
-
-require_once INSTALLDIR . '/plugins/Facebook/FacebookPlugin.php';
-
-class FBConnectauthAction extends Action
-{
- var $fbuid = null;
- var $fb_fields = null;
-
- function prepare($args) {
- parent::prepare($args);
-
- $this->fbuid = getFacebook()->get_loggedin_user();
-
- if ($this->fbuid > 0) {
- $this->fb_fields = $this->getFacebookFields($this->fbuid,
- array('first_name', 'last_name', 'name'));
- } else {
- list($proxy, $ip) = common_client_ip();
-
- common_log(LOG_WARNING, 'Facebook Connect Plugin - ' .
- "Failed auth attempt, proxy = $proxy, ip = $ip.");
-
- $this->clientError(_m('You must be logged into Facebook to ' .
- 'use Facebook Connect.'));
- }
-
- return true;
- }
-
- function handle($args)
- {
- parent::handle($args);
-
- if (common_is_real_login()) {
- // User is already logged in. Does she already have a linked Facebook acct?
- $flink = Foreign_link::getByForeignID($this->fbuid, FACEBOOK_CONNECT_SERVICE);
-
- if (!empty($flink)) {
- // User already has a linked Facebook account and shouldn't be here
- common_debug('Facebook Connect Plugin - ' .
- 'There is already a local user (' . $flink->user_id .
- ') linked with this Facebook (' . $this->fbuid . ').');
-
- // We don't want these cookies
- getFacebook()->clear_cookie_state();
-
- $this->clientError(_m('There is already a local user linked with this Facebook account.'));
- } else {
-
- // User came from the Facebook connect settings tab, and
- // probably just wants to link/relink their Facebook account
- $this->connectUser();
- }
-
- } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
-
- $token = $this->trimmed('token');
- if (!$token || $token != common_session_token()) {
- $this->showForm(_m('There was a problem with your session token. Try again, please.'));
- return;
- }
- if ($this->arg('create')) {
- if (!$this->boolean('license')) {
- $this->showForm(_m('You can\'t register if you don\'t agree to the license.'),
- $this->trimmed('newname'));
- return;
- }
- $this->createNewUser();
- } else if ($this->arg('connect')) {
- $this->connectNewUser();
- } else {
- common_debug('Facebook Connect Plugin - ' .
- print_r($this->args, true));
- $this->showForm(_m('An unknown error has occured.'),
- $this->trimmed('newname'));
- }
- } else {
- $this->tryLogin();
- }
- }
-
- function showPageNotice()
- {
- if ($this->error) {
- $this->element('div', array('class' => 'error'), $this->error);
- } else {
- $this->element('div', 'instructions',
- // TRANS: %s is the site name.
- sprintf(_m('This is the first time you\'ve logged into %s so we must connect your Facebook to a local account. You can either create a new account, or connect with your existing account, if you have one.'), common_config('site', 'name')));
- }
- }
-
- function title()
- {
- // TRANS: Page title.
- return _m('Facebook Account Setup');
- }
-
- function showForm($error=null, $username=null)
- {
- $this->error = $error;
- $this->username = $username;
-
- $this->showPage();
- }
-
- function showPage()
- {
- parent::showPage();
- }
-
- /**
- * @fixme much of this duplicates core code, which is very fragile.
- * Should probably be replaced with an extensible mini version of
- * the core registration form.
- */
- function showContent()
- {
- if (!empty($this->message_text)) {
- $this->element('p', null, $this->message);
- return;
- }
-
- $this->elementStart('form', array('method' => 'post',
- 'id' => 'form_settings_facebook_connect',
- 'class' => 'form_settings',
- 'action' => common_local_url('FBConnectAuth')));
- $this->elementStart('fieldset', array('id' => 'settings_facebook_connect_options'));
- // TRANS: Legend.
- $this->element('legend', null, _m('Connection options'));
- $this->elementStart('ul', 'form_data');
- $this->elementStart('li');
- $this->element('input', array('type' => 'checkbox',
- 'id' => 'license',
- 'class' => 'checkbox',
- 'name' => 'license',
- 'value' => 'true'));
- $this->elementStart('label', array('class' => 'checkbox', 'for' => 'license'));
- // TRANS: %s is the name of the license used by the user for their status updates.
- $message = _m('My text and files are available under %s ' .
- 'except this private data: password, ' .
- 'email address, IM address, and phone number.');
- $link = '<a href="' .
- htmlspecialchars(common_config('license', 'url')) .
- '">' .
- htmlspecialchars(common_config('license', 'title')) .
- '</a>';
- $this->raw(sprintf(htmlspecialchars($message), $link));
- $this->elementEnd('label');
- $this->elementEnd('li');
- $this->elementEnd('ul');
-
- $this->elementStart('fieldset');
- $this->hidden('token', common_session_token());
- $this->element('legend', null,
- // TRANS: Legend.
- _m('Create new account'));
- $this->element('p', null,
- _m('Create a new user with this nickname.'));
- $this->elementStart('ul', 'form_data');
- $this->elementStart('li');
- // TRANS: Field label.
- $this->input('newname', _m('New nickname'),
- ($this->username) ? $this->username : '',
- _m('1-64 lowercase letters or numbers, no punctuation or spaces'));
- $this->elementEnd('li');
- $this->elementEnd('ul');
- // TRANS: Submit button.
- $this->submit('create', _m('BUTTON','Create'));
- $this->elementEnd('fieldset');
-
- $this->elementStart('fieldset');
- // TRANS: Legend.
- $this->element('legend', null,
- _m('Connect existing account'));
- $this->element('p', null,
- _m('If you already have an account, login with your username and password to connect it to your Facebook.'));
- $this->elementStart('ul', 'form_data');
- $this->elementStart('li');
- // TRANS: Field label.
- $this->input('nickname', _m('Existing nickname'));
- $this->elementEnd('li');
- $this->elementStart('li');
- $this->password('password', _m('Password'));
- $this->elementEnd('li');
- $this->elementEnd('ul');
- // TRANS: Submit button.
- $this->submit('connect', _m('BUTTON','Connect'));
- $this->elementEnd('fieldset');
-
- $this->elementEnd('fieldset');
- $this->elementEnd('form');
- }
-
- function message($msg)
- {
- $this->message_text = $msg;
- $this->showPage();
- }
-
- function createNewUser()
- {
- if (!Event::handle('StartRegistrationTry', array($this))) {
- return;
- }
-
- if (common_config('site', 'closed')) {
- // TRANS: Client error trying to register with registrations not allowed.
- $this->clientError(_m('Registration not allowed.'));
- return;
- }
-
- $invite = null;
-
- if (common_config('site', 'inviteonly')) {
- $code = $_SESSION['invitecode'];
- if (empty($code)) {
- // TRANS: Client error trying to register with registrations 'invite only'.
- $this->clientError(_m('Registration not allowed.'));
- return;
- }
-
- $invite = Invitation::staticGet($code);
-
- if (empty($invite)) {
- // TRANS: Client error trying to register with an invalid invitation code.
- $this->clientError(_m('Not a valid invitation code.'));
- return;
- }
- }
-
- try {
- $nickname = Nickname::normalize($this->trimmed('newname'));
- } catch (NicknameException $e) {
- $this->showForm($e->getMessage());
- }
-
- if (!User::allowed_nickname($nickname)) {
- $this->showForm(_m('Nickname not allowed.'));
- return;
- }
-
- if (User::staticGet('nickname', $nickname)) {
- $this->showForm(_m('Nickname already in use. Try another one.'));
- return;
- }
-
- $fullname = trim($this->fb_fields['firstname'] .
- ' ' . $this->fb_fields['lastname']);
-
- $args = array('nickname' => $nickname, 'fullname' => $fullname);
-
- if (!empty($invite)) {
- $args['code'] = $invite->code;
- }
-
- $user = User::register($args);
-
- $result = $this->flinkUser($user->id, $this->fbuid);
-
- if (!$result) {
- $this->serverError(_m('Error connecting user to Facebook.'));
- return;
- }
-
- common_set_user($user);
- common_real_login(true);
-
- common_debug('Facebook Connect Plugin - ' .
- "Registered new user $user->id from Facebook user $this->fbuid");
-
- Event::handle('EndRegistrationTry', array($this));
-
- common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)),
- 303);
- }
-
- function connectNewUser()
- {
- $nickname = $this->trimmed('nickname');
- $password = $this->trimmed('password');
-
- if (!common_check_user($nickname, $password)) {
- $this->showForm(_m('Invalid username or password.'));
- return;
- }
-
- $user = User::staticGet('nickname', $nickname);
-
- if (!empty($user)) {
- common_debug('Facebook Connect Plugin - ' .
- "Legit user to connect to Facebook: $nickname");
- }
-
- $result = $this->flinkUser($user->id, $this->fbuid);
-
- if (!$result) {
- $this->serverError(_m('Error connecting user to Facebook.'));
- return;
- }
-
- common_debug('Facebook Connnect Plugin - ' .
- "Connected Facebook user $this->fbuid to local user $user->id");
-
- common_set_user($user);
- common_real_login(true);
-
- $this->goHome($user->nickname);
- }
-
- function connectUser()
- {
- $user = common_current_user();
-
- $result = $this->flinkUser($user->id, $this->fbuid);
-
- if (empty($result)) {
- $this->serverError(_m('Error connecting user to Facebook.'));
- return;
- }
-
- common_debug('Facebook Connect Plugin - ' .
- "Connected Facebook user $this->fbuid to local user $user->id");
-
- // Return to Facebook connection settings tab
- common_redirect(common_local_url('FBConnectSettings'), 303);
- }
-
- function tryLogin()
- {
- common_debug('Facebook Connect Plugin - ' .
- "Trying login for Facebook user $this->fbuid.");
-
- $flink = Foreign_link::getByForeignID($this->fbuid, FACEBOOK_CONNECT_SERVICE);
-
- if (!empty($flink)) {
- $user = $flink->getUser();
-
- if (!empty($user)) {
-
- common_debug('Facebook Connect Plugin - ' .
- "Logged in Facebook user $flink->foreign_id as user $user->id ($user->nickname)");
-
- common_set_user($user);
- common_real_login(true);
- $this->goHome($user->nickname);
- }
-
- } else {
-
- common_debug('Facebook Connect Plugin - ' .
- "No flink found for fbuid: $this->fbuid - new user");
-
- $this->showForm(null, $this->bestNewNickname());
- }
- }
-
- function goHome($nickname)
- {
- $url = common_get_returnto();
- if ($url) {
- // We don't have to return to it again
- common_set_returnto(null);
- } else {
- $url = common_local_url('all',
- array('nickname' =>
- $nickname));
- }
-
- common_redirect($url, 303);
- }
-
- function flinkUser($user_id, $fbuid)
- {
- $flink = new Foreign_link();
- $flink->user_id = $user_id;
- $flink->foreign_id = $fbuid;
- $flink->service = FACEBOOK_CONNECT_SERVICE;
- $flink->created = common_sql_now();
-
- $flink_id = $flink->insert();
-
- return $flink_id;
- }
-
- function bestNewNickname()
- {
- if (!empty($this->fb_fields['name'])) {
- $nickname = $this->nicknamize($this->fb_fields['name']);
- if ($this->isNewNickname($nickname)) {
- return $nickname;
- }
- }
-
- // Try the full name
-
- $fullname = trim($this->fb_fields['firstname'] .
- ' ' . $this->fb_fields['lastname']);
-
- if (!empty($fullname)) {
- $fullname = $this->nicknamize($fullname);
- if ($this->isNewNickname($fullname)) {
- return $fullname;
- }
- }
-
- return null;
- }
-
- /**
- * Given a string, try to make it work as a nickname
- */
- function nicknamize($str)
- {
- $str = preg_replace('/\W/', '', $str);
- return strtolower($str);
- }
-
- function isNewNickname($str)
- {
- if (!Nickname::isValid($str)) {
- return false;
- }
- if (!User::allowed_nickname($str)) {
- return false;
- }
- if (User::staticGet('nickname', $str)) {
- return false;
- }
- return true;
- }
-
- // XXX: Consider moving this to lib/facebookutil.php
- function getFacebookFields($fb_uid, $fields) {
- try {
-
- $facebook = getFacebook();
-
- $infos = $facebook->api_client->users_getInfo($fb_uid, $fields);
-
- if (empty($infos)) {
- return null;
- }
- return reset($infos);
-
- } catch (Exception $e) {
- common_log(LOG_WARNING, 'Facebook Connect Plugin - ' .
- "Facebook client failure when requesting " .
- join(",", $fields) . " on uid " . $fb_uid .
- " : ". $e->getMessage());
- return null;
- }
- }
-}
+++ /dev/null
-<?php
-/*
- * StatusNet - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR . '/plugins/Facebook/FacebookPlugin.php';
-
-class FBConnectLoginAction extends Action
-{
- function handle($args)
- {
- parent::handle($args);
-
- if (common_is_real_login()) {
- $this->clientError(_m('Already logged in.'));
- }
-
- $this->showPage();
- }
-
- function getInstructions()
- {
- // TRANS: Instructions.
- return _m('Login with your Facebook Account');
- }
-
- function showPageNotice()
- {
- $instr = $this->getInstructions();
- $output = common_markup_to_html($instr);
- $this->elementStart('div', 'instructions');
- $this->raw($output);
- $this->elementEnd('div');
- }
-
- function title()
- {
- // TRANS: Page title.
- return _m('Facebook Login');
- }
-
- function showContent() {
-
- $this->elementStart('fieldset');
- $this->element('fb:login-button', array('onlogin' => 'goto_login()',
- 'length' => 'long'));
-
- $this->elementEnd('fieldset');
- }
-
- function showLocalNav()
- {
- $nav = new LoginGroupNav($this);
- $nav->show();
- }
-}
+++ /dev/null
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Facebook Connect settings
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- *
- * @category Settings
- * @package StatusNet
- * @author Zach Copley <zach@status.net>
- * @copyright 2009 StatusNet, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR.'/lib/connectsettingsaction.php';
-
-/**
- * Facebook Connect settings action
- *
- * @category Settings
- * @package StatusNet
- * @author Zach Copley <zach@status.net>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-class FBConnectSettingsAction extends ConnectSettingsAction
-{
- /**
- * Title of the page
- *
- * @return string Title of the page
- */
- function title()
- {
- // TRANS: Page title.
- return _m('Facebook Connect Settings');
- }
-
- /**
- * Instructions for use
- *
- * @return instructions for use
- */
- function getInstructions()
- {
- // TRANS: Instructions.
- return _m('Manage how your account connects to Facebook');
- }
-
- /**
- * Content area of the page
- *
- * Shows a form for uploading an avatar.
- *
- * @return void
- */
- function showContent()
- {
- $user = common_current_user();
- $flink = Foreign_link::getByUserID($user->id, FACEBOOK_CONNECT_SERVICE);
-
- $this->elementStart('form', array('method' => 'post',
- 'id' => 'form_settings_facebook',
- 'class' => 'form_settings',
- 'action' =>
- common_local_url('FBConnectSettings')));
-
- if (!$flink) {
-
- $this->element('p', 'instructions',
- _m('There is no Facebook user connected to this account.'));
-
- $this->element('fb:login-button', array('onlogin' => 'goto_login()',
- 'length' => 'long'));
-
- } else {
-
- $this->element('p', 'form_note',
- _m('Connected Facebook user'));
-
- $this->elementStart('p', array('class' => 'facebook-user-display'));
- $this->elementStart('fb:profile-pic',
- array('uid' => $flink->foreign_id,
- 'size' => 'small',
- 'linked' => 'true',
- 'facebook-logo' => 'true'));
- $this->elementEnd('fb:profile-pic');
-
- $this->elementStart('fb:name', array('uid' => $flink->foreign_id,
- 'useyou' => 'false'));
- $this->elementEnd('fb:name');
- $this->elementEnd('p');
-
- $this->hidden('token', common_session_token());
-
- $this->elementStart('fieldset');
-
- // TRANS: Legend.
- $this->element('legend', null, _m('Disconnect my account from Facebook'));
-
- if (!$user->password) {
-
- $this->elementStart('p', array('class' => 'form_guide'));
- // @todo FIXME: Bad i18n. Patchwork message in three parts.
- // TRANS: Followed by a link containing text "set a password".
- $this->text(_m('Disconnecting your Faceboook ' .
- 'would make it impossible to log in! Please '));
- $this->element('a',
- array('href' => common_local_url('passwordsettings')),
- // TRANS: Preceded by "Please " and followed by " first."
- _m('set a password'));
- // TRANS: Preceded by "Please set a password".
- $this->text(_m(' first.'));
- $this->elementEnd('p');
- } else {
-
- $note = 'Keep your %s account but disconnect from Facebook. ' .
- 'You\'ll use your %s password to log in.';
-
- $site = common_config('site', 'name');
-
- $this->element('p', 'instructions',
- sprintf($note, $site, $site));
-
- // TRANS: Submit button.
- $this->submit('disconnect', _m('BUTTON','Disconnect'));
- }
-
- $this->elementEnd('fieldset');
- }
-
- $this->elementEnd('form');
- }
-
- /**
- * Handle post
- *
- * Disconnects the current Facebook user from the current user's account
- *
- * @return void
- */
- function handlePost()
- {
- // CSRF protection
- $token = $this->trimmed('token');
- if (!$token || $token != common_session_token()) {
- $this->showForm(_m('There was a problem with your session token. '.
- 'Try again, please.'));
- return;
- }
-
- if ($this->arg('disconnect')) {
-
- $user = common_current_user();
-
- $flink = Foreign_link::getByUserID($user->id, FACEBOOK_CONNECT_SERVICE);
- $result = $flink->delete();
-
- if ($result === false) {
- common_log_db_error($user, 'DELETE', __FILE__);
- $this->serverError(_m('Couldn\'t delete link to Facebook.'));
- return;
- }
-
- try {
-
- // Clear FB Connect cookies out
- $facebook = getFacebook();
- $facebook->clear_cookie_state();
-
- } catch (Exception $e) {
- common_log(LOG_WARNING, 'Facebook Connect Plugin - ' .
- 'Couldn\'t clear Facebook cookies: ' .
- $e->getMessage());
- }
-
- $this->showForm(_m('You have disconnected from Facebook.'), true);
-
- } else {
- $this->showForm(_m('Not sure what you\'re trying to do.'));
- return;
- }
- }
-}
+++ /dev/null
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Plugin to add a StatusNet Facebook application
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- *
- * @category Plugin
- * @package StatusNet
- * @author Zach Copley <zach@status.net>
- * @copyright 2009-2010 StatusNet, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET')) {
- exit(1);
-}
-
-define("FACEBOOK_CONNECT_SERVICE", 3);
-
-require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
-
-/**
- * Facebook plugin to add a StatusNet Facebook canvas application
- * and allow registration and authentication via Facebook Connect
- *
- * @category Plugin
- * @package StatusNet
- * @author Zach Copley <zach@status.net>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-class FacebookPlugin extends Plugin
-{
- const VERSION = STATUSNET_VERSION;
-
- /**
- * Initializer for the plugin.
- */
-
- function initialize()
- {
- // Allow the key and secret to be passed in
- // Control panel will override
- if (isset($this->apikey)) {
- $key = common_config('facebook', 'apikey');
- if (empty($key)) {
- Config::save('facebook', 'apikey', $this->apikey);
- }
- }
-
- if (isset($this->secret)) {
- $secret = common_config('facebook', 'secret');
- if (empty($secret)) {
- Config::save(
- 'facebook',
- 'secret',
- $this->secret
- );
- }
- }
- }
-
- /**
- * Check to see if there is an API key and secret defined
- * for Facebook integration.
- *
- * @return boolean result
- */
- static function hasKeys()
- {
- $apiKey = common_config('facebook', 'apikey');
- $apiSecret = common_config('facebook', 'secret');
-
- if (!empty($apiKey) && !empty($apiSecret)) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Add Facebook app actions to the router table
- *
- * Hook for RouterInitialized event.
- *
- * @param Net_URL_Mapper &$m path-to-action mapper
- *
- * @return boolean hook return
- */
- function onStartInitializeRouter($m)
- {
- $m->connect('admin/facebook', array('action' => 'facebookadminpanel'));
-
- if (self::hasKeys()) {
- // Facebook App stuff
-
- $m->connect('facebook/app', array('action' => 'facebookhome'));
- $m->connect('facebook/app/index.php', array('action' => 'facebookhome'));
- $m->connect('facebook/app/settings.php',
- array('action' => 'facebooksettings'));
- $m->connect('facebook/app/invite.php', array('action' => 'facebookinvite'));
- $m->connect('facebook/app/remove', array('action' => 'facebookremove'));
-
- // Facebook Connect stuff
-
- $m->connect('main/facebookconnect', array('action' => 'FBConnectAuth'));
- $m->connect('main/facebooklogin', array('action' => 'FBConnectLogin'));
- $m->connect('settings/facebook', array('action' => 'FBConnectSettings'));
- $m->connect('xd_receiver.html', array('action' => 'FBC_XDReceiver'));
- }
-
- return true;
- }
-
- /**
- * Automatically load the actions and libraries used by the Facebook app
- *
- * @param Class $cls the class
- *
- * @return boolean hook return
- *
- */
- function onAutoload($cls)
- {
- switch ($cls) {
- case 'FacebookAction':
- case 'FacebookhomeAction':
- case 'FacebookinviteAction':
- case 'FacebookremoveAction':
- case 'FacebooksettingsAction':
- case 'FacebookadminpanelAction':
- include_once INSTALLDIR . '/plugins/Facebook/' .
- strtolower(mb_substr($cls, 0, -6)) . '.php';
- return false;
- case 'FBConnectAuthAction':
- case 'FBConnectLoginAction':
- case 'FBConnectSettingsAction':
- case 'FBC_XDReceiverAction':
- include_once INSTALLDIR . '/plugins/Facebook/' .
- mb_substr($cls, 0, -6) . '.php';
- return false;
- case 'FBCLoginGroupNav':
- include_once INSTALLDIR . '/plugins/Facebook/FBCLoginGroupNav.php';
- return false;
- case 'FBCSettingsNav':
- include_once INSTALLDIR . '/plugins/Facebook/FBCSettingsNav.php';
- return false;
- case 'FacebookQueueHandler':
- include_once INSTALLDIR . '/plugins/Facebook/facebookqueuehandler.php';
- return false;
- default:
- return true;
- }
- }
-
- /**
- * Add a Facebook tab to the admin panels
- *
- * @param Widget $nav Admin panel nav
- *
- * @return boolean hook value
- */
- function onEndAdminPanelNav($nav)
- {
- if (AdminPanelAction::canAdmin('facebook')) {
-
- $action_name = $nav->action->trimmed('action');
-
- $nav->out->menuItem(
- common_local_url('facebookadminpanel'),
- // TRANS: Menu item.
- _m('MENU','Facebook'),
- // TRANS: Tooltip for menu item "Facebook".
- _m('Facebook integration configuration'),
- $action_name == 'facebookadminpanel',
- 'nav_facebook_admin_panel'
- );
- }
-
- return true;
- }
-
- /**
- * Override normal HTML output to force the content type to
- * text/html and add in xmlns:fb
- *
- * @param Action $action the current action
- *
- * @return void
- */
- function onStartShowHTML($action)
- {
- if ($this->reqFbScripts($action)) {
- // XXX: Horrible hack to make Safari, FF2, and Chrome work with
- // Facebook Connect. These browser cannot use Facebook's
- // DOM parsing routines unless the mime type of the page is
- // text/html even though Facebook Connect uses XHTML. This is
- // A bug in Facebook Connect, and this is a temporary solution
- // until they fix their JavaScript libs.
-
- header('Content-Type: text/html');
-
- $action->extraHeaders();
-
- $action->startXML('html');
-
- $language = $action->getLanguage();
-
- $action->elementStart('html',
- array('xmlns' => 'http://www.w3.org/1999/xhtml',
- 'xmlns:fb' => 'http://www.facebook.com/2008/fbml',
- 'xml:lang' => $language,
- 'lang' => $language));
-
- return false;
- } else {
- return true;
- }
- }
-
- /**
- * Add in the Facebook Connect JavaScript stuff
- *
- * Note: this script needs to appear in the <body>
- *
- * @param Action $action the current action
- *
- * @return void
- *
- */
- function onEndShowScripts($action)
- {
- if ($this->reqFbScripts($action)) {
-
- $apikey = common_config('facebook', 'apikey');
- $plugin_path = 'plugins/Facebook';
-
- $login_url = common_local_url('FBConnectAuth');
- $logout_url = common_local_url('logout');
-
- // XXX: Facebook says we don't need this FB_RequireFeatures(),
- // but we actually do, for IE and Safari. Gar.
-
- $js .= ' $(document).ready(function () {';
- $js .= ' FB_RequireFeatures(';
- $js .= ' ["XFBML"], function() {';
- $js .= ' FB.init("%1$s", "../xd_receiver.html");';
- $js .= ' }';
- $js .= ' );';
- $js .= ' });';
-
- $js .= ' function goto_login() {';
- $js .= ' window.location = "%2$s";';
- $js .= ' }';
-
- // The below function alters the logout link so that it logs the user out
- // of Facebook Connect as well as the site. However, for some pages
- // (FB Connect Settings) we need to output the FB Connect scripts (to
- // show an existing FB connection even if the user isn't authenticated
- // with Facebook connect) but NOT alter the logout link. And the only
- // way to reliably do that is with the FB Connect .js libs. Crazy.
-
- $js .= ' FB.ensureInit(function() {';
- $js .= ' FB.Connect.ifUserConnected(';
- $js .= ' function() { ';
- $js .= ' $(\'#nav_logout a\').attr(\'href\', \'#\');';
- $js .= ' $(\'#nav_logout a\').click(function() {';
- $js .= ' FB.Connect.logoutAndRedirect(\'%3$s\');';
- $js .= ' return false;';
- $js .= ' })';
- $js .= ' },';
- $js .= ' function() {';
- $js .= ' return false;';
- $js .= ' }';
- $js .= ' );';
- $js .= ' });';
-
- $js = sprintf($js, $apikey, $login_url, $logout_url);
-
- // Compress the bugger down a bit
- $js = str_replace(' ', '', $js);
-
- $action->inlineScript($js);
- }
- }
-
- /**
- * Add in an additional Facebook Connect script that's supposed to
- * appear as close as possible to </body>
- *
- * @param Action $action the current action
- *
- * @return void
- *
- */
- function onEndShowFooter($action)
- {
- if ($this->reqFbScripts($action)) {
- $action->script('http://static.ak.connect.facebook.com' .
- '/js/api_lib/v0.4/FeatureLoader.js.php');
- }
- }
-
- /**
- * Output Facebook Connect specific CSS link
- *
- * @param Action $action the current action
- *
- * @return void
- *
- */
- function onEndShowStatusNetStyles($action)
- {
- if ($this->reqFbScripts($action)) {
- $action->cssLink('plugins/Facebook/FBConnect.css');
- }
- }
-
- /**
- * Does the Action we're plugged into require the FB Scripts? We only
- * want to output FB namespace, scripts, CSS, etc. on the pages that
- * really need them.
- *
- * @param Action $action the current action
- *
- * @return boolean true
- */
- function reqFbScripts($action)
- {
- if (!self::hasKeys()) {
- return false;
- }
-
- // If you're logged in w/FB Connect, you always need the FB stuff
- $fbuid = $this->loggedIn();
-
- if (!empty($fbuid)) {
- return true;
- }
-
- // List of actions that require FB stuff
- $needy = array('FBConnectLoginAction',
- 'FBConnectauthAction',
- 'FBConnectSettingsAction');
-
- if (in_array(get_class($action), $needy)) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Is the user currently logged in with FB Connect?
- *
- * @return mixed $fbuid the Facebook ID of the logged in user, or null
- */
- function loggedIn()
- {
- $user = common_current_user();
-
- if (!empty($user)) {
-
- $flink = Foreign_link::getByUserId($user->id,
- FACEBOOK_CONNECT_SERVICE);
- $fbuid = 0;
-
- if (!empty($flink)) {
- try {
- $facebook = getFacebook();
- $fbuid = $facebook->get_loggedin_user();
- } catch (Exception $e) {
- common_log(LOG_WARNING, 'Facebook Connect Plugin - ' .
- 'Problem getting Facebook user: ' .
- $e->getMessage());
- }
-
- if ($fbuid > 0) {
- return $fbuid;
- }
- }
- }
-
- return null;
- }
-
- /**
- * Add in a Facebook Connect avatar to the primary nav menu
- *
- * @param Action $action the current action
- *
- * @return void
- *
- */
- function onStartPrimaryNav($action)
- {
- if (self::hasKeys()) {
- $user = common_current_user();
- if (!empty($user)) {
- $fbuid = $this->loggedIn();
-
- if (!empty($fbuid)) {
- /* Default FB silhouette pic for FB users who haven't
- uploaded a profile pic yet. */
-
- $silhouetteUrl =
- 'http://static.ak.fbcdn.net/pics/q_silhouette.gif';
-
- $url = $this->getProfilePicURL($fbuid);
-
- $action->elementStart('li', array('id' => 'nav_fb'));
-
- $action->element('img', array('id' => 'fbc_profile-pic',
- 'src' => (!empty($url)) ? $url : $silhouetteUrl,
- 'alt' => _m('Facebook Connect User'),
- 'width' => '16'), '');
-
- $iconurl = common_path('plugins/Facebook/fbfavicon.ico');
- $action->element('img', array('id' => 'fb_favicon',
- 'src' => $iconurl));
-
- $action->elementEnd('li');
- }
- }
- }
-
- return true;
- }
-
- /*
- * Add a login tab for Facebook Connect
- *
- * @param Action $action the current action
- *
- * @return void
- */
- function onEndLoginGroupNav($action)
- {
- if (self::hasKeys()) {
- $action_name = $action->trimmed('action');
-
- $action->menuItem(common_local_url('FBConnectLogin'),
- // @todo CHECKME: Should be 'Facebook Login'?
- // TRANS: Menu item.
- _m('MENU','Facebook'),
- // TRANS: Tooltip for menu item "Facebook".
- _m('Login or register using Facebook'),
- 'FBConnectLogin' === $action_name);
- }
-
- return true;
- }
-
- /*
- * Add a tab for managing Facebook Connect settings
- *
- * @param Action $action the current action
- *
- * @return void
- */
- function onEndConnectSettingsNav($action)
- {
- if (self::hasKeys()) {
- $action_name = $action->trimmed('action');
-
- $action->menuItem(common_local_url('FBConnectSettings'),
- // @todo CHECKME: Should be 'Facebook Connect'?
- // TRANS: Menu item tab.
- _m('MENU','Facebook'),
- // TRANS: Tooltip for menu item "Facebook".
- _m('Facebook Connect Settings'),
- $action_name === 'FBConnectSettings');
- }
-
- return true;
- }
-
- /**
- * Have the logout process do some Facebook Connect cookie cleanup
- *
- * @param Action $action the current action
- *
- * @return void
- */
- function onStartLogout($action)
- {
- if (self::hasKeys()) {
-
- $action->logout();
- $fbuid = $this->loggedIn();
-
- if (!empty($fbuid)) {
- try {
- $facebook = getFacebook();
- $facebook->expire_session();
- } catch (Exception $e) {
- common_log(LOG_WARNING, 'Facebook Connect Plugin - ' .
- 'Could\'t logout of Facebook: ' .
- $e->getMessage());
- }
- }
- }
- return true;
- }
-
- /**
- * Get the URL of the user's Facebook avatar
- *
- * @param int $fbuid the Facebook user ID
- *
- * @return string $url the url for the user's Facebook avatar
- */
- function getProfilePicURL($fbuid)
- {
- $facebook = getFacebook();
- $url = null;
-
- try {
- $fqry = 'SELECT pic_square FROM user WHERE uid = %s';
-
- $result = $facebook->api_client->fql_query(sprintf($fqry, $fbuid));
-
- if (!empty($result)) {
- $url = $result[0]['pic_square'];
- }
-
- } catch (Exception $e) {
- common_log(LOG_WARNING, 'Facebook Connect Plugin - ' .
- "Facebook client failure requesting profile pic!");
- }
-
- return $url;
- }
-
- /**
- * Add a Facebook queue item for each notice
- *
- * @param Notice $notice the notice
- * @param array &$transports the list of transports (queues)
- *
- * @return boolean hook return
- */
- function onStartEnqueueNotice($notice, &$transports)
- {
- if (self::hasKeys() && $notice->isLocal()) {
- array_push($transports, 'facebook');
- }
- return true;
- }
-
- /**
- * Register Facebook notice queue handler
- *
- * @param QueueManager $manager
- *
- * @return boolean hook return
- */
- function onEndInitializeQueueManager($manager)
- {
- if (self::hasKeys()) {
- $manager->connect('facebook', 'FacebookQueueHandler');
- }
- return true;
- }
-
- function onPluginVersion(&$versions)
- {
- $versions[] = array(
- 'name' => 'Facebook',
- 'version' => self::VERSION,
- 'author' => 'Zach Copley',
- 'homepage' => 'http://status.net/wiki/Plugin:Facebook',
- // TRANS: Plugin description.
- 'rawdescription' => _m(
- 'The Facebook plugin allows integrating ' .
- 'StatusNet instances with ' .
- '<a href="http://facebook.com/">Facebook</a> ' .
- 'and Facebook Connect.'
- )
- );
- return true;
- }
-}
+++ /dev/null
-*** WARNING ***
-This plugin is deprecated as of StatusNet 0.9.7, and will soon be removed
-completely from the StatusNet codebase. Please install or upgrade to the
-new "Facebook Bridge" (plugins/FacebookBridge) plugin ASAP.
-***************
-
-Facebook Plugin
-===============
-
-This plugin allows you to use Facebook Connect with StatusNet, provides
-a Facebook canvas application for your users, and allows them to update
-their Facebook statuses from StatusNet.
-
-Facebook Connect
-----------------
-
-Facebook connect allows users to register and login using nothing but their
-Facebook credentials. With Facebook Connect, your users can:
-
-- Authenticate (register/login/logout -- works similar to OpenID)
-- Associate an existing StatusNet account with a Facebook account
-- Disconnect a Facebook account from a StatusNet account
-
-Built-in Facebook Application
------------------------------
-
-The plugin also installs a StatusNet Facebook canvas application that
-allows your users to automatically update their Facebook status with
-their latest notices, invite their friends to use the app (and thus your
-site), view their notice timelines and post notices -- all from within
-Facebook. The application is built into the StatusNet Facebook plugin
-and runs on your host.
-
-Quick setup instructions*
--------------------------
-
-Install the Facebook Developer application on Facebook:
-
- http://www.facebook.com/developers/
-
-Use it to create a new application and generate an API key and secret.
-You will need the key and secret so cut-n-paste them into your text
-editor or write them down.
-
-In Facebook's application editor, specify the following URLs for your app:
-
-- Canvas Callback URL : http://example.net/mublog/facebook/app/
-- Post-Remove Callback URL : http://example.net/mublog/facebook/app/remove
-- Post-Authorize Redirect URL : http://apps.facebook.com/yourapp/
-- Canvas Page URL : http://apps.facebook.com/yourapp/
-- Connect URL : http://example.net/mublog/
-
- *** ATTENTION ***
- These URLs have changed slightly since StatusNet version 0.8.1,
- so if you have been using the Facebook app previously, you will
- need to update your configuration!
-
-Replace "example.net" with your host's URL, "mublog" with the path to your
-StatusNet installation, and 'yourapp' with the name of the Facebook
-application you created. (If you don't have "Fancy URLs" on, you'll need to
-change http://example.net/mublog/ to http://example.net/mublog/index.php/).
-
-Additionally, Choose "Web" for Application type in the Advanced tab. In the
-"Canvas setting" section, choose the "FBML" for Render Method, "Smart Size"
-for IFrame size, and "Full width (760px)" for Canvas Width. Everything else
-can be left with default values.
-
-* NOTE: For more under-the-hood detailed instructions about setting up a
- Facebook application and getting an API key, check out the
- following pages on the Facebook wiki:
-
- http://wiki.developers.facebook.com/index.php/Connect/Setting_Up_Your_Site
- http://wiki.developers.facebook.com/index.php/Creating_your_first_application
-
-Finally you must activate the plugin by adding it in your config.php
-(this is where you'll need the API key and secret generated earlier):
-
- addPlugin(
- 'Facebook',
- array(
- 'apikey' => 'YOUR_APIKEY',
- 'secret' => 'YOUR_SECRET'
- )
- );
-
-Administration Panel
---------------------
-
-As of StatusNet 0.9.0 you can alternatively specify the key and secret
-via a Facebook administration panel from within StatusNet, in which case
-you can just add:
-
- addPlugin('Facebook');
-
-to activate the plugin.
-
-NOTE: To enable the administration panel you'll need to add it to the
-list of active administration panels, e.g.:
-
- $config['admin']['panels'][] = 'facebook';
-
-and of course you'll need a user with the administrative role to access
-it and input the API key and secret (see: scripts/userrole.php).
-
-Testing It Out
---------------
-
-If the Facebook plugin is enabled and working, there will be a new Facebook
-Connect Settings tab under each user's Connect menu. Users can connect and
-disconnect* to their Facebook accounts from it.
-
-To try out the plugin, fire up your browser and connect to:
-
- http://example.net/mublog/main/facebooklogin
-
-or, if you do not have fancy URLs turned on:
-
- http://example.net/mublog/index.php/main/facebooklogin
-
-You should see a page with a blue button that says: "Connect with Facebook"
-and you should be able to login or register.
-
-From within Facebook, you should also be able to get to the Facebook
-application, and run it by hitting the link you specified above when
-configuring it:
-
- http://apps.facebook.com/yourapp/
-
-That link should be present you with a login screen. After logging in to
-the app, you are given the option to update their Facebook status via
-StatusNet.
-
-* Note: Before a user can disconnect from Facebook, she must set a normal
- StatusNet password. Otherwise, she might not be able to login in to her
- account in the future. This is usually only required for users who have
- used Facebook Connect to register their StatusNet account, and therefore
- haven't already set a local password.
-
-Offline Queue Handling
-----------------------
-
-For larger sites needing better performance it's possible to enable
-queuing and have users' notices posted to Facebook via a separate
-"offline" process -- FacebookQueueHandler (facebookqueuhandler.php in
-the Facebook plugin directory). It will run automatically if you have
-enabled StatusNet's offline queueing subsystem. See the "Queues and
-daemons" section in the StatusNet README for more about queuing.
-
-
-TODO
-----
-
-- Make Facebook Connect work for authentication for multi-site setups
- (e.g.: *.status.net)
-- Posting to Facebook user streams using only Facebook Connect
-- Invite Facebook friends to use your StatusNet installation via Facebook
- Connect
-- Auto-subscribe Facebook friends already using StatusNet
-- Share StatusNet favorite notices to your Facebook stream
-- Allow users to update their Facebook statuses once they have authenticated
- with Facebook Connect (no need for them to use the Facebook app if they
- don't want to).
-- Import a user's Facebook updates into StatusNet
+++ /dev/null
-<?php
-// Copyright 2004-2009 Facebook. All Rights Reserved.
-//
-// +---------------------------------------------------------------------------+
-// | Facebook Platform PHP5 client |
-// +---------------------------------------------------------------------------+
-// | Copyright (c) 2007 Facebook, Inc. |
-// | All rights reserved. |
-// | |
-// | Redistribution and use in source and binary forms, with or without |
-// | modification, are permitted provided that the following conditions |
-// | are met: |
-// | |
-// | 1. Redistributions of source code must retain the above copyright |
-// | notice, this list of conditions and the following disclaimer. |
-// | 2. Redistributions in binary form must reproduce the above copyright |
-// | notice, this list of conditions and the following disclaimer in the |
-// | documentation and/or other materials provided with the distribution. |
-// | |
-// | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
-// | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
-// | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
-// | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
-// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
-// | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
-// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
-// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
-// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
-// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-// +---------------------------------------------------------------------------+
-// | For help with this library, contact developers-help@facebook.com |
-// +---------------------------------------------------------------------------+
-
-include_once 'facebookapi_php5_restlib.php';
-
-define('FACEBOOK_API_VALIDATION_ERROR', 1);
-class Facebook {
- public $api_client;
- public $api_key;
- public $secret;
- public $generate_session_secret;
- public $session_expires;
-
- public $fb_params;
- public $user;
- public $profile_user;
- public $canvas_user;
- public $ext_perms = array();
- protected $base_domain;
-
- /*
- * Create a Facebook client like this:
- *
- * $fb = new Facebook(API_KEY, SECRET);
- *
- * This will automatically pull in any parameters, validate them against the
- * session signature, and chuck them in the public $fb_params member variable.
- *
- * @param api_key your Developer API key
- * @param secret your Developer API secret
- * @param generate_session_secret whether to automatically generate a session
- * if the user doesn't have one, but
- * there is an auth token present in the url,
- */
- public function __construct($api_key, $secret, $generate_session_secret=false) {
- $this->api_key = $api_key;
- $this->secret = $secret;
- $this->generate_session_secret = $generate_session_secret;
- $this->api_client = new FacebookRestClient($api_key, $secret, null);
- $this->validate_fb_params();
-
- // Set the default user id for methods that allow the caller to
- // pass an explicit uid instead of using a session key.
- $defaultUser = null;
- if ($this->user) {
- $defaultUser = $this->user;
- } else if ($this->profile_user) {
- $defaultUser = $this->profile_user;
- } else if ($this->canvas_user) {
- $defaultUser = $this->canvas_user;
- }
-
- $this->api_client->set_user($defaultUser);
-
-
- if (isset($this->fb_params['friends'])) {
- $this->api_client->friends_list =
- array_filter(explode(',', $this->fb_params['friends']));
- }
- if (isset($this->fb_params['added'])) {
- $this->api_client->added = $this->fb_params['added'];
- }
- if (isset($this->fb_params['canvas_user'])) {
- $this->api_client->canvas_user = $this->fb_params['canvas_user'];
- }
- }
-
- /*
- * Validates that the parameters passed in were sent from Facebook. It does so
- * by validating that the signature matches one that could only be generated
- * by using your application's secret key.
- *
- * Facebook-provided parameters will come from $_POST, $_GET, or $_COOKIE,
- * in that order. $_POST and $_GET are always more up-to-date than cookies,
- * so we prefer those if they are available.
- *
- * For nitty-gritty details of when each of these is used, check out
- * http://wiki.developers.facebook.com/index.php/Verifying_The_Signature
- */
- public function validate_fb_params() {
- $this->fb_params = $this->get_valid_fb_params($_POST, 48 * 3600, 'fb_sig');
-
- // note that with preload FQL, it's possible to receive POST params in
- // addition to GET, so use a different prefix to differentiate them
- if (!$this->fb_params) {
- $fb_params = $this->get_valid_fb_params($_GET, 48 * 3600, 'fb_sig');
- $fb_post_params = $this->get_valid_fb_params($_POST,
- 48 * 3600, // 48 hours
- 'fb_post_sig');
- $this->fb_params = array_merge($fb_params, $fb_post_params);
- }
-
- // Okay, something came in via POST or GET
- if ($this->fb_params) {
- $user = isset($this->fb_params['user']) ?
- $this->fb_params['user'] : null;
- $this->profile_user = isset($this->fb_params['profile_user']) ?
- $this->fb_params['profile_user'] : null;
- $this->canvas_user = isset($this->fb_params['canvas_user']) ?
- $this->fb_params['canvas_user'] : null;
- $this->base_domain = isset($this->fb_params['base_domain']) ?
- $this->fb_params['base_domain'] : null;
- $this->ext_perms = isset($this->fb_params['ext_perms']) ?
- explode(',', $this->fb_params['ext_perms'])
- : array();
-
- if (isset($this->fb_params['session_key'])) {
- $session_key = $this->fb_params['session_key'];
- } else if (isset($this->fb_params['profile_session_key'])) {
- $session_key = $this->fb_params['profile_session_key'];
- } else {
- $session_key = null;
- }
- $expires = isset($this->fb_params['expires']) ?
- $this->fb_params['expires'] : null;
- $this->set_user($user,
- $session_key,
- $expires);
- } else if ($cookies =
- $this->get_valid_fb_params($_COOKIE, null, $this->api_key)) {
- // if no Facebook parameters were found in the GET or POST variables,
- // then fall back to cookies, which may have cached user information
- // Cookies are also used to receive session data via the Javascript API
- $base_domain_cookie = 'base_domain_' . $this->api_key;
- if (isset($_COOKIE[$base_domain_cookie])) {
- $this->base_domain = $_COOKIE[$base_domain_cookie];
- }
-
- // use $api_key . '_' as a prefix for the cookies in case there are
- // multiple facebook clients on the same domain.
- $expires = isset($cookies['expires']) ? $cookies['expires'] : null;
- $this->set_user($cookies['user'],
- $cookies['session_key'],
- $expires);
- }
-
- return !empty($this->fb_params);
- }
-
- // Store a temporary session secret for the current session
- // for use with the JS client library
- public function promote_session() {
- try {
- $session_secret = $this->api_client->auth_promoteSession();
- if (!$this->in_fb_canvas()) {
- $this->set_cookies($this->user, $this->api_client->session_key, $this->session_expires, $session_secret);
- }
- return $session_secret;
- } catch (FacebookRestClientException $e) {
- // API_EC_PARAM means we don't have a logged in user, otherwise who
- // knows what it means, so just throw it.
- if ($e->getCode() != FacebookAPIErrorCodes::API_EC_PARAM) {
- throw $e;
- }
- }
- }
-
- public function do_get_session($auth_token) {
- try {
- return $this->api_client->auth_getSession($auth_token, $this->generate_session_secret);
- } catch (FacebookRestClientException $e) {
- // API_EC_PARAM means we don't have a logged in user, otherwise who
- // knows what it means, so just throw it.
- if ($e->getCode() != FacebookAPIErrorCodes::API_EC_PARAM) {
- throw $e;
- }
- }
- }
-
- // Invalidate the session currently being used, and clear any state associated
- // with it. Note that the user will still remain logged into Facebook.
- public function expire_session() {
- try {
- if ($this->api_client->auth_expireSession()) {
- $this->clear_cookie_state();
- return true;
- } else {
- return false;
- }
- } catch (Exception $e) {
- $this->clear_cookie_state();
- }
- }
-
- /** Logs the user out of all temporary application sessions as well as their
- * Facebook session. Note this will only work if the user has a valid current
- * session with the application.
- *
- * @param string $next URL to redirect to upon logging out
- *
- */
- public function logout($next) {
- $logout_url = $this->get_logout_url($next);
-
- // Clear any stored state
- $this->clear_cookie_state();
-
- $this->redirect($logout_url);
- }
-
- /**
- * Clears any persistent state stored about the user, including
- * cookies and information related to the current session in the
- * client.
- *
- */
- public function clear_cookie_state() {
- if (!$this->in_fb_canvas() && isset($_COOKIE[$this->api_key . '_user'])) {
- $cookies = array('user', 'session_key', 'expires', 'ss');
- foreach ($cookies as $name) {
- setcookie($this->api_key . '_' . $name,
- false,
- time() - 3600,
- '',
- $this->base_domain);
- unset($_COOKIE[$this->api_key . '_' . $name]);
- }
- setcookie($this->api_key, false, time() - 3600, '', $this->base_domain);
- unset($_COOKIE[$this->api_key]);
- }
-
- // now, clear the rest of the stored state
- $this->user = 0;
- $this->api_client->session_key = 0;
- }
-
- public function redirect($url) {
- if ($this->in_fb_canvas()) {
- echo '<fb:redirect url="' . $url . '"/>';
- } else if (preg_match('/^https?:\/\/([^\/]*\.)?facebook\.com(:\d+)?/i', $url)) {
- // make sure facebook.com url's load in the full frame so that we don't
- // get a frame within a frame.
- echo "<script type=\"text/javascript\">\ntop.location.href = \"$url\";\n</script>";
- } else {
- header('Location: ' . $url);
- }
- exit;
- }
-
- public function in_frame() {
- return isset($this->fb_params['in_canvas'])
- || isset($this->fb_params['in_iframe']);
- }
- public function in_fb_canvas() {
- return isset($this->fb_params['in_canvas']);
- }
-
- public function get_loggedin_user() {
- return $this->user;
- }
-
- public function get_canvas_user() {
- return $this->canvas_user;
- }
-
- public function get_profile_user() {
- return $this->profile_user;
- }
-
- public static function current_url() {
- return 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
- }
-
- // require_add and require_install have been removed.
- // see http://developer.facebook.com/news.php?blog=1&story=116 for more details
- public function require_login($required_permissions = '') {
- $user = $this->get_loggedin_user();
- $has_permissions = true;
-
- if ($required_permissions) {
- $this->require_frame();
- $permissions = array_map('trim', explode(',', $required_permissions));
- foreach ($permissions as $permission) {
- if (!in_array($permission, $this->ext_perms)) {
- $has_permissions = false;
- break;
- }
- }
- }
-
- if ($user && $has_permissions) {
- return $user;
- }
-
- $this->redirect(
- $this->get_login_url(self::current_url(), $this->in_frame(),
- $required_permissions));
- }
-
- public function require_frame() {
- if (!$this->in_frame()) {
- $this->redirect($this->get_login_url(self::current_url(), true));
- }
- }
-
- public static function get_facebook_url($subdomain='www') {
- return 'http://' . $subdomain . '.facebook.com';
- }
-
- public function get_install_url($next=null) {
- // this was renamed, keeping for compatibility's sake
- return $this->get_add_url($next);
- }
-
- public function get_add_url($next=null) {
- $page = self::get_facebook_url().'/add.php';
- $params = array('api_key' => $this->api_key);
-
- if ($next) {
- $params['next'] = $next;
- }
-
- return $page . '?' . http_build_query($params);
- }
-
- public function get_login_url($next, $canvas, $req_perms = '') {
- $page = self::get_facebook_url().'/login.php';
- $params = array('api_key' => $this->api_key,
- 'v' => '1.0',
- 'req_perms' => $req_perms);
-
- if ($next) {
- $params['next'] = $next;
- }
- if ($canvas) {
- $params['canvas'] = '1';
- }
-
- return $page . '?' . http_build_query($params);
- }
-
- public function get_logout_url($next) {
- $page = self::get_facebook_url().'/logout.php';
- $params = array('app_key' => $this->api_key,
- 'session_key' => $this->api_client->session_key);
-
- if ($next) {
- $params['connect_next'] = 1;
- $params['next'] = $next;
- }
-
- return $page . '?' . http_build_query($params);
- }
-
- public function set_user($user, $session_key, $expires=null, $session_secret=null) {
- if (!$this->in_fb_canvas() && (!isset($_COOKIE[$this->api_key . '_user'])
- || $_COOKIE[$this->api_key . '_user'] != $user)) {
- $this->set_cookies($user, $session_key, $expires, $session_secret);
- }
- $this->user = $user;
- $this->api_client->session_key = $session_key;
- $this->session_expires = $expires;
- }
-
- public function set_cookies($user, $session_key, $expires=null, $session_secret=null) {
- $cookies = array();
- $cookies['user'] = $user;
- $cookies['session_key'] = $session_key;
- if ($expires != null) {
- $cookies['expires'] = $expires;
- }
- if ($session_secret != null) {
- $cookies['ss'] = $session_secret;
- }
-
- foreach ($cookies as $name => $val) {
- setcookie($this->api_key . '_' . $name, $val, (int)$expires, '', $this->base_domain);
- $_COOKIE[$this->api_key . '_' . $name] = $val;
- }
- $sig = self::generate_sig($cookies, $this->secret);
- setcookie($this->api_key, $sig, (int)$expires, '', $this->base_domain);
- $_COOKIE[$this->api_key] = $sig;
-
- if ($this->base_domain != null) {
- $base_domain_cookie = 'base_domain_' . $this->api_key;
- setcookie($base_domain_cookie, $this->base_domain, (int)$expires, '', $this->base_domain);
- $_COOKIE[$base_domain_cookie] = $this->base_domain;
- }
- }
-
- /**
- * Tries to undo the badness of magic quotes as best we can
- * @param string $val Should come directly from $_GET, $_POST, etc.
- * @return string val without added slashes
- */
- public static function no_magic_quotes($val) {
- if (get_magic_quotes_gpc()) {
- return stripslashes($val);
- } else {
- return $val;
- }
- }
-
- /*
- * Get the signed parameters that were sent from Facebook. Validates the set
- * of parameters against the included signature.
- *
- * Since Facebook sends data to your callback URL via unsecured means, the
- * signature is the only way to make sure that the data actually came from
- * Facebook. So if an app receives a request at the callback URL, it should
- * always verify the signature that comes with against your own secret key.
- * Otherwise, it's possible for someone to spoof a request by
- * pretending to be someone else, i.e.:
- * www.your-callback-url.com/?fb_user=10101
- *
- * This is done automatically by verify_fb_params.
- *
- * @param assoc $params a full array of external parameters.
- * presumed $_GET, $_POST, or $_COOKIE
- * @param int $timeout number of seconds that the args are good for.
- * Specifically good for forcing cookies to expire.
- * @param string $namespace prefix string for the set of parameters we want
- * to verify. i.e., fb_sig or fb_post_sig
- *
- * @return assoc the subset of parameters containing the given prefix,
- * and also matching the signature associated with them.
- * OR an empty array if the params do not validate
- */
- public function get_valid_fb_params($params, $timeout=null, $namespace='fb_sig') {
- $prefix = $namespace . '_';
- $prefix_len = strlen($prefix);
- $fb_params = array();
- if (empty($params)) {
- return array();
- }
-
- foreach ($params as $name => $val) {
- // pull out only those parameters that match the prefix
- // note that the signature itself ($params[$namespace]) is not in the list
- if (strpos($name, $prefix) === 0) {
- $fb_params[substr($name, $prefix_len)] = self::no_magic_quotes($val);
- }
- }
-
- // validate that the request hasn't expired. this is most likely
- // for params that come from $_COOKIE
- if ($timeout && (!isset($fb_params['time']) || time() - $fb_params['time'] > $timeout)) {
- return array();
- }
-
- // validate that the params match the signature
- $signature = isset($params[$namespace]) ? $params[$namespace] : null;
- if (!$signature || (!$this->verify_signature($fb_params, $signature))) {
- return array();
- }
- return $fb_params;
- }
-
- /**
- * Validates the account that a user was trying to set up an
- * independent account through Facebook Connect.
- *
- * @param user The user attempting to set up an independent account.
- * @param hash The hash passed to the reclamation URL used.
- * @return bool True if the user is the one that selected the
- * reclamation link.
- */
- public function verify_account_reclamation($user, $hash) {
- return $hash == md5($user . $this->secret);
- }
-
- /**
- * Validates that a given set of parameters match their signature.
- * Parameters all match a given input prefix, such as "fb_sig".
- *
- * @param $fb_params an array of all Facebook-sent parameters,
- * not including the signature itself
- * @param $expected_sig the expected result to check against
- */
- public function verify_signature($fb_params, $expected_sig) {
- return self::generate_sig($fb_params, $this->secret) == $expected_sig;
- }
-
- /**
- * Validate the given signed public session data structure with
- * public key of the app that
- * the session proof belongs to.
- *
- * @param $signed_data the session info that is passed by another app
- * @param string $public_key Optional public key of the app. If this
- * is not passed, function will make an API call to get it.
- * return true if the session proof passed verification.
- */
- public function verify_signed_public_session_data($signed_data,
- $public_key = null) {
-
- // If public key is not already provided, we need to get it through API
- if (!$public_key) {
- $public_key = $this->api_client->auth_getAppPublicKey(
- $signed_data['api_key']);
- }
-
- // Create data to verify
- $data_to_serialize = $signed_data;
- unset($data_to_serialize['sig']);
- $serialized_data = implode('_', $data_to_serialize);
-
- // Decode signature
- $signature = base64_decode($signed_data['sig']);
- $result = openssl_verify($serialized_data, $signature, $public_key,
- OPENSSL_ALGO_SHA1);
- return $result == 1;
- }
-
- /*
- * Generate a signature using the application secret key.
- *
- * The only two entities that know your secret key are you and Facebook,
- * according to the Terms of Service. Since nobody else can generate
- * the signature, you can rely on it to verify that the information
- * came from Facebook.
- *
- * @param $params_array an array of all Facebook-sent parameters,
- * NOT INCLUDING the signature itself
- * @param $secret your app's secret key
- *
- * @return a hash to be checked against the signature provided by Facebook
- */
- public static function generate_sig($params_array, $secret) {
- $str = '';
-
- ksort($params_array);
- // Note: make sure that the signature parameter is not already included in
- // $params_array.
- foreach ($params_array as $k=>$v) {
- $str .= "$k=$v";
- }
- $str .= $secret;
-
- return md5($str);
- }
-
- public function encode_validationError($summary, $message) {
- return json_encode(
- array('errorCode' => FACEBOOK_API_VALIDATION_ERROR,
- 'errorTitle' => $summary,
- 'errorMessage' => $message));
- }
-
- public function encode_multiFeedStory($feed, $next) {
- return json_encode(
- array('method' => 'multiFeedStory',
- 'content' =>
- array('next' => $next,
- 'feed' => $feed)));
- }
-
- public function encode_feedStory($feed, $next) {
- return json_encode(
- array('method' => 'feedStory',
- 'content' =>
- array('next' => $next,
- 'feed' => $feed)));
- }
-
- public function create_templatizedFeedStory($title_template, $title_data=array(),
- $body_template='', $body_data = array(), $body_general=null,
- $image_1=null, $image_1_link=null,
- $image_2=null, $image_2_link=null,
- $image_3=null, $image_3_link=null,
- $image_4=null, $image_4_link=null) {
- return array('title_template'=> $title_template,
- 'title_data' => $title_data,
- 'body_template'=> $body_template,
- 'body_data' => $body_data,
- 'body_general' => $body_general,
- 'image_1' => $image_1,
- 'image_1_link' => $image_1_link,
- 'image_2' => $image_2,
- 'image_2_link' => $image_2_link,
- 'image_3' => $image_3,
- 'image_3_link' => $image_3_link,
- 'image_4' => $image_4,
- 'image_4_link' => $image_4_link);
- }
-
-
-}
-
+++ /dev/null
-<?php
-// Copyright 2004-2009 Facebook. All Rights Reserved.
-//
-// +---------------------------------------------------------------------------+
-// | Facebook Platform PHP5 client |
-// +---------------------------------------------------------------------------+
-// | Copyright (c) 2007 Facebook, Inc. |
-// | All rights reserved. |
-// | |
-// | Redistribution and use in source and binary forms, with or without |
-// | modification, are permitted provided that the following conditions |
-// | are met: |
-// | |
-// | 1. Redistributions of source code must retain the above copyright |
-// | notice, this list of conditions and the following disclaimer. |
-// | 2. Redistributions in binary form must reproduce the above copyright |
-// | notice, this list of conditions and the following disclaimer in the |
-// | documentation and/or other materials provided with the distribution. |
-// | |
-// | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
-// | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
-// | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
-// | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
-// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
-// | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
-// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
-// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
-// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
-// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-// +---------------------------------------------------------------------------+
-// | For help with this library, contact developers-help@facebook.com |
-// +---------------------------------------------------------------------------+
-//
-
-/**
- * This class extends and modifies the "Facebook" class to better
- * suit desktop apps.
- */
-class FacebookDesktop extends Facebook {
- // the application secret, which differs from the session secret
- public $app_secret;
- public $verify_sig;
-
- public function __construct($api_key, $secret) {
- $this->app_secret = $secret;
- $this->verify_sig = false;
- parent::__construct($api_key, $secret);
- }
-
- public function do_get_session($auth_token) {
- $this->api_client->secret = $this->app_secret;
- $this->api_client->session_key = null;
- $session_info = parent::do_get_session($auth_token);
- if (!empty($session_info['secret'])) {
- // store the session secret
- $this->set_session_secret($session_info['secret']);
- }
- return $session_info;
- }
-
- public function set_session_secret($session_secret) {
- $this->secret = $session_secret;
- $this->api_client->use_session_secret($session_secret);
- }
-
- public function require_login() {
- if ($this->get_loggedin_user()) {
- try {
- // try a session-based API call to ensure that we have the correct
- // session secret
- $user = $this->api_client->users_getLoggedInUser();
-
- // now that we have a valid session secret, verify the signature
- $this->verify_sig = true;
- if ($this->validate_fb_params(false)) {
- return $user;
- } else {
- // validation failed
- return null;
- }
- } catch (FacebookRestClientException $ex) {
- if (isset($_GET['auth_token'])) {
- // if we have an auth_token, use it to establish a session
- $session_info = $this->do_get_session($_GET['auth_token']);
- if ($session_info) {
- return $session_info['uid'];
- }
- }
- }
- }
- // if we get here, we need to redirect the user to log in
- $this->redirect($this->get_login_url(self::current_url(), $this->in_fb_canvas()));
- }
-
- public function verify_signature($fb_params, $expected_sig) {
- // we don't want to verify the signature until we have a valid
- // session secret
- if ($this->verify_sig) {
- return parent::verify_signature($fb_params, $expected_sig);
- } else {
- return true;
- }
- }
-}
+++ /dev/null
-<?php
-// Copyright 2004-2009 Facebook. All Rights Reserved.
-//
-// +---------------------------------------------------------------------------+
-// | Facebook Platform PHP5 client |
-// +---------------------------------------------------------------------------+
-// | Copyright (c) 2007 Facebook, Inc. |
-// | All rights reserved. |
-// | |
-// | Redistribution and use in source and binary forms, with or without |
-// | modification, are permitted provided that the following conditions |
-// | are met: |
-// | |
-// | 1. Redistributions of source code must retain the above copyright |
-// | notice, this list of conditions and the following disclaimer. |
-// | 2. Redistributions in binary form must reproduce the above copyright |
-// | notice, this list of conditions and the following disclaimer in the |
-// | documentation and/or other materials provided with the distribution. |
-// | |
-// | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
-// | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
-// | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
-// | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
-// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
-// | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
-// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
-// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
-// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
-// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-// +---------------------------------------------------------------------------+
-// | For help with this library, contact developers-help@facebook.com |
-// +---------------------------------------------------------------------------+
-//
-/**
- * This class extends and modifies the "Facebook" class to better suit wap
- * apps. Since there is no javascript support, we need to use server redirect
- * to implement Facebook connect functionalities such as authenticate,
- * authorize, feed form etc.. This library provide many helper functions for
- * wap developer to locate the right wap url. The url here is targed at
- * facebook wap site or wap-friendly url.
- */
-class FacebookMobile extends Facebook {
- // the application secret, which differs from the session secret
-
- public function __construct($api_key, $secret, $generate_session_secret=false) {
- parent::__construct($api_key, $secret, $generate_session_secret);
- }
-
- public function redirect($url) {
- header('Location: '. $url);
- }
-
- public function get_m_url($action, $params) {
- $page = parent::get_facebook_url('m'). '/' .$action;
- foreach($params as $key => $val) {
- if (!$val) {
- unset($params[$key]);
- }
- }
- return $page . '?' . http_build_query($params);
- }
-
- public function get_www_url($action, $params) {
- $page = parent::get_facebook_url('www'). '/' .$action;
- foreach($params as $key => $val) {
- if (!$val) {
- unset($params[$key]);
- }
- }
- return $page . '?' . http_build_query($params);
- }
-
- public function get_add_url($next=null) {
-
- return $this->get_m_url('add.php', array('api_key' => $this->api_key,
- 'next' => $next));
- }
-
- public function get_tos_url($next=null, $cancel = null, $canvas=null) {
- return $this->get_m_url('tos.php', array('api_key' => $this->api_key,
- 'v' => '1.0',
- 'next' => $next,
- 'canvas' => $canvas,
- 'cancel' => $cancel));
- }
-
- public function get_logout_url($next=null) {
- $params = array('api_key' => $this->api_key,
- 'session_key' => $this->api_client->session_key,
- );
-
- if ($next) {
- $params['connect_next'] = 1;
- $params['next'] = $next;
- }
-
- return $this->get_m_url('logout.php', $params);
- }
- public function get_register_url($next=null, $cancel_url=null) {
- return $this->get_m_url('r.php',
- array('fbconnect' => 1,
- 'api_key' => $this->api_key,
- 'next' => $next ? $next : parent::current_url(),
- 'cancel_url' => $cancel_url ? $cancel_url : parent::current_url()));
- }
- /**
- * These set of fbconnect style url redirect back to the application current
- * page when the action is done. Developer can also use the non fbconnect
- * style url and provide their own redirect link by giving the right parameter
- * to $next and/or $cancel_url
- */
- public function get_fbconnect_register_url() {
- return $this->get_register_url(parent::current_url(), parent::current_url());
- }
- public function get_fbconnect_tos_url() {
- return $this->get_tos_url(parent::current_url(), parent::current_url(), $this->in_frame());
- }
-
- public function get_fbconnect_logout_url() {
- return $this->get_logout_url(parent::current_url());
- }
-
- public function logout_user() {
- $this->user = null;
- }
-
- public function get_prompt_permissions_url($ext_perm,
- $next=null,
- $cancel_url=null) {
-
- return $this->get_www_url('connect/prompt_permissions.php',
- array('api_key' => $this->api_key,
- 'ext_perm' => $ext_perm,
- 'next' => $next ? $next : parent::current_url(),
- 'cancel' => $cancel_url ? $cancel_url : parent::current_url(),
- 'display' => 'wap'));
-
- }
-
- /**
- * support both prompt_permissions.php and authorize.php for now.
- * authorized.php is to be deprecate though.
- */
- public function get_extended_permission_url($ext_perm,
- $next=null,
- $cancel_url=null) {
- $next = $next ? $next : parent::current_url();
- $cancel_url = $cancel_url ? $cancel_url : parent::current_url();
-
- return $this->get_m_url('authorize.php',
- array('api_key' => $this->api_key,
- 'ext_perm' => $ext_perm,
- 'next' => $next,
- 'cancel_url' => $cancel_url));
-
- }
-
- public function render_prompt_feed_url($action_links=NULL,
- $target_id=NULL,
- $message='',
- $user_message_prompt='',
- $caption=NULL,
- $callback ='',
- $cancel='',
- $attachment=NULL,
- $preview=true) {
-
- $params = array('api_key' => $this->api_key,
- 'session_key' => $this->api_client->session_key,
- );
- if (!empty($attachment)) {
- $params['attachment'] = urlencode(json_encode($attachment));
- } else {
- $attachment = new stdClass();
- $app_display_info = $this->api_client->admin_getAppProperties(array('application_name',
- 'callback_url',
- 'description',
- 'logo_url'));
- $app_display_info = $app_display_info;
- $attachment->name = $app_display_info['application_name'];
- $attachment->caption = !empty($caption) ? $caption : 'Just see what\'s new!';
- $attachment->description = $app_display_info['description'];
- $attachment->href = $app_display_info['callback_url'];
- if (!empty($app_display_info['logo_url'])) {
- $logo = new stdClass();
- $logo->type = 'image';
- $logo->src = $app_display_info['logo_url'];
- $logo->href = $app_display_info['callback_url'];
- $attachment->media = array($logo);
- }
- $params['attachment'] = urlencode(json_encode($attachment));
- }
- $params['preview'] = $preview;
- $params['message'] = $message;
- $params['user_message_prompt'] = $user_message_prompt;
- if (!empty($callback)) {
- $params['callback'] = $callback;
- } else {
- $params['callback'] = $this->current_url();
- }
- if (!empty($cancel)) {
- $params['cancel'] = $cancel;
- } else {
- $params['cancel'] = $this->current_url();
- }
-
- if (!empty($target_id)) {
- $params['target_id'] = $target_id;
- }
- if (!empty($action_links)) {
- $params['action_links'] = urlencode(json_encode($action_links));
- }
-
- $params['display'] = 'wap';
- header('Location: '. $this->get_www_url('connect/prompt_feed.php', $params));
- }
-
-//use template_id
- public function render_feed_form_url($template_id=NULL,
- $template_data=NULL,
- $user_message=NULL,
- $body_general=NULL,
- $user_message_prompt=NULL,
- $target_id=NULL,
- $callback=NULL,
- $cancel=NULL,
- $preview=true) {
-
- $params = array('api_key' => $this->api_key);
- $params['preview'] = $preview;
- if (isset($template_id) && $template_id) {
- $params['template_id'] = $template_id;
- }
- $params['message'] = $user_message ? $user_message['value'] : '';
- if (isset($body_general) && $body_general) {
- $params['body_general'] = $body_general;
- }
- if (isset($user_message_prompt) && $user_message_prompt) {
- $params['user_message_prompt'] = $user_message_prompt;
- }
- if (isset($callback) && $callback) {
- $params['callback'] = $callback;
- } else {
- $params['callback'] = $this->current_url();
- }
- if (isset($cancel) && $cancel) {
- $params['cancel'] = $cancel;
- } else {
- $params['cancel'] = $this->current_url();
- }
- if (isset($template_data) && $template_data) {
- $params['template_data'] = $template_data;
- }
- if (isset($target_id) && $target_id) {
- $params['to_ids'] = $target_id;
- }
- $params['display'] = 'wap';
- header('Location: '. $this->get_www_url('connect/prompt_feed.php', $params));
- }
-}
+++ /dev/null
-<?php
-// Copyright 2004-2009 Facebook. All Rights Reserved.
-//
-// +---------------------------------------------------------------------------+
-// | Facebook Platform PHP5 client |
-// +---------------------------------------------------------------------------+
-// | Copyright (c) 2007-2009 Facebook, Inc. |
-// | All rights reserved. |
-// | |
-// | Redistribution and use in source and binary forms, with or without |
-// | modification, are permitted provided that the following conditions |
-// | are met: |
-// | |
-// | 1. Redistributions of source code must retain the above copyright |
-// | notice, this list of conditions and the following disclaimer. |
-// | 2. Redistributions in binary form must reproduce the above copyright |
-// | notice, this list of conditions and the following disclaimer in the |
-// | documentation and/or other materials provided with the distribution. |
-// | |
-// | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
-// | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
-// | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
-// | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
-// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
-// | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
-// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
-// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
-// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
-// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-// +---------------------------------------------------------------------------+
-// | For help with this library, contact developers-help@facebook.com |
-// +---------------------------------------------------------------------------+
-//
-
-include_once 'jsonwrapper/jsonwrapper.php';
-
-class FacebookRestClient {
- public $secret;
- public $session_key;
- public $api_key;
- // to save making the friends.get api call, this will get prepopulated on
- // canvas pages
- public $friends_list;
- public $user;
- // to save making the pages.isAppAdded api call, this will get prepopulated
- // on canvas pages
- public $added;
- public $is_user;
- // we don't pass friends list to iframes, but we want to make
- // friends_get really simple in the canvas_user (non-logged in) case.
- // So we use the canvas_user as default arg to friends_get
- public $canvas_user;
- public $batch_mode;
- private $batch_queue;
- private $pending_batch;
- private $call_as_apikey;
- private $use_curl_if_available;
- private $format = null;
- private $using_session_secret = false;
- private $rawData = null;
-
- const BATCH_MODE_DEFAULT = 0;
- const BATCH_MODE_SERVER_PARALLEL = 0;
- const BATCH_MODE_SERIAL_ONLY = 2;
-
- /**
- * Create the client.
- * @param string $session_key if you haven't gotten a session key yet, leave
- * this as null and then set it later by just
- * directly accessing the $session_key member
- * variable.
- */
- public function __construct($api_key, $secret, $session_key=null) {
- $this->secret = $secret;
- $this->session_key = $session_key;
- $this->api_key = $api_key;
- $this->batch_mode = FacebookRestClient::BATCH_MODE_DEFAULT;
- $this->last_call_id = 0;
- $this->call_as_apikey = '';
- $this->use_curl_if_available = true;
- $this->server_addr =
- Facebook::get_facebook_url('api') . '/restserver.php';
- $this->photo_server_addr =
- Facebook::get_facebook_url('api-photo') . '/restserver.php';
-
- if (!empty($GLOBALS['facebook_config']['debug'])) {
- $this->cur_id = 0;
- ?>
-<script type="text/javascript">
-var types = ['params', 'xml', 'php', 'sxml'];
-function getStyle(elem, style) {
- if (elem.getStyle) {
- return elem.getStyle(style);
- } else {
- return elem.style[style];
- }
-}
-function setStyle(elem, style, value) {
- if (elem.setStyle) {
- elem.setStyle(style, value);
- } else {
- elem.style[style] = value;
- }
-}
-function toggleDisplay(id, type) {
- for (var i = 0; i < types.length; i++) {
- var t = types[i];
- var pre = document.getElementById(t + id);
- if (pre) {
- if (t != type || getStyle(pre, 'display') == 'block') {
- setStyle(pre, 'display', 'none');
- } else {
- setStyle(pre, 'display', 'block');
- }
- }
- }
- return false;
-}
-</script>
-<?php
- }
- }
-
- /**
- * Set the default user id for methods that allow the caller
- * to pass an uid parameter to identify the target user
- * instead of a session key. This currently applies to
- * the user preferences methods.
- *
- * @param $uid int the user id
- */
- public function set_user($uid) {
- $this->user = $uid;
- }
-
-
- /**
- * Switch to use the session secret instead of the app secret,
- * for desktop and unsecured environment
- */
- public function use_session_secret($session_secret) {
- $this->secret = $session_secret;
- $this->using_session_secret = true;
- }
-
- /**
- * Normally, if the cURL library/PHP extension is available, it is used for
- * HTTP transactions. This allows that behavior to be overridden, falling
- * back to a vanilla-PHP implementation even if cURL is installed.
- *
- * @param $use_curl_if_available bool whether or not to use cURL if available
- */
- public function set_use_curl_if_available($use_curl_if_available) {
- $this->use_curl_if_available = $use_curl_if_available;
- }
-
- /**
- * Start a batch operation.
- */
- public function begin_batch() {
- if ($this->pending_batch()) {
- $code = FacebookAPIErrorCodes::API_EC_BATCH_ALREADY_STARTED;
- $description = FacebookAPIErrorCodes::$api_error_descriptions[$code];
- throw new FacebookRestClientException($description, $code);
- }
-
- $this->batch_queue = array();
- $this->pending_batch = true;
- }
-
- /*
- * End current batch operation
- */
- public function end_batch() {
- if (!$this->pending_batch()) {
- $code = FacebookAPIErrorCodes::API_EC_BATCH_NOT_STARTED;
- $description = FacebookAPIErrorCodes::$api_error_descriptions[$code];
- throw new FacebookRestClientException($description, $code);
- }
-
- $this->pending_batch = false;
-
- $this->execute_server_side_batch();
- $this->batch_queue = null;
- }
-
- /**
- * are we currently queueing up calls for a batch?
- */
- public function pending_batch() {
- return $this->pending_batch;
- }
-
- private function execute_server_side_batch() {
- $item_count = count($this->batch_queue);
- $method_feed = array();
- foreach ($this->batch_queue as $batch_item) {
- $method = $batch_item['m'];
- $params = $batch_item['p'];
- list($get, $post) = $this->finalize_params($method, $params);
- $method_feed[] = $this->create_url_string(array_merge($post, $get));
- }
-
- $serial_only =
- ($this->batch_mode == FacebookRestClient::BATCH_MODE_SERIAL_ONLY);
-
- $params = array('method_feed' => json_encode($method_feed),
- 'serial_only' => $serial_only,
- 'format' => $this->format);
- $result = $this->call_method('facebook.batch.run', $params);
-
- if (is_array($result) && isset($result['error_code'])) {
- throw new FacebookRestClientException($result['error_msg'],
- $result['error_code']);
- }
-
- for ($i = 0; $i < $item_count; $i++) {
- $batch_item = $this->batch_queue[$i];
- $batch_item['p']['format'] = $this->format;
- $batch_item_result = $this->convert_result($result[$i],
- $batch_item['m'],
- $batch_item['p']);
-
- if (is_array($batch_item_result) &&
- isset($batch_item_result['error_code'])) {
- throw new FacebookRestClientException($batch_item_result['error_msg'],
- $batch_item_result['error_code']);
- }
- $batch_item['r'] = $batch_item_result;
- }
- }
-
- public function begin_permissions_mode($permissions_apikey) {
- $this->call_as_apikey = $permissions_apikey;
- }
-
- public function end_permissions_mode() {
- $this->call_as_apikey = '';
- }
-
-
- /*
- * If a page is loaded via HTTPS, then all images and static
- * resources need to be printed with HTTPS urls to avoid
- * mixed content warnings. If your page loads with an HTTPS
- * url, then call set_use_ssl_resources to retrieve the correct
- * urls.
- */
- public function set_use_ssl_resources($is_ssl = true) {
- $this->use_ssl_resources = $is_ssl;
- }
-
- /**
- * Returns public information for an application (as shown in the application
- * directory) by either application ID, API key, or canvas page name.
- *
- * @param int $application_id (Optional) app id
- * @param string $application_api_key (Optional) api key
- * @param string $application_canvas_name (Optional) canvas name
- *
- * Exactly one argument must be specified, otherwise it is an error.
- *
- * @return array An array of public information about the application.
- */
- public function application_getPublicInfo($application_id=null,
- $application_api_key=null,
- $application_canvas_name=null) {
- return $this->call_method('facebook.application.getPublicInfo',
- array('application_id' => $application_id,
- 'application_api_key' => $application_api_key,
- 'application_canvas_name' => $application_canvas_name));
- }
-
- /**
- * Creates an authentication token to be used as part of the desktop login
- * flow. For more information, please see
- * http://wiki.developers.facebook.com/index.php/Auth.createToken.
- *
- * @return string An authentication token.
- */
- public function auth_createToken() {
- return $this->call_method('facebook.auth.createToken');
- }
-
- /**
- * Returns the session information available after current user logs in.
- *
- * @param string $auth_token the token returned by auth_createToken or
- * passed back to your callback_url.
- * @param bool $generate_session_secret whether the session returned should
- * include a session secret
- * @param string $host_url the connect site URL for which the session is
- * being generated. This parameter is optional, unless
- * you want Facebook to determine which of several base domains
- * to choose from. If this third argument isn't provided but
- * there are several base domains, the first base domain is
- * chosen.
- *
- * @return array An assoc array containing session_key, uid
- */
- public function auth_getSession($auth_token,
- $generate_session_secret = false,
- $host_url = null) {
- if (!$this->pending_batch()) {
- $result = $this->call_method(
- 'facebook.auth.getSession',
- array('auth_token' => $auth_token,
- 'generate_session_secret' => $generate_session_secret,
- 'host_url' => $host_url));
- $this->session_key = $result['session_key'];
-
- if (!empty($result['secret']) && !$generate_session_secret) {
- // desktop apps have a special secret
- $this->secret = $result['secret'];
- }
-
- return $result;
- }
- }
-
- /**
- * Generates a session-specific secret. This is for integration with
- * client-side API calls, such as the JS library.
- *
- * @return array A session secret for the current promoted session
- *
- * @error API_EC_PARAM_SESSION_KEY
- * API_EC_PARAM_UNKNOWN
- */
- public function auth_promoteSession() {
- return $this->call_method('facebook.auth.promoteSession');
- }
-
- /**
- * Expires the session that is currently being used. If this call is
- * successful, no further calls to the API (which require a session) can be
- * made until a valid session is created.
- *
- * @return bool true if session expiration was successful, false otherwise
- */
- public function auth_expireSession() {
- return $this->call_method('facebook.auth.expireSession');
- }
-
- /**
- * Revokes the given extended permission that the user granted at some
- * prior time (for instance, offline_access or email). If no user is
- * provided, it will be revoked for the user of the current session.
- *
- * @param string $perm The permission to revoke
- * @param int $uid The user for whom to revoke the permission.
- */
- public function auth_revokeExtendedPermission($perm, $uid=null) {
- return $this->call_method('facebook.auth.revokeExtendedPermission',
- array('perm' => $perm, 'uid' => $uid));
- }
-
- /**
- * Revokes the user's agreement to the Facebook Terms of Service for your
- * application. If you call this method for one of your users, you will no
- * longer be able to make API requests on their behalf until they again
- * authorize your application. Use with care. Note that if this method is
- * called without a user parameter, then it will revoke access for the
- * current session's user.
- *
- * @param int $uid (Optional) User to revoke
- *
- * @return bool true if revocation succeeds, false otherwise
- */
- public function auth_revokeAuthorization($uid=null) {
- return $this->call_method('facebook.auth.revokeAuthorization',
- array('uid' => $uid));
- }
-
- /**
- * Get public key that is needed to verify digital signature
- * an app may pass to other apps. The public key is only used by
- * other apps for verification purposes.
- * @param string API key of an app
- * @return string The public key for the app.
- */
- public function auth_getAppPublicKey($target_app_key) {
- return $this->call_method('facebook.auth.getAppPublicKey',
- array('target_app_key' => $target_app_key));
- }
-
- /**
- * Get a structure that can be passed to another app
- * as proof of session. The other app can verify it using public
- * key of this app.
- *
- * @return signed public session data structure.
- */
- public function auth_getSignedPublicSessionData() {
- return $this->call_method('facebook.auth.getSignedPublicSessionData',
- array());
- }
-
- /**
- * Returns the number of unconnected friends that exist in this application.
- * This number is determined based on the accounts registered through
- * connect.registerUsers() (see below).
- */
- public function connect_getUnconnectedFriendsCount() {
- return $this->call_method('facebook.connect.getUnconnectedFriendsCount',
- array());
- }
-
- /**
- * This method is used to create an association between an external user
- * account and a Facebook user account, as per Facebook Connect.
- *
- * This method takes an array of account data, including a required email_hash
- * and optional account data. For each connected account, if the user exists,
- * the information is added to the set of the user's connected accounts.
- * If the user has already authorized the site, the connected account is added
- * in the confirmed state. If the user has not yet authorized the site, the
- * connected account is added in the pending state.
- *
- * This is designed to help Facebook Connect recognize when two Facebook
- * friends are both members of a external site, but perhaps are not aware of
- * it. The Connect dialog (see fb:connect-form) is used when friends can be
- * identified through these email hashes. See the following url for details:
- *
- * http://wiki.developers.facebook.com/index.php/Connect.registerUsers
- *
- * @param mixed $accounts A (JSON-encoded) array of arrays, where each array
- * has three properties:
- * 'email_hash' (req) - public email hash of account
- * 'account_id' (opt) - remote account id;
- * 'account_url' (opt) - url to remote account;
- *
- * @return array The list of email hashes for the successfully registered
- * accounts.
- */
- public function connect_registerUsers($accounts) {
- return $this->call_method('facebook.connect.registerUsers',
- array('accounts' => $accounts));
- }
-
- /**
- * Unregisters a set of accounts registered using connect.registerUsers.
- *
- * @param array $email_hashes The (JSON-encoded) list of email hashes to be
- * unregistered.
- *
- * @return array The list of email hashes which have been successfully
- * unregistered.
- */
- public function connect_unregisterUsers($email_hashes) {
- return $this->call_method('facebook.connect.unregisterUsers',
- array('email_hashes' => $email_hashes));
- }
-
- /**
- * Returns events according to the filters specified.
- *
- * @param int $uid (Optional) User associated with events. A null
- * parameter will default to the session user.
- * @param array/string $eids (Optional) Filter by these event
- * ids. A null parameter will get all events for
- * the user. (A csv list will work but is deprecated)
- * @param int $start_time (Optional) Filter with this unix time as lower
- * bound. A null or zero parameter indicates no
- * lower bound.
- * @param int $end_time (Optional) Filter with this UTC as upper bound.
- * A null or zero parameter indicates no upper
- * bound.
- * @param string $rsvp_status (Optional) Only show events where the given uid
- * has this rsvp status. This only works if you
- * have specified a value for $uid. Values are as
- * in events.getMembers. Null indicates to ignore
- * rsvp status when filtering.
- *
- * @return array The events matching the query.
- */
- public function &events_get($uid=null,
- $eids=null,
- $start_time=null,
- $end_time=null,
- $rsvp_status=null) {
- return $this->call_method('facebook.events.get',
- array('uid' => $uid,
- 'eids' => $eids,
- 'start_time' => $start_time,
- 'end_time' => $end_time,
- 'rsvp_status' => $rsvp_status));
- }
-
- /**
- * Returns membership list data associated with an event.
- *
- * @param int $eid event id
- *
- * @return array An assoc array of four membership lists, with keys
- * 'attending', 'unsure', 'declined', and 'not_replied'
- */
- public function &events_getMembers($eid) {
- return $this->call_method('facebook.events.getMembers',
- array('eid' => $eid));
- }
-
- /**
- * RSVPs the current user to this event.
- *
- * @param int $eid event id
- * @param string $rsvp_status 'attending', 'unsure', or 'declined'
- *
- * @return bool true if successful
- */
- public function &events_rsvp($eid, $rsvp_status) {
- return $this->call_method('facebook.events.rsvp',
- array(
- 'eid' => $eid,
- 'rsvp_status' => $rsvp_status));
- }
-
- /**
- * Cancels an event. Only works for events where application is the admin.
- *
- * @param int $eid event id
- * @param string $cancel_message (Optional) message to send to members of
- * the event about why it is cancelled
- *
- * @return bool true if successful
- */
- public function &events_cancel($eid, $cancel_message='') {
- return $this->call_method('facebook.events.cancel',
- array('eid' => $eid,
- 'cancel_message' => $cancel_message));
- }
-
- /**
- * Creates an event on behalf of the user is there is a session, otherwise on
- * behalf of app. Successful creation guarantees app will be admin.
- *
- * @param assoc array $event_info json encoded event information
- * @param string $file (Optional) filename of picture to set
- *
- * @return int event id
- */
- public function events_create($event_info, $file = null) {
- if ($file) {
- return $this->call_upload_method('facebook.events.create',
- array('event_info' => $event_info),
- $file,
- $this->photo_server_addr);
- } else {
- return $this->call_method('facebook.events.create',
- array('event_info' => $event_info));
- }
- }
-
- /**
- * Invites users to an event. If a session user exists, the session user
- * must have permissions to invite friends to the event and $uids must contain
- * a list of friend ids. Otherwise, the event must have been
- * created by the app and $uids must contain users of the app.
- * This method requires the 'create_event' extended permission to
- * invite people on behalf of a user.
- *
- * @param $eid the event id
- * @param $uids an array of users to invite
- * @param $personal_message a string containing the user's message
- * (text only)
- *
- */
- public function events_invite($eid, $uids, $personal_message) {
- return $this->call_method('facebook.events.invite',
- array('eid' => $eid,
- 'uids' => $uids,
- 'personal_message' => $personal_message));
- }
-
- /**
- * Edits an existing event. Only works for events where application is admin.
- *
- * @param int $eid event id
- * @param assoc array $event_info json encoded event information
- * @param string $file (Optional) filename of new picture to set
- *
- * @return bool true if successful
- */
- public function events_edit($eid, $event_info, $file = null) {
- if ($file) {
- return $this->call_upload_method('facebook.events.edit',
- array('eid' => $eid, 'event_info' => $event_info),
- $file,
- $this->photo_server_addr);
- } else {
- return $this->call_method('facebook.events.edit',
- array('eid' => $eid,
- 'event_info' => $event_info));
- }
- }
-
- /**
- * Fetches and re-caches the image stored at the given URL, for use in images
- * published to non-canvas pages via the API (for example, to user profiles
- * via profile.setFBML, or to News Feed via feed.publishUserAction).
- *
- * @param string $url The absolute URL from which to refresh the image.
- *
- * @return bool true on success
- */
- public function &fbml_refreshImgSrc($url) {
- return $this->call_method('facebook.fbml.refreshImgSrc',
- array('url' => $url));
- }
-
- /**
- * Fetches and re-caches the content stored at the given URL, for use in an
- * fb:ref FBML tag.
- *
- * @param string $url The absolute URL from which to fetch content. This URL
- * should be used in a fb:ref FBML tag.
- *
- * @return bool true on success
- */
- public function &fbml_refreshRefUrl($url) {
- return $this->call_method('facebook.fbml.refreshRefUrl',
- array('url' => $url));
- }
-
- /**
- * Associates a given "handle" with FBML markup so that the handle can be
- * used within the fb:ref FBML tag. A handle is unique within an application
- * and allows an application to publish identical FBML to many user profiles
- * and do subsequent updates without having to republish FBML on behalf of
- * each user.
- *
- * @param string $handle The handle to associate with the given FBML.
- * @param string $fbml The FBML to associate with the given handle.
- *
- * @return bool true on success
- */
- public function &fbml_setRefHandle($handle, $fbml) {
- return $this->call_method('facebook.fbml.setRefHandle',
- array('handle' => $handle, 'fbml' => $fbml));
- }
-
- /**
- * Register custom tags for the application. Custom tags can be used
- * to extend the set of tags available to applications in FBML
- * markup.
- *
- * Before you call this function,
- * make sure you read the full documentation at
- *
- * http://wiki.developers.facebook.com/index.php/Fbml.RegisterCustomTags
- *
- * IMPORTANT: This function overwrites the values of
- * existing tags if the names match. Use this function with care because
- * it may break the FBML of any application that is using the
- * existing version of the tags.
- *
- * @param mixed $tags an array of tag objects (the full description is on the
- * wiki page)
- *
- * @return int the number of tags that were registered
- */
- public function &fbml_registerCustomTags($tags) {
- $tags = json_encode($tags);
- return $this->call_method('facebook.fbml.registerCustomTags',
- array('tags' => $tags));
- }
-
- /**
- * Get the custom tags for an application. If $app_id
- * is not specified, the calling app's tags are returned.
- * If $app_id is different from the id of the calling app,
- * only the app's public tags are returned.
- * The return value is an array of the same type as
- * the $tags parameter of fbml_registerCustomTags().
- *
- * @param int $app_id the application's id (optional)
- *
- * @return mixed an array containing the custom tag objects
- */
- public function &fbml_getCustomTags($app_id = null) {
- return $this->call_method('facebook.fbml.getCustomTags',
- array('app_id' => $app_id));
- }
-
-
- /**
- * Delete custom tags the application has registered. If
- * $tag_names is null, all the application's custom tags will be
- * deleted.
- *
- * IMPORTANT: If your application has registered public tags
- * that other applications may be using, don't delete those tags!
- * Doing so can break the FBML ofapplications that are using them.
- *
- * @param array $tag_names the names of the tags to delete (optinal)
- * @return bool true on success
- */
- public function &fbml_deleteCustomTags($tag_names = null) {
- return $this->call_method('facebook.fbml.deleteCustomTags',
- array('tag_names' => json_encode($tag_names)));
- }
-
- /**
- * Gets the best translations for native strings submitted by an application
- * for translation. If $locale is not specified, only native strings and their
- * descriptions are returned. If $all is true, then unapproved translations
- * are returned as well, otherwise only approved translations are returned.
- *
- * A mapping of locale codes -> language names is available at
- * http://wiki.developers.facebook.com/index.php/Facebook_Locales
- *
- * @param string $locale the locale to get translations for, or 'all' for all
- * locales, or 'en_US' for native strings
- * @param bool $all whether to return all or only approved translations
- *
- * @return array (locale, array(native_strings, array('best translation
- * available given enough votes or manual approval', approval
- * status)))
- * @error API_EC_PARAM
- * @error API_EC_PARAM_BAD_LOCALE
- */
- public function &intl_getTranslations($locale = 'en_US', $all = false) {
- return $this->call_method('facebook.intl.getTranslations',
- array('locale' => $locale,
- 'all' => $all));
- }
-
- /**
- * Lets you insert text strings in their native language into the Facebook
- * Translations database so they can be translated.
- *
- * @param array $native_strings An array of maps, where each map has a 'text'
- * field and a 'description' field.
- *
- * @return int Number of strings uploaded.
- */
- public function &intl_uploadNativeStrings($native_strings) {
- return $this->call_method('facebook.intl.uploadNativeStrings',
- array('native_strings' => json_encode($native_strings)));
- }
-
- /**
- * This method is deprecated for calls made on behalf of users. This method
- * works only for publishing stories on a Facebook Page that has installed
- * your application. To publish stories to a user's profile, use
- * feed.publishUserAction instead.
- *
- * For more details on this call, please visit the wiki page:
- *
- * http://wiki.developers.facebook.com/index.php/Feed.publishTemplatizedAction
- */
- public function &feed_publishTemplatizedAction($title_template,
- $title_data,
- $body_template,
- $body_data,
- $body_general,
- $image_1=null,
- $image_1_link=null,
- $image_2=null,
- $image_2_link=null,
- $image_3=null,
- $image_3_link=null,
- $image_4=null,
- $image_4_link=null,
- $target_ids='',
- $page_actor_id=null) {
- return $this->call_method('facebook.feed.publishTemplatizedAction',
- array('title_template' => $title_template,
- 'title_data' => $title_data,
- 'body_template' => $body_template,
- 'body_data' => $body_data,
- 'body_general' => $body_general,
- 'image_1' => $image_1,
- 'image_1_link' => $image_1_link,
- 'image_2' => $image_2,
- 'image_2_link' => $image_2_link,
- 'image_3' => $image_3,
- 'image_3_link' => $image_3_link,
- 'image_4' => $image_4,
- 'image_4_link' => $image_4_link,
- 'target_ids' => $target_ids,
- 'page_actor_id' => $page_actor_id));
- }
-
- /**
- * Registers a template bundle. Template bundles are somewhat involved, so
- * it's recommended you check out the wiki for more details:
- *
- * http://wiki.developers.facebook.com/index.php/Feed.registerTemplateBundle
- *
- * @return string A template bundle id
- */
- public function &feed_registerTemplateBundle($one_line_story_templates,
- $short_story_templates = array(),
- $full_story_template = null,
- $action_links = array()) {
-
- $one_line_story_templates = json_encode($one_line_story_templates);
-
- if (!empty($short_story_templates)) {
- $short_story_templates = json_encode($short_story_templates);
- }
-
- if (isset($full_story_template)) {
- $full_story_template = json_encode($full_story_template);
- }
-
- if (isset($action_links)) {
- $action_links = json_encode($action_links);
- }
-
- return $this->call_method('facebook.feed.registerTemplateBundle',
- array('one_line_story_templates' => $one_line_story_templates,
- 'short_story_templates' => $short_story_templates,
- 'full_story_template' => $full_story_template,
- 'action_links' => $action_links));
- }
-
- /**
- * Retrieves the full list of active template bundles registered by the
- * requesting application.
- *
- * @return array An array of template bundles
- */
- public function &feed_getRegisteredTemplateBundles() {
- return $this->call_method('facebook.feed.getRegisteredTemplateBundles',
- array());
- }
-
- /**
- * Retrieves information about a specified template bundle previously
- * registered by the requesting application.
- *
- * @param string $template_bundle_id The template bundle id
- *
- * @return array Template bundle
- */
- public function &feed_getRegisteredTemplateBundleByID($template_bundle_id) {
- return $this->call_method('facebook.feed.getRegisteredTemplateBundleByID',
- array('template_bundle_id' => $template_bundle_id));
- }
-
- /**
- * Deactivates a previously registered template bundle.
- *
- * @param string $template_bundle_id The template bundle id
- *
- * @return bool true on success
- */
- public function &feed_deactivateTemplateBundleByID($template_bundle_id) {
- return $this->call_method('facebook.feed.deactivateTemplateBundleByID',
- array('template_bundle_id' => $template_bundle_id));
- }
-
- const STORY_SIZE_ONE_LINE = 1;
- const STORY_SIZE_SHORT = 2;
- const STORY_SIZE_FULL = 4;
-
- /**
- * Publishes a story on behalf of the user owning the session, using the
- * specified template bundle. This method requires an active session key in
- * order to be called.
- *
- * The parameters to this method ($templata_data in particular) are somewhat
- * involved. It's recommended you visit the wiki for details:
- *
- * http://wiki.developers.facebook.com/index.php/Feed.publishUserAction
- *
- * @param int $template_bundle_id A template bundle id previously registered
- * @param array $template_data See wiki article for syntax
- * @param array $target_ids (Optional) An array of friend uids of the
- * user who shared in this action.
- * @param string $body_general (Optional) Additional markup that extends
- * the body of a short story.
- * @param int $story_size (Optional) A story size (see above)
- * @param string $user_message (Optional) A user message for a short
- * story.
- *
- * @return bool true on success
- */
- public function &feed_publishUserAction(
- $template_bundle_id, $template_data, $target_ids='', $body_general='',
- $story_size=FacebookRestClient::STORY_SIZE_ONE_LINE,
- $user_message='') {
-
- if (is_array($template_data)) {
- $template_data = json_encode($template_data);
- } // allow client to either pass in JSON or an assoc that we JSON for them
-
- if (is_array($target_ids)) {
- $target_ids = json_encode($target_ids);
- $target_ids = trim($target_ids, "[]"); // we don't want square brackets
- }
-
- return $this->call_method('facebook.feed.publishUserAction',
- array('template_bundle_id' => $template_bundle_id,
- 'template_data' => $template_data,
- 'target_ids' => $target_ids,
- 'body_general' => $body_general,
- 'story_size' => $story_size,
- 'user_message' => $user_message));
- }
-
-
- /**
- * Publish a post to the user's stream.
- *
- * @param $message the user's message
- * @param $attachment the post's attachment (optional)
- * @param $action links the post's action links (optional)
- * @param $target_id the user on whose wall the post will be posted
- * (optional)
- * @param $uid the actor (defaults to session user)
- * @return string the post id
- */
- public function stream_publish(
- $message, $attachment = null, $action_links = null, $target_id = null,
- $uid = null) {
-
- return $this->call_method(
- 'facebook.stream.publish',
- array('message' => $message,
- 'attachment' => $attachment,
- 'action_links' => $action_links,
- 'target_id' => $target_id,
- 'uid' => $this->get_uid($uid)));
- }
-
- /**
- * Remove a post from the user's stream.
- * Currently, you may only remove stories you application created.
- *
- * @param $post_id the post id
- * @param $uid the actor (defaults to session user)
- * @return bool
- */
- public function stream_remove($post_id, $uid = null) {
- return $this->call_method(
- 'facebook.stream.remove',
- array('post_id' => $post_id,
- 'uid' => $this->get_uid($uid)));
- }
-
- /**
- * Add a comment to a stream post
- *
- * @param $post_id the post id
- * @param $comment the comment text
- * @param $uid the actor (defaults to session user)
- * @return string the id of the created comment
- */
- public function stream_addComment($post_id, $comment, $uid = null) {
- return $this->call_method(
- 'facebook.stream.addComment',
- array('post_id' => $post_id,
- 'comment' => $comment,
- 'uid' => $this->get_uid($uid)));
- }
-
-
- /**
- * Remove a comment from a stream post
- *
- * @param $comment_id the comment id
- * @param $uid the actor (defaults to session user)
- * @return bool
- */
- public function stream_removeComment($comment_id, $uid = null) {
- return $this->call_method(
- 'facebook.stream.removeComment',
- array('comment_id' => $comment_id,
- 'uid' => $this->get_uid($uid)));
- }
-
- /**
- * Add a like to a stream post
- *
- * @param $post_id the post id
- * @param $uid the actor (defaults to session user)
- * @return bool
- */
- public function stream_addLike($post_id, $uid = null) {
- return $this->call_method(
- 'facebook.stream.addLike',
- array('post_id' => $post_id,
- 'uid' => $this->get_uid($uid)));
- }
-
- /**
- * Remove a like from a stream post
- *
- * @param $post_id the post id
- * @param $uid the actor (defaults to session user)
- * @return bool
- */
- public function stream_removeLike($post_id, $uid = null) {
- return $this->call_method(
- 'facebook.stream.removeLike',
- array('post_id' => $post_id,
- 'uid' => $this->get_uid($uid)));
- }
-
- /**
- * For the current user, retrieves stories generated by the user's friends
- * while using this application. This can be used to easily create a
- * "News Feed" like experience.
- *
- * @return array An array of feed story objects.
- */
- public function &feed_getAppFriendStories() {
- return $this->call_method('facebook.feed.getAppFriendStories');
- }
-
- /**
- * Makes an FQL query. This is a generalized way of accessing all the data
- * in the API, as an alternative to most of the other method calls. More
- * info at http://wiki.developers.facebook.com/index.php/FQL
- *
- * @param string $query the query to evaluate
- *
- * @return array generalized array representing the results
- */
- public function &fql_query($query) {
- return $this->call_method('facebook.fql.query',
- array('query' => $query));
- }
-
- /**
- * Makes a set of FQL queries in parallel. This method takes a dictionary
- * of FQL queries where the keys are names for the queries. Results from
- * one query can be used within another query to fetch additional data. More
- * info about FQL queries at http://wiki.developers.facebook.com/index.php/FQL
- *
- * @param string $queries JSON-encoded dictionary of queries to evaluate
- *
- * @return array generalized array representing the results
- */
- public function &fql_multiquery($queries) {
- return $this->call_method('facebook.fql.multiquery',
- array('queries' => $queries));
- }
-
- /**
- * Returns whether or not pairs of users are friends.
- * Note that the Facebook friend relationship is symmetric.
- *
- * @param array/string $uids1 list of ids (id_1, id_2,...)
- * of some length X (csv is deprecated)
- * @param array/string $uids2 list of ids (id_A, id_B,...)
- * of SAME length X (csv is deprecated)
- *
- * @return array An array with uid1, uid2, and bool if friends, e.g.:
- * array(0 => array('uid1' => id_1, 'uid2' => id_A, 'are_friends' => 1),
- * 1 => array('uid1' => id_2, 'uid2' => id_B, 'are_friends' => 0)
- * ...)
- * @error
- * API_EC_PARAM_USER_ID_LIST
- */
- public function &friends_areFriends($uids1, $uids2) {
- return $this->call_method('facebook.friends.areFriends',
- array('uids1' => $uids1,
- 'uids2' => $uids2));
- }
-
- /**
- * Returns the friends of the current session user.
- *
- * @param int $flid (Optional) Only return friends on this friend list.
- * @param int $uid (Optional) Return friends for this user.
- *
- * @return array An array of friends
- */
- public function &friends_get($flid=null, $uid = null) {
- if (isset($this->friends_list)) {
- return $this->friends_list;
- }
- $params = array();
- if (!$uid && isset($this->canvas_user)) {
- $uid = $this->canvas_user;
- }
- if ($uid) {
- $params['uid'] = $uid;
- }
- if ($flid) {
- $params['flid'] = $flid;
- }
- return $this->call_method('facebook.friends.get', $params);
-
- }
-
- /**
- * Returns the mutual friends between the target uid and a source uid or
- * the current session user.
- *
- * @param int $target_uid Target uid for which mutual friends will be found.
- * @param int $source_uid (optional) Source uid for which mutual friends will
- * be found. If no source_uid is specified,
- * source_id will default to the session
- * user.
- * @return array An array of friend uids
- */
- public function &friends_getMutualFriends($target_uid, $source_uid = null) {
- return $this->call_method('facebook.friends.getMutualFriends',
- array("target_uid" => $target_uid,
- "source_uid" => $source_uid));
- }
-
- /**
- * Returns the set of friend lists for the current session user.
- *
- * @return array An array of friend list objects
- */
- public function &friends_getLists() {
- return $this->call_method('facebook.friends.getLists');
- }
-
- /**
- * Returns the friends of the session user, who are also users
- * of the calling application.
- *
- * @return array An array of friends also using the app
- */
- public function &friends_getAppUsers() {
- return $this->call_method('facebook.friends.getAppUsers');
- }
-
- /**
- * Returns groups according to the filters specified.
- *
- * @param int $uid (Optional) User associated with groups. A null
- * parameter will default to the session user.
- * @param array/string $gids (Optional) Array of group ids to query. A null
- * parameter will get all groups for the user.
- * (csv is deprecated)
- *
- * @return array An array of group objects
- */
- public function &groups_get($uid, $gids) {
- return $this->call_method('facebook.groups.get',
- array('uid' => $uid,
- 'gids' => $gids));
- }
-
- /**
- * Returns the membership list of a group.
- *
- * @param int $gid Group id
- *
- * @return array An array with four membership lists, with keys 'members',
- * 'admins', 'officers', and 'not_replied'
- */
- public function &groups_getMembers($gid) {
- return $this->call_method('facebook.groups.getMembers',
- array('gid' => $gid));
- }
-
- /**
- * Returns cookies according to the filters specified.
- *
- * @param int $uid User for which the cookies are needed.
- * @param string $name (Optional) A null parameter will get all cookies
- * for the user.
- *
- * @return array Cookies! Nom nom nom nom nom.
- */
- public function data_getCookies($uid, $name) {
- return $this->call_method('facebook.data.getCookies',
- array('uid' => $uid,
- 'name' => $name));
- }
-
- /**
- * Sets cookies according to the params specified.
- *
- * @param int $uid User for which the cookies are needed.
- * @param string $name Name of the cookie
- * @param string $value (Optional) if expires specified and is in the past
- * @param int $expires (Optional) Expiry time
- * @param string $path (Optional) Url path to associate with (default is /)
- *
- * @return bool true on success
- */
- public function data_setCookie($uid, $name, $value, $expires, $path) {
- return $this->call_method('facebook.data.setCookie',
- array('uid' => $uid,
- 'name' => $name,
- 'value' => $value,
- 'expires' => $expires,
- 'path' => $path));
- }
-
- /**
- * Retrieves links posted by the given user.
- *
- * @param int $uid The user whose links you wish to retrieve
- * @param int $limit The maximimum number of links to retrieve
- * @param array $link_ids (Optional) Array of specific link
- * IDs to retrieve by this user
- *
- * @return array An array of links.
- */
- public function &links_get($uid, $limit, $link_ids = null) {
- return $this->call_method('links.get',
- array('uid' => $uid,
- 'limit' => $limit,
- 'link_ids' => $link_ids));
- }
-
- /**
- * Posts a link on Facebook.
- *
- * @param string $url URL/link you wish to post
- * @param string $comment (Optional) A comment about this link
- * @param int $uid (Optional) User ID that is posting this link;
- * defaults to current session user
- *
- * @return bool
- */
- public function &links_post($url, $comment='', $uid = null) {
- return $this->call_method('links.post',
- array('uid' => $uid,
- 'url' => $url,
- 'comment' => $comment));
- }
-
- /**
- * Permissions API
- */
-
- /**
- * Checks API-access granted by self to the specified application.
- *
- * @param string $permissions_apikey Other application key
- *
- * @return array API methods/namespaces which are allowed access
- */
- public function permissions_checkGrantedApiAccess($permissions_apikey) {
- return $this->call_method('facebook.permissions.checkGrantedApiAccess',
- array('permissions_apikey' => $permissions_apikey));
- }
-
- /**
- * Checks API-access granted to self by the specified application.
- *
- * @param string $permissions_apikey Other application key
- *
- * @return array API methods/namespaces which are allowed access
- */
- public function permissions_checkAvailableApiAccess($permissions_apikey) {
- return $this->call_method('facebook.permissions.checkAvailableApiAccess',
- array('permissions_apikey' => $permissions_apikey));
- }
-
- /**
- * Grant API-access to the specified methods/namespaces to the specified
- * application.
- *
- * @param string $permissions_apikey Other application key
- * @param array(string) $method_arr (Optional) API methods/namespaces
- * allowed
- *
- * @return array API methods/namespaces which are allowed access
- */
- public function permissions_grantApiAccess($permissions_apikey, $method_arr) {
- return $this->call_method('facebook.permissions.grantApiAccess',
- array('permissions_apikey' => $permissions_apikey,
- 'method_arr' => $method_arr));
- }
-
- /**
- * Revoke API-access granted to the specified application.
- *
- * @param string $permissions_apikey Other application key
- *
- * @return bool true on success
- */
- public function permissions_revokeApiAccess($permissions_apikey) {
- return $this->call_method('facebook.permissions.revokeApiAccess',
- array('permissions_apikey' => $permissions_apikey));
- }
-
- /**
- * Payments Order API
- */
-
- /**
- * Set Payments properties for an app.
- *
- * @param properties a map from property names to values
- * @return true on success
- */
- public function payments_setProperties($properties) {
- return $this->call_method ('facebook.payments.setProperties',
- array('properties' => json_encode($properties)));
- }
-
- public function payments_getOrderDetails($order_id) {
- return json_decode($this->call_method(
- 'facebook.payments.getOrderDetails',
- array('order_id' => $order_id)), true);
- }
-
- public function payments_updateOrder($order_id, $status,
- $params) {
- return $this->call_method('facebook.payments.updateOrder',
- array('order_id' => $order_id,
- 'status' => $status,
- 'params' => json_encode($params)));
- }
-
- public function payments_getOrders($status, $start_time,
- $end_time, $test_mode=false) {
- return json_decode($this->call_method('facebook.payments.getOrders',
- array('status' => $status,
- 'start_time' => $start_time,
- 'end_time' => $end_time,
- 'test_mode' => $test_mode)), true);
- }
-
- /**
- * Gifts API
- */
-
- /**
- * Get Gifts associated with an app
- *
- * @return array of gifts
- */
- public function gifts_get() {
- return json_decode(
- $this->call_method('facebook.gifts.get',
- array()),
- true
- );
- }
-
- /*
- * Update gifts stored by an app
- *
- * @param array containing gift_id => gift_data to be updated
- * @return array containing gift_id => true/false indicating success
- * in updating that gift
- */
- public function gifts_update($update_array) {
- return json_decode(
- $this->call_method('facebook.gifts.update',
- array('update_str' => json_encode($update_array))
- ),
- true
- );
- }
-
-
- /**
- * Creates a note with the specified title and content.
- *
- * @param string $title Title of the note.
- * @param string $content Content of the note.
- * @param int $uid (Optional) The user for whom you are creating a
- * note; defaults to current session user
- *
- * @return int The ID of the note that was just created.
- */
- public function ¬es_create($title, $content, $uid = null) {
- return $this->call_method('notes.create',
- array('uid' => $uid,
- 'title' => $title,
- 'content' => $content));
- }
-
- /**
- * Deletes the specified note.
- *
- * @param int $note_id ID of the note you wish to delete
- * @param int $uid (Optional) Owner of the note you wish to delete;
- * defaults to current session user
- *
- * @return bool
- */
- public function ¬es_delete($note_id, $uid = null) {
- return $this->call_method('notes.delete',
- array('uid' => $uid,
- 'note_id' => $note_id));
- }
-
- /**
- * Edits a note, replacing its title and contents with the title
- * and contents specified.
- *
- * @param int $note_id ID of the note you wish to edit
- * @param string $title Replacement title for the note
- * @param string $content Replacement content for the note
- * @param int $uid (Optional) Owner of the note you wish to edit;
- * defaults to current session user
- *
- * @return bool
- */
- public function ¬es_edit($note_id, $title, $content, $uid = null) {
- return $this->call_method('notes.edit',
- array('uid' => $uid,
- 'note_id' => $note_id,
- 'title' => $title,
- 'content' => $content));
- }
-
- /**
- * Retrieves all notes by a user. If note_ids are specified,
- * retrieves only those specific notes by that user.
- *
- * @param int $uid User whose notes you wish to retrieve
- * @param array $note_ids (Optional) List of specific note
- * IDs by this user to retrieve
- *
- * @return array A list of all of the given user's notes, or an empty list
- * if the viewer lacks permissions or if there are no visible
- * notes.
- */
- public function ¬es_get($uid, $note_ids = null) {
- return $this->call_method('notes.get',
- array('uid' => $uid,
- 'note_ids' => $note_ids));
- }
-
-
- /**
- * Returns the outstanding notifications for the session user.
- *
- * @return array An assoc array of notification count objects for
- * 'messages', 'pokes' and 'shares', a uid list of
- * 'friend_requests', a gid list of 'group_invites',
- * and an eid list of 'event_invites'
- */
- public function ¬ifications_get() {
- return $this->call_method('facebook.notifications.get');
- }
-
- /**
- * Sends a notification to the specified users.
- *
- * @return A comma separated list of successful recipients
- * @error
- * API_EC_PARAM_USER_ID_LIST
- */
- public function ¬ifications_send($to_ids, $notification, $type) {
- return $this->call_method('facebook.notifications.send',
- array('to_ids' => $to_ids,
- 'notification' => $notification,
- 'type' => $type));
- }
-
- /**
- * Sends an email to the specified user of the application.
- *
- * @param array/string $recipients array of ids of the recipients (csv is deprecated)
- * @param string $subject subject of the email
- * @param string $text (plain text) body of the email
- * @param string $fbml fbml markup for an html version of the email
- *
- * @return string A comma separated list of successful recipients
- * @error
- * API_EC_PARAM_USER_ID_LIST
- */
- public function ¬ifications_sendEmail($recipients,
- $subject,
- $text,
- $fbml) {
- return $this->call_method('facebook.notifications.sendEmail',
- array('recipients' => $recipients,
- 'subject' => $subject,
- 'text' => $text,
- 'fbml' => $fbml));
- }
-
- /**
- * Returns the requested info fields for the requested set of pages.
- *
- * @param array/string $page_ids an array of page ids (csv is deprecated)
- * @param array/string $fields an array of strings describing the
- * info fields desired (csv is deprecated)
- * @param int $uid (Optional) limit results to pages of which this
- * user is a fan.
- * @param string type limits results to a particular type of page.
- *
- * @return array An array of pages
- */
- public function &pages_getInfo($page_ids, $fields, $uid, $type) {
- return $this->call_method('facebook.pages.getInfo',
- array('page_ids' => $page_ids,
- 'fields' => $fields,
- 'uid' => $uid,
- 'type' => $type));
- }
-
- /**
- * Returns true if the given user is an admin for the passed page.
- *
- * @param int $page_id target page id
- * @param int $uid (Optional) user id (defaults to the logged-in user)
- *
- * @return bool true on success
- */
- public function &pages_isAdmin($page_id, $uid = null) {
- return $this->call_method('facebook.pages.isAdmin',
- array('page_id' => $page_id,
- 'uid' => $uid));
- }
-
- /**
- * Returns whether or not the given page has added the application.
- *
- * @param int $page_id target page id
- *
- * @return bool true on success
- */
- public function &pages_isAppAdded($page_id) {
- return $this->call_method('facebook.pages.isAppAdded',
- array('page_id' => $page_id));
- }
-
- /**
- * Returns true if logged in user is a fan for the passed page.
- *
- * @param int $page_id target page id
- * @param int $uid user to compare. If empty, the logged in user.
- *
- * @return bool true on success
- */
- public function &pages_isFan($page_id, $uid = null) {
- return $this->call_method('facebook.pages.isFan',
- array('page_id' => $page_id,
- 'uid' => $uid));
- }
-
- /**
- * Adds a tag with the given information to a photo. See the wiki for details:
- *
- * http://wiki.developers.facebook.com/index.php/Photos.addTag
- *
- * @param int $pid The ID of the photo to be tagged
- * @param int $tag_uid The ID of the user being tagged. You must specify
- * either the $tag_uid or the $tag_text parameter
- * (unless $tags is specified).
- * @param string $tag_text Some text identifying the person being tagged.
- * You must specify either the $tag_uid or $tag_text
- * parameter (unless $tags is specified).
- * @param float $x The horizontal position of the tag, as a
- * percentage from 0 to 100, from the left of the
- * photo.
- * @param float $y The vertical position of the tag, as a percentage
- * from 0 to 100, from the top of the photo.
- * @param array $tags (Optional) An array of maps, where each map
- * can contain the tag_uid, tag_text, x, and y
- * parameters defined above. If specified, the
- * individual arguments are ignored.
- * @param int $owner_uid (Optional) The user ID of the user whose photo
- * you are tagging. If this parameter is not
- * specified, then it defaults to the session user.
- *
- * @return bool true on success
- */
- public function &photos_addTag($pid,
- $tag_uid,
- $tag_text,
- $x,
- $y,
- $tags,
- $owner_uid=0) {
- return $this->call_method('facebook.photos.addTag',
- array('pid' => $pid,
- 'tag_uid' => $tag_uid,
- 'tag_text' => $tag_text,
- 'x' => $x,
- 'y' => $y,
- 'tags' => (is_array($tags)) ? json_encode($tags) : null,
- 'owner_uid' => $this->get_uid($owner_uid)));
- }
-
- /**
- * Creates and returns a new album owned by the specified user or the current
- * session user.
- *
- * @param string $name The name of the album.
- * @param string $description (Optional) A description of the album.
- * @param string $location (Optional) A description of the location.
- * @param string $visible (Optional) A privacy setting for the album.
- * One of 'friends', 'friends-of-friends',
- * 'networks', or 'everyone'. Default 'everyone'.
- * @param int $uid (Optional) User id for creating the album; if
- * not specified, the session user is used.
- *
- * @return array An album object
- */
- public function &photos_createAlbum($name,
- $description='',
- $location='',
- $visible='',
- $uid=0) {
- return $this->call_method('facebook.photos.createAlbum',
- array('name' => $name,
- 'description' => $description,
- 'location' => $location,
- 'visible' => $visible,
- 'uid' => $this->get_uid($uid)));
- }
-
- /**
- * Returns photos according to the filters specified.
- *
- * @param int $subj_id (Optional) Filter by uid of user tagged in the photos.
- * @param int $aid (Optional) Filter by an album, as returned by
- * photos_getAlbums.
- * @param array/string $pids (Optional) Restrict to an array of pids
- * (csv is deprecated)
- *
- * Note that at least one of these parameters needs to be specified, or an
- * error is returned.
- *
- * @return array An array of photo objects.
- */
- public function &photos_get($subj_id, $aid, $pids) {
- return $this->call_method('facebook.photos.get',
- array('subj_id' => $subj_id, 'aid' => $aid, 'pids' => $pids));
- }
-
- /**
- * Returns the albums created by the given user.
- *
- * @param int $uid (Optional) The uid of the user whose albums you want.
- * A null will return the albums of the session user.
- * @param string $aids (Optional) An array of aids to restrict
- * the query. (csv is deprecated)
- *
- * Note that at least one of the (uid, aids) parameters must be specified.
- *
- * @returns an array of album objects.
- */
- public function &photos_getAlbums($uid, $aids) {
- return $this->call_method('facebook.photos.getAlbums',
- array('uid' => $uid,
- 'aids' => $aids));
- }
-
- /**
- * Returns the tags on all photos specified.
- *
- * @param string $pids A list of pids to query
- *
- * @return array An array of photo tag objects, which include pid,
- * subject uid, and two floating-point numbers (xcoord, ycoord)
- * for tag pixel location.
- */
- public function &photos_getTags($pids) {
- return $this->call_method('facebook.photos.getTags',
- array('pids' => $pids));
- }
-
- /**
- * Uploads a photo.
- *
- * @param string $file The location of the photo on the local filesystem.
- * @param int $aid (Optional) The album into which to upload the
- * photo.
- * @param string $caption (Optional) A caption for the photo.
- * @param int uid (Optional) The user ID of the user whose photo you
- * are uploading
- *
- * @return array An array of user objects
- */
- public function photos_upload($file, $aid=null, $caption=null, $uid=null) {
- return $this->call_upload_method('facebook.photos.upload',
- array('aid' => $aid,
- 'caption' => $caption,
- 'uid' => $uid),
- $file);
- }
-
-
- /**
- * Uploads a video.
- *
- * @param string $file The location of the video on the local filesystem.
- * @param string $title (Optional) A title for the video. Titles over 65 characters in length will be truncated.
- * @param string $description (Optional) A description for the video.
- *
- * @return array An array with the video's ID, title, description, and a link to view it on Facebook.
- */
- public function video_upload($file, $title=null, $description=null) {
- return $this->call_upload_method('facebook.video.upload',
- array('title' => $title,
- 'description' => $description),
- $file,
- Facebook::get_facebook_url('api-video') . '/restserver.php');
- }
-
- /**
- * Returns an array with the video limitations imposed on the current session's
- * associated user. Maximum length is measured in seconds; maximum size is
- * measured in bytes.
- *
- * @return array Array with "length" and "size" keys
- */
- public function &video_getUploadLimits() {
- return $this->call_method('facebook.video.getUploadLimits');
- }
-
- /**
- * Returns the requested info fields for the requested set of users.
- *
- * @param array/string $uids An array of user ids (csv is deprecated)
- * @param array/string $fields An array of info field names desired (csv is deprecated)
- *
- * @return array An array of user objects
- */
- public function &users_getInfo($uids, $fields) {
- return $this->call_method('facebook.users.getInfo',
- array('uids' => $uids,
- 'fields' => $fields));
- }
-
- /**
- * Returns the requested info fields for the requested set of users. A
- * session key must not be specified. Only data about users that have
- * authorized your application will be returned.
- *
- * Check the wiki for fields that can be queried through this API call.
- * Data returned from here should not be used for rendering to application
- * users, use users.getInfo instead, so that proper privacy rules will be
- * applied.
- *
- * @param array/string $uids An array of user ids (csv is deprecated)
- * @param array/string $fields An array of info field names desired (csv is deprecated)
- *
- * @return array An array of user objects
- */
- public function &users_getStandardInfo($uids, $fields) {
- return $this->call_method('facebook.users.getStandardInfo',
- array('uids' => $uids,
- 'fields' => $fields));
- }
-
- /**
- * Returns the user corresponding to the current session object.
- *
- * @return integer User id
- */
- public function &users_getLoggedInUser() {
- return $this->call_method('facebook.users.getLoggedInUser');
- }
-
- /**
- * Returns 1 if the user has the specified permission, 0 otherwise.
- * http://wiki.developers.facebook.com/index.php/Users.hasAppPermission
- *
- * @return integer 1 or 0
- */
- public function &users_hasAppPermission($ext_perm, $uid=null) {
- return $this->call_method('facebook.users.hasAppPermission',
- array('ext_perm' => $ext_perm, 'uid' => $uid));
- }
-
- /**
- * Returns whether or not the user corresponding to the current
- * session object has the give the app basic authorization.
- *
- * @return boolean true if the user has authorized the app
- */
- public function &users_isAppUser($uid=null) {
- if ($uid === null && isset($this->is_user)) {
- return $this->is_user;
- }
-
- return $this->call_method('facebook.users.isAppUser', array('uid' => $uid));
- }
-
- /**
- * Returns whether or not the user corresponding to the current
- * session object is verified by Facebook. See the documentation
- * for Users.isVerified for details.
- *
- * @return boolean true if the user is verified
- */
- public function &users_isVerified() {
- return $this->call_method('facebook.users.isVerified');
- }
-
- /**
- * Sets the users' current status message. Message does NOT contain the
- * word "is" , so make sure to include a verb.
- *
- * Example: setStatus("is loving the API!")
- * will produce the status "Luke is loving the API!"
- *
- * @param string $status text-only message to set
- * @param int $uid user to set for (defaults to the
- * logged-in user)
- * @param bool $clear whether or not to clear the status,
- * instead of setting it
- * @param bool $status_includes_verb if true, the word "is" will *not* be
- * prepended to the status message
- *
- * @return boolean
- */
- public function &users_setStatus($status,
- $uid = null,
- $clear = false,
- $status_includes_verb = true) {
- $args = array(
- 'status' => $status,
- 'uid' => $uid,
- 'clear' => $clear,
- 'status_includes_verb' => $status_includes_verb,
- );
- return $this->call_method('facebook.users.setStatus', $args);
- }
-
- /**
- * Gets the comments for a particular xid. This is essentially a wrapper
- * around the comment FQL table.
- *
- * @param string $xid external id associated with the comments
- *
- * @return array of comment objects
- */
- public function &comments_get($xid) {
- $args = array('xid' => $xid);
- return $this->call_method('facebook.comments.get', $args);
- }
-
- /**
- * Add a comment to a particular xid on behalf of a user. If called
- * without an app_secret (with session secret), this will only work
- * for the session user.
- *
- * @param string $xid external id associated with the comments
- * @param string $text text of the comment
- * @param int $uid user adding the comment (def: session user)
- * @param string $title optional title for the stream story
- * @param string $url optional url for the stream story
- * @param bool $publish_to_stream publish a feed story about this comment?
- * a link will be generated to title/url in the story
- *
- * @return string comment_id associated with the comment
- */
- public function &comments_add($xid, $text, $uid=0, $title='', $url='',
- $publish_to_stream=false) {
- $args = array(
- 'xid' => $xid,
- 'uid' => $this->get_uid($uid),
- 'text' => $text,
- 'title' => $title,
- 'url' => $url,
- 'publish_to_stream' => $publish_to_stream);
-
- return $this->call_method('facebook.comments.add', $args);
- }
-
- /**
- * Remove a particular comment.
- *
- * @param string $xid the external id associated with the comments
- * @param string $comment_id id of the comment to remove (returned by
- * comments.add and comments.get)
- *
- * @return boolean
- */
- public function &comments_remove($xid, $comment_id) {
- $args = array(
- 'xid' => $xid,
- 'comment_id' => $comment_id);
- return $this->call_method('facebook.comments.remove', $args);
- }
-
- /**
- * Gets the stream on behalf of a user using a set of users. This
- * call will return the latest $limit queries between $start_time
- * and $end_time.
- *
- * @param int $viewer_id user making the call (def: session)
- * @param array $source_ids users/pages to look at (def: all connections)
- * @param int $start_time start time to look for stories (def: 1 day ago)
- * @param int $end_time end time to look for stories (def: now)
- * @param int $limit number of stories to attempt to fetch (def: 30)
- * @param string $filter_key key returned by stream.getFilters to fetch
- * @param array $metadata metadata to include with the return, allows
- * requested metadata to be returned, such as
- * profiles, albums, photo_tags
- *
- * @return array(
- * 'posts' => array of posts,
- * // if requested, the following data may be returned
- * 'profiles' => array of profile metadata of users/pages in posts
- * 'albums' => array of album metadata in posts
- * 'photo_tags' => array of photo_tags for photos in posts
- * )
- */
- public function &stream_get($viewer_id = null,
- $source_ids = null,
- $start_time = 0,
- $end_time = 0,
- $limit = 30,
- $filter_key = '',
- $exportable_only = false,
- $metadata = null,
- $post_ids = null) {
- $args = array(
- 'viewer_id' => $viewer_id,
- 'source_ids' => $source_ids,
- 'start_time' => $start_time,
- 'end_time' => $end_time,
- 'limit' => $limit,
- 'filter_key' => $filter_key,
- 'exportable_only' => $exportable_only,
- 'metadata' => $metadata,
- 'post_ids' => $post_ids);
- return $this->call_method('facebook.stream.get', $args);
- }
-
- /**
- * Gets the filters (with relevant filter keys for stream.get) for a
- * particular user. These filters are typical things like news feed,
- * friend lists, networks. They can be used to filter the stream
- * without complex queries to determine which ids belong in which groups.
- *
- * @param int $uid user to get filters for
- *
- * @return array of stream filter objects
- */
- public function &stream_getFilters($uid = null) {
- $args = array('uid' => $uid);
- return $this->call_method('facebook.stream.getFilters', $args);
- }
-
- /**
- * Gets the full comments given a post_id from stream.get or the
- * stream FQL table. Initially, only a set of preview comments are
- * returned because some posts can have many comments.
- *
- * @param string $post_id id of the post to get comments for
- *
- * @return array of comment objects
- */
- public function &stream_getComments($post_id) {
- $args = array('post_id' => $post_id);
- return $this->call_method('facebook.stream.getComments', $args);
- }
-
- /**
- * Sets the FBML for the profile of the user attached to this session.
- *
- * @param string $markup The FBML that describes the profile
- * presence of this app for the user
- * @param int $uid The user
- * @param string $profile Profile FBML
- * @param string $profile_action Profile action FBML (deprecated)
- * @param string $mobile_profile Mobile profile FBML
- * @param string $profile_main Main Tab profile FBML
- *
- * @return array A list of strings describing any compile errors for the
- * submitted FBML
- */
- public function profile_setFBML($markup,
- $uid=null,
- $profile='',
- $profile_action='',
- $mobile_profile='',
- $profile_main='') {
- return $this->call_method('facebook.profile.setFBML',
- array('markup' => $markup,
- 'uid' => $uid,
- 'profile' => $profile,
- 'profile_action' => $profile_action,
- 'mobile_profile' => $mobile_profile,
- 'profile_main' => $profile_main));
- }
-
- /**
- * Gets the FBML for the profile box that is currently set for a user's
- * profile (your application set the FBML previously by calling the
- * profile.setFBML method).
- *
- * @param int $uid (Optional) User id to lookup; defaults to session.
- * @param int $type (Optional) 1 for original style, 2 for profile_main boxes
- *
- * @return string The FBML
- */
- public function &profile_getFBML($uid=null, $type=null) {
- return $this->call_method('facebook.profile.getFBML',
- array('uid' => $uid,
- 'type' => $type));
- }
-
- /**
- * Returns the specified user's application info section for the calling
- * application. These info sections have either been set via a previous
- * profile.setInfo call or by the user editing them directly.
- *
- * @param int $uid (Optional) User id to lookup; defaults to session.
- *
- * @return array Info fields for the current user. See wiki for structure:
- *
- * http://wiki.developers.facebook.com/index.php/Profile.getInfo
- *
- */
- public function &profile_getInfo($uid=null) {
- return $this->call_method('facebook.profile.getInfo',
- array('uid' => $uid));
- }
-
- /**
- * Returns the options associated with the specified info field for an
- * application info section.
- *
- * @param string $field The title of the field
- *
- * @return array An array of info options.
- */
- public function &profile_getInfoOptions($field) {
- return $this->call_method('facebook.profile.getInfoOptions',
- array('field' => $field));
- }
-
- /**
- * Configures an application info section that the specified user can install
- * on the Info tab of her profile. For details on the structure of an info
- * field, please see:
- *
- * http://wiki.developers.facebook.com/index.php/Profile.setInfo
- *
- * @param string $title Title / header of the info section
- * @param int $type 1 for text-only, 5 for thumbnail views
- * @param array $info_fields An array of info fields. See wiki for details.
- * @param int $uid (Optional)
- *
- * @return bool true on success
- */
- public function &profile_setInfo($title, $type, $info_fields, $uid=null) {
- return $this->call_method('facebook.profile.setInfo',
- array('uid' => $uid,
- 'type' => $type,
- 'title' => $title,
- 'info_fields' => json_encode($info_fields)));
- }
-
- /**
- * Specifies the objects for a field for an application info section. These
- * options populate the typeahead for a thumbnail.
- *
- * @param string $field The title of the field
- * @param array $options An array of items for a thumbnail, including
- * 'label', 'link', and optionally 'image',
- * 'description' and 'sublabel'
- *
- * @return bool true on success
- */
- public function profile_setInfoOptions($field, $options) {
- return $this->call_method('facebook.profile.setInfoOptions',
- array('field' => $field,
- 'options' => json_encode($options)));
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // Data Store API
-
- /**
- * Set a user preference.
- *
- * @param pref_id preference identifier (0-200)
- * @param value preferece's value
- * @param uid the user id (defaults to current session user)
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- * API_EC_PERMISSION_OTHER_USER
- */
- public function &data_setUserPreference($pref_id, $value, $uid = null) {
- return $this->call_method('facebook.data.setUserPreference',
- array('pref_id' => $pref_id,
- 'value' => $value,
- 'uid' => $this->get_uid($uid)));
- }
-
- /**
- * Set a user's all preferences for this application.
- *
- * @param values preferece values in an associative arrays
- * @param replace whether to replace all existing preferences or
- * merge into them.
- * @param uid the user id (defaults to current session user)
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- * API_EC_PERMISSION_OTHER_USER
- */
- public function &data_setUserPreferences($values,
- $replace = false,
- $uid = null) {
- return $this->call_method('facebook.data.setUserPreferences',
- array('values' => json_encode($values),
- 'replace' => $replace,
- 'uid' => $this->get_uid($uid)));
- }
-
- /**
- * Get a user preference.
- *
- * @param pref_id preference identifier (0-200)
- * @param uid the user id (defaults to current session user)
- * @return preference's value
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- * API_EC_PERMISSION_OTHER_USER
- */
- public function &data_getUserPreference($pref_id, $uid = null) {
- return $this->call_method('facebook.data.getUserPreference',
- array('pref_id' => $pref_id,
- 'uid' => $this->get_uid($uid)));
- }
-
- /**
- * Get a user preference.
- *
- * @param uid the user id (defaults to current session user)
- * @return preference values
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- * API_EC_PERMISSION_OTHER_USER
- */
- public function &data_getUserPreferences($uid = null) {
- return $this->call_method('facebook.data.getUserPreferences',
- array('uid' => $this->get_uid($uid)));
- }
-
- /**
- * Create a new object type.
- *
- * @param name object type's name
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_ALREADY_EXISTS
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_createObjectType($name) {
- return $this->call_method('facebook.data.createObjectType',
- array('name' => $name));
- }
-
- /**
- * Delete an object type.
- *
- * @param obj_type object type's name
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_dropObjectType($obj_type) {
- return $this->call_method('facebook.data.dropObjectType',
- array('obj_type' => $obj_type));
- }
-
- /**
- * Rename an object type.
- *
- * @param obj_type object type's name
- * @param new_name new object type's name
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_DATA_OBJECT_ALREADY_EXISTS
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_renameObjectType($obj_type, $new_name) {
- return $this->call_method('facebook.data.renameObjectType',
- array('obj_type' => $obj_type,
- 'new_name' => $new_name));
- }
-
- /**
- * Add a new property to an object type.
- *
- * @param obj_type object type's name
- * @param prop_name name of the property to add
- * @param prop_type 1: integer; 2: string; 3: text blob
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_ALREADY_EXISTS
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_defineObjectProperty($obj_type,
- $prop_name,
- $prop_type) {
- return $this->call_method('facebook.data.defineObjectProperty',
- array('obj_type' => $obj_type,
- 'prop_name' => $prop_name,
- 'prop_type' => $prop_type));
- }
-
- /**
- * Remove a previously defined property from an object type.
- *
- * @param obj_type object type's name
- * @param prop_name name of the property to remove
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_undefineObjectProperty($obj_type, $prop_name) {
- return $this->call_method('facebook.data.undefineObjectProperty',
- array('obj_type' => $obj_type,
- 'prop_name' => $prop_name));
- }
-
- /**
- * Rename a previously defined property of an object type.
- *
- * @param obj_type object type's name
- * @param prop_name name of the property to rename
- * @param new_name new name to use
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_DATA_OBJECT_ALREADY_EXISTS
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_renameObjectProperty($obj_type, $prop_name,
- $new_name) {
- return $this->call_method('facebook.data.renameObjectProperty',
- array('obj_type' => $obj_type,
- 'prop_name' => $prop_name,
- 'new_name' => $new_name));
- }
-
- /**
- * Retrieve a list of all object types that have defined for the application.
- *
- * @return a list of object type names
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PERMISSION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getObjectTypes() {
- return $this->call_method('facebook.data.getObjectTypes');
- }
-
- /**
- * Get definitions of all properties of an object type.
- *
- * @param obj_type object type's name
- * @return pairs of property name and property types
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getObjectType($obj_type) {
- return $this->call_method('facebook.data.getObjectType',
- array('obj_type' => $obj_type));
- }
-
- /**
- * Create a new object.
- *
- * @param obj_type object type's name
- * @param properties (optional) properties to set initially
- * @return newly created object's id
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_createObject($obj_type, $properties = null) {
- return $this->call_method('facebook.data.createObject',
- array('obj_type' => $obj_type,
- 'properties' => json_encode($properties)));
- }
-
- /**
- * Update an existing object.
- *
- * @param obj_id object's id
- * @param properties new properties
- * @param replace true for replacing existing properties;
- * false for merging
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_updateObject($obj_id, $properties, $replace = false) {
- return $this->call_method('facebook.data.updateObject',
- array('obj_id' => $obj_id,
- 'properties' => json_encode($properties),
- 'replace' => $replace));
- }
-
- /**
- * Delete an existing object.
- *
- * @param obj_id object's id
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_deleteObject($obj_id) {
- return $this->call_method('facebook.data.deleteObject',
- array('obj_id' => $obj_id));
- }
-
- /**
- * Delete a list of objects.
- *
- * @param obj_ids objects to delete
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_deleteObjects($obj_ids) {
- return $this->call_method('facebook.data.deleteObjects',
- array('obj_ids' => json_encode($obj_ids)));
- }
-
- /**
- * Get a single property value of an object.
- *
- * @param obj_id object's id
- * @param prop_name individual property's name
- * @return individual property's value
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getObjectProperty($obj_id, $prop_name) {
- return $this->call_method('facebook.data.getObjectProperty',
- array('obj_id' => $obj_id,
- 'prop_name' => $prop_name));
- }
-
- /**
- * Get properties of an object.
- *
- * @param obj_id object's id
- * @param prop_names (optional) properties to return; null for all.
- * @return specified properties of an object
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getObject($obj_id, $prop_names = null) {
- return $this->call_method('facebook.data.getObject',
- array('obj_id' => $obj_id,
- 'prop_names' => json_encode($prop_names)));
- }
-
- /**
- * Get properties of a list of objects.
- *
- * @param obj_ids object ids
- * @param prop_names (optional) properties to return; null for all.
- * @return specified properties of an object
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getObjects($obj_ids, $prop_names = null) {
- return $this->call_method('facebook.data.getObjects',
- array('obj_ids' => json_encode($obj_ids),
- 'prop_names' => json_encode($prop_names)));
- }
-
- /**
- * Set a single property value of an object.
- *
- * @param obj_id object's id
- * @param prop_name individual property's name
- * @param prop_value new value to set
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_setObjectProperty($obj_id, $prop_name,
- $prop_value) {
- return $this->call_method('facebook.data.setObjectProperty',
- array('obj_id' => $obj_id,
- 'prop_name' => $prop_name,
- 'prop_value' => $prop_value));
- }
-
- /**
- * Read hash value by key.
- *
- * @param obj_type object type's name
- * @param key hash key
- * @param prop_name (optional) individual property's name
- * @return hash value
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getHashValue($obj_type, $key, $prop_name = null) {
- return $this->call_method('facebook.data.getHashValue',
- array('obj_type' => $obj_type,
- 'key' => $key,
- 'prop_name' => $prop_name));
- }
-
- /**
- * Write hash value by key.
- *
- * @param obj_type object type's name
- * @param key hash key
- * @param value hash value
- * @param prop_name (optional) individual property's name
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_setHashValue($obj_type,
- $key,
- $value,
- $prop_name = null) {
- return $this->call_method('facebook.data.setHashValue',
- array('obj_type' => $obj_type,
- 'key' => $key,
- 'value' => $value,
- 'prop_name' => $prop_name));
- }
-
- /**
- * Increase a hash value by specified increment atomically.
- *
- * @param obj_type object type's name
- * @param key hash key
- * @param prop_name individual property's name
- * @param increment (optional) default is 1
- * @return incremented hash value
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_incHashValue($obj_type,
- $key,
- $prop_name,
- $increment = 1) {
- return $this->call_method('facebook.data.incHashValue',
- array('obj_type' => $obj_type,
- 'key' => $key,
- 'prop_name' => $prop_name,
- 'increment' => $increment));
- }
-
- /**
- * Remove a hash key and its values.
- *
- * @param obj_type object type's name
- * @param key hash key
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_removeHashKey($obj_type, $key) {
- return $this->call_method('facebook.data.removeHashKey',
- array('obj_type' => $obj_type,
- 'key' => $key));
- }
-
- /**
- * Remove hash keys and their values.
- *
- * @param obj_type object type's name
- * @param keys hash keys
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_removeHashKeys($obj_type, $keys) {
- return $this->call_method('facebook.data.removeHashKeys',
- array('obj_type' => $obj_type,
- 'keys' => json_encode($keys)));
- }
-
- /**
- * Define an object association.
- *
- * @param name name of this association
- * @param assoc_type 1: one-way 2: two-way symmetric 3: two-way asymmetric
- * @param assoc_info1 needed info about first object type
- * @param assoc_info2 needed info about second object type
- * @param inverse (optional) name of reverse association
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_ALREADY_EXISTS
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_defineAssociation($name, $assoc_type, $assoc_info1,
- $assoc_info2, $inverse = null) {
- return $this->call_method('facebook.data.defineAssociation',
- array('name' => $name,
- 'assoc_type' => $assoc_type,
- 'assoc_info1' => json_encode($assoc_info1),
- 'assoc_info2' => json_encode($assoc_info2),
- 'inverse' => $inverse));
- }
-
- /**
- * Undefine an object association.
- *
- * @param name name of this association
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_undefineAssociation($name) {
- return $this->call_method('facebook.data.undefineAssociation',
- array('name' => $name));
- }
-
- /**
- * Rename an object association or aliases.
- *
- * @param name name of this association
- * @param new_name (optional) new name of this association
- * @param new_alias1 (optional) new alias for object type 1
- * @param new_alias2 (optional) new alias for object type 2
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_ALREADY_EXISTS
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_renameAssociation($name, $new_name, $new_alias1 = null,
- $new_alias2 = null) {
- return $this->call_method('facebook.data.renameAssociation',
- array('name' => $name,
- 'new_name' => $new_name,
- 'new_alias1' => $new_alias1,
- 'new_alias2' => $new_alias2));
- }
-
- /**
- * Get definition of an object association.
- *
- * @param name name of this association
- * @return specified association
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getAssociationDefinition($name) {
- return $this->call_method('facebook.data.getAssociationDefinition',
- array('name' => $name));
- }
-
- /**
- * Get definition of all associations.
- *
- * @return all defined associations
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PERMISSION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getAssociationDefinitions() {
- return $this->call_method('facebook.data.getAssociationDefinitions',
- array());
- }
-
- /**
- * Create or modify an association between two objects.
- *
- * @param name name of association
- * @param obj_id1 id of first object
- * @param obj_id2 id of second object
- * @param data (optional) extra string data to store
- * @param assoc_time (optional) extra time data; default to creation time
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_setAssociation($name, $obj_id1, $obj_id2, $data = null,
- $assoc_time = null) {
- return $this->call_method('facebook.data.setAssociation',
- array('name' => $name,
- 'obj_id1' => $obj_id1,
- 'obj_id2' => $obj_id2,
- 'data' => $data,
- 'assoc_time' => $assoc_time));
- }
-
- /**
- * Create or modify associations between objects.
- *
- * @param assocs associations to set
- * @param name (optional) name of association
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_setAssociations($assocs, $name = null) {
- return $this->call_method('facebook.data.setAssociations',
- array('assocs' => json_encode($assocs),
- 'name' => $name));
- }
-
- /**
- * Remove an association between two objects.
- *
- * @param name name of association
- * @param obj_id1 id of first object
- * @param obj_id2 id of second object
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_removeAssociation($name, $obj_id1, $obj_id2) {
- return $this->call_method('facebook.data.removeAssociation',
- array('name' => $name,
- 'obj_id1' => $obj_id1,
- 'obj_id2' => $obj_id2));
- }
-
- /**
- * Remove associations between objects by specifying pairs of object ids.
- *
- * @param assocs associations to remove
- * @param name (optional) name of association
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_removeAssociations($assocs, $name = null) {
- return $this->call_method('facebook.data.removeAssociations',
- array('assocs' => json_encode($assocs),
- 'name' => $name));
- }
-
- /**
- * Remove associations between objects by specifying one object id.
- *
- * @param name name of association
- * @param obj_id who's association to remove
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_removeAssociatedObjects($name, $obj_id) {
- return $this->call_method('facebook.data.removeAssociatedObjects',
- array('name' => $name,
- 'obj_id' => $obj_id));
- }
-
- /**
- * Retrieve a list of associated objects.
- *
- * @param name name of association
- * @param obj_id who's association to retrieve
- * @param no_data only return object ids
- * @return associated objects
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getAssociatedObjects($name, $obj_id, $no_data = true) {
- return $this->call_method('facebook.data.getAssociatedObjects',
- array('name' => $name,
- 'obj_id' => $obj_id,
- 'no_data' => $no_data));
- }
-
- /**
- * Count associated objects.
- *
- * @param name name of association
- * @param obj_id who's association to retrieve
- * @return associated object's count
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getAssociatedObjectCount($name, $obj_id) {
- return $this->call_method('facebook.data.getAssociatedObjectCount',
- array('name' => $name,
- 'obj_id' => $obj_id));
- }
-
- /**
- * Get a list of associated object counts.
- *
- * @param name name of association
- * @param obj_ids whose association to retrieve
- * @return associated object counts
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_DATA_OBJECT_NOT_FOUND
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_INVALID_OPERATION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getAssociatedObjectCounts($name, $obj_ids) {
- return $this->call_method('facebook.data.getAssociatedObjectCounts',
- array('name' => $name,
- 'obj_ids' => json_encode($obj_ids)));
- }
-
- /**
- * Find all associations between two objects.
- *
- * @param obj_id1 id of first object
- * @param obj_id2 id of second object
- * @param no_data only return association names without data
- * @return all associations between objects
- * @error
- * API_EC_DATA_DATABASE_ERROR
- * API_EC_PARAM
- * API_EC_PERMISSION
- * API_EC_DATA_QUOTA_EXCEEDED
- * API_EC_DATA_UNKNOWN_ERROR
- */
- public function &data_getAssociations($obj_id1, $obj_id2, $no_data = true) {
- return $this->call_method('facebook.data.getAssociations',
- array('obj_id1' => $obj_id1,
- 'obj_id2' => $obj_id2,
- 'no_data' => $no_data));
- }
-
- /**
- * Get the properties that you have set for an app.
- *
- * @param properties List of properties names to fetch
- *
- * @return array A map from property name to value
- */
- public function admin_getAppProperties($properties) {
- return json_decode(
- $this->call_method('facebook.admin.getAppProperties',
- array('properties' => json_encode($properties))), true);
- }
-
- /**
- * Set properties for an app.
- *
- * @param properties A map from property names to values
- *
- * @return bool true on success
- */
- public function admin_setAppProperties($properties) {
- return $this->call_method('facebook.admin.setAppProperties',
- array('properties' => json_encode($properties)));
- }
-
- /**
- * Sets href and text for a Live Stream Box xid's via link
- *
- * @param string $xid xid of the Live Stream
- * @param string $via_href Href for the via link
- * @param string $via_text Text for the via link
- *
- * @return boolWhether the set was successful
- */
- public function admin_setLiveStreamViaLink($xid, $via_href, $via_text) {
- return $this->call_method('facebook.admin.setLiveStreamViaLink',
- array('xid' => $xid,
- 'via_href' => $via_href,
- 'via_text' => $via_text));
- }
-
- /**
- * Gets href and text for a Live Stream Box xid's via link
- *
- * @param string $xid xid of the Live Stream
- *
- * @return Array Associative array with keys 'via_href' and 'via_text'
- * False if there was an error.
- */
- public function admin_getLiveStreamViaLink($xid) {
- return $this->call_method('facebook.admin.getLiveStreamViaLink',
- array('xid' => $xid));
- }
-
- /**
- * Returns the allocation limit value for a specified integration point name
- * Integration point names are defined in lib/api/karma/constants.php in the
- * limit_map.
- *
- * @param string $integration_point_name Name of an integration point
- * (see developer wiki for list).
- * @param int $uid Specific user to check the limit.
- *
- * @return int Integration point allocation value
- */
- public function &admin_getAllocation($integration_point_name, $uid=null) {
- return $this->call_method('facebook.admin.getAllocation',
- array('integration_point_name' => $integration_point_name,
- 'uid' => $uid));
- }
-
- /**
- * Returns values for the specified metrics for the current application, in
- * the given time range. The metrics are collected for fixed-length periods,
- * and the times represent midnight at the end of each period.
- *
- * @param start_time unix time for the start of the range
- * @param end_time unix time for the end of the range
- * @param period number of seconds in the desired period
- * @param metrics list of metrics to look up
- *
- * @return array A map of the names and values for those metrics
- */
- public function &admin_getMetrics($start_time, $end_time, $period, $metrics) {
- return $this->call_method('admin.getMetrics',
- array('start_time' => $start_time,
- 'end_time' => $end_time,
- 'period' => $period,
- 'metrics' => json_encode($metrics)));
- }
-
- /**
- * Sets application restriction info.
- *
- * Applications can restrict themselves to only a limited user demographic
- * based on users' age and/or location or based on static predefined types
- * specified by facebook for specifying diff age restriction for diff
- * locations.
- *
- * @param array $restriction_info The age restriction settings to set.
- *
- * @return bool true on success
- */
- public function admin_setRestrictionInfo($restriction_info = null) {
- $restriction_str = null;
- if (!empty($restriction_info)) {
- $restriction_str = json_encode($restriction_info);
- }
- return $this->call_method('admin.setRestrictionInfo',
- array('restriction_str' => $restriction_str));
- }
-
- /**
- * Gets application restriction info.
- *
- * Applications can restrict themselves to only a limited user demographic
- * based on users' age and/or location or based on static predefined types
- * specified by facebook for specifying diff age restriction for diff
- * locations.
- *
- * @return array The age restriction settings for this application.
- */
- public function admin_getRestrictionInfo() {
- return json_decode(
- $this->call_method('admin.getRestrictionInfo'),
- true);
- }
-
-
- /**
- * Bans a list of users from the app. Banned users can't
- * access the app's canvas page and forums.
- *
- * @param array $uids an array of user ids
- * @return bool true on success
- */
- public function admin_banUsers($uids) {
- return $this->call_method(
- 'admin.banUsers', array('uids' => json_encode($uids)));
- }
-
- /**
- * Unban users that have been previously banned with
- * admin_banUsers().
- *
- * @param array $uids an array of user ids
- * @return bool true on success
- */
- public function admin_unbanUsers($uids) {
- return $this->call_method(
- 'admin.unbanUsers', array('uids' => json_encode($uids)));
- }
-
- /**
- * Gets the list of users that have been banned from the application.
- * $uids is an optional parameter that filters the result with the list
- * of provided user ids. If $uids is provided,
- * only banned user ids that are contained in $uids are returned.
- *
- * @param array $uids an array of user ids to filter by
- * @return bool true on success
- */
-
- public function admin_getBannedUsers($uids = null) {
- return $this->call_method(
- 'admin.getBannedUsers',
- array('uids' => $uids ? json_encode($uids) : null));
- }
-
-
- /* UTILITY FUNCTIONS */
-
- /**
- * Calls the specified normal POST method with the specified parameters.
- *
- * @param string $method Name of the Facebook method to invoke
- * @param array $params A map of param names => param values
- *
- * @return mixed Result of method call; this returns a reference to support
- * 'delayed returns' when in a batch context.
- * See: http://wiki.developers.facebook.com/index.php/Using_batching_API
- */
- public function &call_method($method, $params = array()) {
- if ($this->format) {
- $params['format'] = $this->format;
- }
- if (!$this->pending_batch()) {
- if ($this->call_as_apikey) {
- $params['call_as_apikey'] = $this->call_as_apikey;
- }
- $data = $this->post_request($method, $params);
- $this->rawData = $data;
- $result = $this->convert_result($data, $method, $params);
- if (is_array($result) && isset($result['error_code'])) {
- throw new FacebookRestClientException($result['error_msg'],
- $result['error_code']);
- }
- }
- else {
- $result = null;
- $batch_item = array('m' => $method, 'p' => $params, 'r' => & $result);
- $this->batch_queue[] = $batch_item;
- }
-
- return $result;
- }
-
- protected function convert_result($data, $method, $params) {
- $is_xml = (empty($params['format']) ||
- strtolower($params['format']) != 'json');
- return ($is_xml) ? $this->convert_xml_to_result($data, $method, $params)
- : json_decode($data, true);
- }
-
- /**
- * Change the response format
- *
- * @param string $format The response format (json, xml)
- */
- public function setFormat($format) {
- $this->format = $format;
- return $this;
- }
-
- /**
- * get the current response serialization format
- *
- * @return string 'xml', 'json', or null (which means 'xml')
- */
- public function getFormat() {
- return $this->format;
- }
-
- /**
- * Returns the raw JSON or XML output returned by the server in the most
- * recent API call.
- *
- * @return string
- */
- public function getRawData() {
- return $this->rawData;
- }
-
- /**
- * Calls the specified file-upload POST method with the specified parameters
- *
- * @param string $method Name of the Facebook method to invoke
- * @param array $params A map of param names => param values
- * @param string $file A path to the file to upload (required)
- *
- * @return array A dictionary representing the response.
- */
- public function call_upload_method($method, $params, $file, $server_addr = null) {
- if (!$this->pending_batch()) {
- if (!file_exists($file)) {
- $code =
- FacebookAPIErrorCodes::API_EC_PARAM;
- $description = FacebookAPIErrorCodes::$api_error_descriptions[$code];
- throw new FacebookRestClientException($description, $code);
- }
-
- if ($this->format) {
- $params['format'] = $this->format;
- }
- $data = $this->post_upload_request($method,
- $params,
- $file,
- $server_addr);
- $result = $this->convert_result($data, $method, $params);
-
- if (is_array($result) && isset($result['error_code'])) {
- throw new FacebookRestClientException($result['error_msg'],
- $result['error_code']);
- }
- }
- else {
- $code =
- FacebookAPIErrorCodes::API_EC_BATCH_METHOD_NOT_ALLOWED_IN_BATCH_MODE;
- $description = FacebookAPIErrorCodes::$api_error_descriptions[$code];
- throw new FacebookRestClientException($description, $code);
- }
-
- return $result;
- }
-
- protected function convert_xml_to_result($xml, $method, $params) {
- $sxml = simplexml_load_string($xml);
- $result = self::convert_simplexml_to_array($sxml);
-
- if (!empty($GLOBALS['facebook_config']['debug'])) {
- // output the raw xml and its corresponding php object, for debugging:
- print '<div style="margin: 10px 30px; padding: 5px; border: 2px solid black; background: gray; color: white; font-size: 12px; font-weight: bold;">';
- $this->cur_id++;
- print $this->cur_id . ': Called ' . $method . ', show ' .
- '<a href=# onclick="return toggleDisplay(' . $this->cur_id . ', \'params\');">Params</a> | '.
- '<a href=# onclick="return toggleDisplay(' . $this->cur_id . ', \'xml\');">XML</a> | '.
- '<a href=# onclick="return toggleDisplay(' . $this->cur_id . ', \'sxml\');">SXML</a> | '.
- '<a href=# onclick="return toggleDisplay(' . $this->cur_id . ', \'php\');">PHP</a>';
- print '<pre id="params'.$this->cur_id.'" style="display: none; overflow: auto;">'.print_r($params, true).'</pre>';
- print '<pre id="xml'.$this->cur_id.'" style="display: none; overflow: auto;">'.htmlspecialchars($xml).'</pre>';
- print '<pre id="php'.$this->cur_id.'" style="display: none; overflow: auto;">'.print_r($result, true).'</pre>';
- print '<pre id="sxml'.$this->cur_id.'" style="display: none; overflow: auto;">'.print_r($sxml, true).'</pre>';
- print '</div>';
- }
- return $result;
- }
-
- protected function finalize_params($method, $params) {
- list($get, $post) = $this->add_standard_params($method, $params);
- // we need to do this before signing the params
- $this->convert_array_values_to_json($post);
- $post['sig'] = Facebook::generate_sig(array_merge($get, $post),
- $this->secret);
- return array($get, $post);
- }
-
- private function convert_array_values_to_json(&$params) {
- foreach ($params as $key => &$val) {
- if (is_array($val)) {
- $val = json_encode($val);
- }
- }
- }
-
- /**
- * Add the generally required params to our request.
- * Params method, api_key, and v should be sent over as get.
- */
- private function add_standard_params($method, $params) {
- $post = $params;
- $get = array();
- if ($this->call_as_apikey) {
- $get['call_as_apikey'] = $this->call_as_apikey;
- }
- if ($this->using_session_secret) {
- $get['ss'] = '1';
- }
-
- $get['method'] = $method;
- $get['session_key'] = $this->session_key;
- $get['api_key'] = $this->api_key;
- $post['call_id'] = microtime(true);
- if ($post['call_id'] <= $this->last_call_id) {
- $post['call_id'] = $this->last_call_id + 0.001;
- }
- $this->last_call_id = $post['call_id'];
- if (isset($post['v'])) {
- $get['v'] = $post['v'];
- unset($post['v']);
- } else {
- $get['v'] = '1.0';
- }
- if (isset($this->use_ssl_resources)) {
- $post['return_ssl_resources'] = (bool) $this->use_ssl_resources;
- }
- return array($get, $post);
- }
-
- private function create_url_string($params) {
- $post_params = array();
- foreach ($params as $key => &$val) {
- $post_params[] = $key.'='.urlencode($val);
- }
- return implode('&', $post_params);
- }
-
- private function run_multipart_http_transaction($method, $params, $file, $server_addr) {
-
- // the format of this message is specified in RFC1867/RFC1341.
- // we add twenty pseudo-random digits to the end of the boundary string.
- $boundary = '--------------------------FbMuLtIpArT' .
- sprintf("%010d", mt_rand()) .
- sprintf("%010d", mt_rand());
- $content_type = 'multipart/form-data; boundary=' . $boundary;
- // within the message, we prepend two extra hyphens.
- $delimiter = '--' . $boundary;
- $close_delimiter = $delimiter . '--';
- $content_lines = array();
- foreach ($params as $key => &$val) {
- $content_lines[] = $delimiter;
- $content_lines[] = 'Content-Disposition: form-data; name="' . $key . '"';
- $content_lines[] = '';
- $content_lines[] = $val;
- }
- // now add the file data
- $content_lines[] = $delimiter;
- $content_lines[] =
- 'Content-Disposition: form-data; filename="' . $file . '"';
- $content_lines[] = 'Content-Type: application/octet-stream';
- $content_lines[] = '';
- $content_lines[] = file_get_contents($file);
- $content_lines[] = $close_delimiter;
- $content_lines[] = '';
- $content = implode("\r\n", $content_lines);
- return $this->run_http_post_transaction($content_type, $content, $server_addr);
- }
-
- public function post_request($method, $params) {
- list($get, $post) = $this->finalize_params($method, $params);
- $post_string = $this->create_url_string($post);
- $get_string = $this->create_url_string($get);
- $url_with_get = $this->server_addr . '?' . $get_string;
- if ($this->use_curl_if_available && function_exists('curl_init')) {
- $useragent = 'Facebook API PHP5 Client 1.1 (curl) ' . phpversion();
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url_with_get);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
- curl_setopt($ch, CURLOPT_TIMEOUT, 30);
- $result = $this->curl_exec($ch);
- curl_close($ch);
- } else {
- $content_type = 'application/x-www-form-urlencoded';
- $content = $post_string;
- $result = $this->run_http_post_transaction($content_type,
- $content,
- $url_with_get);
- }
- return $result;
- }
-
- /**
- * execute a curl transaction -- this exists mostly so subclasses can add
- * extra options and/or process the response, if they wish.
- *
- * @param resource $ch a curl handle
- */
- protected function curl_exec($ch) {
- $result = curl_exec($ch);
- return $result;
- }
-
- protected function post_upload_request($method, $params, $file, $server_addr = null) {
- $server_addr = $server_addr ? $server_addr : $this->server_addr;
- list($get, $post) = $this->finalize_params($method, $params);
- $get_string = $this->create_url_string($get);
- $url_with_get = $server_addr . '?' . $get_string;
- if ($this->use_curl_if_available && function_exists('curl_init')) {
- // prepending '@' causes cURL to upload the file; the key is ignored.
- $post['_file'] = '@' . $file;
- $useragent = 'Facebook API PHP5 Client 1.1 (curl) ' . phpversion();
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url_with_get);
- // this has to come before the POSTFIELDS set!
- curl_setopt($ch, CURLOPT_POST, 1);
- // passing an array gets curl to use the multipart/form-data content type
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
- $result = $this->curl_exec($ch);
- curl_close($ch);
- } else {
- $result = $this->run_multipart_http_transaction($method, $post,
- $file, $url_with_get);
- }
- return $result;
- }
-
- private function run_http_post_transaction($content_type, $content, $server_addr) {
-
- $user_agent = 'Facebook API PHP5 Client 1.1 (non-curl) ' . phpversion();
- $content_length = strlen($content);
- $context =
- array('http' =>
- array('method' => 'POST',
- 'user_agent' => $user_agent,
- 'header' => 'Content-Type: ' . $content_type . "\r\n" .
- 'Content-Length: ' . $content_length,
- 'content' => $content));
- $context_id = stream_context_create($context);
- $sock = fopen($server_addr, 'r', false, $context_id);
-
- $result = '';
- if ($sock) {
- while (!feof($sock)) {
- $result .= fgets($sock, 4096);
- }
- fclose($sock);
- }
- return $result;
- }
-
- public static function convert_simplexml_to_array($sxml) {
- $arr = array();
- if ($sxml) {
- foreach ($sxml as $k => $v) {
- if ($sxml['list']) {
- $arr[] = self::convert_simplexml_to_array($v);
- } else {
- $arr[$k] = self::convert_simplexml_to_array($v);
- }
- }
- }
- if (sizeof($arr) > 0) {
- return $arr;
- } else {
- return (string)$sxml;
- }
- }
-
- protected function get_uid($uid) {
- return $uid ? $uid : $this->user;
- }
-}
-
-
-class FacebookRestClientException extends Exception {
-}
-
-// Supporting methods and values------
-
-/**
- * Error codes and descriptions for the Facebook API.
- */
-
-class FacebookAPIErrorCodes {
-
- const API_EC_SUCCESS = 0;
-
- /*
- * GENERAL ERRORS
- */
- const API_EC_UNKNOWN = 1;
- const API_EC_SERVICE = 2;
- const API_EC_METHOD = 3;
- const API_EC_TOO_MANY_CALLS = 4;
- const API_EC_BAD_IP = 5;
- const API_EC_HOST_API = 6;
- const API_EC_HOST_UP = 7;
- const API_EC_SECURE = 8;
- const API_EC_RATE = 9;
- const API_EC_PERMISSION_DENIED = 10;
- const API_EC_DEPRECATED = 11;
- const API_EC_VERSION = 12;
- const API_EC_INTERNAL_FQL_ERROR = 13;
- const API_EC_HOST_PUP = 14;
- const API_EC_SESSION_SECRET_NOT_ALLOWED = 15;
- const API_EC_HOST_READONLY = 16;
-
- /*
- * PARAMETER ERRORS
- */
- const API_EC_PARAM = 100;
- const API_EC_PARAM_API_KEY = 101;
- const API_EC_PARAM_SESSION_KEY = 102;
- const API_EC_PARAM_CALL_ID = 103;
- const API_EC_PARAM_SIGNATURE = 104;
- const API_EC_PARAM_TOO_MANY = 105;
- const API_EC_PARAM_USER_ID = 110;
- const API_EC_PARAM_USER_FIELD = 111;
- const API_EC_PARAM_SOCIAL_FIELD = 112;
- const API_EC_PARAM_EMAIL = 113;
- const API_EC_PARAM_USER_ID_LIST = 114;
- const API_EC_PARAM_FIELD_LIST = 115;
- const API_EC_PARAM_ALBUM_ID = 120;
- const API_EC_PARAM_PHOTO_ID = 121;
- const API_EC_PARAM_FEED_PRIORITY = 130;
- const API_EC_PARAM_CATEGORY = 140;
- const API_EC_PARAM_SUBCATEGORY = 141;
- const API_EC_PARAM_TITLE = 142;
- const API_EC_PARAM_DESCRIPTION = 143;
- const API_EC_PARAM_BAD_JSON = 144;
- const API_EC_PARAM_BAD_EID = 150;
- const API_EC_PARAM_UNKNOWN_CITY = 151;
- const API_EC_PARAM_BAD_PAGE_TYPE = 152;
- const API_EC_PARAM_BAD_LOCALE = 170;
- const API_EC_PARAM_BLOCKED_NOTIFICATION = 180;
-
- /*
- * USER PERMISSIONS ERRORS
- */
- const API_EC_PERMISSION = 200;
- const API_EC_PERMISSION_USER = 210;
- const API_EC_PERMISSION_NO_DEVELOPERS = 211;
- const API_EC_PERMISSION_OFFLINE_ACCESS = 212;
- const API_EC_PERMISSION_ALBUM = 220;
- const API_EC_PERMISSION_PHOTO = 221;
- const API_EC_PERMISSION_MESSAGE = 230;
- const API_EC_PERMISSION_OTHER_USER = 240;
- const API_EC_PERMISSION_STATUS_UPDATE = 250;
- const API_EC_PERMISSION_PHOTO_UPLOAD = 260;
- const API_EC_PERMISSION_VIDEO_UPLOAD = 261;
- const API_EC_PERMISSION_SMS = 270;
- const API_EC_PERMISSION_CREATE_LISTING = 280;
- const API_EC_PERMISSION_CREATE_NOTE = 281;
- const API_EC_PERMISSION_SHARE_ITEM = 282;
- const API_EC_PERMISSION_EVENT = 290;
- const API_EC_PERMISSION_LARGE_FBML_TEMPLATE = 291;
- const API_EC_PERMISSION_LIVEMESSAGE = 292;
- const API_EC_PERMISSION_CREATE_EVENT = 296;
- const API_EC_PERMISSION_RSVP_EVENT = 299;
-
- /*
- * DATA EDIT ERRORS
- */
- const API_EC_EDIT = 300;
- const API_EC_EDIT_USER_DATA = 310;
- const API_EC_EDIT_PHOTO = 320;
- const API_EC_EDIT_ALBUM_SIZE = 321;
- const API_EC_EDIT_PHOTO_TAG_SUBJECT = 322;
- const API_EC_EDIT_PHOTO_TAG_PHOTO = 323;
- const API_EC_EDIT_PHOTO_FILE = 324;
- const API_EC_EDIT_PHOTO_PENDING_LIMIT = 325;
- const API_EC_EDIT_PHOTO_TAG_LIMIT = 326;
- const API_EC_EDIT_ALBUM_REORDER_PHOTO_NOT_IN_ALBUM = 327;
- const API_EC_EDIT_ALBUM_REORDER_TOO_FEW_PHOTOS = 328;
-
- const API_EC_MALFORMED_MARKUP = 329;
- const API_EC_EDIT_MARKUP = 330;
-
- const API_EC_EDIT_FEED_TOO_MANY_USER_CALLS = 340;
- const API_EC_EDIT_FEED_TOO_MANY_USER_ACTION_CALLS = 341;
- const API_EC_EDIT_FEED_TITLE_LINK = 342;
- const API_EC_EDIT_FEED_TITLE_LENGTH = 343;
- const API_EC_EDIT_FEED_TITLE_NAME = 344;
- const API_EC_EDIT_FEED_TITLE_BLANK = 345;
- const API_EC_EDIT_FEED_BODY_LENGTH = 346;
- const API_EC_EDIT_FEED_PHOTO_SRC = 347;
- const API_EC_EDIT_FEED_PHOTO_LINK = 348;
-
- const API_EC_EDIT_VIDEO_SIZE = 350;
- const API_EC_EDIT_VIDEO_INVALID_FILE = 351;
- const API_EC_EDIT_VIDEO_INVALID_TYPE = 352;
- const API_EC_EDIT_VIDEO_FILE = 353;
-
- const API_EC_EDIT_FEED_TITLE_ARRAY = 360;
- const API_EC_EDIT_FEED_TITLE_PARAMS = 361;
- const API_EC_EDIT_FEED_BODY_ARRAY = 362;
- const API_EC_EDIT_FEED_BODY_PARAMS = 363;
- const API_EC_EDIT_FEED_PHOTO = 364;
- const API_EC_EDIT_FEED_TEMPLATE = 365;
- const API_EC_EDIT_FEED_TARGET = 366;
- const API_EC_EDIT_FEED_MARKUP = 367;
-
- /**
- * SESSION ERRORS
- */
- const API_EC_SESSION_TIMED_OUT = 450;
- const API_EC_SESSION_METHOD = 451;
- const API_EC_SESSION_INVALID = 452;
- const API_EC_SESSION_REQUIRED = 453;
- const API_EC_SESSION_REQUIRED_FOR_SECRET = 454;
- const API_EC_SESSION_CANNOT_USE_SESSION_SECRET = 455;
-
-
- /**
- * FQL ERRORS
- */
- const FQL_EC_UNKNOWN_ERROR = 600;
- const FQL_EC_PARSER = 601; // backwards compatibility
- const FQL_EC_PARSER_ERROR = 601;
- const FQL_EC_UNKNOWN_FIELD = 602;
- const FQL_EC_UNKNOWN_TABLE = 603;
- const FQL_EC_NOT_INDEXABLE = 604; // backwards compatibility
- const FQL_EC_NO_INDEX = 604;
- const FQL_EC_UNKNOWN_FUNCTION = 605;
- const FQL_EC_INVALID_PARAM = 606;
- const FQL_EC_INVALID_FIELD = 607;
- const FQL_EC_INVALID_SESSION = 608;
- const FQL_EC_UNSUPPORTED_APP_TYPE = 609;
- const FQL_EC_SESSION_SECRET_NOT_ALLOWED = 610;
- const FQL_EC_DEPRECATED_TABLE = 611;
- const FQL_EC_EXTENDED_PERMISSION = 612;
- const FQL_EC_RATE_LIMIT_EXCEEDED = 613;
- const FQL_EC_UNRESOLVED_DEPENDENCY = 614;
- const FQL_EC_INVALID_SEARCH = 615;
- const FQL_EC_CONTAINS_ERROR = 616;
-
- const API_EC_REF_SET_FAILED = 700;
-
- /**
- * DATA STORE API ERRORS
- */
- const API_EC_DATA_UNKNOWN_ERROR = 800;
- const API_EC_DATA_INVALID_OPERATION = 801;
- const API_EC_DATA_QUOTA_EXCEEDED = 802;
- const API_EC_DATA_OBJECT_NOT_FOUND = 803;
- const API_EC_DATA_OBJECT_ALREADY_EXISTS = 804;
- const API_EC_DATA_DATABASE_ERROR = 805;
- const API_EC_DATA_CREATE_TEMPLATE_ERROR = 806;
- const API_EC_DATA_TEMPLATE_EXISTS_ERROR = 807;
- const API_EC_DATA_TEMPLATE_HANDLE_TOO_LONG = 808;
- const API_EC_DATA_TEMPLATE_HANDLE_ALREADY_IN_USE = 809;
- const API_EC_DATA_TOO_MANY_TEMPLATE_BUNDLES = 810;
- const API_EC_DATA_MALFORMED_ACTION_LINK = 811;
- const API_EC_DATA_TEMPLATE_USES_RESERVED_TOKEN = 812;
-
- /*
- * APPLICATION INFO ERRORS
- */
- const API_EC_NO_SUCH_APP = 900;
-
- /*
- * BATCH ERRORS
- */
- const API_EC_BATCH_TOO_MANY_ITEMS = 950;
- const API_EC_BATCH_ALREADY_STARTED = 951;
- const API_EC_BATCH_NOT_STARTED = 952;
- const API_EC_BATCH_METHOD_NOT_ALLOWED_IN_BATCH_MODE = 953;
-
- /*
- * EVENT API ERRORS
- */
- const API_EC_EVENT_INVALID_TIME = 1000;
- const API_EC_EVENT_NAME_LOCKED = 1001;
-
- /*
- * INFO BOX ERRORS
- */
- const API_EC_INFO_NO_INFORMATION = 1050;
- const API_EC_INFO_SET_FAILED = 1051;
-
- /*
- * LIVEMESSAGE API ERRORS
- */
- const API_EC_LIVEMESSAGE_SEND_FAILED = 1100;
- const API_EC_LIVEMESSAGE_EVENT_NAME_TOO_LONG = 1101;
- const API_EC_LIVEMESSAGE_MESSAGE_TOO_LONG = 1102;
-
- /*
- * PAYMENTS API ERRORS
- */
- const API_EC_PAYMENTS_UNKNOWN = 1150;
- const API_EC_PAYMENTS_APP_INVALID = 1151;
- const API_EC_PAYMENTS_DATABASE = 1152;
- const API_EC_PAYMENTS_PERMISSION_DENIED = 1153;
- const API_EC_PAYMENTS_APP_NO_RESPONSE = 1154;
- const API_EC_PAYMENTS_APP_ERROR_RESPONSE = 1155;
- const API_EC_PAYMENTS_INVALID_ORDER = 1156;
- const API_EC_PAYMENTS_INVALID_PARAM = 1157;
- const API_EC_PAYMENTS_INVALID_OPERATION = 1158;
- const API_EC_PAYMENTS_PAYMENT_FAILED = 1159;
- const API_EC_PAYMENTS_DISABLED = 1160;
-
- /*
- * CONNECT SESSION ERRORS
- */
- const API_EC_CONNECT_FEED_DISABLED = 1300;
-
- /*
- * Platform tag bundles errors
- */
- const API_EC_TAG_BUNDLE_QUOTA = 1400;
-
- /*
- * SHARE
- */
- const API_EC_SHARE_BAD_URL = 1500;
-
- /*
- * NOTES
- */
- const API_EC_NOTE_CANNOT_MODIFY = 1600;
-
- /*
- * COMMENTS
- */
- const API_EC_COMMENTS_UNKNOWN = 1700;
- const API_EC_COMMENTS_POST_TOO_LONG = 1701;
- const API_EC_COMMENTS_DB_DOWN = 1702;
- const API_EC_COMMENTS_INVALID_XID = 1703;
- const API_EC_COMMENTS_INVALID_UID = 1704;
- const API_EC_COMMENTS_INVALID_POST = 1705;
- const API_EC_COMMENTS_INVALID_REMOVE = 1706;
-
- /*
- * GIFTS
- */
- const API_EC_GIFTS_UNKNOWN = 1900;
-
- /*
- * APPLICATION MORATORIUM ERRORS
- */
- const API_EC_DISABLED_ALL = 2000;
- const API_EC_DISABLED_STATUS = 2001;
- const API_EC_DISABLED_FEED_STORIES = 2002;
- const API_EC_DISABLED_NOTIFICATIONS = 2003;
- const API_EC_DISABLED_REQUESTS = 2004;
- const API_EC_DISABLED_EMAIL = 2005;
-
- /**
- * This array is no longer maintained; to view the description of an error
- * code, please look at the message element of the API response or visit
- * the developer wiki at http://wiki.developers.facebook.com/.
- */
- public static $api_error_descriptions = array(
- self::API_EC_SUCCESS => 'Success',
- self::API_EC_UNKNOWN => 'An unknown error occurred',
- self::API_EC_SERVICE => 'Service temporarily unavailable',
- self::API_EC_METHOD => 'Unknown method',
- self::API_EC_TOO_MANY_CALLS => 'Application request limit reached',
- self::API_EC_BAD_IP => 'Unauthorized source IP address',
- self::API_EC_PARAM => 'Invalid parameter',
- self::API_EC_PARAM_API_KEY => 'Invalid API key',
- self::API_EC_PARAM_SESSION_KEY => 'Session key invalid or no longer valid',
- self::API_EC_PARAM_CALL_ID => 'Call_id must be greater than previous',
- self::API_EC_PARAM_SIGNATURE => 'Incorrect signature',
- self::API_EC_PARAM_USER_ID => 'Invalid user id',
- self::API_EC_PARAM_USER_FIELD => 'Invalid user info field',
- self::API_EC_PARAM_SOCIAL_FIELD => 'Invalid user field',
- self::API_EC_PARAM_USER_ID_LIST => 'Invalid user id list',
- self::API_EC_PARAM_FIELD_LIST => 'Invalid field list',
- self::API_EC_PARAM_ALBUM_ID => 'Invalid album id',
- self::API_EC_PARAM_BAD_EID => 'Invalid eid',
- self::API_EC_PARAM_UNKNOWN_CITY => 'Unknown city',
- self::API_EC_PERMISSION => 'Permissions error',
- self::API_EC_PERMISSION_USER => 'User not visible',
- self::API_EC_PERMISSION_NO_DEVELOPERS => 'Application has no developers',
- self::API_EC_PERMISSION_ALBUM => 'Album not visible',
- self::API_EC_PERMISSION_PHOTO => 'Photo not visible',
- self::API_EC_PERMISSION_EVENT => 'Creating and modifying events required the extended permission create_event',
- self::API_EC_PERMISSION_RSVP_EVENT => 'RSVPing to events required the extended permission rsvp_event',
- self::API_EC_EDIT_ALBUM_SIZE => 'Album is full',
- self::FQL_EC_PARSER => 'FQL: Parser Error',
- self::FQL_EC_UNKNOWN_FIELD => 'FQL: Unknown Field',
- self::FQL_EC_UNKNOWN_TABLE => 'FQL: Unknown Table',
- self::FQL_EC_NOT_INDEXABLE => 'FQL: Statement not indexable',
- self::FQL_EC_UNKNOWN_FUNCTION => 'FQL: Attempted to call unknown function',
- self::FQL_EC_INVALID_PARAM => 'FQL: Invalid parameter passed in',
- self::API_EC_DATA_UNKNOWN_ERROR => 'Unknown data store API error',
- self::API_EC_DATA_INVALID_OPERATION => 'Invalid operation',
- self::API_EC_DATA_QUOTA_EXCEEDED => 'Data store allowable quota was exceeded',
- self::API_EC_DATA_OBJECT_NOT_FOUND => 'Specified object cannot be found',
- self::API_EC_DATA_OBJECT_ALREADY_EXISTS => 'Specified object already exists',
- self::API_EC_DATA_DATABASE_ERROR => 'A database error occurred. Please try again',
- self::API_EC_BATCH_ALREADY_STARTED => 'begin_batch already called, please make sure to call end_batch first',
- self::API_EC_BATCH_NOT_STARTED => 'end_batch called before begin_batch',
- self::API_EC_BATCH_METHOD_NOT_ALLOWED_IN_BATCH_MODE => 'This method is not allowed in batch mode'
- );
-}
+++ /dev/null
-<?php
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Converts to and from JSON format.
- *
- * JSON (JavaScript Object Notation) is a lightweight data-interchange
- * format. It is easy for humans to read and write. It is easy for machines
- * to parse and generate. It is based on a subset of the JavaScript
- * Programming Language, Standard ECMA-262 3rd Edition - December 1999.
- * This feature can also be found in Python. JSON is a text format that is
- * completely language independent but uses conventions that are familiar
- * to programmers of the C-family of languages, including C, C++, C#, Java,
- * JavaScript, Perl, TCL, and many others. These properties make JSON an
- * ideal data-interchange language.
- *
- * This package provides a simple encoder and decoder for JSON notation. It
- * is intended for use with client-side Javascript applications that make
- * use of HTTPRequest to perform server communication functions - data can
- * be encoded into JSON notation for use in a client-side javascript, or
- * decoded from incoming Javascript requests. JSON format is native to
- * Javascript, and can be directly eval()'ed with no further parsing
- * overhead
- *
- * All strings should be in ASCII or UTF-8 format!
- *
- * LICENSE: Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met: Redistributions of source code must retain the
- * above copyright notice, this list of conditions and the following
- * disclaimer. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
- * NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * @category
- * @package Services_JSON
- * @author Michal Migurski <mike-json@teczno.com>
- * @author Matt Knapp <mdknapp[at]gmail[dot]com>
- * @author Brett Stimmerman <brettstimmerman[at]gmail[dot]com>
- * @copyright 2005 Michal Migurski
- * @version CVS: $Id: JSON.php,v 1.31 2006/06/28 05:54:17 migurski Exp $
- * @license http://www.opensource.org/licenses/bsd-license.php
- * @link http://pear.php.net/pepr/pepr-proposal-show.php?id=198
- */
-
-/**
- * Marker constant for Services_JSON::decode(), used to flag stack state
- */
-define('SERVICES_JSON_SLICE', 1);
-
-/**
- * Marker constant for Services_JSON::decode(), used to flag stack state
- */
-define('SERVICES_JSON_IN_STR', 2);
-
-/**
- * Marker constant for Services_JSON::decode(), used to flag stack state
- */
-define('SERVICES_JSON_IN_ARR', 3);
-
-/**
- * Marker constant for Services_JSON::decode(), used to flag stack state
- */
-define('SERVICES_JSON_IN_OBJ', 4);
-
-/**
- * Marker constant for Services_JSON::decode(), used to flag stack state
- */
-define('SERVICES_JSON_IN_CMT', 5);
-
-/**
- * Behavior switch for Services_JSON::decode()
- */
-define('SERVICES_JSON_LOOSE_TYPE', 16);
-
-/**
- * Behavior switch for Services_JSON::decode()
- */
-define('SERVICES_JSON_SUPPRESS_ERRORS', 32);
-
-/**
- * Converts to and from JSON format.
- *
- * Brief example of use:
- *
- * <code>
- * // create a new instance of Services_JSON
- * $json = new Services_JSON();
- *
- * // convert a complexe value to JSON notation, and send it to the browser
- * $value = array('foo', 'bar', array(1, 2, 'baz'), array(3, array(4)));
- * $output = $json->encode($value);
- *
- * print($output);
- * // prints: ["foo","bar",[1,2,"baz"],[3,[4]]]
- *
- * // accept incoming POST data, assumed to be in JSON notation
- * $input = file_get_contents('php://input', 1000000);
- * $value = $json->decode($input);
- * </code>
- */
-class Services_JSON
-{
- /**
- * constructs a new JSON instance
- *
- * @param int $use object behavior flags; combine with boolean-OR
- *
- * possible values:
- * - SERVICES_JSON_LOOSE_TYPE: loose typing.
- * "{...}" syntax creates associative arrays
- * instead of objects in decode().
- * - SERVICES_JSON_SUPPRESS_ERRORS: error suppression.
- * Values which can't be encoded (e.g. resources)
- * appear as NULL instead of throwing errors.
- * By default, a deeply-nested resource will
- * bubble up with an error, so all return values
- * from encode() should be checked with isError()
- */
- function Services_JSON($use = 0)
- {
- $this->use = $use;
- }
-
- /**
- * convert a string from one UTF-16 char to one UTF-8 char
- *
- * Normally should be handled by mb_convert_encoding, but
- * provides a slower PHP-only method for installations
- * that lack the multibye string extension.
- *
- * @param string $utf16 UTF-16 character
- * @return string UTF-8 character
- * @access private
- */
- function utf162utf8($utf16)
- {
- // oh please oh please oh please oh please oh please
- if(function_exists('mb_convert_encoding')) {
- return mb_convert_encoding($utf16, 'UTF-8', 'UTF-16');
- }
-
- $bytes = (ord($utf16{0}) << 8) | ord($utf16{1});
-
- switch(true) {
- case ((0x7F & $bytes) == $bytes):
- // this case should never be reached, because we are in ASCII range
- // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- return chr(0x7F & $bytes);
-
- case (0x07FF & $bytes) == $bytes:
- // return a 2-byte UTF-8 character
- // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- return chr(0xC0 | (($bytes >> 6) & 0x1F))
- . chr(0x80 | ($bytes & 0x3F));
-
- case (0xFFFF & $bytes) == $bytes:
- // return a 3-byte UTF-8 character
- // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- return chr(0xE0 | (($bytes >> 12) & 0x0F))
- . chr(0x80 | (($bytes >> 6) & 0x3F))
- . chr(0x80 | ($bytes & 0x3F));
- }
-
- // ignoring UTF-32 for now, sorry
- return '';
- }
-
- /**
- * convert a string from one UTF-8 char to one UTF-16 char
- *
- * Normally should be handled by mb_convert_encoding, but
- * provides a slower PHP-only method for installations
- * that lack the multibye string extension.
- *
- * @param string $utf8 UTF-8 character
- * @return string UTF-16 character
- * @access private
- */
- function utf82utf16($utf8)
- {
- // oh please oh please oh please oh please oh please
- if(function_exists('mb_convert_encoding')) {
- return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8');
- }
-
- switch(strlen($utf8)) {
- case 1:
- // this case should never be reached, because we are in ASCII range
- // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- return $utf8;
-
- case 2:
- // return a UTF-16 character from a 2-byte UTF-8 char
- // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- return chr(0x07 & (ord($utf8{0}) >> 2))
- . chr((0xC0 & (ord($utf8{0}) << 6))
- | (0x3F & ord($utf8{1})));
-
- case 3:
- // return a UTF-16 character from a 3-byte UTF-8 char
- // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- return chr((0xF0 & (ord($utf8{0}) << 4))
- | (0x0F & (ord($utf8{1}) >> 2)))
- . chr((0xC0 & (ord($utf8{1}) << 6))
- | (0x7F & ord($utf8{2})));
- }
-
- // ignoring UTF-32 for now, sorry
- return '';
- }
-
- /**
- * encodes an arbitrary variable into JSON format
- *
- * @param mixed $var any number, boolean, string, array, or object to be encoded.
- * see argument 1 to Services_JSON() above for array-parsing behavior.
- * if var is a strng, note that encode() always expects it
- * to be in ASCII or UTF-8 format!
- *
- * @return mixed JSON string representation of input var or an error if a problem occurs
- * @access public
- */
- function encode($var)
- {
- switch (gettype($var)) {
- case 'boolean':
- return $var ? 'true' : 'false';
-
- case 'NULL':
- return 'null';
-
- case 'integer':
- return (int) $var;
-
- case 'double':
- case 'float':
- return (float) $var;
-
- case 'string':
- // STRINGS ARE EXPECTED TO BE IN ASCII OR UTF-8 FORMAT
- $ascii = '';
- $strlen_var = strlen($var);
-
- /*
- * Iterate over every character in the string,
- * escaping with a slash or encoding to UTF-8 where necessary
- */
- for ($c = 0; $c < $strlen_var; ++$c) {
-
- $ord_var_c = ord($var{$c});
-
- switch (true) {
- case $ord_var_c == 0x08:
- $ascii .= '\b';
- break;
- case $ord_var_c == 0x09:
- $ascii .= '\t';
- break;
- case $ord_var_c == 0x0A:
- $ascii .= '\n';
- break;
- case $ord_var_c == 0x0C:
- $ascii .= '\f';
- break;
- case $ord_var_c == 0x0D:
- $ascii .= '\r';
- break;
-
- case $ord_var_c == 0x22:
- case $ord_var_c == 0x2F:
- case $ord_var_c == 0x5C:
- // double quote, slash, slosh
- $ascii .= '\\'.$var{$c};
- break;
-
- case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)):
- // characters U-00000000 - U-0000007F (same as ASCII)
- $ascii .= $var{$c};
- break;
-
- case (($ord_var_c & 0xE0) == 0xC0):
- // characters U-00000080 - U-000007FF, mask 110XXXXX
- // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- $char = pack('C*', $ord_var_c, ord($var{$c + 1}));
- $c += 1;
- $utf16 = $this->utf82utf16($char);
- $ascii .= sprintf('\u%04s', bin2hex($utf16));
- break;
-
- case (($ord_var_c & 0xF0) == 0xE0):
- // characters U-00000800 - U-0000FFFF, mask 1110XXXX
- // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- $char = pack('C*', $ord_var_c,
- ord($var{$c + 1}),
- ord($var{$c + 2}));
- $c += 2;
- $utf16 = $this->utf82utf16($char);
- $ascii .= sprintf('\u%04s', bin2hex($utf16));
- break;
-
- case (($ord_var_c & 0xF8) == 0xF0):
- // characters U-00010000 - U-001FFFFF, mask 11110XXX
- // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- $char = pack('C*', $ord_var_c,
- ord($var{$c + 1}),
- ord($var{$c + 2}),
- ord($var{$c + 3}));
- $c += 3;
- $utf16 = $this->utf82utf16($char);
- $ascii .= sprintf('\u%04s', bin2hex($utf16));
- break;
-
- case (($ord_var_c & 0xFC) == 0xF8):
- // characters U-00200000 - U-03FFFFFF, mask 111110XX
- // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- $char = pack('C*', $ord_var_c,
- ord($var{$c + 1}),
- ord($var{$c + 2}),
- ord($var{$c + 3}),
- ord($var{$c + 4}));
- $c += 4;
- $utf16 = $this->utf82utf16($char);
- $ascii .= sprintf('\u%04s', bin2hex($utf16));
- break;
-
- case (($ord_var_c & 0xFE) == 0xFC):
- // characters U-04000000 - U-7FFFFFFF, mask 1111110X
- // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- $char = pack('C*', $ord_var_c,
- ord($var{$c + 1}),
- ord($var{$c + 2}),
- ord($var{$c + 3}),
- ord($var{$c + 4}),
- ord($var{$c + 5}));
- $c += 5;
- $utf16 = $this->utf82utf16($char);
- $ascii .= sprintf('\u%04s', bin2hex($utf16));
- break;
- }
- }
-
- return '"'.$ascii.'"';
-
- case 'array':
- /*
- * As per JSON spec if any array key is not an integer
- * we must treat the the whole array as an object. We
- * also try to catch a sparsely populated associative
- * array with numeric keys here because some JS engines
- * will create an array with empty indexes up to
- * max_index which can cause memory issues and because
- * the keys, which may be relevant, will be remapped
- * otherwise.
- *
- * As per the ECMA and JSON specification an object may
- * have any string as a property. Unfortunately due to
- * a hole in the ECMA specification if the key is a
- * ECMA reserved word or starts with a digit the
- * parameter is only accessible using ECMAScript's
- * bracket notation.
- */
-
- // treat as a JSON object
- if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) {
- $properties = array_map(array($this, 'name_value'),
- array_keys($var),
- array_values($var));
-
- foreach($properties as $property) {
- if(Services_JSON::isError($property)) {
- return $property;
- }
- }
-
- return '{' . join(',', $properties) . '}';
- }
-
- // treat it like a regular array
- $elements = array_map(array($this, 'encode'), $var);
-
- foreach($elements as $element) {
- if(Services_JSON::isError($element)) {
- return $element;
- }
- }
-
- return '[' . join(',', $elements) . ']';
-
- case 'object':
- $vars = get_object_vars($var);
-
- $properties = array_map(array($this, 'name_value'),
- array_keys($vars),
- array_values($vars));
-
- foreach($properties as $property) {
- if(Services_JSON::isError($property)) {
- return $property;
- }
- }
-
- return '{' . join(',', $properties) . '}';
-
- default:
- return ($this->use & SERVICES_JSON_SUPPRESS_ERRORS)
- ? 'null'
- : new Services_JSON_Error(gettype($var)." can not be encoded as JSON string");
- }
- }
-
- /**
- * array-walking function for use in generating JSON-formatted name-value pairs
- *
- * @param string $name name of key to use
- * @param mixed $value reference to an array element to be encoded
- *
- * @return string JSON-formatted name-value pair, like '"name":value'
- * @access private
- */
- function name_value($name, $value)
- {
- $encoded_value = $this->encode($value);
-
- if(Services_JSON::isError($encoded_value)) {
- return $encoded_value;
- }
-
- return $this->encode(strval($name)) . ':' . $encoded_value;
- }
-
- /**
- * reduce a string by removing leading and trailing comments and whitespace
- *
- * @param $str string string value to strip of comments and whitespace
- *
- * @return string string value stripped of comments and whitespace
- * @access private
- */
- function reduce_string($str)
- {
- $str = preg_replace(array(
-
- // eliminate single line comments in '// ...' form
- '#^\s*//(.+)$#m',
-
- // eliminate multi-line comments in '/* ... */' form, at start of string
- '#^\s*/\*(.+)\*/#Us',
-
- // eliminate multi-line comments in '/* ... */' form, at end of string
- '#/\*(.+)\*/\s*$#Us'
-
- ), '', $str);
-
- // eliminate extraneous space
- return trim($str);
- }
-
- /**
- * decodes a JSON string into appropriate variable
- *
- * @param string $str JSON-formatted string
- *
- * @return mixed number, boolean, string, array, or object
- * corresponding to given JSON input string.
- * See argument 1 to Services_JSON() above for object-output behavior.
- * Note that decode() always returns strings
- * in ASCII or UTF-8 format!
- * @access public
- */
- function decode($str)
- {
- $str = $this->reduce_string($str);
-
- switch (strtolower($str)) {
- case 'true':
- return true;
-
- case 'false':
- return false;
-
- case 'null':
- return null;
-
- default:
- $m = array();
-
- if (is_numeric($str)) {
- // Lookie-loo, it's a number
-
- // This would work on its own, but I'm trying to be
- // good about returning integers where appropriate:
- // return (float)$str;
-
- // Return float or int, as appropriate
- return ((float)$str == (integer)$str)
- ? (integer)$str
- : (float)$str;
-
- } elseif (preg_match('/^("|\').*(\1)$/s', $str, $m) && $m[1] == $m[2]) {
- // STRINGS RETURNED IN UTF-8 FORMAT
- $delim = substr($str, 0, 1);
- $chrs = substr($str, 1, -1);
- $utf8 = '';
- $strlen_chrs = strlen($chrs);
-
- for ($c = 0; $c < $strlen_chrs; ++$c) {
-
- $substr_chrs_c_2 = substr($chrs, $c, 2);
- $ord_chrs_c = ord($chrs{$c});
-
- switch (true) {
- case $substr_chrs_c_2 == '\b':
- $utf8 .= chr(0x08);
- ++$c;
- break;
- case $substr_chrs_c_2 == '\t':
- $utf8 .= chr(0x09);
- ++$c;
- break;
- case $substr_chrs_c_2 == '\n':
- $utf8 .= chr(0x0A);
- ++$c;
- break;
- case $substr_chrs_c_2 == '\f':
- $utf8 .= chr(0x0C);
- ++$c;
- break;
- case $substr_chrs_c_2 == '\r':
- $utf8 .= chr(0x0D);
- ++$c;
- break;
-
- case $substr_chrs_c_2 == '\\"':
- case $substr_chrs_c_2 == '\\\'':
- case $substr_chrs_c_2 == '\\\\':
- case $substr_chrs_c_2 == '\\/':
- if (($delim == '"' && $substr_chrs_c_2 != '\\\'') ||
- ($delim == "'" && $substr_chrs_c_2 != '\\"')) {
- $utf8 .= $chrs{++$c};
- }
- break;
-
- case preg_match('/\\\u[0-9A-F]{4}/i', substr($chrs, $c, 6)):
- // single, escaped unicode character
- $utf16 = chr(hexdec(substr($chrs, ($c + 2), 2)))
- . chr(hexdec(substr($chrs, ($c + 4), 2)));
- $utf8 .= $this->utf162utf8($utf16);
- $c += 5;
- break;
-
- case ($ord_chrs_c >= 0x20) && ($ord_chrs_c <= 0x7F):
- $utf8 .= $chrs{$c};
- break;
-
- case ($ord_chrs_c & 0xE0) == 0xC0:
- // characters U-00000080 - U-000007FF, mask 110XXXXX
- //see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- $utf8 .= substr($chrs, $c, 2);
- ++$c;
- break;
-
- case ($ord_chrs_c & 0xF0) == 0xE0:
- // characters U-00000800 - U-0000FFFF, mask 1110XXXX
- // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- $utf8 .= substr($chrs, $c, 3);
- $c += 2;
- break;
-
- case ($ord_chrs_c & 0xF8) == 0xF0:
- // characters U-00010000 - U-001FFFFF, mask 11110XXX
- // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- $utf8 .= substr($chrs, $c, 4);
- $c += 3;
- break;
-
- case ($ord_chrs_c & 0xFC) == 0xF8:
- // characters U-00200000 - U-03FFFFFF, mask 111110XX
- // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- $utf8 .= substr($chrs, $c, 5);
- $c += 4;
- break;
-
- case ($ord_chrs_c & 0xFE) == 0xFC:
- // characters U-04000000 - U-7FFFFFFF, mask 1111110X
- // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- $utf8 .= substr($chrs, $c, 6);
- $c += 5;
- break;
-
- }
-
- }
-
- return $utf8;
-
- } elseif (preg_match('/^\[.*\]$/s', $str) || preg_match('/^\{.*\}$/s', $str)) {
- // array, or object notation
-
- if ($str{0} == '[') {
- $stk = array(SERVICES_JSON_IN_ARR);
- $arr = array();
- } else {
- if ($this->use & SERVICES_JSON_LOOSE_TYPE) {
- $stk = array(SERVICES_JSON_IN_OBJ);
- $obj = array();
- } else {
- $stk = array(SERVICES_JSON_IN_OBJ);
- $obj = new stdClass();
- }
- }
-
- array_push($stk, array('what' => SERVICES_JSON_SLICE,
- 'where' => 0,
- 'delim' => false));
-
- $chrs = substr($str, 1, -1);
- $chrs = $this->reduce_string($chrs);
-
- if ($chrs == '') {
- if (reset($stk) == SERVICES_JSON_IN_ARR) {
- return $arr;
-
- } else {
- return $obj;
-
- }
- }
-
- //print("\nparsing {$chrs}\n");
-
- $strlen_chrs = strlen($chrs);
-
- for ($c = 0; $c <= $strlen_chrs; ++$c) {
-
- $top = end($stk);
- $substr_chrs_c_2 = substr($chrs, $c, 2);
-
- if (($c == $strlen_chrs) || (($chrs{$c} == ',') && ($top['what'] == SERVICES_JSON_SLICE))) {
- // found a comma that is not inside a string, array, etc.,
- // OR we've reached the end of the character list
- $slice = substr($chrs, $top['where'], ($c - $top['where']));
- array_push($stk, array('what' => SERVICES_JSON_SLICE, 'where' => ($c + 1), 'delim' => false));
- //print("Found split at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
-
- if (reset($stk) == SERVICES_JSON_IN_ARR) {
- // we are in an array, so just push an element onto the stack
- array_push($arr, $this->decode($slice));
-
- } elseif (reset($stk) == SERVICES_JSON_IN_OBJ) {
- // we are in an object, so figure
- // out the property name and set an
- // element in an associative array,
- // for now
- $parts = array();
-
- if (preg_match('/^\s*(["\'].*[^\\\]["\'])\s*:\s*(\S.*),?$/Uis', $slice, $parts)) {
- // "name":value pair
- $key = $this->decode($parts[1]);
- $val = $this->decode($parts[2]);
-
- if ($this->use & SERVICES_JSON_LOOSE_TYPE) {
- $obj[$key] = $val;
- } else {
- $obj->$key = $val;
- }
- } elseif (preg_match('/^\s*(\w+)\s*:\s*(\S.*),?$/Uis', $slice, $parts)) {
- // name:value pair, where name is unquoted
- $key = $parts[1];
- $val = $this->decode($parts[2]);
-
- if ($this->use & SERVICES_JSON_LOOSE_TYPE) {
- $obj[$key] = $val;
- } else {
- $obj->$key = $val;
- }
- }
-
- }
-
- } elseif ((($chrs{$c} == '"') || ($chrs{$c} == "'")) && ($top['what'] != SERVICES_JSON_IN_STR)) {
- // found a quote, and we are not inside a string
- array_push($stk, array('what' => SERVICES_JSON_IN_STR, 'where' => $c, 'delim' => $chrs{$c}));
- //print("Found start of string at {$c}\n");
-
- } elseif (($chrs{$c} == $top['delim']) &&
- ($top['what'] == SERVICES_JSON_IN_STR) &&
- ((strlen(substr($chrs, 0, $c)) - strlen(rtrim(substr($chrs, 0, $c), '\\'))) % 2 != 1)) {
- // found a quote, we're in a string, and it's not escaped
- // we know that it's not escaped becase there is _not_ an
- // odd number of backslashes at the end of the string so far
- array_pop($stk);
- //print("Found end of string at {$c}: ".substr($chrs, $top['where'], (1 + 1 + $c - $top['where']))."\n");
-
- } elseif (($chrs{$c} == '[') &&
- in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {
- // found a left-bracket, and we are in an array, object, or slice
- array_push($stk, array('what' => SERVICES_JSON_IN_ARR, 'where' => $c, 'delim' => false));
- //print("Found start of array at {$c}\n");
-
- } elseif (($chrs{$c} == ']') && ($top['what'] == SERVICES_JSON_IN_ARR)) {
- // found a right-bracket, and we're in an array
- array_pop($stk);
- //print("Found end of array at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
-
- } elseif (($chrs{$c} == '{') &&
- in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {
- // found a left-brace, and we are in an array, object, or slice
- array_push($stk, array('what' => SERVICES_JSON_IN_OBJ, 'where' => $c, 'delim' => false));
- //print("Found start of object at {$c}\n");
-
- } elseif (($chrs{$c} == '}') && ($top['what'] == SERVICES_JSON_IN_OBJ)) {
- // found a right-brace, and we're in an object
- array_pop($stk);
- //print("Found end of object at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
-
- } elseif (($substr_chrs_c_2 == '/*') &&
- in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {
- // found a comment start, and we are in an array, object, or slice
- array_push($stk, array('what' => SERVICES_JSON_IN_CMT, 'where' => $c, 'delim' => false));
- $c++;
- //print("Found start of comment at {$c}\n");
-
- } elseif (($substr_chrs_c_2 == '*/') && ($top['what'] == SERVICES_JSON_IN_CMT)) {
- // found a comment end, and we're in one now
- array_pop($stk);
- $c++;
-
- for ($i = $top['where']; $i <= $c; ++$i)
- $chrs = substr_replace($chrs, ' ', $i, 1);
-
- //print("Found end of comment at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
-
- }
-
- }
-
- if (reset($stk) == SERVICES_JSON_IN_ARR) {
- return $arr;
-
- } elseif (reset($stk) == SERVICES_JSON_IN_OBJ) {
- return $obj;
-
- }
-
- }
- }
- }
-
- /**
- * @todo Ultimately, this should just call PEAR::isError()
- */
- function isError($data, $code = null)
- {
- if (class_exists('pear')) {
- return PEAR::isError($data, $code);
- } elseif (is_object($data) && (get_class($data) == 'services_json_error' ||
- is_subclass_of($data, 'services_json_error'))) {
- return true;
- }
-
- return false;
- }
-}
-
-if (class_exists('PEAR_Error')) {
-
- class Services_JSON_Error extends PEAR_Error
- {
- function Services_JSON_Error($message = 'unknown error', $code = null,
- $mode = null, $options = null, $userinfo = null)
- {
- parent::PEAR_Error($message, $code, $mode, $options, $userinfo);
- }
- }
-
-} else {
-
- /**
- * @todo Ultimately, this class shall be descended from PEAR_Error
- */
- class Services_JSON_Error
- {
- function Services_JSON_Error($message = 'unknown error', $code = null,
- $mode = null, $options = null, $userinfo = null)
- {
-
- }
- }
-
-}
-
-?>
+++ /dev/null
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-Redistributions of source code must retain the above copyright notice,
-this list of conditions and the following disclaimer.
-
-Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
-NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+++ /dev/null
-<?php
-# In PHP 5.2 or higher we don't need to bring this in
-if (!function_exists('json_encode')) {
- require_once 'jsonwrapper_inner.php';
-}
-?>
+++ /dev/null
-<?php
-
-require_once 'JSON/JSON.php';
-
-function json_encode($arg)
-{
- global $services_json;
- if (!isset($services_json)) {
- $services_json = new Services_JSON();
- }
- return $services_json->encode($arg);
-}
-
-function json_decode($arg)
-{
- global $services_json;
- if (!isset($services_json)) {
- $services_json = new Services_JSON();
- }
- return $services_json->decode($arg);
-}
-
-?>
+++ /dev/null
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Base Facebook Action
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- *
- * @category Faceboook
- * @package StatusNet
- * @author Zach Copley <zach@status.net>
- * @copyright 2008-2009 StatusNet, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
-require_once INSTALLDIR . '/plugins/Facebook/facebooknoticeform.php';
-
-class FacebookAction extends Action
-{
- var $facebook = null;
- var $fbuid = null;
- var $flink = null;
- var $action = null;
- var $app_uri = null;
- var $app_name = null;
-
- function __construct($output='php://output', $indent=null, $facebook=null, $flink=null)
- {
- parent::__construct($output, $indent);
-
- $this->facebook = $facebook;
- $this->flink = $flink;
-
- if ($this->flink) {
- $this->fbuid = $flink->foreign_id;
- $this->user = $flink->getUser();
- }
-
- $this->args = array();
- }
-
- function prepare($argarray)
- {
- parent::prepare($argarray);
-
- $this->facebook = getFacebook();
- $this->fbuid = $this->facebook->require_login();
-
- $this->action = $this->trimmed('action');
-
- $app_props = $this->facebook->api_client->Admin_getAppProperties(
- array('canvas_name', 'application_name'));
-
- $this->app_uri = 'http://apps.facebook.com/' . $app_props['canvas_name'];
- $this->app_name = $app_props['application_name'];
-
- $this->flink = Foreign_link::getByForeignID($this->fbuid, FACEBOOK_SERVICE);
-
- return true;
-
- }
-
- function showStylesheets()
- {
- // Loading CSS via files in Facebook FBML Canvas apps is still busted as of 1/31/11
- // See: http://bugs.developers.facebook.net/show_bug.cgi?id=10052
- $this->cssLink('css/display.css', 'base');
- $this->cssLink('css/display.css', null, 'screen, projection, tv');
- $this->cssLink('plugins/Facebook/facebookapp.css');
-
- // Also, Facebook refuses to let me do this... gar!
-/*
- $baseCss = file_get_contents(INSTALLDIR . '/theme/base/css/display.css');
- $this->style($baseCss);
-
- $facebookCss = file_get_contents(INSTALLDIR . '/plugins/Facebook/facebookapp.css');
- $this->style($facebookCss);
-*/
- }
-
- function showScripts()
- {
- $this->script('plugins/Facebook/facebookapp.js');
- }
-
- /**
- * Start an Facebook ready HTML document
- *
- * For Facebook we don't want to actually output any headers,
- * DTD info, etc. Just Stylesheet and JavaScript links.
- *
- * @param string $type MIME type to use; default is to do negotation.
- *
- * @return void
- */
- function startHTML($type=null)
- {
- $this->showStylesheets();
- $this->showScripts();
-
- $this->elementStart('div', array('class' => 'facebook-page'));
- }
-
- /**
- * Ends a Facebook ready HTML document
- *
- * @return void
- */
- function endHTML()
- {
- $this->elementEnd('div');
- $this->endXML();
- }
-
- /**
- * Show notice form.
- *
- * @return nothing
- */
- function showNoticeForm()
- {
- // don't do it for most of the Facebook pages
- }
-
- function showBody()
- {
- $this->elementStart('div', array('id' => 'wrap'));
- $this->showHeader();
- $this->showCore();
- $this->showFooter();
- $this->elementEnd('div');
- }
-
- function showHead($error, $success)
- {
- if ($error) {
- $this->element("h1", null, $error);
- }
-
- if ($success) {
- $this->element("h1", null, $success);
- }
-
- $this->elementStart('fb:if-section-not-added', array('section' => 'profile'));
- $this->elementStart('span', array('id' => 'add_to_profile'));
- $this->element('fb:add-section-button', array('section' => 'profile'));
- $this->elementEnd('span');
- $this->elementEnd('fb:if-section-not-added');
-
- }
-
- // Make this into a widget later
- function showLocalNav()
- {
- $this->elementStart('ul', array('class' => 'nav'));
-
- $this->elementStart('li', array('class' =>
- ($this->action == 'facebookhome') ? 'current' : 'facebook_home'));
- $this->element('a',
- // TRANS: Link description for 'Home' link that leads to a start page.
- array('href' => 'index.php', 'title' => _m('MENU','Home')),
- // TRANS: Tooltip for 'Home' link that leads to a start page.
- _m('Home'));
- $this->elementEnd('li');
-
- if (common_config('invite', 'enabled')) {
- $this->elementStart('li',
- array('class' =>
- ($this->action == 'facebookinvite') ? 'current' : 'facebook_invite'));
- $this->element('a',
- // TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
- array('href' => 'invite.php', 'title' => _m('MENU','Invite')),
- // TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
- _m('Invite'));
- $this->elementEnd('li');
- }
-
- $this->elementStart('li',
- array('class' =>
- ($this->action == 'facebooksettings') ? 'current' : 'facebook_settings'));
- $this->element('a',
- array('href' => 'settings.php',
- // TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
- 'title' => _m('MENU','Settings')),
- // TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
- _m('Settings'));
- $this->elementEnd('li');
-
- $this->elementEnd('ul');
- }
-
- /**
- * Show header of the page.
- *
- * @return nothing
- */
- function showHeader()
- {
- $this->elementStart('div', array('id' => 'header'));
- $this->showLogo();
- $this->showNoticeForm();
- $this->elementEnd('div');
- }
-
- /**
- * Show page, a template method.
- *
- * @return nothing
- */
- function showPage($error = null, $success = null)
- {
- $this->startHTML();
- $this->showHead($error, $success);
- $this->showBody();
- $this->endHTML();
- }
-
- function showInstructions()
- {
- $this->elementStart('div', array('class' => 'facebook_guide'));
-
- $this->elementStart('dl', array('class' => 'system_notice'));
- $this->element('dt', null, 'Page Notice');
-
- $loginmsg_part1 = _m('To use the %s Facebook Application you need to login ' .
- 'with your username and password. Don\'t have a username yet?');
- $loginmsg_part2 = _m(' a new account.');
-
- $this->elementStart('dd');
- $this->elementStart('p');
- $this->text(sprintf($loginmsg_part1, common_config('site', 'name')));
- // @todo FIXME: Bad i18n. Patchwork message in two parts.
- $this->element('a',
- array('href' => common_local_url('register')), _m('Register'));
- $this->text( " " . $loginmsg_part2);
- $this->elementEnd('p');
- $this->elementEnd('dd');
-
- $this->elementEnd('dl');
- $this->elementEnd('div');
- }
-
- function showLoginForm($msg = null)
- {
-
- $this->elementStart('div', array('id' => 'content'));
- $this->element('h1', null, _m('Login'));
-
- if ($msg) {
- $this->element('fb:error', array('message' => $msg));
- }
-
- $this->showInstructions();
-
- $this->elementStart('div', array('id' => 'content_inner'));
-
- $this->elementStart('form', array('method' => 'post',
- 'class' => 'form_settings',
- 'id' => 'login',
- 'action' => 'index.php'));
-
- $this->elementStart('fieldset');
-
- $this->elementStart('ul', array('class' => 'form_datas'));
- $this->elementStart('li');
- $this->input('nickname', _m('Nickname'));
- $this->elementEnd('li');
- $this->elementStart('li');
- $this->password('password', _m('Password'));
- $this->elementEnd('li');
- $this->elementEnd('ul');
-
- // TRANS: Login button.
- $this->submit('submit', _m('BUTTON','Login'));
- $this->elementEnd('fieldset');
- $this->elementEnd('form');
-
- $this->elementStart('p');
- $this->element('a', array('href' => common_local_url('recoverpassword')),
- _m('Lost or forgotten password?'));
- $this->elementEnd('p');
-
- $this->elementEnd('div');
- $this->elementEnd('div');
- }
-
- /**
- * Generate pagination links
- *
- * @param boolean $have_before is there something before?
- * @param boolean $have_after is there something after?
- * @param integer $page current page
- * @param string $action current action
- * @param array $args rest of query arguments
- *
- * @return nothing
- */
- function pagination($have_before, $have_after, $page, $action, $args=null)
- {
- // Does a little before-after block for next/prev page
- if ($have_before || $have_after) {
- $this->elementStart('dl', 'pagination');
- $this->element('dt', null, _m('Pagination'));
- $this->elementStart('dd', null);
- $this->elementStart('ul', array('class' => 'nav'));
- }
- if ($have_before) {
- $pargs = array('page' => $page-1);
- $newargs = $args ? array_merge($args, $pargs) : $pargs;
- $this->elementStart('li', array('class' => 'nav_prev'));
- $this->element('a', array('href' => "$this->app_uri/$action?page=$newargs[page]", 'rel' => 'prev'),
- _m('After'));
- $this->elementEnd('li');
- }
- if ($have_after) {
- $pargs = array('page' => $page+1);
- $newargs = $args ? array_merge($args, $pargs) : $pargs;
- $this->elementStart('li', array('class' => 'nav_next'));
- $this->element('a', array('href' => "$this->app_uri/$action?page=$newargs[page]", 'rel' => 'next'),
- _m('Before'));
- $this->elementEnd('li');
- }
- if ($have_before || $have_after) {
- $this->elementEnd('ul');
- $this->elementEnd('dd');
- $this->elementEnd('dl');
- }
- }
-
- function saveNewNotice()
- {
- $user = $this->flink->getUser();
-
- $content = $this->trimmed('status_textarea');
-
- if (!$content) {
- $this->showPage(_m('No notice content!'));
- return;
- } else {
- $content_shortened = $user->shortenLinks($content);
-
- if (Notice::contentTooLong($content_shortened)) {
- // @todo FIXME: i18n: Needs plural.
- $this->showPage(sprintf(_m('That\'s too long. Max notice size is %d chars.'),
- Notice::maxContent()));
- return;
- }
- }
-
- $inter = new CommandInterpreter();
-
- $cmd = $inter->handle_command($user, $content_shortened);
-
- if ($cmd) {
- // XXX fix this
- $cmd->execute(new WebChannel());
- return;
- }
-
- $replyto = $this->trimmed('inreplyto');
-
- try {
- $notice = Notice::saveNew($user->id, $content, 'web',
- array('reply_to' => ($replyto == 'false') ? null : $replyto));
-
- } catch (Exception $e) {
- $this->showPage($e->getMessage());
- return;
- }
-
- }
-}
-
-class FacebookNoticeList extends NoticeList
-{
- /**
- * constructor
- *
- * @param Notice $notice stream of notices from DB_DataObject
- */
-
- function __construct($notice, $out=null)
- {
- parent::__construct($notice, $out);
- }
-
- /**
- * show the list of notices
- *
- * "Uses up" the stream by looping through it. So, probably can't
- * be called twice on the same list.
- *
- * @return int count of notices listed.
- */
- function show()
- {
- $this->out->elementStart('div', array('id' =>'notices_primary'));
- $this->out->element('h2', null, _m('Notices'));
- $this->out->elementStart('ul', array('class' => 'notices'));
-
- $cnt = 0;
-
- while ($this->notice->fetch() && $cnt <= NOTICES_PER_PAGE) {
- $cnt++;
-
- if ($cnt > NOTICES_PER_PAGE) {
- break;
- }
-
- $item = $this->newListItem($this->notice);
- $item->show();
- }
-
- $this->out->elementEnd('ul');
- $this->out->elementEnd('div');
-
- return $cnt;
- }
-
- /**
- * returns a new list item for the current notice
- *
- * Overridden to return a Facebook specific list item.
- *
- * @param Notice $notice the current notice
- *
- * @return FacebookNoticeListItem a list item for displaying the notice
- * formatted for display in the Facebook App.
- */
- function newListItem($notice)
- {
- return new FacebookNoticeListItem($notice, $this);
- }
-}
-
-class FacebookNoticeListItem extends NoticeListItem
-{
- /**
- * constructor
- *
- * Also initializes the profile attribute.
- *
- * @param Notice $notice The notice we'll display
- */
- function __construct($notice, $out=null)
- {
- parent::__construct($notice, $out);
- }
-
- /**
- * recipe function for displaying a single notice in the Facebook App.
- *
- * Overridden to strip out some of the controls that we don't
- * want to be available.
- *
- * @return void
- */
- function show()
- {
- $this->showStart();
- $this->showNotice();
- $this->showNoticeInfo();
-
- // XXX: Need to update to show attachements and controls
-
- $this->showEnd();
- }
-}
-
-class FacebookProfileBoxNotice extends FacebookNoticeListItem
-{
- /**
- * constructor
- *
- * Also initializes the profile attribute.
- *
- * @param Notice $notice The notice we'll display
- */
- function __construct($notice, $out=null)
- {
- parent::__construct($notice, $out);
- }
-
- /**
- * Recipe function for displaying a single notice in the
- * Facebook App profile notice box
- *
- * @return void
- */
- function show()
- {
- $this->showNotice();
- $this->showNoticeInfo();
- $this->showAppLink();
- }
-
- function showAppLink()
- {
- $this->facebook = getFacebook();
-
- $app_props = $this->facebook->api_client->Admin_getAppProperties(
- array('canvas_name', 'application_name'));
-
- $this->app_uri = 'http://apps.facebook.com/' . $app_props['canvas_name'];
- $this->app_name = $app_props['application_name'];
-
- $this->out->elementStart('a', array('id' => 'facebook_statusnet_app',
- 'href' => $this->app_uri));
- $this->out->text($this->app_name);
- $this->out->elementEnd('a');
- }
-}
+++ /dev/null
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Facebook integration administration panel
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- *
- * @category Settings
- * @package StatusNet
- * @author Zach Copley <zach@status.net>
- * @copyright 2010 StatusNet, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET')) {
- exit(1);
-}
-
-/**
- * Administer global Facebook integration settings
- *
- * @category Admin
- * @package StatusNet
- * @author Zach Copley <zach@status.net>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-class FacebookadminpanelAction extends AdminPanelAction
-{
- /**
- * Returns the page title
- *
- * @return string page title
- */
- function title()
- {
- return _m('Facebook');
- }
-
- /**
- * Instructions for using this form.
- *
- * @return string instructions
- */
- function getInstructions()
- {
- return _m('Facebook integration settings');
- }
-
- /**
- * Show the Facebook admin panel form
- *
- * @return void
- */
- function showForm()
- {
- $form = new FacebookAdminPanelForm($this);
- $form->show();
- return;
- }
-
- /**
- * Save settings from the form
- *
- * @return void
- */
- function saveSettings()
- {
- static $settings = array(
- 'facebook' => array('apikey', 'secret'),
- );
-
- $values = array();
-
- foreach ($settings as $section => $parts) {
- foreach ($parts as $setting) {
- $values[$section][$setting]
- = $this->trimmed($setting);
- }
- }
-
- // This throws an exception on validation errors
- $this->validate($values);
-
- // assert(all values are valid);
-
- $config = new Config();
-
- $config->query('BEGIN');
-
- foreach ($settings as $section => $parts) {
- foreach ($parts as $setting) {
- Config::save($section, $setting, $values[$section][$setting]);
- }
- }
-
- $config->query('COMMIT');
-
- return;
- }
-
- function validate(&$values)
- {
- // Validate consumer key and secret (can't be too long)
-
- if (mb_strlen($values['facebook']['apikey']) > 255) {
- $this->clientError(
- _m("Invalid Facebook API key. Max length is 255 characters.")
- );
- }
-
- if (mb_strlen($values['facebook']['secret']) > 255) {
- $this->clientError(
- _m("Invalid Facebook API secret. Max length is 255 characters.")
- );
- }
- }
-}
-
-class FacebookAdminPanelForm extends AdminForm
-{
- /**
- * ID of the form
- *
- * @return int ID of the form
- */
- function id()
- {
- return 'facebookadminpanel';
- }
-
- /**
- * class of the form
- *
- * @return string class of the form
- */
- function formClass()
- {
- return 'form_settings';
- }
-
- /**
- * Action of the form
- *
- * @return string URL of the action
- */
- function action()
- {
- return common_local_url('facebookadminpanel');
- }
-
- /**
- * Data elements of the form
- *
- * @return void
- */
- function formData()
- {
- $this->out->elementStart(
- 'fieldset',
- array('id' => 'settings_facebook-application')
- );
- $this->out->element('legend', null, _m('Facebook application settings'));
- $this->out->elementStart('ul', 'form_data');
-
- $this->li();
- $this->input(
- 'apikey',
- _m('API key'),
- _m('API key provided by Facebook'),
- 'facebook'
- );
- $this->unli();
-
- $this->li();
- $this->input(
- 'secret',
- _m('Secret'),
- _m('API secret provided by Facebook'),
- 'facebook'
- );
- $this->unli();
-
- $this->out->elementEnd('ul');
- $this->out->elementEnd('fieldset');
- }
-
- /**
- * Action elements
- *
- * @return void
- */
- function formActions()
- {
- $this->out->submit('submit', _m('Save'), 'submit', null, _m('Save Facebook settings'));
- }
-}
+++ /dev/null
-* {
-font-size:14px;
-font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
-}
-
-#wrap {
-background-color:#F0F2F5;
-padding-left:1.795%;
-padding-right:1.795%;
-width:auto;
-}
-
-p,label,
-h1,h2,h3,h4,h5,h6 {
-color:#000;
-}
-
-#header {
-width:131%;
-}
-
-#content {
-width:92.7%;
-}
-
-#aside_primary {
-display:none;
-}
-
-#site_nav_local_views a {
-background-color:#D0DFE7;
-}
-#site_nav_local_views a:hover {
-background-color:#FAFBFC;
-}
-
-#form_notice .form_note + label,
-#form_notice #notice_data-attach {
-display:none;
-}
-
-#form_notice #notice_action-submit {
-height:47px !important;
-}
-
-
-span.facebook-button {
-border: 2px solid #aaa;
-padding: 3px;
-display: block;
-float: left;
-margin-right: 20px;
--moz-border-radius: 4px;
-border-radius:4px;
--webkit-border-radius:4px;
-font-weight: bold;
-background-color:#A9BF4F;
-color:#fff;
-font-size:1.2em
-}
-
-span.facebook-button a { color:#fff }
-
-.facebook_guide {
-margin-bottom:18px;
-}
-.facebook_guide p {
-font-weight:bold;
-}
-
-
-input {
-height:auto !important;
-}
-
-#facebook-friends {
-float:left;
-width:100%;
-}
-
-#facebook-friends li {
-float:left;
-margin-right:2%;
-margin-bottom:11px;
-width:18%;
-height:115px;
-}
-#facebook-friends li a {
-float:left;
-}
-
-#add_to_profile {
-position:absolute;
-right:18px;
-top:10px;
-z-index:2;
-}
-
-.notice div.entry-content dl,
-.notice div.entry-content dt,
-.notice div.entry-content dd {
-margin-right:5px;
-}
-
-#content_inner p {
-margin-bottom:18px;
-}
-
-#content_inner ul {
-list-style-type:none;
-}
-
-.form_settings label {
-margin-right:18px;
-}
+++ /dev/null
-/*
-* StatusNet - a distributed open-source microblogging tool
-* Copyright (C) 2008, StatusNet, Inc.
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Affero General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* 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
-* 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 <http://www.gnu.org/licenses/>.
-*/
-
-var max = 140;
-var noticeBox = document.getElementById('notice_data-text');
-
-if (noticeBox) {
- noticeBox.addEventListener('keyup', keypress);
- noticeBox.addEventListener('keydown', keypress);
- noticeBox.addEventListener('keypress', keypress);
- noticeBox.addEventListener('change', keypress);
-}
-
-// Do our the countdown
-function keypress(evt) {
- document.getElementById('notice_text-count').setTextValue(
- max - noticeBox.getValue().length);
-}
+++ /dev/null
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
-
-class FacebookhomeAction extends FacebookAction
-{
- var $page = null;
-
- function prepare($argarray)
- {
- parent::prepare($argarray);
-
- $this->page = $this->trimmed('page');
-
- if (!$this->page) {
- $this->page = 1;
- }
-
- return true;
- }
-
- function handle($args)
- {
- parent::handle($args);
-
- if (!empty($this->flink)) {
- $this->user = $this->flink->getUser();
-
- // If this is the first time the user has started the app
- // prompt for Facebook status update permission
- if (!$this->facebook->api_client->users_hasAppPermission('publish_stream')) {
- $this->getUpdatePermission();
- return;
- }
-
- if ($this->arg('status_submit') == 'Send') {
- $this->saveNewNotice();
- }
-
- // User is authenticated and has already been prompted once for
- // Facebook status update permission? Then show the main page
- // of the app
- $this->showPage();
- } else {
- // User hasn't authenticated yet, prompt for creds
- $this->login();
- }
- }
-
- function login()
- {
- $this->showStylesheets();
-
- $nickname = common_canonical_nickname($this->trimmed('nickname'));
- $password = $this->arg('password');
-
- $msg = null;
-
- if ($nickname) {
- if (common_check_user($nickname, $password)) {
- $user = User::staticGet('nickname', $nickname);
-
- if (!$user) {
- $this->showLoginForm(_m("Server error: Couldn't get user!"));
- }
-
- $flink = DB_DataObject::factory('foreign_link');
- $flink->user_id = $user->id;
- $flink->foreign_id = $this->fbuid;
- $flink->service = FACEBOOK_SERVICE;
- $flink->created = common_sql_now();
- $flink->set_flags(true, false, false, false);
-
- $flink_id = $flink->insert();
-
- // XXX: Do some error handling here
-
- $this->getUpdatePermission();
- return;
- } else {
- $msg = _m('Incorrect username or password.');
- }
- }
-
- $this->showLoginForm($msg);
- $this->showFooter();
- }
-
- function showNoticeForm()
- {
- $post_action = "$this->app_uri/index.php";
-
- $notice_form = new FacebookNoticeForm($this, $post_action, null,
- $post_action, $this->user);
- $notice_form->show();
- }
-
- function title()
- {
- if ($this->page > 1) {
- // @todo FIXME: Core should have methods to get "Full name (nickname)" in a localised form
- // so that this can be used consistenly throughout StatusNet without having to implement it
- // over and over..
- // TRANS: Page title.
- // TRANS: %1$s is a user nickname, %2$s is a page number.
- return sprintf(_m('%1$s and friends, page %2$d'), $this->user->nickname, $this->page);
- } else {
- // TRANS: Page title.
- // TRANS: %s is a user nickname
- return sprintf(_m("%s and friends"), $this->user->nickname);
- }
- }
-
- function showContent()
- {
- $notice = $this->user->noticeInbox(($this->page-1) * NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
-
- $nl = new NoticeList($notice, $this);
-
- $cnt = $nl->show();
-
- $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
- $this->page, 'index.php', array('nickname' => $this->user->nickname));
- }
-
- function showNoticeList($notice)
- {
- $nl = new NoticeList($notice, $this);
- return $nl->show();
- }
-
- function getUpdatePermission() {
- $this->showStylesheets();
-
- $this->elementStart('div', array('class' => 'facebook_guide'));
-
- // TRANS: Instructions. %s is the application name.
- $instructions = sprintf(_m('If you would like the %s app to automatically update ' .
- 'your Facebook status with your latest notice, you need ' .
- 'to give it permission.'), $this->app_name);
-
- $this->elementStart('p');
- $this->element('span', array('id' => 'permissions_notice'), $instructions);
- $this->elementEnd('p');
-
- $this->elementStart('form', array('method' => 'post',
- 'action' => "index.php",
- 'id' => 'facebook-skip-permissions'));
-
- $this->elementStart('ul', array('id' => 'fb-permissions-list'));
- $this->elementStart('li', array('id' => 'fb-permissions-item'));
-
- $next = urlencode("$this->app_uri/index.php");
- $api_key = common_config('facebook', 'apikey');
-
- $auth_url = 'http://www.facebook.com/authorize.php?api_key=' .
- $api_key . '&v=1.0&ext_perm=publish_stream&next=' . $next .
- '&next_cancel=' . $next . '&submit=skip';
-
- $this->elementStart('span', array('class' => 'facebook-button'));
- // @todo FIXME: sprintf not needed here?
- $this->element('a', array('href' => $auth_url),
- sprintf(_m('Okay, do it!'), $this->app_name));
- $this->elementEnd('span');
-
- $this->elementEnd('li');
-
- $this->elementStart('li', array('id' => 'fb-permissions-item'));
- // TRANS: Button text. Clicking the button will skip updating Facebook permissions.
- $this->submit('skip', _m('BUTTON','Skip'));
- $this->elementEnd('li');
- $this->elementEnd('ul');
-
- $this->elementEnd('form');
- $this->elementEnd('div');
- }
-
- /**
- * Generate pagination links
- *
- * @param boolean $have_before is there something before?
- * @param boolean $have_after is there something after?
- * @param integer $page current page
- * @param string $action current action
- * @param array $args rest of query arguments
- *
- * @return nothing
- */
- function pagination($have_before, $have_after, $page, $action, $args=null)
- {
- // Does a little before-after block for next/prev page
-
- // XXX: Fix so this uses common_local_url() if possible.
-
- if ($have_before || $have_after) {
- $this->elementStart('dl', 'pagination');
- $this->element('dt', null, _m('Pagination'));
- $this->elementStart('dd', null);
- $this->elementStart('ul', array('class' => 'nav'));
- }
- if ($have_before) {
- $pargs = array('page' => $page-1);
- $newargs = $args ? array_merge($args, $pargs) : $pargs;
- $this->elementStart('li', array('class' => 'nav_prev'));
- $this->element('a', array('href' => "$action?page=$newargs[page]", 'rel' => 'prev'),
- // TRANS: Pagination link.
- _m('After'));
- $this->elementEnd('li');
- }
- if ($have_after) {
- $pargs = array('page' => $page+1);
- $newargs = $args ? array_merge($args, $pargs) : $pargs;
- $this->elementStart('li', array('class' => 'nav_next'));
- $this->element('a', array('href' => "$action?page=$newargs[page]", 'rel' => 'next'),
- // TRANS: Pagination link.
- _m('Before'));
- $this->elementEnd('li');
- }
- if ($have_before || $have_after) {
- $this->elementEnd('ul');
- $this->elementEnd('dd');
- $this->elementEnd('dl');
- }
- }
-}
+++ /dev/null
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
-
-class FacebookinviteAction extends FacebookAction
-{
- function handle($args)
- {
- parent::handle($args);
- $this->showForm();
- }
-
- /**
- * Wrapper for showing a page
- *
- * Stores an error and shows the page
- *
- * @param string $error Error, if any
- *
- * @return void
- */
- function showForm($error=null)
- {
- $this->error = $error;
- $this->showPage();
- }
-
- /**
- * Show the page content
- *
- * Either shows the registration form or, if registration was successful,
- * instructions for using the site.
- *
- * @return void
- */
- function showContent()
- {
- if ($this->arg('ids')) {
- $this->showSuccessContent();
- } else {
- $this->showFormContent();
- }
- }
-
- function showSuccessContent()
- {
- // TRANS: %s is the name of the site.
- $this->element('h2', null, sprintf(_m('Thanks for inviting your friends to use %s.'),
- common_config('site', 'name')));
- // TRANS: Followed by an unordered list with invited friends.
- $this->element('p', null, _m('Invitations have been sent to the following users:'));
-
- $friend_ids = $_POST['ids']; // XXX: Hmm... is this the best way to access the list?
-
- $this->elementStart('ul', array('id' => 'facebook-friends'));
-
- foreach ($friend_ids as $friend) {
- $this->elementStart('li');
- $this->element('fb:profile-pic', array('uid' => $friend, 'size' => 'square'));
- $this->element('fb:name', array('uid' => $friend,
- 'capitalize' => 'true'));
- $this->elementEnd('li');
- }
-
- $this->elementEnd('ul');
- }
-
- function showFormContent()
- {
- $content = sprintf(_m('You have been invited to %s'), common_config('site', 'name')) .
- htmlentities('<fb:req-choice url="' . $this->app_uri . '" label="Add"/>');
-
- $this->elementStart('fb:request-form', array('action' => 'invite.php',
- 'method' => 'post',
- 'invite' => 'true',
- 'type' => common_config('site', 'name'),
- 'content' => $content));
- $this->hidden('invite', 'true');
- // TRANS: %s is the name of the site.
- $actiontext = sprintf(_m('Invite your friends to use %s'), common_config('site', 'name'));
-
- $multi_params = array('showborder' => 'false');
- $multi_params['actiontext'] = $actiontext;
- $multi_params['bypass'] = 'cancel';
- $multi_params['cols'] = 4;
-
- // Get a list of users who are already using the app for exclusion
- $exclude_ids = $this->facebook->api_client->friends_getAppUsers();
- $exclude_ids_csv = null;
-
- // fbml needs these as a csv string, not an array
- if ($exclude_ids) {
- $exclude_ids_csv = implode(',', $exclude_ids);
- $multi_params['exclude_ids'] = $exclude_ids_csv;
- }
-
- $this->element('fb:multi-friend-selector', $multi_params);
- $this->elementEnd('fb:request-form');
-
- if ($exclude_ids) {
-
- // TRANS: %s is the name of the site.
- $this->element('h2', null, sprintf(_m('Friends already using %s:'),
- common_config('site', 'name')));
- $this->elementStart('ul', array('id' => 'facebook-friends'));
-
- foreach ($exclude_ids as $friend) {
- $this->elementStart('li');
- $this->element('fb:profile-pic', array('uid' => $friend, 'size' => 'square'));
- $this->element('fb:name', array('uid' => $friend,
- 'capitalize' => 'true'));
- $this->elementEnd('li');
- }
-
- $this->elementEnd("ul");
- }
- }
-
- function title()
- {
- // TRANS: Page title.
- return sprintf(_m('Send invitations'));
- }
-}
+++ /dev/null
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
-
-class FacebookinviteAction extends FacebookAction
-{
- function handle($args)
- {
- parent::handle($args);
-
- $this->error = $error;
-
- if ($this->flink) {
- if (!$this->facebook->api_client->users_hasAppPermission('publish_stream') &&
- $this->facebook->api_client->data_getUserPreference(
- FACEBOOK_PROMPTED_UPDATE_PREF) == 'true') {
-
- // @todo FIXME: Missing i18n?
- echo '<h1>REDIRECT TO HOME</h1>';
- }
- } else {
- $this->showPage();
- }
- }
-
- function showContent()
- {
- // If the user has opted not to initially allow the app to have
- // Facebook status update permission, store that preference. Only
- // promt the user the first time she uses the app
- if ($this->arg('skip')) {
- $this->facebook->api_client->data_setUserPreference(
- FACEBOOK_PROMPTED_UPDATE_PREF, 'true');
- }
-
- if ($this->flink) {
- $this->user = $this->flink->getUser();
-
- // If this is the first time the user has started the app
- // prompt for Facebook status update permission
- if (!$this->facebook->api_client->users_hasAppPermission('publish_stream')) {
-
- if ($this->facebook->api_client->data_getUserPreference(
- FACEBOOK_PROMPTED_UPDATE_PREF) != 'true') {
- $this->getUpdatePermission();
- return;
- }
- }
- } else {
- $this->showLoginForm();
- }
-
- }
-
- function showSuccessContent()
- {
-
- }
-
- function showFormContent()
- {
-
- }
-
- function title()
- {
- // @todo FIXME: Give a more precise description? Suggestion: "Login with Facebook Connect"
- // TRANS: Page title.
- return sprintf(_m('Login'));
- }
-
- function redirectHome()
- {
-
- }
-}
+++ /dev/null
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Form for posting a notice from within the Facebook App.
- *
- * This is a stripped down version of the normal NoticeForm (sans
- * location stuff and media upload stuff). I'm not sure we can share the
- * location (from FB) and they don't allow posting multipart form data
- * to Facebook canvas pages, so that won't work anyway. --Zach
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- *
- * @category Form
- * @package StatusNet
- * @author Evan Prodromou <evan@status.net>
- * @author Sarven Capadisli <csarven@status.net>
- * @author Zach Copley <zach@status.net>
- * @copyright 2009 StatusNet, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR . '/lib/form.php';
-
-/**
- * Form for posting a notice from within the Facebook app
- *
- * @category Form
- * @package StatusNet
- * @author Evan Prodromou <evan@status.net>
- * @author Sarven Capadisli <csarven@status.net>
- * @author Zach Copey <zach@status.net>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- *
- * @see HTMLOutputter
- */
-class FacebookNoticeForm extends Form
-{
- /**
- * Current action, used for returning to this page.
- */
- var $action = null;
-
- /**
- * Pre-filled content of the form
- */
- var $content = null;
-
- /**
- * The current user
- */
- var $user = null;
-
- /**
- * The notice being replied to
- */
- var $inreplyto = null;
-
- /**
- * Constructor
- *
- * @param HTMLOutputter $out output channel
- * @param string $action action to return to, if any
- * @param string $content content to pre-fill
- */
- function __construct($out=null, $action=null, $content=null, $post_action=null, $user=null, $inreplyto=null)
- {
- parent::__construct($out);
-
- $this->action = $action;
- $this->post_action = $post_action;
- $this->content = $content;
- $this->inreplyto = $inreplyto;
-
- if ($user) {
- $this->user = $user;
- } else {
- $this->user = common_current_user();
- }
-
- // Note: Facebook doesn't allow multipart/form-data posting to
- // canvas pages, so don't try to set it--no file uploads, at
- // least not this way. It can be done using multiple servers
- // and iFrames, but it's a pretty hacky process.
- }
-
- /**
- * ID of the form
- *
- * @return string ID of the form
- */
- function id()
- {
- return 'form_notice';
- }
-
- /**
- * Class of the form
- *
- * @return string class of the form
- */
- function formClass()
- {
- return 'form_notice';
- }
-
- /**
- * Action of the form
- *
- * @return string URL of the action
- */
- function action()
- {
- return $this->post_action;
- }
-
- /**
- * Legend of the Form
- *
- * @return void
- */
- function formLegend()
- {
- // TRANS: Legend.
- $this->out->element('legend', null, _m('Send a notice'));
- }
-
- /**
- * Data elements
- *
- * @return void
- */
- function formData()
- {
- if (Event::handle('StartShowNoticeFormData', array($this))) {
- $this->out->element('label', array('for' => 'notice_data-text'),
- // TRANS: Field label.
- sprintf(_m('What\'s up, %s?'), $this->user->nickname));
- // XXX: vary by defined max size
- $this->out->element('textarea', array('id' => 'notice_data-text',
- 'cols' => 35,
- 'rows' => 4,
- 'name' => 'status_textarea'),
- ($this->content) ? $this->content : '');
-
- $contentLimit = Notice::maxContent();
-
- if ($contentLimit > 0) {
- $this->out->elementStart('dl', 'form_note');
- $this->out->element('dt', null, _m('Available characters'));
- $this->out->element('dd', array('id' => 'notice_text-count'),
- $contentLimit);
- $this->out->elementEnd('dl');
- }
-
- if ($this->action) {
- $this->out->hidden('notice_return-to', $this->action, 'returnto');
- }
- $this->out->hidden('notice_in-reply-to', $this->inreplyto, 'inreplyto');
-
- Event::handle('StartShowNoticeFormData', array($this));
- }
- }
-
- /**
- * Action elements
- *
- * @return void
- */
- function formActions()
- {
- $this->out->element('input', array('id' => 'notice_action-submit',
- 'class' => 'submit',
- 'name' => 'status_submit',
- 'type' => 'submit',
- // TRANS: Button text.
- 'value' => _m('BUTTON','Send')));
- }
-}
+++ /dev/null
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-
-require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
-
-class FacebookQueueHandler extends QueueHandler
-{
- function transport()
- {
- return 'facebook';
- }
-
- function handle($notice)
- {
- if ($this->_isLocal($notice)) {
- return facebookBroadcastNotice($notice);
- }
- return true;
- }
-
- /**
- * Determine whether the notice was locally created
- *
- * @param Notice $notice the notice
- *
- * @return boolean locality
- */
- function _isLocal($notice)
- {
- return ($notice->is_local == Notice::LOCAL_PUBLIC ||
- $notice->is_local == Notice::LOCAL_NONPUBLIC);
- }
-}
+++ /dev/null
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
-
-class FacebookremoveAction extends FacebookAction
-{
- function handle($args)
- {
- parent::handle($args);
-
- $secret = common_config('facebook', 'secret');
-
- $sig = '';
-
- ksort($_POST);
-
- foreach ($_POST as $key => $val) {
- if (substr($key, 0, 7) == 'fb_sig_') {
- $sig .= substr($key, 7) . '=' . $val;
- }
- }
-
- $sig .= $secret;
- $verify = md5($sig);
-
- if ($verify == $this->arg('fb_sig')) {
-
- $flink = Foreign_link::getByForeignID($this->arg('fb_sig_user'), 2);
-
- if (!$flink) {
- common_log(LOG_ERR, "Tried to delete missing foreign_link entry with Facebook ID " . $this->arg('fb_sig_user'));
- $this->serverError(_m('Couldn\'t remove Facebook user: already deleted.'));
- return;
- }
-
- common_debug("Removing foreign link to Facebook - local user ID: $flink->user_id, Facebook ID: $flink->foreign_id");
-
- $result = $flink->delete();
-
- if (!$result) {
- common_log_db_error($flink, 'DELETE', __FILE__);
- $this->serverError(_m('Couldn\'t remove Facebook user.'));
- return;
- }
-
- } else {
- # Someone bad tried to remove facebook link?
- common_log(LOG_ERR, "Someone from $_SERVER[REMOTE_ADDR] " .
- 'unsuccessfully tried to remove a foreign link to Facebook!');
- }
- }
-}
+++ /dev/null
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
-
-class FacebooksettingsAction extends FacebookAction
-{
- function handle($args)
- {
- parent::handle($args);
- $this->showPage();
- }
-
- /**
- * Show the page content
- *
- * Either shows the registration form or, if registration was successful,
- * instructions for using the site.
- *
- * @return void
- */
- function showContent()
- {
- if ($this->arg('save')) {
- $this->saveSettings();
- } else {
- $this->showForm();
- }
- }
-
- function saveSettings() {
-
- $noticesync = $this->boolean('noticesync');
- $replysync = $this->boolean('replysync');
-
- $original = clone($this->flink);
- $this->flink->set_flags($noticesync, false, $replysync, false);
- $result = $this->flink->update($original);
-
- if ($result === false) {
- $this->showForm(_m('There was a problem saving your sync preferences!'));
- } else {
- // TRANS: Confirmation that synchronisation settings have been saved into the system.
- $this->showForm(_m('Sync preferences saved.'), true);
- }
- }
-
- function showForm($msg = null, $success = false) {
-
- if ($msg) {
- if ($success) {
- $this->element('fb:success', array('message' => $msg));
- } else {
- $this->element('fb:error', array('message' => $msg));
- }
- }
-
- if ($this->facebook->api_client->users_hasAppPermission('publish_stream')) {
-
- $this->elementStart('form', array('method' => 'post',
- 'id' => 'facebook_settings'));
-
- $this->elementStart('ul', 'form_data');
-
- $this->elementStart('li');
-
- $this->checkbox('noticesync', _m('Automatically update my Facebook status with my notices.'),
- ($this->flink) ? ($this->flink->noticesync & FOREIGN_NOTICE_SEND) : true);
-
- $this->elementEnd('li');
-
- $this->elementStart('li');
-
- $this->checkbox('replysync', _m('Send "@" replies to Facebook.'),
- ($this->flink) ? ($this->flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) : true);
-
- $this->elementEnd('li');
-
- $this->elementStart('li');
-
- // TRANS: Submit button to save synchronisation settings.
- $this->submit('save', _m('BUTTON','Save'));
-
- $this->elementEnd('li');
-
- $this->elementEnd('ul');
-
- $this->elementEnd('form');
- } else {
- // TRANS: %s is the application name.
- $instructions = sprintf(_m('If you would like %s to automatically update ' .
- 'your Facebook status with your latest notice, you need ' .
- 'to give it permission.'), $this->app_name);
-
- $this->elementStart('p');
- $this->element('span', array('id' => 'permissions_notice'), $instructions);
- $this->elementEnd('p');
-
- $this->elementStart('ul', array('id' => 'fb-permissions-list'));
- $this->elementStart('li', array('id' => 'fb-permissions-item'));
- $this->elementStart('fb:prompt-permission', array('perms' => 'publish_stream',
- 'next_fbjs' => 'document.setLocation(\'' . "$this->app_uri/settings.php" . '\')'));
- $this->element('span', array('class' => 'facebook-button'),
- sprintf(_m('Allow %s to update my Facebook status'), common_config('site', 'name')));
- $this->elementEnd('fb:prompt-permission');
- $this->elementEnd('li');
- $this->elementEnd('ul');
- }
- }
-
- function title()
- {
- // TRANS: Page title for synchronisation settings.
- return _m('Sync preferences');
- }
-}
+++ /dev/null
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET')) {
- exit(1);
-}
-
-require_once INSTALLDIR . '/plugins/Facebook/facebook/facebook.php';
-require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
-require_once INSTALLDIR . '/lib/noticelist.php';
-
-define("FACEBOOK_SERVICE", 2); // Facebook is foreign_service ID 2
-define("FACEBOOK_NOTICE_PREFIX", 1);
-define("FACEBOOK_PROMPTED_UPDATE_PREF", 2);
-
-function getFacebook()
-{
- static $facebook = null;
-
- $apikey = common_config('facebook', 'apikey');
- $secret = common_config('facebook', 'secret');
-
- if ($facebook === null) {
- $facebook = new Facebook($apikey, $secret);
- }
-
- if (empty($facebook)) {
- common_log(LOG_ERR, 'Could not make new Facebook client obj!',
- __FILE__);
- }
-
- return $facebook;
-}
-
-function isFacebookBound($notice, $flink) {
- if (empty($flink)) {
- common_debug("QQQQQ empty flink");
- return false;
- }
-
- // Avoid a loop
- if ($notice->source == 'Facebook') {
- common_log(LOG_INFO, "Skipping notice $notice->id because its " .
- 'source is Facebook.');
- return false;
- }
-
- // If the user does not want to broadcast to Facebook, move along
- if (!($flink->noticesync & FOREIGN_NOTICE_SEND == FOREIGN_NOTICE_SEND)) {
- common_log(LOG_INFO, "Skipping notice $notice->id " .
- 'because user has FOREIGN_NOTICE_SEND bit off.');
- return false;
- }
-
- // If it's not a reply, or if the user WANTS to send @-replies,
- // then, yeah, it can go to Facebook.
- if (!preg_match('/@[a-zA-Z0-9_]{1,15}\b/u', $notice->content) ||
- ($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY)) {
- return true;
- }
-
- return false;
-}
-
-function facebookBroadcastNotice($notice)
-{
- $facebook = getFacebook();
- $flink = Foreign_link::getByUserID(
- $notice->profile_id,
- FACEBOOK_SERVICE
- );
-
- if (isFacebookBound($notice, $flink)) {
- // Okay, we're good to go, update the FB status
- $fbuid = $flink->foreign_id;
- $user = $flink->getUser();
-
- try {
- // Check permissions
- common_debug(
- 'FacebookPlugin - checking for publish_stream permission for user '
- . "$user->nickname ($user->id), Facebook UID: $fbuid"
- );
-
- // NOTE: $facebook->api_client->users_hasAppPermission('publish_stream', $fbuid)
- // has been returning bogus results, so we're using FQL to check for
- // publish_stream permission now
- $fql = "SELECT publish_stream FROM permissions WHERE uid = $fbuid";
- $result = $facebook->api_client->fql_query($fql);
-
- $canPublish = 0;
-
- if (!empty($result)) {
- $canPublish = $result[0]['publish_stream'];
- }
-
- if ($canPublish == 1) {
- common_debug(
- "FacebookPlugin - $user->nickname ($user->id), Facebook UID: $fbuid "
- . 'has publish_stream permission.'
- );
- } else {
- common_debug(
- "FacebookPlugin - $user->nickname ($user->id), Facebook UID: $fbuid "
- . 'does NOT have publish_stream permission. Facebook '
- . 'returned: ' . var_export($result, true)
- );
- }
-
- common_debug(
- 'FacebookPlugin - checking for status_update permission for user '
- . "$user->nickname ($user->id), Facebook UID: $fbuid. "
- );
-
- $canUpdate = $facebook->api_client->users_hasAppPermission(
- 'status_update',
- $fbuid
- );
-
- if ($canUpdate == 1) {
- common_debug(
- "FacebookPlugin - $user->nickname ($user->id), Facebook UID: $fbuid "
- . 'has status_update permission.'
- );
- } else {
- common_debug(
- "FacebookPlugin - $user->nickname ($user->id), Facebook UID: $fbuid "
- .'does NOT have status_update permission. Facebook '
- . 'returned: ' . var_export($canPublish, true)
- );
- }
-
- // Post to Facebook
- if ($notice->hasAttachments() && $canPublish == 1) {
- publishStream($notice, $user, $fbuid);
- } elseif ($canUpdate == 1 || $canPublish == 1) {
- statusUpdate($notice, $user, $fbuid);
- } else {
- $msg = "FacebookPlugin - Not sending notice $notice->id to Facebook " .
- "because user $user->nickname has not given the " .
- 'Facebook app \'status_update\' or \'publish_stream\' permission.';
- common_log(LOG_WARNING, $msg);
- }
-
- } catch (FacebookRestClientException $e) {
- return handleFacebookError($e, $notice, $flink);
- }
- }
-
- return true;
-}
-
-function handleFacebookError($e, $notice, $flink)
-{
- $fbuid = $flink->foreign_id;
- $user = $flink->getUser();
- $code = $e->getCode();
- $errmsg = $e->getMessage();
-
- // XXX: Check for any others?
- switch($code) {
- case 100: // Invalid parameter
- $msg = "FacebookPlugin - Facebook claims notice %d was posted with an invalid parameter (error code 100):"
- . "\"%s\" (Notice details: nickname=%s, user ID=%d, Facebook ID=%d, notice content=\"%s\"). "
- . "Removing notice from the Facebook queue for safety.";
- common_log(
- LOG_ERR, sprintf(
- $msg,
- $notice->id,
- $errmsg,
- $user->nickname,
- $user->id,
- $fbuid,
- $notice->content
- )
- );
- return true;
- break;
- case 200: // Permissions error
- case 250: // Updating status requires the extended permission status_update
- remove_facebook_app($flink);
- return true; // dequeue
- break;
- case 341: // Feed action request limit reached
- $msg = "FacebookPlugin - User %s (User ID=%d, Facebook ID=%d) has exceeded "
- . "his/her limit for posting notices to Facebook today. Dequeuing "
- . "notice %d.";
- common_log(
- LOG_INFO, sprintf(
- $msg,
- $user->nickname,
- $user->id,
- $fbuid,
- $notice->id
- )
- );
- // @fixme: We want to rety at a later time when the throttling has expired
- // instead of just giving up.
- return true;
- break;
- default:
- $msg = "FacebookPlugin - Facebook returned an error we don't know how to deal with while trying to "
- . "post notice %d. Error code: %d, error message: \"%s\". (Notice details: "
- . "nickname=%s, user ID=%d, Facebook ID=%d, notice content=\"%s\"). Removing notice "
- . "from the Facebook queue for safety.";
- common_log(
- LOG_ERR, sprintf(
- $msg,
- $notice->id,
- $code,
- $errmsg,
- $user->nickname,
- $user->id,
- $fbuid,
- $notice->content
- )
- );
- return true; // dequeue
- break;
- }
-}
-
-function statusUpdate($notice, $user, $fbuid)
-{
- common_debug(
- "FacebookPlugin - Attempting to post notice $notice->id "
- . "as a status update for $user->nickname ($user->id), "
- . "Facebook UID: $fbuid"
- );
-
- $facebook = getFacebook();
- $result = $facebook->api_client->users_setStatus(
- $notice->content,
- $fbuid,
- false,
- true
- );
-
- common_debug('Facebook returned: ' . var_export($result, true));
-
- common_log(
- LOG_INFO,
- "FacebookPlugin - Posted notice $notice->id as a status "
- . "update for $user->nickname ($user->id), "
- . "Facebook UID: $fbuid"
- );
-}
-
-function publishStream($notice, $user, $fbuid)
-{
- common_debug(
- "FacebookPlugin - Attempting to post notice $notice->id "
- . "as stream item with attachment for $user->nickname ($user->id), "
- . "Facebook UID: $fbuid"
- );
-
- $fbattachment = format_attachments($notice->attachments());
-
- $facebook = getFacebook();
- $facebook->api_client->stream_publish(
- $notice->content,
- $fbattachment,
- null,
- null,
- $fbuid
- );
-
- common_log(
- LOG_INFO,
- "FacebookPlugin - Posted notice $notice->id as a stream "
- . "item with attachment for $user->nickname ($user->id), "
- . "Facebook UID: $fbuid"
- );
-}
-
-function format_attachments($attachments)
-{
- $fbattachment = array();
- $fbattachment['media'] = array();
-
- foreach($attachments as $attachment)
- {
- if($enclosure = $attachment->getEnclosure()){
- $fbmedia = get_fbmedia_for_attachment($enclosure);
- }else{
- $fbmedia = get_fbmedia_for_attachment($attachment);
- }
- if($fbmedia){
- $fbattachment['media'][]=$fbmedia;
- }else{
- $fbattachment['name'] = ($attachment->title ?
- $attachment->title : $attachment->url);
- $fbattachment['href'] = $attachment->url;
- }
- }
- if(count($fbattachment['media'])>0){
- unset($fbattachment['name']);
- unset($fbattachment['href']);
- }
- return $fbattachment;
-}
-
-/**
-* given an File objects, returns an associative array suitable for Facebook media
-*/
-function get_fbmedia_for_attachment($attachment)
-{
- $fbmedia = array();
-
- if (strncmp($attachment->mimetype, 'image/', strlen('image/')) == 0) {
- $fbmedia['type'] = 'image';
- $fbmedia['src'] = $attachment->url;
- $fbmedia['href'] = $attachment->url;
- } else if ($attachment->mimetype == 'audio/mpeg') {
- $fbmedia['type'] = 'mp3';
- $fbmedia['src'] = $attachment->url;
- }else if ($attachment->mimetype == 'application/x-shockwave-flash') {
- $fbmedia['type'] = 'flash';
-
- // http://wiki.developers.facebook.com/index.php/Attachment_%28Streams%29
- // says that imgsrc is required... but we have no value to put in it
- // $fbmedia['imgsrc']='';
-
- $fbmedia['swfsrc'] = $attachment->url;
- }else{
- return false;
- }
- return $fbmedia;
-}
-
-function remove_facebook_app($flink)
-{
-
- $user = $flink->getUser();
-
- common_log(LOG_INFO, 'Removing Facebook App Foreign link for ' .
- "user $user->nickname (user id: $user->id).");
-
- $result = $flink->delete();
-
- if (empty($result)) {
- common_log(LOG_ERR, 'Could not remove Facebook App ' .
- "Foreign_link for $user->nickname (user id: $user->id)!");
- common_log_db_error($flink, 'DELETE', __FILE__);
- }
-
- // Notify the user that we are removing their FB app access
-
- $result = mail_facebook_app_removed($user);
-
- if (!$result) {
-
- $msg = 'Unable to send email to notify ' .
- "$user->nickname (user id: $user->id) " .
- 'that their Facebook app link was ' .
- 'removed!';
-
- common_log(LOG_WARNING, $msg);
- }
-}
-
-/**
- * Send a mail message to notify a user that her Facebook Application
- * access has been removed.
- *
- * @param User $user user whose Facebook app link has been removed
- *
- * @return boolean success flag
- */
-function mail_facebook_app_removed($user)
-{
- $profile = $user->getProfile();
-
- $site_name = common_config('site', 'name');
-
- common_switch_locale($user->language);
-
- $subject = sprintf(
- _m('Your %1$s Facebook application access has been disabled.',
- $site_name));
-
- $body = sprintf(_m("Hi, %1\$s. We're sorry to inform you that we are " .
- 'unable to update your Facebook status from %2$s, and have disabled ' .
- 'the Facebook application for your account. This may be because ' .
- 'you have removed the Facebook application\'s authorization, or ' .
- 'have deleted your Facebook account. You can re-enable the ' .
- 'Facebook application and automatic status updating by ' .
- "re-installing the %2\$s Facebook application.\n\nRegards,\n\n%2\$s"),
- $user->nickname, $site_name);
-
- common_switch_locale();
- return mail_to_user($user, $subject, $body);
-}
+++ /dev/null
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr ""
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr ""
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr ""
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr ""
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr ""
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr ""
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr ""
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr ""
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr ""
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr ""
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr ""
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr ""
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr ""
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr ""
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr ""
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr ""
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr ""
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr ""
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr ""
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr ""
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr ""
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr ""
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr ""
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr ""
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr ""
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr ""
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr ""
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr ""
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr ""
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr ""
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr ""
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr ""
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr ""
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr ""
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr ""
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr ""
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr ""
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr ""
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr ""
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr ""
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr ""
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr ""
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr ""
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr ""
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr ""
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr ""
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr ""
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr ""
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr ""
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr ""
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr ""
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr ""
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr ""
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr ""
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr ""
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr ""
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr ""
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr ""
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr ""
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr ""
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr ""
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr ""
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr ""
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr ""
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr ""
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr ""
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr ""
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr ""
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr ""
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr ""
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr ""
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr ""
+++ /dev/null
-# Translation of StatusNet - Facebook to Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца))
-# Exported from translatewiki.net
-#
-# Author: EugeneZelenko
-# Author: Jim-by
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:42+0000\n"
-"Language-Team: Belarusian (Taraškievica orthography) <http://translatewiki."
-"net/wiki/Portal:be-tarask>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: be-tarask\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"Вітаем, %1$s!\n"
-"\n"
-"На жаль, мы вымушаныя паведаміць Вам, што ня можам абнавіць Ваш статус у "
-"Facebook з %2$s, і выключаем дастасаваньне Facebook для Вашага рахунку. Гэта "
-"магло здарыцца, таму што Вы выдалілі аўтарызацыю для дастасаваньня Facebook, "
-"ці выдалілі Ваш рахунак на Facebook. Вы можаце зноў уключыць дастасаваньне "
-"Facebook і аўтаматычнае абнаўленьне статусу пасьля паўторнага ўсталяваньня "
-"дастасаваньне Facebook %2$s.\n"
-"\n"
-"З павагай,\n"
-"%2$s"
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr "Вам неабходна ўвайсьці ў Facebook для выкарыстаньня Facebook Connect."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr "Ужо існуе лякальны карыстальнік злучаны з гэтым рахункам Facebook."
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr "Узьнікла праблема з ключом Вашай сэсіі. Калі ласка, паспрабуйце зноў."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "Вы ня можаце зарэгістравацца, калі Вы ня згодны з умовамі ліцэнзіі."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Узьнікла невядомая памылка."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-"Вы ўпершыню ўвайшлі ў %s, таму мы павінны злучыць Ваш рахунак на Facebook з "
-"лякальным рахункам. Вы можаце стварыць новы рахунак, ці злучыць з ўжо "
-"існуючым Вашым рахункам, калі Вы яго маеце."
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Устаноўка рахунку на Facebook"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Устаноўкі злучэньня"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"Мой тэкст і файлы даступныя на ўмовах %s за выключэньнем гэтых асабістых "
-"зьвестак: пароль, адрас электроннай пошты, IM-адрас, і нумар тэлефона."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Стварыць новы рахунак"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Стварыць новага карыстальніка з гэтай мянушкай."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Новая мянушка"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1-64 малых літараў ці лічбаў, ніякай пунктуацыі ці прагалаў"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Стварыць"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Далучыць існуючы рахунак"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-"Калі Вы ўжо маеце рахунак, увайдзіце з Вашым імем карыстальніка і паролем, "
-"каб далучыць яго да рахунку на Facebook."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Існуючая мянушка"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Пароль"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Злучыць"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Рэгістрацыя не дазволеная."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "Няслушны код запрашэньня."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Мянушка забароненая."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Мянушка ўжо выкарыстоўваецца. Паспрабуйце іншую."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "Памылка далучэньня карыстальніка да Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Няслушнае імя карыстальніка ці пароль."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Увайсьці"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Даслаць паведамленьне"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Як справы, %s?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Даступныя сымбалі"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Даслаць"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Памылка сэрвэра: немагчыма атрымаць карыстальніка!"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Няслушнае імя карыстальніка ці пароль."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s і сябры, старонка %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s і сябры"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Калі Вы жадаеце, каб дастасаваньне %s аўтаматычна абнаўляла Ваш статус у "
-"Facebook з апошнімі паведамленьнямі, Вы павінны даць дазвол."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "Так, зрабіць гэта!"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Прапусьціць"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Нумарацыя старонак"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Пасьля"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Перад"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Дзякуем за запрашэньне Вашых сяброў карыстацца %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Запрашэньні былі дасланыя наступным карыстальнікам:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Вы былі запрошаныя ў %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Запрасіць Вашых сяброў карыстацца %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Сябры, якія ўжо карыстаюцца %s:"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Даслаць запрашэньні"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Налады інтэграцыі Facebook"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Карыстальнік злучэньня Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Увайсьці ці зарэгістравацца з выкарыстаньнем Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr ""
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr ""
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr ""
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr ""
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr ""
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr ""
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr ""
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr ""
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr ""
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr ""
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr ""
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr ""
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr ""
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr ""
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr ""
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr ""
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr ""
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr ""
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr ""
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr ""
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr ""
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr ""
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr ""
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr ""
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr ""
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr ""
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr ""
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr ""
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr ""
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr ""
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr ""
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr ""
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr ""
+++ /dev/null
-# Translation of StatusNet - Facebook to Breton (Brezhoneg)
-# Exported from translatewiki.net
-#
-# Author: Fulup
-# Author: Y-M D
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:42+0000\n"
-"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: br\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr ""
-"Rankout a rit bezañ kevreet war Facebook evit implijout Facebook Connect."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr "Un implijer lec'hel liammet d'ar gont Facebook-se a zo dija."
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr "Ur gudenn 'zo bet gant ho jedaouer dalc'h. Mar plij adklaskit."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr ""
-"Rankout a rit bezañ a-du gant termenoù an aotre-implijout evit krouiñ ur "
-"gont."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Ur gudenn dizanv a zo bet."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Kefluniadur ar gont Facebook"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Dibarzhioù kevreañ"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Krouiñ ur gont nevez"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Krouiñ un implijer nevez gant al lesanv-se."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Lesanv nevez"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1 da 64 lizherenn vihan pe sifr, hep poentaouiñ nag esaouenn"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Krouiñ"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Kevreañ d'ur gont a zo dioutañ"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Lesanv a zo dioutañ"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Ger-tremen"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Kevreañ"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "N'eo ket aotreet krouiñ kontoù."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "N'eo ket reizh ar c'hod pedadenn."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Lesanv nann-aotreet."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Implijet eo dija al lesanv-se. Klaskit unan all."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr ""
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Anv implijer pe ger-tremen direizh."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Kevreañ"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Kas un ali"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Penaos 'mañ kont, %s ?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Arouezennoù a chom"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Kas"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr ""
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Anv implijer pe ger-tremen direizh."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s hag e vignoned, pajenn %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s hag e vignoned"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "Ok, en ober !"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Mont hebiou"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Pajennadur"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "War-lerc'h"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "A-raok"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Trugarez da bediñ ho mignoned da implijout %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Pedadennoù a zo bet kaset d'an implijerien da-heul :"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Pedet oc'h bet da %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Pedit ho mignoned da implijout %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Mignoned hag a implij dija %s :"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Kas pedadennoù"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr ""
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Implijer Facebook Connect"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Kevreañ pe en em enskrivañ dre Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr "Arventennoù evit Facebook Connect"
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Kevreet oc'h dija."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr "Kevreit gant ho kont Facebook"
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr "Kevreadenn Facebook"
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr "Dibosupl eo dilemel an implijer Facebook."
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Degemer"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Degemer"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Pediñ"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Pediñ"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Arventennoù"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Penndibaboù"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr "ur gont nevez."
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "En em enskrivañ"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Lesanv"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Kevreañ"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Ha kollet ho peus ho ker-tremen ?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr "Danvez ebet en ali !"
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Re hir eo ! Ment hirañ an ali a zo a %d arouezenn."
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Alioù"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr "Arventennoù enframmañ Facebook"
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr "Arventennoù poellad Facebook"
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr "Alc'hwez API"
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr "Alc'hwez API pourchaset gant Facebook"
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr "Kuzh"
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr "Alc'hwez API kuzh pourchaset gant Facebook"
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Enrollañ"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Enrollañ arventennoù Facebook"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr "Merañ an doare ma kevre ho kont ouzh Facebook"
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr ""
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr "Implijer Facebook kevreet"
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr "Digevreañ ma c'hont deus Facebook"
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "Termeniñ ur ger-tremen"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr "da gentañ."
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Digevrañ"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr "N'eus ket bet gallet diverkañ al liamm war-du Facebook."
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr "N'omp ket sur eus ar pezh emaoc'h o klask ober aze."
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr ""
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr "Kas respontoù \"@\" da Facebook."
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Enrollañ"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr ""
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr "Penndibaboù ar c'hempredañ"
+++ /dev/null
-# Translation of StatusNet - Facebook to Catalan (Català)
-# Exported from translatewiki.net
-#
-# Author: Toniher
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-30 22:50+0000\n"
-"PO-Revision-Date: 2011-01-30 22:53:17+0000\n"
-"Language-Team: Catalan <http://translatewiki.net/wiki/Portal:ca>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-29 22:24:12+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81224); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: ca\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"Hola, %1$s. lamentem informar-vos que no podem actualitzar l'estat del "
-"vostre Facebook des de %2$s, i hem inhabilitat l'aplicació del Facebook del "
-"vostre compte. Això pot ser perquè hagiu eliminat l'autorització de "
-"l'aplicació al Facebook, o perquè hàgiu eliminat el vostre compte del "
-"Facebook. Podeu tornar a habilitar l'aplicació del Facebook i "
-"l'actualització automàtica d'estat reinstal·lant l'aplicació de Facebook de %"
-"2$s.\n"
-"\n"
-"Atentament,\n"
-"\n"
-"%2$s"
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr ""
-"Heu d'iniciar una sessió al Facebook per fer servir el Facebook Connect."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr "Ja hi ha un usuari local enllaçat amb aquest compte del Facebook."
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-"S'ha produït un problema amb el testimoni de la vostre sessió. Torneu-ho a "
-"provar."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "No us podeu registrar si no accepteu la llicència."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "S'ha produït un error desconegut."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-"És la primera vegada que inicieu una sessió a %s, per tant hem de connectar "
-"el vostre Facebook a un compte local. Podeu crear un compte nou, o bé "
-"connectar-vos amb un ja existent si ja en teniu un."
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Configuració del compte del Facebook"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Opcions de connexió"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"El meu text i fitxers es troben disponibles sota %s, excepte les dades "
-"privades següents: contrasenya, adreça electrònica, adreça de MI i número de "
-"telèfon."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Crea un compte nou"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Crea un compte nou amb aquest sobrenom."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Nou sobrenom"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr ""
-"1-64 lletres en minúscules o nombres, sense signes de puntuació o espais"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Crea"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Connecta un compte existent"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-"Si ja teniu un compte, inicieu una sessió amb el nom d'usuari i contrasenya "
-"per connectar-lo al vostre Facebook."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Sobrenom ja existent"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Contrasenya"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Connecta"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "No es permet el registre"
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "No és un codi d'invitació vàlid."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "No es permet el sobrenom."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "El sobrenom ja és en ús. Proveu-ne un altre."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "S'ha produït un error en connectar l'usuari al Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Nom d'usuari o contrasenya no vàlids."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Inici de sessió"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Envia un avís"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Com va, %s?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Caràcters disponibles"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Envia"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Error del servidor: no es pot obtenir l'usuari!"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Usuari o contrasenya incorrectes."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s i amics, pàgina %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s i amics"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Si voleu que l'aplicació %s actualitzi automàticament el vostre estat del "
-"Facebook amb el darrer avís, cal que li doneu permisos."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "Endavant, fes-ho!"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Omet"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Paginació"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Després"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Abans"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Gràcies per convidar els vostres amics perquè facin servir el %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "S'han enviat invitacions als usuaris següents:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Us han convidat a %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Convideu els vostres amics a fer servir %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Amics que ja fan servir %s:"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Envia invitacions"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Configuració d'integració del Facebook"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Usuari de connexió del Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Inicieu una sessió o registreu-vos fent servir el Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr "Paràmetres de connexió del Facebook"
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-"El connector del Facebook permet integrar instàncies de l'StatusNet amb el "
-"<a href=\"http://facebook.com/\">Facebook</a> i el Facebook Connect."
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Ja heu iniciat una sessió."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr "Inicieu una sessió amb el compte del Facebook"
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr "Inici de sessió del Facebook"
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr "No s'ha pogut eliminar l'usuari del Facebook: ja s'ha eliminat."
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr "No s'ha pogut eliminar l'usuari del Facebook."
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Inici"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Inici"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Convida"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Convida"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Paràmetres"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Paràmetres"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-"Per fer servir l'aplicació del Facebook %s cal que inicieu una sessió amb el "
-"vostre usuari i contrasenya. No teniu cap nom d'usuari encara?"
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr " un compte nou."
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Registre"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Sobrenom"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Inici de sessió"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Heu perdut o oblidat la contrasenya?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr "No hi ha contingut a l'avís!"
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "És massa llarg. La mida màxima d'un avís són %d caràcters."
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Avisos"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr "Paràmetres d'integració del Facebook"
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr "Clau API del Facebook no vàlida. La longitud màxima són 255 caràcters."
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-"Clau secreta API del Facebook no vàlida. La longitud màxima són 255 "
-"caràcters."
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr "Paràmetres d'aplicació del Facebook"
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr "Clau API"
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr "Clau API proporcionada pel Facebook"
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr "Clau secreta"
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr "Clau secreta API proporcionada pel Facebook"
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Desa"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Desa els paràmetres del Facebook"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr "Gestiona com el vostre compte es connecta al Facebook"
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr "No hi ha cap usuari del Facebook connectat a aquest compte."
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr "Usuari del Facebook connectat"
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr "Desconnecta el meu compte del Facebook"
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-"Si desconnecteu el vostre Facebook, serà impossible iniciar una sessió!"
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "definiu una contrasenya"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr " abans de res."
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Desconnecta"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr "No s'ha pogut eliminar l'enllaç al Facebook."
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr "Us heu desconnectat del Facebook."
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr "No estic segur del que proveu de fer."
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr "S'ha produït un problema en desar les preferències de sincronització!"
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr "S'han desat les preferències de sincronització."
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-"Actualitza automàticament el meu estat del Facebook amb els meus avisos."
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr "Envia respostes «@» al Facebook."
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Desa"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-"Si voleu que %s actualitzi automàticament el vostre estat del Facebook amb "
-"el darrer avís, cal que li doneu permís."
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr "Permet que %s actualitzi el meu estat del Facebook"
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr "Preferències de sincronització"
+++ /dev/null
-# Translation of StatusNet - Facebook to German (Deutsch)
-# Exported from translatewiki.net
-#
-# Author: Michael
-# Author: The Evil IP address
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:43+0000\n"
-"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: de\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"Hallo %1$s. Wir konnten leider nicht deinen Facebook-Status von %2$s aus "
-"aktualisieren und haben daher das Facebook-Programm für dein Benutzerkonto "
-"deaktiviert. Dies könnte daran liegen, dass du die Erlaubnis des Facebook-"
-"Programms entfernt hast oder dein Facebook-Benutzerkonto gelöscht hast. Du "
-"kannst das Facebook-Programm und die automatische Aktualisierung des Status, "
-"indem du das %2$s-Facebook-Programm neu installierst.\n"
-"\n"
-"Mit freundlichen Grüßen,\n"
-"\n"
-"%2$s"
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr ""
-"Du musst auf Facebook eingeloggt sein, um Facebook Connect benutzen zu "
-"können."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr ""
-"Es gibt bereits einen lokalen Benutzer, der mit diesem Facebook-"
-"Benutzerkonto verknüpft ist."
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr "Es gab ein Problem mit deinem Sitzungstoken. Bitte versuche es erneut."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr ""
-"Du kannst dich nicht registrieren, wenn du die Lizenz nicht akzeptierst."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Ein unbekannter Fehler ist aufgetreten."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-"Dies ist das erste Mal, dass du dich auf %s anmeldest, sodass wir dein "
-"Facebook-Benutzerkonto mit einem lokalen Benutzerkonto verbinden müssen. Du "
-"kannst entweder ein neues Benutzerkonto erstellen oder dich mit deinem "
-"existierendem Benutzerkonto verbinden."
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Verbindungsoptionen"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"Abgesehen von den folgenden Daten: Passwort, E-Mail-Adresse, IM-Adresse und "
-"Telefonnummer, sind all meine Texte und Dateien unter %s verfügbar."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Neues Benutzerkonto erstellen"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Neues Benutzerkonto mit diesem Benutzernamen erstellen."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Neuer Benutzername"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1-64 Kleinbuchstaben oder Zahlen, keine Satz- oder Leerzeichen"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Erstellen"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Bestehendes Benutzerkonto verbinden"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-"Wenn du bereits ein Benutzerkonto hast, melde dich mit deinem Benutzernamen "
-"und Passwort an, um ihn mit Facebook zu verbinden."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Bestehender Benutzername"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Passwort"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Verbinden"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Registrierung nicht erlaubt."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "Kein gültiger Einladungscode."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Benutzername nicht erlaubt."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Benutzername wird bereits verwendet. Suche dir einen anderen aus."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "Fehler beim Verbinden des Benutzers mit Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Benutzername oder Passwort falsch."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Anmelden"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Nachricht senden"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Was geht, %s?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Verfügbare Zeichen"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Senden"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Server-Fehler: Konnte Benutzer nicht kriegen!"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Falscher Benutzername oder Passwort."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s und Freunde, Seite %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s und Freunde"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Wenn du möchtest, dass das %s-Programm automatisch deinen Facebook-Status "
-"mit deiner neuesten Nachricht aktualisiert, musst du ihm die Erlaubnis dazu "
-"geben."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "Okay, mach es!"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Überspringen"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr ""
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Nach"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Vor"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Danke für das Einladen deiner Freunde auf %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Einladungen wurden an die folgenden Benutzer gesendet:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Du wurdest auf %s eingeladen"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Lade deine Freunde auf %s ein"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Auf %s bereits angemeldete Freunde"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Einladungen senden"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr ""
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Mit Facebook anmelden oder registrieren"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr ""
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-"Das Facebook-Plugin integriert StatusNet mit <a href=\"http://facebook.com/"
-"\">Facebook</a> und Facebook Connect."
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Bereits angemeldet."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr "Logge dich mit deinem Facebook-Benutzerkonto ein"
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr "Facebook Login"
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr "Konnte Facebook-Benutzer nicht entfernen: bereits gelöscht."
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr "Konnte Facebook-Benutzer nicht entfernen."
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Startseite"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Startseite"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Einladen"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Einladen"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Einstellungen"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Einstellungen"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-"Um das %s-Facebook-Programm zu benutzen, musst du dich mit deinem "
-"Benutzernamen und Passwort einloggen. Hast du noch keinen Benutzernamen?"
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr ""
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Registrieren"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Benutzername"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Anmelden"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Passwort vergessen?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr "Kein Nachrichten-Inhalt!"
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-"Das war zu lang. Die Länge einer Nachricht ist auf %d Zeichen beschränkt."
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Nachrichten"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr ""
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-"Ungültiger Facebook-API-Schlüssel. Die maximale Länge liegt bei 255 Zeichen."
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr ""
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr "API-Schlüssel"
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr "Von Facebook bereitgestellter API-Schlüssel"
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr "Geheim"
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Speichern"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Facebook-Einstellungen speichern"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr "Verwalte, wie dein Benutzerkonto sich mit Facebook verbindet"
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr ""
-"Es gibt keinen Facebook-Benutzer, der mit diesem Benutzerkonto verbunden ist."
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr "Verbundener Facebook-Benutzer"
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr ""
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "Passwort vergeben"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Abmelden"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr "Link zu Facebook konnte nicht gelöscht werden."
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr "Sie sind bei Facebook abgemeldet."
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr "Prozess konnte nicht verarbeitet werden."
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-"Es gab ein Problem beim Speichern deiner Synchronisierungs-Einstellungen!"
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr "Synchronisierungs-Einstellungen gespeichert."
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-"Meinen Facebook-Status automatisch mit meinen Nachrichten aktualisieren."
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr "@-Antworten an Facebook versenden."
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Speichern"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-"Wenn du möchtest, dass %s automatisch deinen Facebook-Status mit deiner "
-"neuesten Nachricht aktualisiert, musst du ihm die Erlaubnis dazu geben."
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr "%s erlauben, meinen Facebook-Status zu aktualisieren"
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr "Synchronisierungs-Einstellungen"
+++ /dev/null
-# Translation of StatusNet - Facebook to Spanish (Español)
-# Exported from translatewiki.net
-#
-# Author: Locos epraix
-# Author: Peter17
-# Author: Translationista
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:43+0000\n"
-"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: es\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: facebookutil.php:429
-#, fuzzy, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"Hola, %$1s: Lamentamos informarte que no podemos actualizar tu estado de "
-"Facebook desde %$2s y hemos inhabilitado la aplicación de Facebook en tu "
-"cuenta. Esto puede deberse a que has eliminado la autorización de Facebook o "
-"porque hax borrado tu cuenta de Facebook. Puedes volver a habilitar la "
-"aplicación de Facebook y la actualización automática de estados mediante la "
-"reinstalación de la aplicación de Facebook %2$s."
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr ""
-"Debes haber iniciado sesión en Facebook para poder utilizar Facebook Connect."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr "Ya hay un usuario local vinculado a esta cuenta de Facebook."
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-"Hubo un problema con tu token de sesión. Por favor, inténtalo de nuevo."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "No puedes registrarte si no estás de acuerdo con la licencia."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Ha ocurrido un error desconocido."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-"Esta es la primera vez que inicias sesión en %s, así que debemos conectar "
-"Facebook a una cuenta local. Puedes crear una cuenta nueva o conectarte con "
-"tu cuenta, de tenerla."
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Configuración de cuenta de Facebook"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Opciones de conexión"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"Mi texto y archivos están disponibles en %s, salvo estos datos privados: "
-"contraseña, dirección de correo electrónico, dirección de mensajería "
-"instantánea y número de teléfono."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Crear cuenta nueva"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Crear un nuevo usuario con este nombre de usuario."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Nuevo nombre de usuario"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr ""
-"1-64 letras en minúscula o números, sin signos de puntuación o espacios"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Crear"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Conectar cuenta existente"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-"Si ya tienes una cuenta, ingresa con tu nombre de usuario y contraseña para "
-"conectarte a tu Facebook."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "El nombre de usuario ya existe"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Contraseña"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Conectar"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Registro de usuario no permitido."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "No es un código de invitación válido."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Nombre de usuario no autorizado."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "El nombre de usuario ya existe. Prueba con otro."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "Error de conexión del usuario a Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Nombre de usuario o contraseña inválidos."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Iniciar sesión"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Enviar un mensaje"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "¿Qué tal, %s?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Caracteres disponibles"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Enviar"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Error de servidor: ¡No se pudo obtener el usuario!"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr ""
-"Nombre de usuario o contraseña incorrectos\n"
-"."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, fuzzy, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%s y sus amistades"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s y sus amistades"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Si desesa que la aplicación %s actualice automáticamente tu estado de "
-"Facebook con tu último mensaje, tienes que darle permiso."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "Ok, ¡hazlo!"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Omitir"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Paginación"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Después"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Antes"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Gracias por invitar a tus amistades a usar %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Se ha enviado invitaciones a los siguientes usuarios:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Te han invitado a %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Invita a tus amistades a usar %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Amistades que ya usan %s:"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Enviar invitaciones"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Configuración de integración de Facebook"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr ""
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr ""
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr ""
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr ""
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Pagina principal"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Pagina principal"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Invitar"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Invitar"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Preferencias"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Preferencias"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr ""
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Registrarse"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Nickname"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Iniciar sesión"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr ""
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr ""
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Avisos"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr "Configuración de integración de Facebook"
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr ""
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr ""
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr "Secreto"
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Guardar"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr ""
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr ""
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr ""
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr ""
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "establecer una contraseña"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr ""
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr ""
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr ""
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr ""
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Guardar"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr ""
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr ""
+++ /dev/null
-# Translation of StatusNet - Facebook to French (Français)
-# Exported from translatewiki.net
-#
-# Author: Peter17
-# Author: Verdy p
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:43+0000\n"
-"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: fr\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"Salut, %1$s. Nous sommes désolés de vous informer que nous ne sommes pas en "
-"mesure de mettre à jour votre statut Facebook depuis %2$s et que nous avons "
-"désactivé l’application Facebook sur votre compte. C’est peut-être parce que "
-"vous avez retiré l’autorisation de l’application Facebook, ou avez supprimé "
-"votre compte Facebook. Vous pouvez réactiver l’application Facebook et la "
-"mise à jour d’état automatique en réinstallant l’application %2$s pour "
-"Facebook.\n"
-"\n"
-"Cordialement,\n"
-"\n"
-"%2$s"
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr "Vous devez être identifié sur Facebook pour utiliser Facebook Connect."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr "Il existe déjà un utilisateur local lié à ce compte Facebook."
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-"Un problème est survenu avec votre jeton de session. Veuillez essayer à "
-"nouveau."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "Vous ne pouvez pas vous inscrire si vous n’acceptez pas la licence."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Une erreur inconnue s’est produite."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-"C’est la première fois que vous êtes connecté à %s via Facebook, il nous "
-"faut donc lier votre compte Facebook à un compte local. Vous pouvez soit "
-"créer un nouveau compte, soit vous connecter avec votre compte local "
-"existant si vous en avez un."
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Configuration du compte Facebook"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Options de connexion"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"Mon texte et mes fichiers sont disponibles sous licence %s, à l’exception "
-"des données privées suivantes : mot de passe, adresse courriel, adresse de "
-"messagerie instantanée et numéro de téléphone."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Créer un nouveau compte"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Créer un nouvel utilisateur avec ce pseudonyme."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Nouveau pseudonyme"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Créer"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Se connecter à un compte existant"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-"Si vous avez déjà un compte ici, connectez-vous avec votre nom d’utilisateur "
-"et mot de passe pour l’associer à votre compte Facebook."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Pseudonyme existant"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Mot de passe"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Connexion"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Inscription non autorisée."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "Le code d’invitation n’est pas valide."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Pseudonyme non autorisé."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Pseudonyme déjà utilisé. Essayez-en un autre."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "Erreur de connexion de l’utilisateur à Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Nom d’utilisateur ou mot de passe incorrect."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Connexion"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Envoyer un avis"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Quoi de neuf, %s ?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Caractères restants"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Envoyer"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Erreur de serveur : impossible d’obtenir l’utilisateur !"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Nom d’utilisateur ou mot de passe incorrect."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s et ses amis, page %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s et ses amis"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Si vous souhaitez que l’application %s mette à jour automatiquement votre "
-"statut Facebook avec votre dernier avis, vous devez lui en donner "
-"l’autorisation."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "Ok, le faire !"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Sauter cette étape"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Pagination"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Après"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Avant"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Merci d’inviter vos amis à utiliser %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Des invitations ont été envoyées aux utilisateurs suivants :"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Vous avez été invité à %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Invitez vos amis à utiliser %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Amis utilisant déjà %s :"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Envoyer des invitations"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Configuration de l’intégration Facebook"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Utilisateur de Facebook Connect"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Se connecter ou s’inscrire via Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr "Paramètres pour Facebook Connect"
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-"Le greffon Facebook permet d’intégrer des instances StatusNet avec <a href="
-"\"http://facebook.com/\">Facebook</a> et Facebook Connect."
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Déjà connecté."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr "Connectez-vous avec votre compte Facebook"
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr "Connexion Facebook"
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr "Impossible de supprimer l’utilisateur Facebook : déjà supprimé."
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr "Impossible de supprimer l’utilisateur Facebook."
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Accueil"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Accueil"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Inviter"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Inviter"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Paramètres"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Préférences de l’utilisateur"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-"Pour utiliser l’application %s pour Facebook, vous devez vous identifier "
-"avec votre nom d’utilisateur et mot de passe. Vous n’avez pas encore un nom "
-"d’utilisateur ?"
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr "un nouveau compte."
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "S’inscrire"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Pseudonyme"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Connexion"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Mot de passe perdu ou oublié ?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr "Aucun contenu dans l’avis !"
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "C’est trop long ! La taille maximale de l’avis est de %d caractères."
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Avis publiés"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr "Paramètres d’intégration Facebook"
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-"Clé invalide pour l’API Facebook. La longueur maximum est de 255 caractères."
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-"Code secret invalide pour l’API Facebook. La longueur maximum est de 255 "
-"caractères."
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr "Paramètres de l’application Facebook"
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr "Clé API"
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr "Clé API fournie par Facebook"
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr "Code secret"
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr "Code secret pour l’API fourni par Facebook"
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Sauvegarder"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Sauvegarder les paramètres Facebook"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr "Gérez la façon dont votre compte se connecte à Facebook"
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr "Il n’y a pas d’utilisateur Facebook connecté à ce compte."
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr "Utilisateur Facebook connecté"
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr "Déconnecter mon compte de Facebook"
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-"La déconnexion de votre compte Facebook ne vous permettrait plus de vous "
-"connecter ! S’il vous plaît "
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "définissez un mot de passe"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr " tout d’abord."
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Déconnecter"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr "Impossible de supprimer le lien vers Facebook."
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr "Vous avez été déconnecté de Facebook."
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr "Pas certain de ce que vous essayez de faire."
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-"Il y a eu un problème lors de la sauvegarde de vos préférences de "
-"synchronisation !"
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr "Préférences de synchronisation enregistrées."
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr "Mettre à jour automatiquement mon statut Facebook avec mes avis."
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr "Envoyez des réponses « @ » à Facebook."
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Sauvegarder"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-"Si vous souhaitez que l’application %s mette à jour automatiquement votre "
-"statut Facebook avec votre dernier avis, vous devez lui en donner "
-"l’autorisation."
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr "Autoriser %s à mettre à jour mon statut Facebook"
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr "Préférences de synchronisation"
+++ /dev/null
-# Translation of StatusNet - Facebook to Galician (Galego)
-# Exported from translatewiki.net
-#
-# Author: Toliño
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:43+0000\n"
-"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: gl\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr ""
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr ""
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr "Houbo un erro co seu pase. Inténteo de novo."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "Non pode rexistrarse se non acepta a licenza."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Houbo un erro descoñecido."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Opcións de conexión"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"Os meus textos e ficheiros están dispoñibles baixo %s, salvo os seguintes "
-"datos privados: contrasinais, enderezos de correo electrónico e mensaxería "
-"instantánea e números de teléfono."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Crear unha conta nova"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Crear un novo usuario con este alcume."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Novo alcume"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr ""
-"Entre 1 e 64 letras minúsculas ou números, sen signos de puntuación, "
-"espazos, tiles ou eñes"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Crear"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr ""
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr ""
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Contrasinal"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Conectar"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Non se permite o rexistro."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "O código da invitación é incorrecto."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr ""
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Ese alcume xa está en uso. Probe con outro."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr ""
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "O nome de usuario ou contrasinal non son correctos."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Rexistro"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Enviar unha nota"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Que hai de novo, %s?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Caracteres dispoñibles"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Enviar"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr ""
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Nome de usuario ou contrasinal incorrectos."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s e amigos, páxina %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s e amigos"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "De acordo, facédeo!"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Saltar"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Paxinación"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Despois"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Antes"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr ""
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr ""
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr ""
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr ""
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr ""
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Enviar as invitacións"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Configuración de integración do Facebook"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Usuario do Facebook Connect"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr ""
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Xa se identificou."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr ""
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr ""
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Inicio"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Inicio"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Convidar"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Convidar"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Parámetros"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Configuracións"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr " unha nova conta."
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Rexistrarse"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Alcume"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Rexistro"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Esqueceu ou perdeu o contrasinal?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr ""
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Avisos"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr ""
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr ""
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr "Clave API"
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr "Clave API proporcionada polo Facebook"
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr ""
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Gardar"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr ""
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr ""
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr ""
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr ""
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr ""
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr " primeiro."
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Desconectarse"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr ""
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr ""
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr ""
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Gardar"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr ""
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr ""
+++ /dev/null
-# Translation of StatusNet - Facebook to Interlingua (Interlingua)
-# Exported from translatewiki.net
-#
-# Author: McDutchie
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:43+0000\n"
-"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: ia\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"Salute, %1$s. Nos regretta informar te que nos es incapace de actualisar tu "
-"stato de Facebook ab %2$s, e que nos ha disactivate le application Facebook "
-"pro tu conto. Isto pote esser proque tu ha removite le autorisation del "
-"application Facebook, o ha delite tu conto de Facebook. Tu pote reactivar le "
-"application Facebook e le actualisation automatic de tu stato per "
-"reinstallar le application Facebook %2$s.\n"
-"\n"
-"Attentemente,\n"
-"\n"
-"%2$s"
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr "Tu debe aperir un session a Facebook pro usar Facebook Connect."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr "Il ha jam un usator local ligate a iste conto de Facebook."
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "Tu non pote crear un conto si tu non accepta le licentia."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Un error incognite ha occurrite."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-"Isto es le prime vice que tu ha aperite un session in %s, dunque nos debe "
-"connecter tu Facebook a un conto local. Tu pote crear un nove conto, o "
-"connecter con tu conto existente si tu ha un."
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Configuration de conto Facebook"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Optiones de connexion"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"Mi texto e files es disponibile sub %s excepte iste datos private: "
-"contrasigno, adresse de e-mail, adresse de messageria instantanee, numero de "
-"telephono."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Crear nove conto"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Crear un nove usator con iste pseudonymo."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Nove pseudonymo"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1-64 minusculas o numeros, sin punctuation o spatios"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Crear"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Connecter conto existente"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-"Si tu ha jam un conto, aperi session con tu nomine de usator e contrasigno "
-"pro connecter lo a tu Facebook."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Pseudonymo existente"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Contrasigno"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Connecter"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Creation de conto non permittite."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "Le codice de invitation es invalide."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Pseudonymo non permittite."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Pseudonymo ja in uso. Proba un altere."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "Error durante le connexion del usator a Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Nomine de usator o contrasigno invalide."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Aperir session"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Inviar un nota"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Como sta, %s?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Characteres disponibile"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Inviar"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Error de servitor: Non poteva obtener le usator!"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Nomine de usator o contrasigno incorrecte."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s e amicos, pagina %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s e amicos"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Si tu vole que le application %s actualisa automaticamente tu stato de "
-"Facebook con tu ultim enota, tu debe dar permission a illo."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "OK, face lo!"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Saltar"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Pagination"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Post"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Ante"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Gratias pro invitar tu amicos a usar %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Invitationes ha essite inviate al sequente usatores:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Tu ha essite invitate a %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Invita tu amicos a usar %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Amicos que jam usa %s:"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Inviar invitationes"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Configuration del integration de Facebook"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Usator de Facebook Connect"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Aperir session o crear conto usante Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr "Configurationes de connexion a Facebook"
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-"Le plug-in de Facebook permitte integrar installationes de StatusNet con <a "
-"href=\"http://facebook.com/\">Facebook</a> e Facebook Connect."
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Tu es jam authenticate."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr "Aperir session con tu conto de Facebook"
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr "Authentication con Facebook"
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr "Non poteva remover usator de Facebook: jam delite."
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr "Non poteva remover le usator de Facebook."
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Initio"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Initio"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Invitar"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Invitar"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Configurationes"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Configurationes"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-"Pro usar le application Facebook %s tu debe aperir un session con tu nomine "
-"de usator e contrasigno. Tu non ha ancora un nomine de usator?"
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr " un nove conto."
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Crear conto"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Pseudonymo"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Aperir session"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Contrasigno perdite o oblidate?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr "Le nota non ha contento!"
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-"Isto es troppo longe. Le longitude maximal del notas es %d characteres."
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Notas"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr "Configurationes de integration de Facebook"
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr "Clave API de Facebook invalide. Longitude maximal es 255 characteres."
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-"Secreto API de Facebook invalide. Longitude maximal es 255 characteres."
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr "Configurationes del application de Facebook"
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr "Clave API"
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr "Clave API providite per Facebook"
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr "Secreto"
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr "Secreto API providite per Facebook"
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Salveguardar"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Salveguardar configuration Facebook"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr "Configura como tu conto se connecte a Facebook"
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr "Il non ha un usator de Facebook connectite a iste conto."
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr "Usator de Facebook connectite"
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr "Disconnecter mi conto ab Facebook"
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-"Le disconnexion de tu Facebook renderea le authentication impossibile! Per "
-"favor "
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "defini un contrasigno"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr " primo."
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Disconnecter"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr "Non poteva deler le ligamine a Facebook."
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr "Tu te ha disconnectite de Facebook."
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr "Non es clar lo que tu tenta facer."
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-"Occurreva un problema durante le salveguarda de tu preferentias de "
-"synchronisation!"
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr "Preferentias de synchronisation salveguardate."
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr "Actualisar automaticamente mi stato de Facebook con mi notas."
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr "Inviar responsas \"@\" a Facebook."
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Salveguardar"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-"Si tu vole que %s actualisa automaticamente tu stato de Facebook con tu "
-"ultime nota, tu debe dar permission a illo."
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr "Permitter a %s de actualisar mi stato de Facebook"
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr "Preferentias de synchronisation"
+++ /dev/null
-# Translation of StatusNet - Facebook to Macedonian (Македонски)
-# Exported from translatewiki.net
-#
-# Author: Bjankuloski06
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:43+0000\n"
-"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: mk\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"Здраво, %1$s. Нажалост, не можеме да го смениме Вашиот статус на Facebook од "
-"%2$s, и го имаме оневозможено програмчето за Facebook на Вашата сметка. Ова "
-"можеби се должи на тоа што сте го отстраниле овластувањето на програмчето за "
-"Facebook, или пак сте ја избришале самата сметка на Facebook. Можете "
-"повторно да го овозможите програмчето за Facebook и автоматското менување на "
-"статус со преинсталирање на програмчето %2$s - Facebook.\n"
-"\n"
-"Поздрав,\n"
-"\n"
-"%2$s"
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr ""
-"Мора да сте најавени на Facebook за да можете да користите Facebook Connect."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr "Веќе постои локален корисник поврзан со оваа сметка на Facebook."
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr "Се појави проблем со жетонот на Вашата сесија. Обидете се повторно."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "Не можете да се регистрирате ако не се согласувате со лиценцата."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Се појави непозната грешка."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-"Ова е прв пат како се најавувате на %s, па затоа мораме да го поврземе "
-"Вашиот профил на Facebook со локална сметка. Можете да создадете нова "
-"сметка, или пак да се поврзете со Вашата постоечка сметка (ако ја имате)."
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Поставки за сметка на Facebook"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Нагодувања за врска"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"Мојот текст и податотеки се достапни под %s освен следниве приватни "
-"податоци: лозинка, е-пошта, IM-адреса, и телефонскиот број."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Создај нова сметка"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Создај нов корисник со овој прекар."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Нов прекар"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1-64 мали букви или бројки, без интерпункциски знаци и празни места"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Создај"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Поврзи постоечка сметка"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-"Ако веќе имате сметка, најавете се со корисничкото име и лозинката за да ја "
-"поврзете со профилот на Facebook."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Постоечки прекар"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Лозинка"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Поврзи се"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Регистрацијата не е дозволена."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "Ова не е важечки код за покана."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Прекарот не е дозволен."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Прекарот е зафатен. Одберете друг."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "Грешка при поврзувањето на корисникот со Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Неважечко корисничко име или лозинка."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Најава"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Испрати забелешка"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Како е, %s?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Расположиви знаци"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Испрати"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Грешка во опслужувачот: Не можев да го добијам корисникот!"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Погрешно корисничко име или лозинка."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s и пријателите, страница %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s и пријателите"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Доколку сакате %s автоматски да Ви го менува Вашиот статус на Facebook "
-"(прикажувајќи ја најновата забелешка), ќе морате да дадете дозвола."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "Во ред, ајде!"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Прескокни"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Прелом на страници"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Потоа"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Претходно"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Ви благодариме што ги поканивте пријателите да користат %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Испратени се покани до следениве корисници:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Поканети сте на %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Поканете ги пријателите да користат %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Пријатели што веќе користат %s:"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Испрати покани"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Поставки за обединување со Facebook"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Поврзување на корисник со Facebook Connect"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Најава или регистрација со Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr "Нагодувања за поврзување со Facebook"
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-"Приклучокот за Facebook овозможува соединување на примероци на StatusNet со "
-"<a href=\"http://mk-mk.facebook.com/\">Facebook</a> и Facebook Connect."
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Веќе сте најавени."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr "Најавете се со Вашата сметка на Facebook"
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr "Најава со Facebook"
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr "Не можев да го отстранам корисникот на Facebook: веќе е избришан."
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr "Не можев да го отстранам корисниот на Facebook."
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Почетна"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Почетна"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Покани"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Покани"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Нагодувања"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Нагодувања"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-"За да го користите програмчето %s - Facebook ќе мора да сте најавени со "
-"Вашето корисничко име и лозинка. Сè уште немате корисничко име?"
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr " нова сметка."
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Регистрација"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Прекар"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Најава"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Ја загубивте/заборавивте лозинката?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr "Нема содржина за забелешката!"
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Ова е предолго. Забелешката може да содржи највеќе %d знаци."
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Забелешки"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr "Поставки за обединување со Facebook"
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr "Неважечки API-клуч за Facebook. Дозволени се највеќе 255 знаци."
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr "Неважечки API-тајна за Facebook. Дозволени се највеќе 255 знаци."
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr "Нагодувања за прог. Facebook"
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr "API-клуч"
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr "API-клучот е обезбеден од Facebook"
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr "Тајна"
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr "API-тајната е обезбедена од Facebook"
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Зачувај"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Зачувај нагодувања за Facebook"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr "Раководење со начинот на поврзување на Вашата сметка со Facebook"
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr "Нема корисник на Facebook поврзан со оваа сметка."
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr "Поврзан корисник на Facebook"
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr "Исклучи ја мојата сметка од Facebook"
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-"Ако ја исклучите врската со Facebook нема да можете да се најавите! Затоа, "
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "ставете лозинка"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr " пред да продолжите."
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Прекини"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr "Не можев да ја избришам врската до Facebook."
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr "Сега е исклучена врската со Facebook."
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr "Не ми е јасно што сакате да направите."
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-"Се појави проблем при зачувувањето на Вашите поставки за услогласување!"
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr "Поставките за усогласување се зачувани."
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr "Автоматски заменувај ми го статусот на Facebook со моите забелешки."
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr "Испрати „@“ одговори на Facebook."
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Зачувај"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-"Ако сакате %s автоматски да го заменува Вашиот статус на Facebook со Вашата "
-"најновата забелешка, ќе треба да дадете дозвола."
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr "Дозволи %s да го менува мојот статус на Facebook"
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr "Услогласи нагодувања"
+++ /dev/null
-# Translation of StatusNet - Facebook to Norwegian (bokmål) (Norsk (bokmål))
-# Exported from translatewiki.net
-#
-# Author: Nghtwlkr
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:44+0000\n"
-"Language-Team: Norwegian (bokmål) <http://translatewiki.net/wiki/Portal:no>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: no\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr ""
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr ""
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr ""
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr ""
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr ""
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Opprett ny konto"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Opprett en ny bruker med dette kallenavnet."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Nytt kallenavn"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1-64 små bokstaver eller tall, ingen punktum eller mellomrom"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Opprett"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr ""
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Eksisterende kallenavn"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Passord"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Koble til"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Registrering ikke tillatt."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "Ikke en gyldig invitasjonskode."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Kallenavn er ikke tillatt."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Kallenavnet er allerede i bruk. Prøv et annet."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr ""
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Ugyldig brukernavn eller passord."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Logg inn"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Send en notis"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Hva skjer %s?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Tilgjengelige tegn"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Send"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Tjenerfeil: Kunne ikke hente bruker!"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Feil brukernavn eller passord."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s og venner, side %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s og venner"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr ""
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Hopp over"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Paginering"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Etter"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Før"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Takk for at du inviterte vennene dine til å bruke %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Invitasjoner har blitt sendt til følgende brukere:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Du har blitt invitert til å %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Inviter vennene dine til å bruke %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr ""
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Send invitasjoner"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr ""
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr ""
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Allerede innlogget."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr ""
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr ""
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Hjem"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Hjem"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Inviter"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Inviter"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Innstillinger"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Innstillinger"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr " en ny konto."
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Registrer"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Kallenavn"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Logg inn"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Mistet eller glemt passordet?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr ""
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr ""
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr ""
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr ""
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr ""
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr ""
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Lagre"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr ""
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr ""
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr ""
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr ""
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "angi et passord"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr " først."
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr ""
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr ""
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr ""
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr "Send «@»-svar til Facebook."
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Lagre"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr "Tillat %s å oppdatere min Facebook-status"
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr ""
+++ /dev/null
-# Translation of StatusNet - Facebook to Dutch (Nederlands)
-# Exported from translatewiki.net
-#
-# Author: Siebrand
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:43+0000\n"
-"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: nl\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"Hallo %1$s.\n"
-"\n"
-"Het spijt ons u te moeten meedelen dat het niet mogelijk is uw "
-"Facebookstatus bij te werken vanuit %2$s. De Facebookapplicatie is "
-"uitgeschakeld voor uw gebruiker. Dit kan komen doordat u de toegangsrechten "
-"voor de Facebookapplicatie hebt ingetrokken of omdat u uw Facebookgebruiker "
-"hebt verwijderd. U kunt deze Facebookapplicatie opnieuw inschakelen en "
-"automatisch uw status laten bijwerken door de Facebookapplicatie van %2$s "
-"opnieuw te installeren.\n"
-"\n"
-"\n"
-"Met vriendelijke groet,\n"
-"\n"
-"%2$s"
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr "U moet zijn aangemeld bij Facebook om Facebook Connect te gebruiken."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr "Er is al een lokale gebruiker verbonden met deze Facebookgebruiker"
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-"Er is een probleem ontstaan met uw sessie. Probeer het nog een keer, "
-"alstublieft."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "U kunt zich niet registreren als u niet met de licentie akkoord gaat."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Er is een onbekende fout opgetreden."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-"Dit is de eerste keer dat u aanmeldt bij %s en dan moeten we uw "
-"Facebookgebruiker koppelen met uw lokale gebruiker. U kunt een nieuwe "
-"gebruiker aanmaken of koppelen met een bestaande gebruiker als u die al hebt."
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Facebookgebruiker instellen"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Verbindingsinstellingen"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"Mijn teksten en bestanden zijn beschikbaar onder %s, behalve de volgende "
-"privégegevens: wachtwoord, e-mailadres, IM-adres, telefoonnummer."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Nieuwe gebruiker aanmaken"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Nieuwe gebruiker aanmaken met deze gebruikersnaam."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Nieuwe gebruikersnaam"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1-64 kleine letters of cijfers, geen leestekens of spaties"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Aanmaken"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Verbinden met een bestaande gebruiker"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-"Als u al een gebruiker hebt, meld dan aan met uw gebruikersnaam en "
-"wachtwoord om deze daarna te koppelen met uw Facebookgebruiker."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Bestaande gebruikersnaam"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Wachtwoord"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Koppelen"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Registratie is niet toegestaan."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "De uitnodigingscode is ongeldig."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Gebruikersnaam niet toegestaan."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr ""
-"De opgegeven gebruikersnaam is al in gebruik. Kies een andere gebruikersnaam."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "Fout bij het verbinden van de gebruiker met Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Ongeldige gebruikersnaam of wachtwoord."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Aanmelden"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Mededeling verzenden"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Hallo, %s."
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Beschikbare tekens"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Verzenden"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Serverfout: de gebruiker kon niet geladen worden."
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "De gebruikersnaam of wachtwoord is onjuist."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s en vrienden, pagina %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s en vrienden"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Als u wilt dat het programma %s automatisch uw Facebookstatus bijwerkt met "
-"uw laatste bericht, dan moet u daarvoor toestemming geven."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "Toestemming geven"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Overslaan"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Paginering"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Later"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Eerder"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Dank u wel voor het uitnodigen van uw vrienden om %s te gebruiken."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Er is een uitnodiging verstuurd naar de volgende gebruikers:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "U bent uitgenodigd bij %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Vrienden uitnodigen om %s te gebruiken"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Vrienden die %s al gebruiken:"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Uitnodigingen verzenden"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Instellingen voor Facebookintegratie"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Facebook Connectgebruiker"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Aanmelden of registreren via Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr "Instellingen voor Facebook Connect"
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-"Via de de Facebookplug-in is het mogelijk StatusNet-installaties te koppelen "
-"met <a href=\"http://facebook.com/\">Facebook</a> en Facebook Connect."
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "U bent al aangemeld."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr "Aanmelden met uw Facebookgebruiker"
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr "Aanmelden via Facebook"
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-"Het was niet mogelijk om de Facebookgebruiker te verwijderen: gebruiker is "
-"al verwijderd."
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr "Het was niet mogelijk de Facebookgebruiker te verwijderen."
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Hoofdmenu"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Hoofdmenu"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Uitnodigen"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Uitnodigen"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Instellingen"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Instellingen"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-"Om het Facebookprograma %s te gebruiken moet u aanmelden met uw "
-"gebruikersnaam en wachtwoord. Hebt u nog geen gebruiker?"
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr " een nieuwe gebruiker."
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Registreren"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Gebruikersnaam"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Aanmelden"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Wachtwoord kwijt of vergeten?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr "Geen berichtinhoud!"
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "De mededeling is te lang. Gebruik maximaal %d tekens."
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Mededelingen"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr "Instellingen voor Facebookkoppeling"
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr "Ongeldige Facebook API-sleutel. De maximale lengte is 255 tekens."
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr "Ongeldig Facebook API-geheim. De maximale lengte is 255 tekens."
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr "Applicatieinstellingen voor Facebook"
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr "API-sleutel"
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr "API-sleutel die door Facebook is uitgeven"
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr "Geheim"
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr "API-geheim dat door Facebook is uitgeven"
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Opslaan"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Facebookinstellingen opslaan"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr "Beheren hoe uw gebruiker is gekoppeld met Facebook"
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr "Er is geen Facebookgebruiker gekoppeld met deze gebruiker."
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr "Gekoppelde Facebookgebruiker"
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr "Mijn gebruiker loskoppelen van Facebook"
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-"Loskoppelen van uw Facebookgebruiker zou ervoor zorgen dat u niet langer "
-"kunt aanmelden. U moet eerst "
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "een wachtwoord instellen"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr " voordat u verder kunt met deze handeling."
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Loskoppelen"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr "Het was niet mogelijk de verwijzing naar Facebook te verwijderen."
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr "U bent losgekoppeld van Facebook."
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr "Het is niet duidelijk wat u wilt bereiken."
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-"Er is een fout opgetreden tijdens het opslaan van uw "
-"synchronisatievoorkeuren!"
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr "Uw synchronisatievoorkeuren zijn opgeslagen."
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr "Mijn Facebookstatus automatisch bijwerken met mijn mededelingen."
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr "Antwoorden met \"@\" naar Facebook verzenden."
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Opslaan"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-"Als u wilt dat %s automatisch uw Facebookstatus bijwerkt met uw laatste "
-"mededeling, dat moet u daar toestemming voor geven."
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr "%s toestaan mijn Facebookstatus bij te werken"
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr "Synchronisatievooreuren"
+++ /dev/null
-# Translation of StatusNet - Facebook to Brazilian Portuguese (Português do Brasil)
-# Exported from translatewiki.net
-#
-# Author: Giro720
-# Author: Luckas Blade
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:44+0000\n"
-"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
-"br>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: pt-br\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr ""
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr ""
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "Você não pode se registrar se não aceitar a licença."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Ocorreu um erro desconhecido."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Opções de conexão"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Criar nova conta"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Criar um novo usuário com este apelido."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Novo apelido"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Criar"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr ""
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr ""
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Senha"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Conectar"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Não é permitido o registro."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "O código de convite é inválido."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Apelido não permitido."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Este apelido já está em uso. Tente outro."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "Erro ao conectar o usuário ao Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr ""
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Entrar"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr ""
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr ""
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Caracteres disponíveis"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Enviar"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr ""
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Nome de usuário e/ou senha incorreto(s)."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s e amigos, pág. %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s e amigos"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Se você deseja que o %s aplicativo atualize automaticamente seu estado no "
-"Facebook com seus último anúncio, você deve autorizá-lo para isso."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr ""
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Avançar"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Paginação"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Depois"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Antes"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Obrigado por convidar seus amigos a usar %s"
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr ""
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Você foi convidado para %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Convidar seus amigos a usar %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Amigos já usando %s:"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Enviar convites"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr ""
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Entrar ou se registrar usando o Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr ""
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Já está autenticado."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr ""
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr ""
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr ""
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr ""
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Convidar"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Convidar"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Configurações"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Configurações"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr ""
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Registrar-se"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Apelido"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Entrar"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Perdeu ou esqueceu sua senha?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr ""
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr ""
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr ""
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr ""
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr ""
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr ""
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Salvar"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Salvar configurações do Facebook"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr ""
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr ""
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr "Desconectar minha conta do Facebook"
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr ""
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Desconectar"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr ""
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr ""
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr ""
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Salvar"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr ""
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr ""
+++ /dev/null
-# Translation of StatusNet - Facebook to Tagalog (Tagalog)
-# Exported from translatewiki.net
-#
-# Author: AnakngAraw
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:44+0000\n"
-"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: tl\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"Kumusta, %1$s. May pagpapaumanhin naming ipinababatid sa iyo na hindi namin "
-"naisapanahon ang iyong katayuan ng Facebook mula %2$s, at hindi namin "
-"pinagana ang aplikasyon ng Facebook para sa iyong akawnt. Maaaring dahil "
-"ito sa inalis mo ang pahintulot sa aplikasyon ng Facebook, o pagbura ng "
-"iyong akawnt sa Facebook. Maaari mong muling buhayin ang aplikasyon ng "
-"Facebook at kusang pagsasapanahon ng kalagayan sa pamamagitan ng muling "
-"pagtatalaga ng aplikasyon ng Facebook na %2$s.\n"
-"\n"
-"Nagpapahalaga,\n"
-"\n"
-"%2$s"
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr "Dapat na nakalagda ka sa Facebook upang magamit ang Ugnay sa Facebook."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr ""
-"Mayroon nang isang katutubong tagagamit na nakakawing sa ganitong akawnt ng "
-"Facebook."
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr "May isang suliranin sa iyong token ng sesyon. Paki subukan uli."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "Hindi ka makapagpapatala kung hindi ka sumasang-ayon sa lisensiya."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Isang hindi nalalamang kamalian ang naganap."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-"Ito ang iyong unang pagkakataong lumagda sa %s kaya't kailangan naming "
-"iugnay ang iyong Facebook sa isang katutubong akawnt. Maaari kang lumikha "
-"ng isang bagong akawnt, o umugnay sa pamamagitan ng iyong umiiral na akawnt, "
-"kung mayroon ka."
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Pagtatakda ng Akawnt ng Facebook"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Mga pagpipilian na pang-ugnay"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"Ang aking teksto at mga talaksan ay makukuha sa ilalim ng %s maliban sa "
-"pribadong dato na ito: hudyat, tirahan ng e-liham, tirahan ng IM, at bilang "
-"na pangtelepono."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Lumikha ng bagong akawnt"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Lumikha ng isang bagong tagagamit na may ganitong palayaw."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Bagong palayaw"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr ""
-"1 hanggang 64 na maliliit na mga titik o mga bilang, walang bantas o mga "
-"patlang"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Likhain"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Umugnay sa umiiral na akawnt"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-"Kung mayroon ka nang akawnt, lumagda sa pamamagitan ng iyong pangalan ng "
-"tagagamit at hudyat upang iugnay ito sa iyong Facebook."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Umiiral na palayaw"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Hudyat"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Umugnay"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Hindi pinapahintulutan ang pagpapatala."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "Hindi isang tanggap na kodigo ng paanyaya."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Hindi pinapahintulutan ang palayaw."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Ginagamit na ang palayaw. Subukan ang iba."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "May kamalian sa pag-ugnay ng tagagamit sa Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Hindi tanggap na pangalan ng tagagamit o hudyat."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Lumagda"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Magpadala ng pabatid"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Anong balita, %s?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Makukuhang mga panitik"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Ipadala"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Kamalian ng tapaghain: Hindi makuha ang tagagamit!"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Hindi tamang pangalan ng tagagamit o hudyat."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s at mga kaibigan, pahina %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s at mga kaibigan"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Kung nais mong kusang isapanahon ng aplikasyong %s ang iyong katayuan ng "
-"Facebook na may pinakabagong pabatid, kailangan mong bigyan ito ng "
-"pahintulot."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "Sige, gawin iyan!"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Lagtawan"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Pagbilang ng pahina"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Pagkalipas ng"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Bago ang"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Salamat sa pag-anyaya sa iyong mga kaibigan na gamitin ang %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Ipinadala na ang mga paanyaya sa sumusunod ng mga tagagamit:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Inaanyayahan ka sa %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Anyayahan ang iyong mga kaibigan na gamitin ang %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Mga kaibigang gumagamit na ng %s:"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Ipadala ang mga paanyaya"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Pagkakaayos ng integrasyon ng Facebook"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Tagagamit ng Ugnay sa Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Lumagda o magpatalang ginagamit ang Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr "Mga Pagtatakda sa Ugnay sa Facebook"
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-"Ang pamasak na Facebook ay nagpapahintulot ng integrasyon ng mga pagkakataon "
-"sa StatusNet sa pamamagitan ng <a href=\"http://facebook.com/\">Facebook</a> "
-"at Ugnay sa Facebook."
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Nakalagda na."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr "Lumagda sa pamamagitan ng iyong Akawnt sa Facebook"
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr "Paglagda sa Facebook"
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr "Hindi matanggal ang tagagamit ng Facebook."
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Tahanan"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Tahanan"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Anyayahan"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Anyayahan"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Mga pagtatakda"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Mga pagtatakda"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-"Upang magamit ang Aplikasyon ng Facebook na %s kailangan mong lumagda sa "
-"pamamagitan ng iyong pangalan ng tagagamit at hudyat. Wala ka pa bang "
-"bansag?"
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr "isang bagong akawnt."
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Magpatala"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Palayaw"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Lumagda"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Hudyat na nawala o nakalimutan?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr "Walang laman ang pabatid!"
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-"Napakahaba niyan. Ang pinakamataas na sukat ng pabatid ay %d mga panitik."
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Mga pabatid"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr "Mga pagtatakda sa integrasyon ng Facebook"
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-"Hindi tanggap na susi sa API ng Facebook. Ang pinakamataas na haba ay 255 "
-"mga panitik."
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-"Hindi tanggap na lihim sa API ng Facebook. Ang pinakamataas na haba ay 255 "
-"mga panitik."
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr "Mga pagtatakda sa aplikasyon ng Facebook"
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr "Susi ng API"
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr "Ang susi ng API ay ibinigay ng Facebook"
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr "Lihim"
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr "Ang lihim ng API ay ibinigay ng Facebook"
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Sagipin"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Sagipin ang mga katakdaan ng Facebook"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr "Pamahalaan kung paano umuugnay ang iyong akawnt sa Facebook"
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr "Walang tagagamit ng Facebook na nakaugnay sa akawnt na ito."
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr "Nakaugnay na tagagamit ng Facebook"
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr "Huwag iugnay ang aking akawnt mula sa Facebook"
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-"Ang pagtatanggal ng ugnay sa Facebook ay magsasanhi ng hindi mangyayaring "
-"paglagda! Paki "
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "magtakda ng isang hudyat"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr "muna."
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Huwag umugnay"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr "Hindi maalis ang pagkabit sa Facebook."
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr "Hindi ka na nakaugnay sa Facebook."
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr "Hindi sigurado kung ano ang sinusubok mong gawin."
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr "May isang suliranin sa pagsagip ng iyong mga nais sa pagsabay!"
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr "Nasagip ang mga nais sa pagsabay."
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-"Kusang isapanahon ang aking katayuan ng Facebook na may mga pabatid ko."
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr "Ipadala ang mga tugong \"@\" sa Facebook."
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Sagipin"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-"Kung nais mong kusang isapanahon ng %s ang iyong katayuan ng Facebook na may "
-"pinakabagong mga pabatid mo, kailangan mo itong bigyan ng pahintulot."
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr "Pahintulutan si %s na isapanahon ang aking katayuan ng Facebook"
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr "Mga nais sa pagsabay"
+++ /dev/null
-# Translation of StatusNet - Facebook to Ukrainian (Українська)
-# Exported from translatewiki.net
-#
-# Author: Boogie
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:44+0000\n"
-"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: uk\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
-"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"Вітаємо, %1$s. Нам дуже прикро про це повідомляти, але ми не в змозі "
-"оновлювати ваш статус у Facebook з %2$s і відключаємо додаток Facebook для "
-"вашого акаунту. Таке могло статися тому, що ви, можливо, скасували "
-"авторизацію для додатку Facebook або видалили ваш акаунт Facebook. Ви маєте "
-"можливість перезапустити додаток для Facebook і автоматичний імпорт ваших "
-"статусів з %2$s до Facebook буде поновлено.\n"
-"\n"
-"З повагою,\n"
-"\n"
-"%2$s"
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr "Ви повинні увійти до Facebook або використати Facebook Connect."
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr ""
-"На даному сайті вже є користувач, котрий підключив цей акаунт Facebook."
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr "Виникли певні проблеми з токеном сесії. Спробуйте знов, будь ласка."
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "Ви не зможете зареєструватись, якщо не погодитесь з умовами ліцензії."
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "Виникла якась незрозуміла помилка."
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-"Ви вперше увійшли до сайту %s, отже ми мусимо приєднати ваш акаунт Facebook "
-"до акаунту на даному сайті. Ви маєте можливість створити новий акаунт або "
-"використати такий, що вже існує."
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Налаштування акаунту Facebook"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "Опції з’єднання"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-"Мої дописи і файли доступні на умовах %s, окрім цих приватних даних: пароль, "
-"електронна адреса, адреса IM, телефонний номер."
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "Створити новий акаунт"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "Створити нового користувача з цим нікнеймом."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "Новий нікнейм"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr ""
-"1-64 літери нижнього регістру і цифри, ніякої пунктуації або інтервалів"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Створити"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "Приєднати акаунт, який вже існує"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-"Якщо ви вже маєте акаунт, увійдіть з вашим ім’ям користувача та паролем, аби "
-"приєднати їх до Facebook."
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "Нікнейм, який вже існує"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Пароль"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Під’єднати"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "Реєстрацію не дозволено."
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "Це не дійсний код запрошення."
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "Нікнейм не допускається."
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "Цей нікнейм вже використовується. Спробуйте інший."
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "Помилка при підключенні до Facebook."
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "Невірне ім’я або пароль."
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Увійти"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "Надіслати допис"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "Що нового, %s?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "Лишилось знаків"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Так"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "Помилка сервера: не вдалося отримати користувача!"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "Неточне ім’я або пароль."
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s з друзями, сторінка %2$d"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s з друзями"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"Якщо ви бажаєте, щоб додаток %s автоматично оновлював ваш статус у Facebook "
-"останнім повідомленням, ви повинні надати дозвіл."
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "Так, зробіть це!"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Проскочити"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "Нумерація сторінок"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Вперед"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Назад"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "Дякуємо, що запросили своїх друзів на %s."
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "Запрошення було надіслано таким користувачам:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "Вас було запрошено до %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "Запросіть своїх друзів до %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "Деякі друзі вже користуються %s:"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "Розсилка запрошень"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Налаштування інтеграції з Facebook"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Facebook Connect"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "Увійти або зареєструватись з Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr "Налаштування Facebook Connect"
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-"Додаток Facebook дозволяє інтегрувати StatusNet-сумісні сервіси з <a href="
-"\"http://facebook.com/\">Facebook</a> та Facebook Connect."
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "Тепер ви увійшли."
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr "Увійти з акаунтом Facebook"
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr "Вхід Facebook"
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr "Не вдалося видалити користувача Facebook: вже видалений."
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr "Не вдалося видалити користувача Facebook."
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Дім"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Дім"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "Запросити"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "Запросити"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Налаштування"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Налаштування"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-"Щоб використовувати додаток %s для Facebook, ви мусите увійти, "
-"використовуючи своє ім’я користувача та пароль. Ще не маєте імені "
-"користувача?"
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr " новий акаунт."
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Зареєструвати"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr "Нікнейм"
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Увійти"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr "Загубили або забули пароль?"
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr "Повідомлення порожнє!"
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Надто довго. Максимальний розмір допису — %d знаків."
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr "Дописи"
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr "Налаштування інтеграції з Facebook"
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-"Помилковий ключ Facebook API. Максимальна довжина ключа — 255 символів."
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-"Помилковий секретний код Facebook API. Максимальна довжина — 255 символів."
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr "Налаштування додатку для Facebook"
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr "API-ключ"
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr "API-ключ, що був наданий Facebook"
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr "Секретний код"
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr "Секретний код API, що був наданий Facebook"
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Зберегти"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Зберегти налаштування Facebook"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr "Зазначте, яким чином ваш акаунт буде під’єднано до Facebook"
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr "Наразі жоден користувач Facebook не під’єднаний до цього акаунту."
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr "Під’єднаний користувач Facebook"
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr "Від’єднати мій акаунт від Facebook"
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-"Якщо ви від’єднаєте свій Facebook, то це унеможливить вхід до системи у "
-"майбутньому! Будь ласка, "
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr "встановіть пароль"
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr " спочатку."
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Від’єднати"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr "Не можу видалити посилання на Facebook."
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr "Ви від’єдналися від Facebook."
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr "Хто зна, що ви намагаєтеся зробити."
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr "Виникла проблема при збереженні параметрів синхронізації!"
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr "Параметри синхронізації збережено."
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr "Автоматично оновлювати статус у Facebook моїми дописами."
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr "Надсилати «@» відповіді до Facebook."
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Зберегти"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-"Якщо ви бажаєте, щоб додаток %s автоматично оновлював ваш статус у Facebook "
-"останнім повідомленням, ви повинні надати дозвіл."
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr "Дозволити додатку %s оновлювати мій статус у Facebook"
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr "Параметри синхронізації"
+++ /dev/null
-# Translation of StatusNet - Facebook to Vietnamese (Tiếng Việt)
-# Expored from translatewiki.net
-#
-# Author: Minh Nguyen
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-14 10:29+0000\n"
-"PO-Revision-Date: 2011-01-14 10:33:07+0000\n"
-"Language-Team: Vietnamese <http://translatewiki.net/wiki/Portal:vi>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-10 18:26:00+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r80246); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: vi\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr ""
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr ""
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr ""
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr ""
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Thiết lập Tài khoản Facebook"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr ""
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr ""
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr ""
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr ""
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "Tạo"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr ""
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr ""
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr ""
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "Mật khẩu"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "Kết nối"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:237 FBConnectAuth.php:247
-msgid "Registration not allowed."
-msgstr ""
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:255
-msgid "Not a valid invitation code."
-msgstr ""
-
-#: FBConnectAuth.php:267
-msgid "Nickname not allowed."
-msgstr ""
-
-#: FBConnectAuth.php:272
-msgid "Nickname already in use. Try another one."
-msgstr ""
-
-#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344
-msgid "Error connecting user to Facebook."
-msgstr ""
-
-#: FBConnectAuth.php:310
-msgid "Invalid username or password."
-msgstr ""
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "Đăng nhập"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr ""
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr ""
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr ""
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "Gửi"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr ""
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr ""
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr ""
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s và bạn bè"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr ""
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "Bỏ qua"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr ""
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "Sau"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "Trước"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr ""
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr ""
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr ""
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr ""
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr ""
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr ""
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr ""
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Người dùng Kết nối Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr ""
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr "Thiết lập Kết nối Facebook"
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr ""
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr ""
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr "Đăng nhập vào Facebook"
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr ""
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "Trang chủ"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "Trang chủ"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr ""
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr ""
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "Thiết lập"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "Thiết lập"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr ""
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr "Đăng ký"
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr ""
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr "Đăng nhập"
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr ""
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr ""
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr ""
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr "Facebook"
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr ""
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr "Thiết lập ứng dụng Facebook"
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr ""
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr ""
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr "Lưu"
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr "Lưu các thiết lập Facebook"
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr ""
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr ""
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr "Người dùng Facebook kết nối"
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr ""
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr ""
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr "Ngắt kết nối"
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr ""
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr ""
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr ""
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr "Lưu"
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr ""
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr ""
+++ /dev/null
-# Translation of StatusNet - Facebook to Simplified Chinese (中文(简体))
-# Exported from translatewiki.net
-#
-# Author: Chenxiaoqino
-# Author: Hydra
-# Author: ZhengYiFeng
-# --
-# This file is distributed under the same license as the StatusNet package.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: StatusNet - Facebook\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-29 21:45+0000\n"
-"PO-Revision-Date: 2011-01-29 21:49:44+0000\n"
-"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
-"hans>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-01-22 19:30:29+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r81195); Translate extension (2010-09-17)\n"
-"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-Language-Code: zh-hans\n"
-"X-Message-Group: #out-statusnet-plugin-facebook\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: facebookutil.php:429
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-"你好,%1$s。我们很抱歉的通知你我们无法从%2$s更新你的Facebook状态,并已禁用你"
-"帐户的Facebook应用。这可能是因为你取消了Facebook应用的授权,或者你删除了你的"
-"Facebook帐户。通过重新安装Facebook应用你可以重新启用你的Facebook应用的自动状"
-"态更新。\n"
-"\n"
-"祝好,\n"
-"\n"
-"%2$s"
-
-#: FBConnectAuth.php:55
-msgid "You must be logged into Facebook to use Facebook Connect."
-msgstr "你必须使用Facebook Connect来登入Facebook帐号。"
-
-#: FBConnectAuth.php:79
-msgid "There is already a local user linked with this Facebook account."
-msgstr "这里已经有一个用户连接了此Facebook帐号。"
-
-#: FBConnectAuth.php:91 FBConnectSettings.php:166
-msgid "There was a problem with your session token. Try again, please."
-msgstr "你的session token出错了。请重试。"
-
-#: FBConnectAuth.php:96
-msgid "You can't register if you don't agree to the license."
-msgstr "你必须同意许可协议才能注册。"
-
-#: FBConnectAuth.php:106
-msgid "An unknown error has occured."
-msgstr "发生未知错误。"
-
-#. TRANS: %s is the site name.
-#: FBConnectAuth.php:121
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your "
-"Facebook to a local account. You can either create a new account, or connect "
-"with your existing account, if you have one."
-msgstr ""
-" 这是你第一次登录到 %s,我们需要将你的Facebook帐号与一个本地的帐号关联。你可"
-"以新建一个帐号,或者使用你在本站已有的帐号。"
-
-#. TRANS: Page title.
-#: FBConnectAuth.php:128
-msgid "Facebook Account Setup"
-msgstr "Facebook帐号设置"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:162
-msgid "Connection options"
-msgstr "连接选项"
-
-#. TRANS: %s is the name of the license used by the user for their status updates.
-#: FBConnectAuth.php:172
-#, php-format
-msgid ""
-"My text and files are available under %s except this private data: password, "
-"email address, IM address, and phone number."
-msgstr ""
-" 我的文字和文件在%s下提供,除了如下隐私内容:密码、电子邮件地址、IM 地址和电"
-"话号码。"
-
-#. TRANS: Legend.
-#: FBConnectAuth.php:189
-msgid "Create new account"
-msgstr "创建新帐户"
-
-#: FBConnectAuth.php:191
-msgid "Create a new user with this nickname."
-msgstr "以此昵称创建新帐户"
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:195
-msgid "New nickname"
-msgstr "新昵称"
-
-#: FBConnectAuth.php:197
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1 到 64 个小写字母或数字,不包含标点或空格"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:201
-msgctxt "BUTTON"
-msgid "Create"
-msgstr "创建"
-
-#: FBConnectAuth.php:207
-msgid "Connect existing account"
-msgstr "连接现有帐号"
-
-#: FBConnectAuth.php:209
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your Facebook."
-msgstr "如果你已有帐号,请输入用户名和密码登录并连接至Facebook。"
-
-#. TRANS: Field label.
-#: FBConnectAuth.php:213
-msgid "Existing nickname"
-msgstr "已存在的昵称"
-
-#: FBConnectAuth.php:216 facebookaction.php:277
-msgid "Password"
-msgstr "密码"
-
-#. TRANS: Submit button.
-#: FBConnectAuth.php:220
-msgctxt "BUTTON"
-msgid "Connect"
-msgstr "连接"
-
-#. TRANS: Client error trying to register with registrations not allowed.
-#. TRANS: Client error trying to register with registrations 'invite only'.
-#: FBConnectAuth.php:241 FBConnectAuth.php:251
-msgid "Registration not allowed."
-msgstr "不允许注册。"
-
-#. TRANS: Client error trying to register with an invalid invitation code.
-#: FBConnectAuth.php:259
-msgid "Not a valid invitation code."
-msgstr "对不起,无效的邀请码。"
-
-#: FBConnectAuth.php:271
-msgid "Nickname not allowed."
-msgstr "昵称不被允许。"
-
-#: FBConnectAuth.php:276
-msgid "Nickname already in use. Try another one."
-msgstr "昵称已被使用,换一个吧。"
-
-#: FBConnectAuth.php:294 FBConnectAuth.php:330 FBConnectAuth.php:350
-msgid "Error connecting user to Facebook."
-msgstr "连接用户至Facebook时发生错误。"
-
-#: FBConnectAuth.php:316
-msgid "Invalid username or password."
-msgstr "用户名或密码不正确。"
-
-#. TRANS: Page title.
-#: facebooklogin.php:90 facebookaction.php:255
-msgid "Login"
-msgstr "登录"
-
-#. TRANS: Legend.
-#: facebooknoticeform.php:144
-msgid "Send a notice"
-msgstr "发送一个通知"
-
-#. TRANS: Field label.
-#: facebooknoticeform.php:157
-#, php-format
-msgid "What's up, %s?"
-msgstr "%s,最近怎么样?"
-
-#: facebooknoticeform.php:169
-msgid "Available characters"
-msgstr "可用的字符"
-
-#. TRANS: Button text.
-#: facebooknoticeform.php:196
-msgctxt "BUTTON"
-msgid "Send"
-msgstr "发送"
-
-#: facebookhome.php:103
-msgid "Server error: Couldn't get user!"
-msgstr "服务器错误:无法获取用户。"
-
-#: facebookhome.php:122
-msgid "Incorrect username or password."
-msgstr "用户名或密码不正确。"
-
-#. TRANS: Page title.
-#. TRANS: %1$s is a user nickname, %2$s is a page number.
-#: facebookhome.php:153
-#, php-format
-msgid "%1$s and friends, page %2$d"
-msgstr "%1$s 和页 %2$d 的朋友"
-
-#. TRANS: Page title.
-#. TRANS: %s is a user nickname
-#: facebookhome.php:157
-#, php-format
-msgid "%s and friends"
-msgstr "%s 和好友们"
-
-#. TRANS: Instructions. %s is the application name.
-#: facebookhome.php:185
-#, php-format
-msgid ""
-"If you would like the %s app to automatically update your Facebook status "
-"with your latest notice, you need to give it permission."
-msgstr ""
-"如果你希望 %s 应用自动更新你最新的状态到Facebook状态上,你需要给它设置权限。"
-
-#: facebookhome.php:210
-msgid "Okay, do it!"
-msgstr "好的!"
-
-#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
-#: facebookhome.php:217
-msgctxt "BUTTON"
-msgid "Skip"
-msgstr "跳过"
-
-#: facebookhome.php:244 facebookaction.php:336
-msgid "Pagination"
-msgstr "分页"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:254 facebookaction.php:345
-msgid "After"
-msgstr "之后"
-
-#. TRANS: Pagination link.
-#: facebookhome.php:263 facebookaction.php:353
-msgid "Before"
-msgstr "之前"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:69
-#, php-format
-msgid "Thanks for inviting your friends to use %s."
-msgstr "谢谢你邀请你的朋友们来使用 %s。"
-
-#. TRANS: Followed by an unordered list with invited friends.
-#: facebookinvite.php:72
-msgid "Invitations have been sent to the following users:"
-msgstr "邀请已发给一些的用户:"
-
-#: facebookinvite.php:91
-#, php-format
-msgid "You have been invited to %s"
-msgstr "你被邀请来到 %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:101
-#, php-format
-msgid "Invite your friends to use %s"
-msgstr "邀请你的朋友们来使用 %s"
-
-#. TRANS: %s is the name of the site.
-#: facebookinvite.php:124
-#, php-format
-msgid "Friends already using %s:"
-msgstr "已经使用 %s 的好友们:"
-
-#. TRANS: Page title.
-#: facebookinvite.php:143
-msgid "Send invitations"
-msgstr "发送邀请"
-
-#. TRANS: Menu item.
-#. TRANS: Menu item tab.
-#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
-msgctxt "MENU"
-msgid "Facebook"
-msgstr "Facebook"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:190
-msgid "Facebook integration configuration"
-msgstr "Facebook整合设置"
-
-#: FacebookPlugin.php:431
-msgid "Facebook Connect User"
-msgstr "Facebook Connect 用户"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#: FacebookPlugin.php:463
-msgid "Login or register using Facebook"
-msgstr "使用 Facebook 登陆或注册"
-
-#. TRANS: Tooltip for menu item "Facebook".
-#. TRANS: Page title.
-#: FacebookPlugin.php:487 FBConnectSettings.php:55
-msgid "Facebook Connect Settings"
-msgstr "Facebook Connect 设置"
-
-#: FacebookPlugin.php:591
-msgid ""
-"The Facebook plugin allows integrating StatusNet instances with <a href="
-"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
-msgstr ""
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr "已登录。"
-
-#. TRANS: Instructions.
-#: FBConnectLogin.php:42
-msgid "Login with your Facebook Account"
-msgstr "使用你的 Facebook 帐号登录"
-
-#. TRANS: Page title.
-#: FBConnectLogin.php:57
-msgid "Facebook Login"
-msgstr ""
-
-#: facebookremove.php:53
-msgid "Couldn't remove Facebook user: already deleted."
-msgstr ""
-
-#: facebookremove.php:63
-msgid "Couldn't remove Facebook user."
-msgstr ""
-
-#. TRANS: Link description for 'Home' link that leads to a start page.
-#: facebookaction.php:169
-msgctxt "MENU"
-msgid "Home"
-msgstr "首页"
-
-#. TRANS: Tooltip for 'Home' link that leads to a start page.
-#: facebookaction.php:171
-msgid "Home"
-msgstr "首页"
-
-#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:180
-msgctxt "MENU"
-msgid "Invite"
-msgstr "邀请"
-
-#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
-#: facebookaction.php:182
-msgid "Invite"
-msgstr "邀请"
-
-#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:192
-msgctxt "MENU"
-msgid "Settings"
-msgstr "设置"
-
-#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
-#: facebookaction.php:194
-msgid "Settings"
-msgstr "设置"
-
-#: facebookaction.php:233
-#, php-format
-msgid ""
-"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet?"
-msgstr ""
-
-#: facebookaction.php:235
-msgid " a new account."
-msgstr ""
-
-#: facebookaction.php:242
-msgid "Register"
-msgstr ""
-
-#: facebookaction.php:274
-msgid "Nickname"
-msgstr ""
-
-#. TRANS: Login button.
-#: facebookaction.php:282
-msgctxt "BUTTON"
-msgid "Login"
-msgstr ""
-
-#: facebookaction.php:288
-msgid "Lost or forgotten password?"
-msgstr ""
-
-#: facebookaction.php:370
-msgid "No notice content!"
-msgstr ""
-
-#: facebookaction.php:377
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-
-#: facebookaction.php:431
-msgid "Notices"
-msgstr ""
-
-#: facebookadminpanel.php:52
-msgid "Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:62
-msgid "Facebook integration settings"
-msgstr ""
-
-#: facebookadminpanel.php:123
-msgid "Invalid Facebook API key. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:129
-msgid "Invalid Facebook API secret. Max length is 255 characters."
-msgstr ""
-
-#: facebookadminpanel.php:178
-msgid "Facebook application settings"
-msgstr ""
-
-#: facebookadminpanel.php:184
-msgid "API key"
-msgstr ""
-
-#: facebookadminpanel.php:185
-msgid "API key provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:193
-msgid "Secret"
-msgstr ""
-
-#: facebookadminpanel.php:194
-msgid "API secret provided by Facebook"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save"
-msgstr ""
-
-#: facebookadminpanel.php:210
-msgid "Save Facebook settings"
-msgstr ""
-
-#. TRANS: Instructions.
-#: FBConnectSettings.php:66
-msgid "Manage how your account connects to Facebook"
-msgstr ""
-
-#: FBConnectSettings.php:90
-msgid "There is no Facebook user connected to this account."
-msgstr ""
-
-#: FBConnectSettings.php:98
-msgid "Connected Facebook user"
-msgstr ""
-
-#. TRANS: Legend.
-#: FBConnectSettings.php:118
-msgid "Disconnect my account from Facebook"
-msgstr ""
-
-#. TRANS: Followed by a link containing text "set a password".
-#: FBConnectSettings.php:125
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
-msgstr ""
-
-#. TRANS: Preceded by "Please " and followed by " first."
-#: FBConnectSettings.php:130
-msgid "set a password"
-msgstr ""
-
-#. TRANS: Preceded by "Please set a password".
-#: FBConnectSettings.php:132
-msgid " first."
-msgstr ""
-
-#. TRANS: Submit button.
-#: FBConnectSettings.php:145
-msgctxt "BUTTON"
-msgid "Disconnect"
-msgstr ""
-
-#: FBConnectSettings.php:180
-msgid "Couldn't delete link to Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:196
-msgid "You have disconnected from Facebook."
-msgstr ""
-
-#: FBConnectSettings.php:199
-msgid "Not sure what you're trying to do."
-msgstr ""
-
-#: facebooksettings.php:61
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-
-#. TRANS: Confirmation that synchronisation settings have been saved into the system.
-#: facebooksettings.php:64
-msgid "Sync preferences saved."
-msgstr ""
-
-#: facebooksettings.php:87
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-
-#: facebooksettings.php:94
-msgid "Send \"@\" replies to Facebook."
-msgstr ""
-
-#. TRANS: Submit button to save synchronisation settings.
-#: facebooksettings.php:102
-msgctxt "BUTTON"
-msgid "Save"
-msgstr ""
-
-#. TRANS: %s is the application name.
-#: facebooksettings.php:111
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-
-#: facebooksettings.php:124
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr ""
-
-#. TRANS: Page title for synchronisation settings.
-#: facebooksettings.php:134
-msgid "Sync preferences"
-msgstr ""