forked from friendica/deprecated-addons
Merge pull request #1 from annando/removed-deprecated
Removed many deprecated addons
This commit is contained in:
commit
24444adef3
247 changed files with 28554 additions and 0 deletions
1647
appnet/AppDotNet.php
Normal file
1647
appnet/AppDotNet.php
Normal file
File diff suppressed because it is too large
Load diff
23
appnet/DigiCertHighAssuranceEVRootCA.pem
Normal file
23
appnet/DigiCertHighAssuranceEVRootCA.pem
Normal file
|
@ -0,0 +1,23 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
||||
ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
|
||||
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
||||
LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
||||
RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
|
||||
+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
|
||||
PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
|
||||
xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
|
||||
Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
|
||||
hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
|
||||
EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
|
||||
MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
|
||||
FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
|
||||
nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
|
||||
eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
|
||||
hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
|
||||
Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
|
||||
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
|
||||
+OkuE6N36B9K
|
||||
-----END CERTIFICATE-----
|
15
appnet/README.md
Normal file
15
appnet/README.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
App.net Plugin
|
||||
==============
|
||||
|
||||
With this addon to friendica you can give your users the possibility to post their *public* messages to App.net and
|
||||
to import their timeline. The messages will be strapped their rich context and shortened to 256 characters length if
|
||||
necessary.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
If you have an developer account you can create an Application for all of your users at
|
||||
[https://account.app.net/developer/apps/](https://account.app.net/developer/apps/). Add the redirect uri
|
||||
"https://your.server.name/appnet/connect" (Replace "your.server.name" with the hostname of your server)
|
||||
|
||||
If you can't create an application (because you only have a free account) this addon still works, but your users have to create individual applications on their own.
|
29
appnet/appnet.css
Executable file
29
appnet/appnet.css
Executable file
|
@ -0,0 +1,29 @@
|
|||
#appnet-import-label, #appnet-disconnect-label, #appnet-token-label,
|
||||
#appnet-enable-label, #appnet-bydefault-label,
|
||||
#appnet-clientid-label, #appnet-clientsecret-label {
|
||||
float: left;
|
||||
width: 200px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#appnet-import, #appnet-disconnect, #appnet-token,
|
||||
#appnet-checkbox, #appnet-bydefault,
|
||||
#appnet-clientid, #appnet-clientsecret {
|
||||
float: left;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#appnet-submit {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#appnet-avatar {
|
||||
float: left;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
padding: 2px;
|
||||
}
|
||||
#appnet-info-block {
|
||||
height: 52px;
|
||||
vertical-align: middle;
|
||||
}
|
1358
appnet/appnet.php
Normal file
1358
appnet/appnet.php
Normal file
File diff suppressed because it is too large
Load diff
62
appnet/clients.txt
Normal file
62
appnet/clients.txt
Normal file
|
@ -0,0 +1,62 @@
|
|||
PDvZfuW8zhzjwU8PF9KEzFbAcTn6T67U - http://wedge.natestedman.com - Wedge
|
||||
cRWp45kA49pQKtxsZQXdwTnyuU6jBwuA - http://tigerbears.com/felix - Felix
|
||||
ks4empDNRbXEAauk8BhLTdSvfEeAABvX - http://kiwi-app.net/ - Kiwi
|
||||
nxz5USfARxELsYVpfPJc3mYaX42USb2E - http://themodernink.com/portfolio/dash-for-app-net/ - Dash
|
||||
PvANLyCeaDjbMt6VCVWhKvUmgX6TxDXj - https://cauldron-app.herokuapp.com - Cauldron
|
||||
737a54nLCdLLutcs2VzhtNKGnnMrakc4 - http://riposteapp.net - Riposte
|
||||
j2TPZ4DyNa8GGhVUrTQJg9qWDw7t6fBn - http://blixt.io - Blixt
|
||||
5vL9wT7EU7NRgk3hXscWW8Q27D2rYJCP - http://dasdom.de/Dominik_Hauser_Development/hAppy.html - hAppy
|
||||
caYWDBvjwt2e9HWMm6qyKS6KcATHUkzQ - https://alpha.app.net - Alpha
|
||||
gM5cMMBD7JJ6xamnBTcbhzkDCnR7xAux - http://robinapp.net - Robin
|
||||
35UhKXbTqxmE7Hs427haVuRVB8FGzhtx - http://www.floodgap.com/software/texapp/ - Texapp
|
||||
QHhyYpuARCwurZdGuuR7zjDMHDRkwcKm - http://tapbots.com/software/netbot - Netbot for iOS
|
||||
xpFjFqgMv2BMtbHJZTFe7JRWsYJSUuHr - http://ferret.undiscoveredsoftware.com - Ferret
|
||||
SzuHyL9wQy2BN7DDnBvdXpZr9Ue5MHYd - http://appnetizens.com - Appnetizens
|
||||
C8NUX9JhL8uTW5EERQUTdXxWA3VQQ7Ft - http://dabr.eu/adn/ - Dabr - The Best Mobile Web Experience for App.net
|
||||
NMYk2JjsJErGuYrjztFqZTcfH6ewq4Vs - http://pilgrimagesoftware.com/products/yawp - Yawp
|
||||
nwpvwKVqxmEzZ6bEwkv53yaJABVj9ngQ - http://www.windowsphone.com/en-us/store/app/dotdot/dd4e94db-0e2a-4cfb-8c28-8b969e47c3c4 - DotDot
|
||||
f7AUb7Akar3WbnUWbpfkgUDAZF777tLT - http://treeview.us/ - TreeView
|
||||
qeqDYzScwCt6zprQTTByapLAHwm24Dgv - http://hashpan.com - #PAN
|
||||
DhUuGUGFnf9PrJmREsKtQDGB4tz3xUqL - http://chimp.li/ - Chimp
|
||||
bCyhhBHxCRRAPHJNcLXxxS2KWk4Jq8cg - https://bit.ly/1415pJs - Blue
|
||||
js4qF6UN4fwXTK87Ax9Bjf3DhEQuK5hA - https://pirati.ca - friendica
|
||||
QsqkRF7XkqnTyST8YPtJwbKt4v7cnk4u - http://kirbyapp.azurewebsites.net - Kirby
|
||||
3MTzAfxABSvAXxGs4878jd6ynDJShMKV - https://pastapp.net - Pastapp
|
||||
2JdaX6Ysmxb3UbfnGmHQwGxGWMM28q2P - http://ineedtojet.com/drift/ - Drift
|
||||
B58XbrGstDUXvSKxDTxV7FGSStH6vfJZ - http://alpha.jvimedia.org - alpha.jvimedia.org
|
||||
hFsCGArAjgJkYBHTHbZnUvzTmL4vaLHL - http://www.ayadn-app.net - Ayadn
|
||||
e6pkUJsErZQMpKSfEqH693Yw2r4JAkUx - http://shawnthroop.com/prose - Prose
|
||||
KgWW36vGe8LQPN696ftSUqdKUvjzuYqF - https://polls.abrah.am - Polls
|
||||
424RQtjWS96PQj2KzDzHStWdNazS4naL - http://bli.ms - BLI.MS
|
||||
Awm347m2hfLu2VZTYvmPq3FkMnXUtjvu - http://monkeystew.org - littlebit
|
||||
8uJC3sb9PT5AYgUj2DajfXa9WuFj7P3a - http://getstreamapp.net/ - Stream
|
||||
q6BSdP5DctemahG9EDZVAmCv2x2dbjZJ - https://github.com/appdotnet/adn-comments - App.net Comments
|
||||
GfhV6dxDc8pERRas7CmSPtpdqcXYQv8G - http://favd.net - Favd
|
||||
YEpw9MQ9XuBq587pFWDAVRPTsteLUhya - https://hootsuite.com - HootSuite for App.net
|
||||
zEKkE4JBYNjnarYvEwGZxvFq7zuhEfnU - http://grailbox.com/wry - Wry
|
||||
w98ZmPF4RSMuyrhPzNHrJBVm89GNmGnJ - http://www.tweetlanes.com - Tweet Lanes
|
||||
92JGb2kLrhsPFER8CAZezHgBGpdZ3XYC - http://vidcast-app.net/ - Vidcast
|
||||
qjpU52DDXuurvMw65gzNbv7XCreV5v3m - https://github.com/minego/macaw-enyo - Macaw
|
||||
Ab2jgbmdrz9Kjk49AKmDSDsGNt4cq4H8 - http://shootingstar.fm/asterisk/ - Asterisk(仮)
|
||||
QRLNj42zZ8KVkBgs6Jm5KwHu98Zs3YTu - https://play.google.com/store/apps/details?id=com.matsumo.bb - アオイトリ(bluebird)
|
||||
gK89yfgAr8qxH9HZf8nbhry8Snc5fRGV - http://aa.tt/sprinter-ios - Sprinter
|
||||
X2hcReHMUuK7Mx3uTxGRPnYeCrugx5JX - http://getzephyrapp.com - Zephyr
|
||||
FS62JKk5qYppVA8JWhZvPepU7A33PXtD - http://www.instadesk-app.com/appetizer - Appetizer
|
||||
gxwZjynDJw4TjPPwk3z4YMs9fJBNSxVm - http://www.nymphicusapp.com/chapper/ - Chapper
|
||||
QAH95svvU4pewJ5aKkpyCdUvyzMsBxBk - https://alpha.app.net/network - The Network
|
||||
WXJyQ6KK2TWy6ZDnJqJKbBDMrzPYYA3g - http://neater.co - Neater
|
||||
PeVWEPMAEQMBwU2KLSYAjenRrScuWs4a - http://fingernoodle.com/Mention - Mention
|
||||
Sza4zFMDcbmYqeCCjTusZNpP9DqWEwqJ - http://colorbay.me - Colorbay
|
||||
cgedd8JNuBcEZfjCstsk74J9hxKnBYef - http://www.MetroAppNet.com - MetroAppNet
|
||||
rsQM4njhnZnSe2Jaqsw5eVZQHLcM37wv - http://mobileways.de/gravity - Gravity
|
||||
4M5FBt9NRk5Zu4FqaWcGZHj84ryUxwXh - http://habitatus.net/photolicious - Photolicious
|
||||
D7vDLagx2fyBrqvGRyH6qZkdQAFvETv8 - http://206.81.100.17:8000/ - Alpha Test
|
||||
ZcFNVDbEhCTc79z9ALaGbxuvXRqTdDAS - http://watercoolerapp.net - Watercooler
|
||||
BHKWNEYrz3Fv5CzgvksK6pydcAE6q52r - http://rivolu.com/spoonbill - Spoonbill
|
||||
dxZBcnnPjcV4ErwbjArvbGBHMcnW4SMB - https://play.google.com/store/apps/details?id=jp.hamsoft.hamoooooon&hl=ja - Hamoooooon
|
||||
hSyCNZrLZCZHcmsHr6cLFMF2pwQpRmZP - http://getpika.com - Pika
|
||||
9gbNKzXYsyzErU9K2J7v88XaFRfwsDzN - http://www.planet1107.net - AppNet Rhino
|
||||
tyLnvDZJPX37U8gZ6WtZ2Ysf9kpTmRXy - https://play.google.com/store/apps/details?id=com.floatboth.antigravity - Antigravity
|
||||
GLSssckvDjzbCa27B8HZVjJ2DPZgGJL3 - http://lunarguard.co/ - Pegasus
|
||||
dyJyAJa535BMjqYBQsgftREbxsqdcVLL - http://www.flamingow.com - Flamingow
|
||||
u6TeYE9yYprhkWPjVNgacJLngkhVrDFw - http://rafaelc.com.br - Sweet(dot)net for iOS
|
60
appnet/count.php
Normal file
60
appnet/count.php
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
require_once("boot.php");
|
||||
|
||||
if(@is_null($a)) {
|
||||
$a = new App;
|
||||
}
|
||||
|
||||
@include(".htconfig.php");
|
||||
require_once("dba.php");
|
||||
dba::connect($db_host, $db_user, $db_pass, $db_data);
|
||||
unset($db_host, $db_user, $db_pass, $db_data);
|
||||
|
||||
$a->set_baseurl(get_config('system','url'));
|
||||
|
||||
$token = get_pconfig($b['uid'],'appnet','token');
|
||||
|
||||
require_once 'addon/appnet/AppDotNet.php';
|
||||
|
||||
$clientId = get_pconfig($b["uid"],'appnet','clientid');
|
||||
$clientSecret = get_pconfig($b["uid"],'appnet','clientsecret');
|
||||
|
||||
$app = new AppDotNet($clientId, $clientSecret);
|
||||
$app->setAccessToken($token);
|
||||
|
||||
$param = array("include_muted" => true, "include_directed_posts" => true, "count" => 3000);
|
||||
|
||||
$lastid = @file_get_contents("addon/appnet/lastid.txt");
|
||||
$clients = @file_get_contents("addon/appnet/clients.txt");
|
||||
$users = @file_get_contents("addon/appnet/users.txt");
|
||||
|
||||
if ($lastid != "")
|
||||
$param["since_id"] = $lastid;
|
||||
|
||||
$posts = $app->getPublicPosts($param);
|
||||
|
||||
foreach ($posts AS $post) {
|
||||
if ($lastid < $post["id"])
|
||||
$lastid = $post["id"];
|
||||
|
||||
if (!isset($post["reply_to"]) AND !strstr($clients, $post["source"]["client_id"]))
|
||||
continue;
|
||||
|
||||
if (isset($post["reply_to"]) AND !strstr($clients, $post["source"]["client_id"]))
|
||||
$clients .= $post["source"]["client_id"]." - ".$post["source"]["link"]." - ".$post["source"]["name"]."\n";
|
||||
|
||||
if (!strstr($users, $post["user"]["canonical_url"]))
|
||||
$users .= $post["user"]["canonical_url"]." - ".$post["user"]["name"]."\n";
|
||||
|
||||
//echo $post["source"]["link"]." ".$post["source"]["name"]."\n";
|
||||
//echo $post["user"]["name"]."\n";
|
||||
//echo $post["text"]."\n";
|
||||
//echo $post["canonical_url"]."\n";
|
||||
//print_r($post["user"]);
|
||||
//echo "---------------------------------\n";
|
||||
|
||||
}
|
||||
|
||||
file_put_contents("addon/appnet/lastid.txt", $lastid);
|
||||
file_put_contents("addon/appnet/clients.txt", $clients);
|
||||
file_put_contents("addon/appnet/users.txt", $users);
|
116
appnet/lang/C/messages.po
Normal file
116
appnet/lang/C/messages.po
Normal file
|
@ -0,0 +1,116 @@
|
|||
# ADDON appnet
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica appnet addon package.
|
||||
#
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 11:47+0200\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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: appnet.php:39
|
||||
msgid "Permission denied."
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:73
|
||||
msgid "You are now authenticated to app.net. "
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:77
|
||||
msgid "<p>Error fetching token. Please try again.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:80
|
||||
msgid "return to the connector page"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:94
|
||||
msgid "Post to app.net"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:125 appnet.php:129
|
||||
msgid "App.net Export"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:142
|
||||
msgid "Currently connected to: "
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:144
|
||||
msgid "Enable App.net Post Plugin"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:149
|
||||
msgid "Post to App.net by default"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:153
|
||||
msgid "Import the remote timeline"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:159
|
||||
msgid ""
|
||||
"<p>Error fetching user profile. Please clear the configuration and try again."
|
||||
"</p>"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:164
|
||||
msgid "<p>You have two ways to connect to App.net.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:166
|
||||
msgid ""
|
||||
"<p>First way: Register an application at <a href=\"https://account.app.net/"
|
||||
"developer/apps/\">https://account.app.net/developer/apps/</a> and enter "
|
||||
"Client ID and Client Secret. "
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:167
|
||||
#, php-format
|
||||
msgid "Use '%s' as Redirect URI<p>"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:169
|
||||
msgid "Client ID"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:173
|
||||
msgid "Client Secret"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:177
|
||||
msgid ""
|
||||
"<p>Second way: fetch a token at <a href=\"http://dev-lite.jonathonduerig.com/"
|
||||
"\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:178
|
||||
msgid ""
|
||||
"Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', "
|
||||
"'Messages'.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:180
|
||||
msgid "Token"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:192
|
||||
msgid "Sign in using App.net"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:197
|
||||
msgid "Clear OAuth configuration"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:204
|
||||
msgid "Save Settings"
|
||||
msgstr ""
|
118
appnet/lang/cs/messages.po
Normal file
118
appnet/lang/cs/messages.po
Normal file
|
@ -0,0 +1,118 @@
|
|||
# ADDON appnet
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica appnet addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Michal Šupler <msupler@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 11:47+0200\n"
|
||||
"PO-Revision-Date: 2014-07-02 15:24+0000\n"
|
||||
"Last-Translator: Michal Šupler <msupler@gmail.com>\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/projects/p/friendica/language/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cs\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#: appnet.php:39
|
||||
msgid "Permission denied."
|
||||
msgstr "Přístup odmítnut."
|
||||
|
||||
#: appnet.php:73
|
||||
msgid "You are now authenticated to app.net. "
|
||||
msgstr "Nyní jste přihlášen k app.net."
|
||||
|
||||
#: appnet.php:77
|
||||
msgid "<p>Error fetching token. Please try again.</p>"
|
||||
msgstr "<p>Chyba v přenesení tokenu. Prosím zkuste to znovu.</p>"
|
||||
|
||||
#: appnet.php:80
|
||||
msgid "return to the connector page"
|
||||
msgstr "návrat ke stránce konektor"
|
||||
|
||||
#: appnet.php:94
|
||||
msgid "Post to app.net"
|
||||
msgstr "Poslat příspěvek na app.net"
|
||||
|
||||
#: appnet.php:125 appnet.php:129
|
||||
msgid "App.net Export"
|
||||
msgstr "App.net Export"
|
||||
|
||||
#: appnet.php:142
|
||||
msgid "Currently connected to: "
|
||||
msgstr "V současné době připojen k:"
|
||||
|
||||
#: appnet.php:144
|
||||
msgid "Enable App.net Post Plugin"
|
||||
msgstr "Aktivovat App.net Post Plugin"
|
||||
|
||||
#: appnet.php:149
|
||||
msgid "Post to App.net by default"
|
||||
msgstr "Defaultně poslat na App.net"
|
||||
|
||||
#: appnet.php:153
|
||||
msgid "Import the remote timeline"
|
||||
msgstr "Importovat vzdálenou časovou osu"
|
||||
|
||||
#: appnet.php:159
|
||||
msgid ""
|
||||
"<p>Error fetching user profile. Please clear the configuration and try "
|
||||
"again.</p>"
|
||||
msgstr "<p>Chyba v přenesení uživatelského profilu. Prosím zkuste smazat konfiguraci a zkusit to znovu.</p>"
|
||||
|
||||
#: appnet.php:164
|
||||
msgid "<p>You have two ways to connect to App.net.</p>"
|
||||
msgstr "<p>Máte nyní dvě možnosti jak se připojit k App.net.</p>"
|
||||
|
||||
#: appnet.php:166
|
||||
msgid ""
|
||||
"<p>First way: Register an application at <a "
|
||||
"href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a>"
|
||||
" and enter Client ID and Client Secret. "
|
||||
msgstr "<p>První možnost: Registrovat svou žádost na <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> a zadat Client ID and Client Secret. "
|
||||
|
||||
#: appnet.php:167
|
||||
#, php-format
|
||||
msgid "Use '%s' as Redirect URI<p>"
|
||||
msgstr "Použít '%s' jako URI pro přesměrování<p>"
|
||||
|
||||
#: appnet.php:169
|
||||
msgid "Client ID"
|
||||
msgstr "Client ID"
|
||||
|
||||
#: appnet.php:173
|
||||
msgid "Client Secret"
|
||||
msgstr "Client Secret"
|
||||
|
||||
#: appnet.php:177
|
||||
msgid ""
|
||||
"<p>Second way: fetch a token at <a href=\"http://dev-"
|
||||
"lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
msgstr "<p>Druhá možnost: vložit token do <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
|
||||
#: appnet.php:178
|
||||
msgid ""
|
||||
"Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', "
|
||||
"'Messages'.</p>"
|
||||
msgstr "Nastavte tyto rámce: 'Základní', 'Stream', 'Psaní příspěvků, 'Veřejné zprávy', 'Zprávy'.</p>"
|
||||
|
||||
#: appnet.php:180
|
||||
msgid "Token"
|
||||
msgstr "Token"
|
||||
|
||||
#: appnet.php:192
|
||||
msgid "Sign in using App.net"
|
||||
msgstr "Přihlásit se s použitím App.net"
|
||||
|
||||
#: appnet.php:197
|
||||
msgid "Clear OAuth configuration"
|
||||
msgstr "Vymazat konfiguraci OAuth"
|
||||
|
||||
#: appnet.php:204
|
||||
msgid "Save Settings"
|
||||
msgstr "Uložit Nastavení"
|
29
appnet/lang/cs/strings.php
Normal file
29
appnet/lang/cs/strings.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_cs")) {
|
||||
function string_plural_select_cs($n){
|
||||
return ($n==1) ? 0 : ($n>=2 && $n<=4) ? 1 : 2;;
|
||||
}}
|
||||
;
|
||||
$a->strings["Permission denied."] = "Přístup odmítnut.";
|
||||
$a->strings["You are now authenticated to app.net. "] = "Nyní jste přihlášen k app.net.";
|
||||
$a->strings["<p>Error fetching token. Please try again.</p>"] = "<p>Chyba v přenesení tokenu. Prosím zkuste to znovu.</p>";
|
||||
$a->strings["return to the connector page"] = "návrat ke stránce konektor";
|
||||
$a->strings["Post to app.net"] = "Poslat příspěvek na app.net";
|
||||
$a->strings["App.net Export"] = "App.net Export";
|
||||
$a->strings["Currently connected to: "] = "V současné době připojen k:";
|
||||
$a->strings["Enable App.net Post Plugin"] = "Aktivovat App.net Post Plugin";
|
||||
$a->strings["Post to App.net by default"] = "Defaultně poslat na App.net";
|
||||
$a->strings["Import the remote timeline"] = "Importovat vzdálenou časovou osu";
|
||||
$a->strings["<p>Error fetching user profile. Please clear the configuration and try again.</p>"] = "<p>Chyba v přenesení uživatelského profilu. Prosím zkuste smazat konfiguraci a zkusit to znovu.</p>";
|
||||
$a->strings["<p>You have two ways to connect to App.net.</p>"] = "<p>Máte nyní dvě možnosti jak se připojit k App.net.</p>";
|
||||
$a->strings["<p>First way: Register an application at <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> and enter Client ID and Client Secret. "] = "<p>První možnost: Registrovat svou žádost na <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> a zadat Client ID and Client Secret. ";
|
||||
$a->strings["Use '%s' as Redirect URI<p>"] = "Použít '%s' jako URI pro přesměrování<p>";
|
||||
$a->strings["Client ID"] = "Client ID";
|
||||
$a->strings["Client Secret"] = "Client Secret";
|
||||
$a->strings["<p>Second way: fetch a token at <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "] = "<p>Druhá možnost: vložit token do <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. ";
|
||||
$a->strings["Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"] = "Nastavte tyto rámce: 'Základní', 'Stream', 'Psaní příspěvků, 'Veřejné zprávy', 'Zprávy'.</p>";
|
||||
$a->strings["Token"] = "Token";
|
||||
$a->strings["Sign in using App.net"] = "Přihlásit se s použitím App.net";
|
||||
$a->strings["Clear OAuth configuration"] = "Vymazat konfiguraci OAuth";
|
||||
$a->strings["Save Settings"] = "Uložit Nastavení";
|
118
appnet/lang/de/messages.po
Normal file
118
appnet/lang/de/messages.po
Normal file
|
@ -0,0 +1,118 @@
|
|||
# ADDON appnet
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica appnet addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# bavatar <tobias.diekershoff@gmx.net>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 11:47+0200\n"
|
||||
"PO-Revision-Date: 2014-06-25 04:31+0000\n"
|
||||
"Last-Translator: bavatar <tobias.diekershoff@gmx.net>\n"
|
||||
"Language-Team: German (http://www.transifex.com/projects/p/friendica/language/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: appnet.php:39
|
||||
msgid "Permission denied."
|
||||
msgstr "Zugriff verweigert."
|
||||
|
||||
#: appnet.php:73
|
||||
msgid "You are now authenticated to app.net. "
|
||||
msgstr "Du bist nun auf app.net authentifiziert."
|
||||
|
||||
#: appnet.php:77
|
||||
msgid "<p>Error fetching token. Please try again.</p>"
|
||||
msgstr "<p>Fehler beim Holen des Tokens, bitte versuche es später noch einmal.</p>"
|
||||
|
||||
#: appnet.php:80
|
||||
msgid "return to the connector page"
|
||||
msgstr "zurück zur Connector Seite"
|
||||
|
||||
#: appnet.php:94
|
||||
msgid "Post to app.net"
|
||||
msgstr "Nach app.net senden"
|
||||
|
||||
#: appnet.php:125 appnet.php:129
|
||||
msgid "App.net Export"
|
||||
msgstr "App.net Export"
|
||||
|
||||
#: appnet.php:142
|
||||
msgid "Currently connected to: "
|
||||
msgstr "Momentan verbunden mit: "
|
||||
|
||||
#: appnet.php:144
|
||||
msgid "Enable App.net Post Plugin"
|
||||
msgstr "Veröffentlichungen bei App.net erlauben"
|
||||
|
||||
#: appnet.php:149
|
||||
msgid "Post to App.net by default"
|
||||
msgstr "Standardmäßig bei App.net veröffentlichen"
|
||||
|
||||
#: appnet.php:153
|
||||
msgid "Import the remote timeline"
|
||||
msgstr "Importiere die entfernte Zeitleiste"
|
||||
|
||||
#: appnet.php:159
|
||||
msgid ""
|
||||
"<p>Error fetching user profile. Please clear the configuration and try "
|
||||
"again.</p>"
|
||||
msgstr "<p>Beim Laden des Nutzerprofils ist ein Fehler aufgetreten. Bitte versuche es später noch einmal.</p>"
|
||||
|
||||
#: appnet.php:164
|
||||
msgid "<p>You have two ways to connect to App.net.</p>"
|
||||
msgstr "<p>Du hast zwei Wege deinen friendica Account mit App.net zu verbinden.</p>"
|
||||
|
||||
#: appnet.php:166
|
||||
msgid ""
|
||||
"<p>First way: Register an application at <a "
|
||||
"href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a>"
|
||||
" and enter Client ID and Client Secret. "
|
||||
msgstr "<p>Erster Weg: Registriere eine Anwendung unter <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> und wähle eine Client ID und ein Client Secret."
|
||||
|
||||
#: appnet.php:167
|
||||
#, php-format
|
||||
msgid "Use '%s' as Redirect URI<p>"
|
||||
msgstr "Verwende '%s' als Redirect URI<p>"
|
||||
|
||||
#: appnet.php:169
|
||||
msgid "Client ID"
|
||||
msgstr "Client ID"
|
||||
|
||||
#: appnet.php:173
|
||||
msgid "Client Secret"
|
||||
msgstr "Client Secret"
|
||||
|
||||
#: appnet.php:177
|
||||
msgid ""
|
||||
"<p>Second way: fetch a token at <a href=\"http://dev-"
|
||||
"lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
msgstr "<p>Zweiter Weg: Beantrage ein Token unter <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
|
||||
#: appnet.php:178
|
||||
msgid ""
|
||||
"Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', "
|
||||
"'Messages'.</p>"
|
||||
msgstr "Verwende folgende Scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"
|
||||
|
||||
#: appnet.php:180
|
||||
msgid "Token"
|
||||
msgstr "Token"
|
||||
|
||||
#: appnet.php:192
|
||||
msgid "Sign in using App.net"
|
||||
msgstr "Per App.net anmelden"
|
||||
|
||||
#: appnet.php:197
|
||||
msgid "Clear OAuth configuration"
|
||||
msgstr "OAuth Konfiguration löschen"
|
||||
|
||||
#: appnet.php:204
|
||||
msgid "Save Settings"
|
||||
msgstr "Einstellungen speichern"
|
29
appnet/lang/de/strings.php
Normal file
29
appnet/lang/de/strings.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_de")) {
|
||||
function string_plural_select_de($n){
|
||||
return ($n != 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Permission denied."] = "Zugriff verweigert.";
|
||||
$a->strings["You are now authenticated to app.net. "] = "Du bist nun auf app.net authentifiziert.";
|
||||
$a->strings["<p>Error fetching token. Please try again.</p>"] = "<p>Fehler beim Holen des Tokens, bitte versuche es später noch einmal.</p>";
|
||||
$a->strings["return to the connector page"] = "zurück zur Connector Seite";
|
||||
$a->strings["Post to app.net"] = "Nach app.net senden";
|
||||
$a->strings["App.net Export"] = "App.net Export";
|
||||
$a->strings["Currently connected to: "] = "Momentan verbunden mit: ";
|
||||
$a->strings["Enable App.net Post Plugin"] = "Veröffentlichungen bei App.net erlauben";
|
||||
$a->strings["Post to App.net by default"] = "Standardmäßig bei App.net veröffentlichen";
|
||||
$a->strings["Import the remote timeline"] = "Importiere die entfernte Zeitleiste";
|
||||
$a->strings["<p>Error fetching user profile. Please clear the configuration and try again.</p>"] = "<p>Beim Laden des Nutzerprofils ist ein Fehler aufgetreten. Bitte versuche es später noch einmal.</p>";
|
||||
$a->strings["<p>You have two ways to connect to App.net.</p>"] = "<p>Du hast zwei Wege deinen friendica Account mit App.net zu verbinden.</p>";
|
||||
$a->strings["<p>First way: Register an application at <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> and enter Client ID and Client Secret. "] = "<p>Erster Weg: Registriere eine Anwendung unter <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> und wähle eine Client ID und ein Client Secret.";
|
||||
$a->strings["Use '%s' as Redirect URI<p>"] = "Verwende '%s' als Redirect URI<p>";
|
||||
$a->strings["Client ID"] = "Client ID";
|
||||
$a->strings["Client Secret"] = "Client Secret";
|
||||
$a->strings["<p>Second way: fetch a token at <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "] = "<p>Zweiter Weg: Beantrage ein Token unter <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. ";
|
||||
$a->strings["Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"] = "Verwende folgende Scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>";
|
||||
$a->strings["Token"] = "Token";
|
||||
$a->strings["Sign in using App.net"] = "Per App.net anmelden";
|
||||
$a->strings["Clear OAuth configuration"] = "OAuth Konfiguration löschen";
|
||||
$a->strings["Save Settings"] = "Einstellungen speichern";
|
118
appnet/lang/es/messages.po
Normal file
118
appnet/lang/es/messages.po
Normal file
|
@ -0,0 +1,118 @@
|
|||
# ADDON appnet
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica appnet addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Alberto Díaz Tormo <albertodiaztormo@gmail.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 11:47+0200\n"
|
||||
"PO-Revision-Date: 2016-10-13 21:25+0000\n"
|
||||
"Last-Translator: Alberto Díaz Tormo <albertodiaztormo@gmail.com>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/Friendica/friendica/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: appnet.php:39
|
||||
msgid "Permission denied."
|
||||
msgstr "Permiso denegado"
|
||||
|
||||
#: appnet.php:73
|
||||
msgid "You are now authenticated to app.net. "
|
||||
msgstr "Ahora está autenticado en app.net."
|
||||
|
||||
#: appnet.php:77
|
||||
msgid "<p>Error fetching token. Please try again.</p>"
|
||||
msgstr "<p>Advertencia de error. Por favor inténtelo de nuevo.</p>"
|
||||
|
||||
#: appnet.php:80
|
||||
msgid "return to the connector page"
|
||||
msgstr "vuelva a pa página de conexón"
|
||||
|
||||
#: appnet.php:94
|
||||
msgid "Post to app.net"
|
||||
msgstr "Publique en app.net"
|
||||
|
||||
#: appnet.php:125 appnet.php:129
|
||||
msgid "App.net Export"
|
||||
msgstr "Exportar a app.net"
|
||||
|
||||
#: appnet.php:142
|
||||
msgid "Currently connected to: "
|
||||
msgstr "Actualmente conectado a:"
|
||||
|
||||
#: appnet.php:144
|
||||
msgid "Enable App.net Post Plugin"
|
||||
msgstr "Habilitar el plugin de publicación de App.net"
|
||||
|
||||
#: appnet.php:149
|
||||
msgid "Post to App.net by default"
|
||||
msgstr "Publicar en App.net por defecto"
|
||||
|
||||
#: appnet.php:153
|
||||
msgid "Import the remote timeline"
|
||||
msgstr "Importar la línea de tiempo remota"
|
||||
|
||||
#: appnet.php:159
|
||||
msgid ""
|
||||
"<p>Error fetching user profile. Please clear the configuration and try "
|
||||
"again.</p>"
|
||||
msgstr "<p>Advertencia de error de perfil. Por favor borre la configuración e inténtelo de nuevo.</p>"
|
||||
|
||||
#: appnet.php:164
|
||||
msgid "<p>You have two ways to connect to App.net.</p>"
|
||||
msgstr "<p>Tiene dos formas de conectar a App.net.</p>"
|
||||
|
||||
#: appnet.php:166
|
||||
msgid ""
|
||||
"<p>First way: Register an application at <a "
|
||||
"href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a>"
|
||||
" and enter Client ID and Client Secret. "
|
||||
msgstr "<p>Primera forma: Registrar una aplicación en <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> y seleccionar Client ID y Client Secret. "
|
||||
|
||||
#: appnet.php:167
|
||||
#, php-format
|
||||
msgid "Use '%s' as Redirect URI<p>"
|
||||
msgstr "Use '%s' como Redirigir URI"
|
||||
|
||||
#: appnet.php:169
|
||||
msgid "Client ID"
|
||||
msgstr "ID de cliente"
|
||||
|
||||
#: appnet.php:173
|
||||
msgid "Client Secret"
|
||||
msgstr "Secreto de cliente"
|
||||
|
||||
#: appnet.php:177
|
||||
msgid ""
|
||||
"<p>Second way: fetch a token at <a href=\"http://dev-"
|
||||
"lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
msgstr "<p>Segunda manera: traiga un símbolo a <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>"
|
||||
|
||||
#: appnet.php:178
|
||||
msgid ""
|
||||
"Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', "
|
||||
"'Messages'.</p>"
|
||||
msgstr "Seleccione estas posibilidades: 'Básico', 'Continuo', 'Escribir entrada', 'Mensajes públicos', 'Mensajes'.</p>"
|
||||
|
||||
#: appnet.php:180
|
||||
msgid "Token"
|
||||
msgstr "Símbolo"
|
||||
|
||||
#: appnet.php:192
|
||||
msgid "Sign in using App.net"
|
||||
msgstr "Regístrese usando App.net"
|
||||
|
||||
#: appnet.php:197
|
||||
msgid "Clear OAuth configuration"
|
||||
msgstr "Borre la configuración OAuth"
|
||||
|
||||
#: appnet.php:204
|
||||
msgid "Save Settings"
|
||||
msgstr "Guardar los ajustes"
|
29
appnet/lang/es/strings.php
Normal file
29
appnet/lang/es/strings.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_es")) {
|
||||
function string_plural_select_es($n){
|
||||
return ($n != 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Permission denied."] = "Permiso denegado";
|
||||
$a->strings["You are now authenticated to app.net. "] = "Ahora está autenticado en app.net.";
|
||||
$a->strings["<p>Error fetching token. Please try again.</p>"] = "<p>Advertencia de error. Por favor inténtelo de nuevo.</p>";
|
||||
$a->strings["return to the connector page"] = "vuelva a pa página de conexón";
|
||||
$a->strings["Post to app.net"] = "Publique en app.net";
|
||||
$a->strings["App.net Export"] = "Exportar a app.net";
|
||||
$a->strings["Currently connected to: "] = "Actualmente conectado a:";
|
||||
$a->strings["Enable App.net Post Plugin"] = "Habilitar el plugin de publicación de App.net";
|
||||
$a->strings["Post to App.net by default"] = "Publicar en App.net por defecto";
|
||||
$a->strings["Import the remote timeline"] = "Importar la línea de tiempo remota";
|
||||
$a->strings["<p>Error fetching user profile. Please clear the configuration and try again.</p>"] = "<p>Advertencia de error de perfil. Por favor borre la configuración e inténtelo de nuevo.</p>";
|
||||
$a->strings["<p>You have two ways to connect to App.net.</p>"] = "<p>Tiene dos formas de conectar a App.net.</p>";
|
||||
$a->strings["<p>First way: Register an application at <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> and enter Client ID and Client Secret. "] = "<p>Primera forma: Registrar una aplicación en <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> y seleccionar Client ID y Client Secret. ";
|
||||
$a->strings["Use '%s' as Redirect URI<p>"] = "Use '%s' como Redirigir URI";
|
||||
$a->strings["Client ID"] = "ID de cliente";
|
||||
$a->strings["Client Secret"] = "Secreto de cliente";
|
||||
$a->strings["<p>Second way: fetch a token at <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "] = "<p>Segunda manera: traiga un símbolo a <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>";
|
||||
$a->strings["Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"] = "Seleccione estas posibilidades: 'Básico', 'Continuo', 'Escribir entrada', 'Mensajes públicos', 'Mensajes'.</p>";
|
||||
$a->strings["Token"] = "Símbolo";
|
||||
$a->strings["Sign in using App.net"] = "Regístrese usando App.net";
|
||||
$a->strings["Clear OAuth configuration"] = "Borre la configuración OAuth";
|
||||
$a->strings["Save Settings"] = "Guardar los ajustes";
|
119
appnet/lang/fr/messages.po
Normal file
119
appnet/lang/fr/messages.po
Normal file
|
@ -0,0 +1,119 @@
|
|||
# ADDON appnet
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica appnet addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Hypolite Petovan <mrpetovan@gmail.com>, 2016
|
||||
# Jak <jacques@riseup.net>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 11:47+0200\n"
|
||||
"PO-Revision-Date: 2016-09-24 02:12+0000\n"
|
||||
"Last-Translator: Hypolite Petovan <mrpetovan@gmail.com>\n"
|
||||
"Language-Team: French (http://www.transifex.com/Friendica/friendica/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: appnet.php:39
|
||||
msgid "Permission denied."
|
||||
msgstr "Autorisation refusée"
|
||||
|
||||
#: appnet.php:73
|
||||
msgid "You are now authenticated to app.net. "
|
||||
msgstr "Vous êtes maintenant authentifié sur app.net"
|
||||
|
||||
#: appnet.php:77
|
||||
msgid "<p>Error fetching token. Please try again.</p>"
|
||||
msgstr "<p>Impossible d'obtenir le jeton, merci de réessayer.</p>"
|
||||
|
||||
#: appnet.php:80
|
||||
msgid "return to the connector page"
|
||||
msgstr "revenir à la page du connecteur"
|
||||
|
||||
#: appnet.php:94
|
||||
msgid "Post to app.net"
|
||||
msgstr "Publier sur app.net"
|
||||
|
||||
#: appnet.php:125 appnet.php:129
|
||||
msgid "App.net Export"
|
||||
msgstr "Export App.net"
|
||||
|
||||
#: appnet.php:142
|
||||
msgid "Currently connected to: "
|
||||
msgstr "Actuellement connecté à :"
|
||||
|
||||
#: appnet.php:144
|
||||
msgid "Enable App.net Post Plugin"
|
||||
msgstr "Activer le plugin de publication app.net"
|
||||
|
||||
#: appnet.php:149
|
||||
msgid "Post to App.net by default"
|
||||
msgstr "Publier sur App.net par défaut"
|
||||
|
||||
#: appnet.php:153
|
||||
msgid "Import the remote timeline"
|
||||
msgstr "Importer la timeline distante"
|
||||
|
||||
#: appnet.php:159
|
||||
msgid ""
|
||||
"<p>Error fetching user profile. Please clear the configuration and try "
|
||||
"again.</p>"
|
||||
msgstr "<p>Impossible d'obtenir le profil utilisateur. Merci de réinitialiser la configuration et de réessayer.</p>"
|
||||
|
||||
#: appnet.php:164
|
||||
msgid "<p>You have two ways to connect to App.net.</p>"
|
||||
msgstr "<p>Vous avez deux possibilités pour vous connecter à App.net.</p>"
|
||||
|
||||
#: appnet.php:166
|
||||
msgid ""
|
||||
"<p>First way: Register an application at <a "
|
||||
"href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a>"
|
||||
" and enter Client ID and Client Secret. "
|
||||
msgstr "<p>Première méthode: Enregistrer une application sur <a href=\"https://account.app.net/developer/apps/\">App.net [en]</a> et entrez l'ID Client et le Secret Client. "
|
||||
|
||||
#: appnet.php:167
|
||||
#, php-format
|
||||
msgid "Use '%s' as Redirect URI<p>"
|
||||
msgstr "Utilisez '%s' pour l'URI de Redirection"
|
||||
|
||||
#: appnet.php:169
|
||||
msgid "Client ID"
|
||||
msgstr "ID Client"
|
||||
|
||||
#: appnet.php:173
|
||||
msgid "Client Secret"
|
||||
msgstr "Secret Client"
|
||||
|
||||
#: appnet.php:177
|
||||
msgid ""
|
||||
"<p>Second way: fetch a token at <a href=\"http://dev-"
|
||||
"lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
msgstr "<p>Deuxième méthode: obtenez un jeton ur <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/ [en]</a>. "
|
||||
|
||||
#: appnet.php:178
|
||||
msgid ""
|
||||
"Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', "
|
||||
"'Messages'.</p>"
|
||||
msgstr "Cochez les \"scopes\" suivant: \"Basic\", \"Stream\", \"Write Post\", \"Public Messages\", \"Messages\".</p>"
|
||||
|
||||
#: appnet.php:180
|
||||
msgid "Token"
|
||||
msgstr "Jeton"
|
||||
|
||||
#: appnet.php:192
|
||||
msgid "Sign in using App.net"
|
||||
msgstr "Se connecter avec App.net"
|
||||
|
||||
#: appnet.php:197
|
||||
msgid "Clear OAuth configuration"
|
||||
msgstr "Effacer la configuration OAuth"
|
||||
|
||||
#: appnet.php:204
|
||||
msgid "Save Settings"
|
||||
msgstr "Sauvegarder les paramètres"
|
29
appnet/lang/fr/strings.php
Normal file
29
appnet/lang/fr/strings.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_fr")) {
|
||||
function string_plural_select_fr($n){
|
||||
return ($n > 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Permission denied."] = "Autorisation refusée";
|
||||
$a->strings["You are now authenticated to app.net. "] = "Vous êtes maintenant authentifié sur app.net";
|
||||
$a->strings["<p>Error fetching token. Please try again.</p>"] = "<p>Impossible d'obtenir le jeton, merci de réessayer.</p>";
|
||||
$a->strings["return to the connector page"] = "revenir à la page du connecteur";
|
||||
$a->strings["Post to app.net"] = "Publier sur app.net";
|
||||
$a->strings["App.net Export"] = "Export App.net";
|
||||
$a->strings["Currently connected to: "] = "Actuellement connecté à :";
|
||||
$a->strings["Enable App.net Post Plugin"] = "Activer le plugin de publication app.net";
|
||||
$a->strings["Post to App.net by default"] = "Publier sur App.net par défaut";
|
||||
$a->strings["Import the remote timeline"] = "Importer la timeline distante";
|
||||
$a->strings["<p>Error fetching user profile. Please clear the configuration and try again.</p>"] = "<p>Impossible d'obtenir le profil utilisateur. Merci de réinitialiser la configuration et de réessayer.</p>";
|
||||
$a->strings["<p>You have two ways to connect to App.net.</p>"] = "<p>Vous avez deux possibilités pour vous connecter à App.net.</p>";
|
||||
$a->strings["<p>First way: Register an application at <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> and enter Client ID and Client Secret. "] = "<p>Première méthode: Enregistrer une application sur <a href=\"https://account.app.net/developer/apps/\">App.net [en]</a> et entrez l'ID Client et le Secret Client. ";
|
||||
$a->strings["Use '%s' as Redirect URI<p>"] = "Utilisez '%s' pour l'URI de Redirection";
|
||||
$a->strings["Client ID"] = "ID Client";
|
||||
$a->strings["Client Secret"] = "Secret Client";
|
||||
$a->strings["<p>Second way: fetch a token at <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "] = "<p>Deuxième méthode: obtenez un jeton ur <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/ [en]</a>. ";
|
||||
$a->strings["Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"] = "Cochez les \"scopes\" suivant: \"Basic\", \"Stream\", \"Write Post\", \"Public Messages\", \"Messages\".</p>";
|
||||
$a->strings["Token"] = "Jeton";
|
||||
$a->strings["Sign in using App.net"] = "Se connecter avec App.net";
|
||||
$a->strings["Clear OAuth configuration"] = "Effacer la configuration OAuth";
|
||||
$a->strings["Save Settings"] = "Sauvegarder les paramètres";
|
118
appnet/lang/it/messages.po
Normal file
118
appnet/lang/it/messages.po
Normal file
|
@ -0,0 +1,118 @@
|
|||
# ADDON appnet
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica appnet addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# fabrixxm <fabrix.xm@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 11:47+0200\n"
|
||||
"PO-Revision-Date: 2014-09-10 10:18+0000\n"
|
||||
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: appnet.php:39
|
||||
msgid "Permission denied."
|
||||
msgstr "Permesso negato."
|
||||
|
||||
#: appnet.php:73
|
||||
msgid "You are now authenticated to app.net. "
|
||||
msgstr "Sei autenticato su app.net"
|
||||
|
||||
#: appnet.php:77
|
||||
msgid "<p>Error fetching token. Please try again.</p>"
|
||||
msgstr "<p>Errore recuperando il token. Prova di nuovo</p>"
|
||||
|
||||
#: appnet.php:80
|
||||
msgid "return to the connector page"
|
||||
msgstr "ritorna alla pagina del connettore"
|
||||
|
||||
#: appnet.php:94
|
||||
msgid "Post to app.net"
|
||||
msgstr "Invia ad app.net"
|
||||
|
||||
#: appnet.php:125 appnet.php:129
|
||||
msgid "App.net Export"
|
||||
msgstr "Esporta App.net"
|
||||
|
||||
#: appnet.php:142
|
||||
msgid "Currently connected to: "
|
||||
msgstr "Al momento connesso con:"
|
||||
|
||||
#: appnet.php:144
|
||||
msgid "Enable App.net Post Plugin"
|
||||
msgstr "Abilita il plugin di invio ad App.net"
|
||||
|
||||
#: appnet.php:149
|
||||
msgid "Post to App.net by default"
|
||||
msgstr "Invia sempre ad App.net"
|
||||
|
||||
#: appnet.php:153
|
||||
msgid "Import the remote timeline"
|
||||
msgstr "Importa la timeline remota"
|
||||
|
||||
#: appnet.php:159
|
||||
msgid ""
|
||||
"<p>Error fetching user profile. Please clear the configuration and try "
|
||||
"again.</p>"
|
||||
msgstr "<p>Errore recuperando il profilo utente. Svuota la configurazione e prova di nuovo.</p>"
|
||||
|
||||
#: appnet.php:164
|
||||
msgid "<p>You have two ways to connect to App.net.</p>"
|
||||
msgstr "<p>Puoi collegarti ad App.net in due modi.</p>"
|
||||
|
||||
#: appnet.php:166
|
||||
msgid ""
|
||||
"<p>First way: Register an application at <a "
|
||||
"href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a>"
|
||||
" and enter Client ID and Client Secret. "
|
||||
msgstr "<p>Registrare un'applicazione su <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> e inserire Client ID e Client Secret."
|
||||
|
||||
#: appnet.php:167
|
||||
#, php-format
|
||||
msgid "Use '%s' as Redirect URI<p>"
|
||||
msgstr "Usa '%s' come Redirect URI</p>"
|
||||
|
||||
#: appnet.php:169
|
||||
msgid "Client ID"
|
||||
msgstr "Client ID"
|
||||
|
||||
#: appnet.php:173
|
||||
msgid "Client Secret"
|
||||
msgstr "Client Secret"
|
||||
|
||||
#: appnet.php:177
|
||||
msgid ""
|
||||
"<p>Second way: fetch a token at <a href=\"http://dev-"
|
||||
"lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
msgstr "<p>Oppure puoi recuperare un token su <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>."
|
||||
|
||||
#: appnet.php:178
|
||||
msgid ""
|
||||
"Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', "
|
||||
"'Messages'.</p>"
|
||||
msgstr "Imposta gli ambiti 'Basic', 'Stream', 'Scrivi Post', 'Messaggi Pubblici', 'Messaggi'.</p>"
|
||||
|
||||
#: appnet.php:180
|
||||
msgid "Token"
|
||||
msgstr "Token"
|
||||
|
||||
#: appnet.php:192
|
||||
msgid "Sign in using App.net"
|
||||
msgstr "Autenticati con App.net"
|
||||
|
||||
#: appnet.php:197
|
||||
msgid "Clear OAuth configuration"
|
||||
msgstr "Pulisci configurazione OAuth"
|
||||
|
||||
#: appnet.php:204
|
||||
msgid "Save Settings"
|
||||
msgstr "Salva Impostazioni"
|
29
appnet/lang/it/strings.php
Normal file
29
appnet/lang/it/strings.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_it")) {
|
||||
function string_plural_select_it($n){
|
||||
return ($n != 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Permission denied."] = "Permesso negato.";
|
||||
$a->strings["You are now authenticated to app.net. "] = "Sei autenticato su app.net";
|
||||
$a->strings["<p>Error fetching token. Please try again.</p>"] = "<p>Errore recuperando il token. Prova di nuovo</p>";
|
||||
$a->strings["return to the connector page"] = "ritorna alla pagina del connettore";
|
||||
$a->strings["Post to app.net"] = "Invia ad app.net";
|
||||
$a->strings["App.net Export"] = "Esporta App.net";
|
||||
$a->strings["Currently connected to: "] = "Al momento connesso con:";
|
||||
$a->strings["Enable App.net Post Plugin"] = "Abilita il plugin di invio ad App.net";
|
||||
$a->strings["Post to App.net by default"] = "Invia sempre ad App.net";
|
||||
$a->strings["Import the remote timeline"] = "Importa la timeline remota";
|
||||
$a->strings["<p>Error fetching user profile. Please clear the configuration and try again.</p>"] = "<p>Errore recuperando il profilo utente. Svuota la configurazione e prova di nuovo.</p>";
|
||||
$a->strings["<p>You have two ways to connect to App.net.</p>"] = "<p>Puoi collegarti ad App.net in due modi.</p>";
|
||||
$a->strings["<p>First way: Register an application at <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> and enter Client ID and Client Secret. "] = "<p>Registrare un'applicazione su <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> e inserire Client ID e Client Secret.";
|
||||
$a->strings["Use '%s' as Redirect URI<p>"] = "Usa '%s' come Redirect URI</p>";
|
||||
$a->strings["Client ID"] = "Client ID";
|
||||
$a->strings["Client Secret"] = "Client Secret";
|
||||
$a->strings["<p>Second way: fetch a token at <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "] = "<p>Oppure puoi recuperare un token su <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>.";
|
||||
$a->strings["Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"] = "Imposta gli ambiti 'Basic', 'Stream', 'Scrivi Post', 'Messaggi Pubblici', 'Messaggi'.</p>";
|
||||
$a->strings["Token"] = "Token";
|
||||
$a->strings["Sign in using App.net"] = "Autenticati con App.net";
|
||||
$a->strings["Clear OAuth configuration"] = "Pulisci configurazione OAuth";
|
||||
$a->strings["Save Settings"] = "Salva Impostazioni";
|
118
appnet/lang/nl/messages.po
Normal file
118
appnet/lang/nl/messages.po
Normal file
|
@ -0,0 +1,118 @@
|
|||
# ADDON appnet
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica appnet addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Jeroen S <j.soeurt@gmail.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 11:47+0200\n"
|
||||
"PO-Revision-Date: 2016-06-23 19:52+0000\n"
|
||||
"Last-Translator: Jeroen S <j.soeurt@gmail.com>\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/Friendica/friendica/language/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: appnet.php:39
|
||||
msgid "Permission denied."
|
||||
msgstr "Toegang geweigerd"
|
||||
|
||||
#: appnet.php:73
|
||||
msgid "You are now authenticated to app.net. "
|
||||
msgstr "Je bent nu aangemeld bij app.net."
|
||||
|
||||
#: appnet.php:77
|
||||
msgid "<p>Error fetching token. Please try again.</p>"
|
||||
msgstr "<p>Fout tijdens token fetching. Probeer het nogmaals.</p>"
|
||||
|
||||
#: appnet.php:80
|
||||
msgid "return to the connector page"
|
||||
msgstr "ga terug naar de connector pagina"
|
||||
|
||||
#: appnet.php:94
|
||||
msgid "Post to app.net"
|
||||
msgstr "Post naar app.net."
|
||||
|
||||
#: appnet.php:125 appnet.php:129
|
||||
msgid "App.net Export"
|
||||
msgstr "App.net Export"
|
||||
|
||||
#: appnet.php:142
|
||||
msgid "Currently connected to: "
|
||||
msgstr "Momenteel verbonden met:"
|
||||
|
||||
#: appnet.php:144
|
||||
msgid "Enable App.net Post Plugin"
|
||||
msgstr "App.net Post Plugin inschakelen"
|
||||
|
||||
#: appnet.php:149
|
||||
msgid "Post to App.net by default"
|
||||
msgstr "Naar App.net posten als standaard instellen"
|
||||
|
||||
#: appnet.php:153
|
||||
msgid "Import the remote timeline"
|
||||
msgstr "The tijdlijn op afstand importeren"
|
||||
|
||||
#: appnet.php:159
|
||||
msgid ""
|
||||
"<p>Error fetching user profile. Please clear the configuration and try "
|
||||
"again.</p>"
|
||||
msgstr "<p>Fout tijdens het ophalen van gebruikersprofiel. Leeg de configuratie en probeer het opnieuw.</p>"
|
||||
|
||||
#: appnet.php:164
|
||||
msgid "<p>You have two ways to connect to App.net.</p>"
|
||||
msgstr "<p>Er zijn twee manieren om met App.net te verbinden.</p>"
|
||||
|
||||
#: appnet.php:166
|
||||
msgid ""
|
||||
"<p>First way: Register an application at <a "
|
||||
"href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a>"
|
||||
" and enter Client ID and Client Secret. "
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:167
|
||||
#, php-format
|
||||
msgid "Use '%s' as Redirect URI<p>"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:169
|
||||
msgid "Client ID"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:173
|
||||
msgid "Client Secret"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:177
|
||||
msgid ""
|
||||
"<p>Second way: fetch a token at <a href=\"http://dev-"
|
||||
"lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:178
|
||||
msgid ""
|
||||
"Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', "
|
||||
"'Messages'.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:180
|
||||
msgid "Token"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:192
|
||||
msgid "Sign in using App.net"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:197
|
||||
msgid "Clear OAuth configuration"
|
||||
msgstr ""
|
||||
|
||||
#: appnet.php:204
|
||||
msgid "Save Settings"
|
||||
msgstr ""
|
29
appnet/lang/nl/strings.php
Normal file
29
appnet/lang/nl/strings.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_nl")) {
|
||||
function string_plural_select_nl($n){
|
||||
return ($n != 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Permission denied."] = "Toegang geweigerd";
|
||||
$a->strings["You are now authenticated to app.net. "] = "Je bent nu aangemeld bij app.net.";
|
||||
$a->strings["<p>Error fetching token. Please try again.</p>"] = "<p>Fout tijdens token fetching. Probeer het nogmaals.</p>";
|
||||
$a->strings["return to the connector page"] = "ga terug naar de connector pagina";
|
||||
$a->strings["Post to app.net"] = "Post naar app.net.";
|
||||
$a->strings["App.net Export"] = "App.net Export";
|
||||
$a->strings["Currently connected to: "] = "Momenteel verbonden met:";
|
||||
$a->strings["Enable App.net Post Plugin"] = "App.net Post Plugin inschakelen";
|
||||
$a->strings["Post to App.net by default"] = "Naar App.net posten als standaard instellen";
|
||||
$a->strings["Import the remote timeline"] = "The tijdlijn op afstand importeren";
|
||||
$a->strings["<p>Error fetching user profile. Please clear the configuration and try again.</p>"] = "<p>Fout tijdens het ophalen van gebruikersprofiel. Leeg de configuratie en probeer het opnieuw.</p>";
|
||||
$a->strings["<p>You have two ways to connect to App.net.</p>"] = "<p>Er zijn twee manieren om met App.net te verbinden.</p>";
|
||||
$a->strings["<p>First way: Register an application at <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> and enter Client ID and Client Secret. "] = "";
|
||||
$a->strings["Use '%s' as Redirect URI<p>"] = "";
|
||||
$a->strings["Client ID"] = "";
|
||||
$a->strings["Client Secret"] = "";
|
||||
$a->strings["<p>Second way: fetch a token at <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "] = "";
|
||||
$a->strings["Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"] = "";
|
||||
$a->strings["Token"] = "";
|
||||
$a->strings["Sign in using App.net"] = "";
|
||||
$a->strings["Clear OAuth configuration"] = "";
|
||||
$a->strings["Save Settings"] = "";
|
119
appnet/lang/pt-br/messages.po
Normal file
119
appnet/lang/pt-br/messages.po
Normal file
|
@ -0,0 +1,119 @@
|
|||
# ADDON appnet
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica appnet addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Beatriz Vital <vitalb@riseup.net>, 2016
|
||||
# Calango Jr <jcsojr@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 11:47+0200\n"
|
||||
"PO-Revision-Date: 2016-08-19 20:37+0000\n"
|
||||
"Last-Translator: Beatriz Vital <vitalb@riseup.net>\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/Friendica/friendica/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: appnet.php:39
|
||||
msgid "Permission denied."
|
||||
msgstr "Permissão negada."
|
||||
|
||||
#: appnet.php:73
|
||||
msgid "You are now authenticated to app.net. "
|
||||
msgstr "Você está autenticado no app.net."
|
||||
|
||||
#: appnet.php:77
|
||||
msgid "<p>Error fetching token. Please try again.</p>"
|
||||
msgstr "Erro ocorrido na obtenção do token. Tente novamente."
|
||||
|
||||
#: appnet.php:80
|
||||
msgid "return to the connector page"
|
||||
msgstr "Volte a página de conectores."
|
||||
|
||||
#: appnet.php:94
|
||||
msgid "Post to app.net"
|
||||
msgstr "Publicar no App.net"
|
||||
|
||||
#: appnet.php:125 appnet.php:129
|
||||
msgid "App.net Export"
|
||||
msgstr "App.net exportar"
|
||||
|
||||
#: appnet.php:142
|
||||
msgid "Currently connected to: "
|
||||
msgstr "Atualmente conectado em: "
|
||||
|
||||
#: appnet.php:144
|
||||
msgid "Enable App.net Post Plugin"
|
||||
msgstr "Habilitar plug-in para publicar no App.net"
|
||||
|
||||
#: appnet.php:149
|
||||
msgid "Post to App.net by default"
|
||||
msgstr "Publicar em App.net por padrão"
|
||||
|
||||
#: appnet.php:153
|
||||
msgid "Import the remote timeline"
|
||||
msgstr "Importar a linha do tempo remota"
|
||||
|
||||
#: appnet.php:159
|
||||
msgid ""
|
||||
"<p>Error fetching user profile. Please clear the configuration and try "
|
||||
"again.</p>"
|
||||
msgstr "Erro na obtenção do perfil do usuário. Confira as configurações e tente novamente."
|
||||
|
||||
#: appnet.php:164
|
||||
msgid "<p>You have two ways to connect to App.net.</p>"
|
||||
msgstr "<p>Você possui duas formas de conectar ao App.net</p>"
|
||||
|
||||
#: appnet.php:166
|
||||
msgid ""
|
||||
"<p>First way: Register an application at <a "
|
||||
"href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a>"
|
||||
" and enter Client ID and Client Secret. "
|
||||
msgstr "<p>1º Método: Registre uma aplicação em <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> e entre o Client ID e Client Secret"
|
||||
|
||||
#: appnet.php:167
|
||||
#, php-format
|
||||
msgid "Use '%s' as Redirect URI<p>"
|
||||
msgstr "Use '%s' como URI redirecionador<p>"
|
||||
|
||||
#: appnet.php:169
|
||||
msgid "Client ID"
|
||||
msgstr "Client ID"
|
||||
|
||||
#: appnet.php:173
|
||||
msgid "Client Secret"
|
||||
msgstr "Client Secret"
|
||||
|
||||
#: appnet.php:177
|
||||
msgid ""
|
||||
"<p>Second way: fetch a token at <a href=\"http://dev-"
|
||||
"lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
msgstr "<p>2º Método: obtenha um token em <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
|
||||
#: appnet.php:178
|
||||
msgid ""
|
||||
"Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', "
|
||||
"'Messages'.</p>"
|
||||
msgstr "Adicione valor as estas saídas: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"
|
||||
|
||||
#: appnet.php:180
|
||||
msgid "Token"
|
||||
msgstr "Token"
|
||||
|
||||
#: appnet.php:192
|
||||
msgid "Sign in using App.net"
|
||||
msgstr "Entre usando o App.net"
|
||||
|
||||
#: appnet.php:197
|
||||
msgid "Clear OAuth configuration"
|
||||
msgstr "Limpar configuração OAuth"
|
||||
|
||||
#: appnet.php:204
|
||||
msgid "Save Settings"
|
||||
msgstr "Salvar Configurações"
|
29
appnet/lang/pt-br/strings.php
Normal file
29
appnet/lang/pt-br/strings.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_pt_br")) {
|
||||
function string_plural_select_pt_br($n){
|
||||
return ($n > 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Permission denied."] = "Permissão negada.";
|
||||
$a->strings["You are now authenticated to app.net. "] = "Você está autenticado no app.net.";
|
||||
$a->strings["<p>Error fetching token. Please try again.</p>"] = "Erro ocorrido na obtenção do token. Tente novamente.";
|
||||
$a->strings["return to the connector page"] = "Volte a página de conectores.";
|
||||
$a->strings["Post to app.net"] = "Publicar no App.net";
|
||||
$a->strings["App.net Export"] = "App.net exportar";
|
||||
$a->strings["Currently connected to: "] = "Atualmente conectado em: ";
|
||||
$a->strings["Enable App.net Post Plugin"] = "Habilitar plug-in para publicar no App.net";
|
||||
$a->strings["Post to App.net by default"] = "Publicar em App.net por padrão";
|
||||
$a->strings["Import the remote timeline"] = "Importar a linha do tempo remota";
|
||||
$a->strings["<p>Error fetching user profile. Please clear the configuration and try again.</p>"] = "Erro na obtenção do perfil do usuário. Confira as configurações e tente novamente.";
|
||||
$a->strings["<p>You have two ways to connect to App.net.</p>"] = "<p>Você possui duas formas de conectar ao App.net</p>";
|
||||
$a->strings["<p>First way: Register an application at <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> and enter Client ID and Client Secret. "] = "<p>1º Método: Registre uma aplicação em <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> e entre o Client ID e Client Secret";
|
||||
$a->strings["Use '%s' as Redirect URI<p>"] = "Use '%s' como URI redirecionador<p>";
|
||||
$a->strings["Client ID"] = "Client ID";
|
||||
$a->strings["Client Secret"] = "Client Secret";
|
||||
$a->strings["<p>Second way: fetch a token at <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "] = "<p>2º Método: obtenha um token em <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. ";
|
||||
$a->strings["Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"] = "Adicione valor as estas saídas: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>";
|
||||
$a->strings["Token"] = "Token";
|
||||
$a->strings["Sign in using App.net"] = "Entre usando o App.net";
|
||||
$a->strings["Clear OAuth configuration"] = "Limpar configuração OAuth";
|
||||
$a->strings["Save Settings"] = "Salvar Configurações";
|
117
appnet/lang/ro/messages.po
Normal file
117
appnet/lang/ro/messages.po
Normal file
|
@ -0,0 +1,117 @@
|
|||
# ADDON appnet
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica appnet addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 11:47+0200\n"
|
||||
"PO-Revision-Date: 2014-07-08 11:40+0000\n"
|
||||
"Last-Translator: Arian - Cazare Muncitori <arianserv@gmail.com>\n"
|
||||
"Language-Team: Romanian (Romania) (http://www.transifex.com/projects/p/friendica/language/ro_RO/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ro_RO\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
|
||||
|
||||
#: appnet.php:39
|
||||
msgid "Permission denied."
|
||||
msgstr "Permisiune refuzată."
|
||||
|
||||
#: appnet.php:73
|
||||
msgid "You are now authenticated to app.net. "
|
||||
msgstr "Acum sunteți autentificat pe App.net."
|
||||
|
||||
#: appnet.php:77
|
||||
msgid "<p>Error fetching token. Please try again.</p>"
|
||||
msgstr "<p>Eroare la procesarea token-ului. Vă rugăm să reîncercați.</p>"
|
||||
|
||||
#: appnet.php:80
|
||||
msgid "return to the connector page"
|
||||
msgstr "revenire la pagina de conectare"
|
||||
|
||||
#: appnet.php:94
|
||||
msgid "Post to app.net"
|
||||
msgstr "Postați pe App.net"
|
||||
|
||||
#: appnet.php:125 appnet.php:129
|
||||
msgid "App.net Export"
|
||||
msgstr "Exportare pe App.net"
|
||||
|
||||
#: appnet.php:142
|
||||
msgid "Currently connected to: "
|
||||
msgstr "Conectat curent la:"
|
||||
|
||||
#: appnet.php:144
|
||||
msgid "Enable App.net Post Plugin"
|
||||
msgstr "Activare Modul Postare pe App.net"
|
||||
|
||||
#: appnet.php:149
|
||||
msgid "Post to App.net by default"
|
||||
msgstr "Postați implicit pe App.net"
|
||||
|
||||
#: appnet.php:153
|
||||
msgid "Import the remote timeline"
|
||||
msgstr "Importare cronologie la distanță"
|
||||
|
||||
#: appnet.php:159
|
||||
msgid ""
|
||||
"<p>Error fetching user profile. Please clear the configuration and try "
|
||||
"again.</p>"
|
||||
msgstr "<p>Eroare la procesarea profilului de utilizator. Vă rugăm să ștergeți configurarea şi apoi reîncercați.</p>"
|
||||
|
||||
#: appnet.php:164
|
||||
msgid "<p>You have two ways to connect to App.net.</p>"
|
||||
msgstr "<p>Aveți două modalități de a vă conecta la App.net.</p>"
|
||||
|
||||
#: appnet.php:166
|
||||
msgid ""
|
||||
"<p>First way: Register an application at <a "
|
||||
"href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a>"
|
||||
" and enter Client ID and Client Secret. "
|
||||
msgstr "<p>Prima modalitate: Înregistrați o cerere pe <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> şi introduceți ID Client şi Cheia Secretă Client."
|
||||
|
||||
#: appnet.php:167
|
||||
#, php-format
|
||||
msgid "Use '%s' as Redirect URI<p>"
|
||||
msgstr "Utilizați '%s' ca URI de Redirecţionare<p>"
|
||||
|
||||
#: appnet.php:169
|
||||
msgid "Client ID"
|
||||
msgstr "ID Client"
|
||||
|
||||
#: appnet.php:173
|
||||
msgid "Client Secret"
|
||||
msgstr "Cheia Secretă Client"
|
||||
|
||||
#: appnet.php:177
|
||||
msgid ""
|
||||
"<p>Second way: fetch a token at <a href=\"http://dev-"
|
||||
"lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
msgstr "<p>A doua cale: autorizați un indicativ de acces token de pe <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a> ."
|
||||
|
||||
#: appnet.php:178
|
||||
msgid ""
|
||||
"Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', "
|
||||
"'Messages'.</p>"
|
||||
msgstr "Stabiliți aceste scopuri: 'De Bază', 'Flux', 'Scriere Postare', 'Mesaje Publice', 'Mesaje'.</p>"
|
||||
|
||||
#: appnet.php:180
|
||||
msgid "Token"
|
||||
msgstr "Token"
|
||||
|
||||
#: appnet.php:192
|
||||
msgid "Sign in using App.net"
|
||||
msgstr "Autentificați-vă utilizând App.net"
|
||||
|
||||
#: appnet.php:197
|
||||
msgid "Clear OAuth configuration"
|
||||
msgstr "Ștergeți configurările OAuth"
|
||||
|
||||
#: appnet.php:204
|
||||
msgid "Save Settings"
|
||||
msgstr "Salvare Configurări"
|
29
appnet/lang/ro/strings.php
Normal file
29
appnet/lang/ro/strings.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ro")) {
|
||||
function string_plural_select_ro($n){
|
||||
return ($n==1?0:((($n%100>19)||(($n%100==0)&&($n!=0)))?2:1));;
|
||||
}}
|
||||
;
|
||||
$a->strings["Permission denied."] = "Permisiune refuzată.";
|
||||
$a->strings["You are now authenticated to app.net. "] = "Acum sunteți autentificat pe App.net.";
|
||||
$a->strings["<p>Error fetching token. Please try again.</p>"] = "<p>Eroare la procesarea token-ului. Vă rugăm să reîncercați.</p>";
|
||||
$a->strings["return to the connector page"] = "revenire la pagina de conectare";
|
||||
$a->strings["Post to app.net"] = "Postați pe App.net";
|
||||
$a->strings["App.net Export"] = "Exportare pe App.net";
|
||||
$a->strings["Currently connected to: "] = "Conectat curent la:";
|
||||
$a->strings["Enable App.net Post Plugin"] = "Activare Modul Postare pe App.net";
|
||||
$a->strings["Post to App.net by default"] = "Postați implicit pe App.net";
|
||||
$a->strings["Import the remote timeline"] = "Importare cronologie la distanță";
|
||||
$a->strings["<p>Error fetching user profile. Please clear the configuration and try again.</p>"] = "<p>Eroare la procesarea profilului de utilizator. Vă rugăm să ștergeți configurarea şi apoi reîncercați.</p>";
|
||||
$a->strings["<p>You have two ways to connect to App.net.</p>"] = "<p>Aveți două modalități de a vă conecta la App.net.</p>";
|
||||
$a->strings["<p>First way: Register an application at <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> and enter Client ID and Client Secret. "] = "<p>Prima modalitate: Înregistrați o cerere pe <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> şi introduceți ID Client şi Cheia Secretă Client.";
|
||||
$a->strings["Use '%s' as Redirect URI<p>"] = "Utilizați '%s' ca URI de Redirecţionare<p>";
|
||||
$a->strings["Client ID"] = "ID Client";
|
||||
$a->strings["Client Secret"] = "Cheia Secretă Client";
|
||||
$a->strings["<p>Second way: fetch a token at <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "] = "<p>A doua cale: autorizați un indicativ de acces token de pe <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a> .";
|
||||
$a->strings["Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"] = "Stabiliți aceste scopuri: 'De Bază', 'Flux', 'Scriere Postare', 'Mesaje Publice', 'Mesaje'.</p>";
|
||||
$a->strings["Token"] = "Token";
|
||||
$a->strings["Sign in using App.net"] = "Autentificați-vă utilizând App.net";
|
||||
$a->strings["Clear OAuth configuration"] = "Ștergeți configurările OAuth";
|
||||
$a->strings["Save Settings"] = "Salvare Configurări";
|
118
appnet/lang/ru/messages.po
Normal file
118
appnet/lang/ru/messages.po
Normal file
|
@ -0,0 +1,118 @@
|
|||
# ADDON appnet
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica appnet addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Stanislav N. <pztrn@pztrn.name>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 11:47+0200\n"
|
||||
"PO-Revision-Date: 2017-04-08 05:32+0000\n"
|
||||
"Last-Translator: Stanislav N. <pztrn@pztrn.name>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/Friendica/friendica/language/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#: appnet.php:39
|
||||
msgid "Permission denied."
|
||||
msgstr "Доступ запрещен."
|
||||
|
||||
#: appnet.php:73
|
||||
msgid "You are now authenticated to app.net. "
|
||||
msgstr "Вы аутентифицированы на app.net"
|
||||
|
||||
#: appnet.php:77
|
||||
msgid "<p>Error fetching token. Please try again.</p>"
|
||||
msgstr "<p>Ошибка получения токена. Попробуйте еще раз.</p>"
|
||||
|
||||
#: appnet.php:80
|
||||
msgid "return to the connector page"
|
||||
msgstr "вернуться на страницу коннектора"
|
||||
|
||||
#: appnet.php:94
|
||||
msgid "Post to app.net"
|
||||
msgstr "Отправить на app.net"
|
||||
|
||||
#: appnet.php:125 appnet.php:129
|
||||
msgid "App.net Export"
|
||||
msgstr "Экспорт app.net"
|
||||
|
||||
#: appnet.php:142
|
||||
msgid "Currently connected to: "
|
||||
msgstr "В настоящее время соединены с: "
|
||||
|
||||
#: appnet.php:144
|
||||
msgid "Enable App.net Post Plugin"
|
||||
msgstr "Включить плагин App.net"
|
||||
|
||||
#: appnet.php:149
|
||||
msgid "Post to App.net by default"
|
||||
msgstr "Отправлять сообщения на App.net по-умолчанию"
|
||||
|
||||
#: appnet.php:153
|
||||
msgid "Import the remote timeline"
|
||||
msgstr "Импортировать удаленные сообщения"
|
||||
|
||||
#: appnet.php:159
|
||||
msgid ""
|
||||
"<p>Error fetching user profile. Please clear the configuration and try "
|
||||
"again.</p>"
|
||||
msgstr "<p>Ошибка при получении профиля пользователя. Сбросьте конфигурацию и попробуйте еще раз.</p>"
|
||||
|
||||
#: appnet.php:164
|
||||
msgid "<p>You have two ways to connect to App.net.</p>"
|
||||
msgstr "<p>У вас есть два способа соединения с App.net.</p>"
|
||||
|
||||
#: appnet.php:166
|
||||
msgid ""
|
||||
"<p>First way: Register an application at <a "
|
||||
"href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a>"
|
||||
" and enter Client ID and Client Secret. "
|
||||
msgstr "<p>Первый способ: зарегистрируйте приложение на <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> и введите Client ID и Client Secret"
|
||||
|
||||
#: appnet.php:167
|
||||
#, php-format
|
||||
msgid "Use '%s' as Redirect URI<p>"
|
||||
msgstr "Используйте '%s' как Redirect URI<p>"
|
||||
|
||||
#: appnet.php:169
|
||||
msgid "Client ID"
|
||||
msgstr "Client ID"
|
||||
|
||||
#: appnet.php:173
|
||||
msgid "Client Secret"
|
||||
msgstr "Client Secret"
|
||||
|
||||
#: appnet.php:177
|
||||
msgid ""
|
||||
"<p>Second way: fetch a token at <a href=\"http://dev-"
|
||||
"lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
msgstr "<p>Второй путь: получите токен на <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "
|
||||
|
||||
#: appnet.php:178
|
||||
msgid ""
|
||||
"Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', "
|
||||
"'Messages'.</p>"
|
||||
msgstr "Выберите области: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"
|
||||
|
||||
#: appnet.php:180
|
||||
msgid "Token"
|
||||
msgstr "Токен"
|
||||
|
||||
#: appnet.php:192
|
||||
msgid "Sign in using App.net"
|
||||
msgstr "Войти через App.net"
|
||||
|
||||
#: appnet.php:197
|
||||
msgid "Clear OAuth configuration"
|
||||
msgstr "Удалить конфигурацию OAuth"
|
||||
|
||||
#: appnet.php:204
|
||||
msgid "Save Settings"
|
||||
msgstr "Сохранить настройки"
|
29
appnet/lang/ru/strings.php
Normal file
29
appnet/lang/ru/strings.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ru")) {
|
||||
function string_plural_select_ru($n){
|
||||
return ($n%10==1 && $n%100!=11 ? 0 : $n%10>=2 && $n%10<=4 && ($n%100<12 || $n%100>14) ? 1 : $n%10==0 || ($n%10>=5 && $n%10<=9) || ($n%100>=11 && $n%100<=14)? 2 : 3);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Permission denied."] = "Доступ запрещен.";
|
||||
$a->strings["You are now authenticated to app.net. "] = "Вы аутентифицированы на app.net";
|
||||
$a->strings["<p>Error fetching token. Please try again.</p>"] = "<p>Ошибка получения токена. Попробуйте еще раз.</p>";
|
||||
$a->strings["return to the connector page"] = "вернуться на страницу коннектора";
|
||||
$a->strings["Post to app.net"] = "Отправить на app.net";
|
||||
$a->strings["App.net Export"] = "Экспорт app.net";
|
||||
$a->strings["Currently connected to: "] = "В настоящее время соединены с: ";
|
||||
$a->strings["Enable App.net Post Plugin"] = "Включить плагин App.net";
|
||||
$a->strings["Post to App.net by default"] = "Отправлять сообщения на App.net по-умолчанию";
|
||||
$a->strings["Import the remote timeline"] = "Импортировать удаленные сообщения";
|
||||
$a->strings["<p>Error fetching user profile. Please clear the configuration and try again.</p>"] = "<p>Ошибка при получении профиля пользователя. Сбросьте конфигурацию и попробуйте еще раз.</p>";
|
||||
$a->strings["<p>You have two ways to connect to App.net.</p>"] = "<p>У вас есть два способа соединения с App.net.</p>";
|
||||
$a->strings["<p>First way: Register an application at <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> and enter Client ID and Client Secret. "] = "<p>Первый способ: зарегистрируйте приложение на <a href=\"https://account.app.net/developer/apps/\">https://account.app.net/developer/apps/</a> и введите Client ID и Client Secret";
|
||||
$a->strings["Use '%s' as Redirect URI<p>"] = "Используйте '%s' как Redirect URI<p>";
|
||||
$a->strings["Client ID"] = "Client ID";
|
||||
$a->strings["Client Secret"] = "Client Secret";
|
||||
$a->strings["<p>Second way: fetch a token at <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. "] = "<p>Второй путь: получите токен на <a href=\"http://dev-lite.jonathonduerig.com/\">http://dev-lite.jonathonduerig.com/</a>. ";
|
||||
$a->strings["Set these scopes: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>"] = "Выберите области: 'Basic', 'Stream', 'Write Post', 'Public Messages', 'Messages'.</p>";
|
||||
$a->strings["Token"] = "Токен";
|
||||
$a->strings["Sign in using App.net"] = "Войти через App.net";
|
||||
$a->strings["Clear OAuth configuration"] = "Удалить конфигурацию OAuth";
|
||||
$a->strings["Save Settings"] = "Сохранить настройки";
|
1
appnet/lastid.txt
Normal file
1
appnet/lastid.txt
Normal file
|
@ -0,0 +1 @@
|
|||
36406925
|
514
appnet/sync.php
Normal file
514
appnet/sync.php
Normal file
|
@ -0,0 +1,514 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
To-Do:
|
||||
- like empfangen
|
||||
- Links besser auflösen
|
||||
|
||||
Testen:
|
||||
|
||||
*/
|
||||
require_once("boot.php");
|
||||
|
||||
if(@is_null($a)) {
|
||||
$a = new App;
|
||||
}
|
||||
|
||||
@include(".htconfig.php");
|
||||
require_once("dba.php");
|
||||
dba::connect($db_host, $db_user, $db_pass, $db_data);
|
||||
unset($db_host, $db_user, $db_pass, $db_data);
|
||||
|
||||
$a->set_baseurl(get_config('system','url'));
|
||||
|
||||
//require_once("addon/appnet/appnet.php");
|
||||
|
||||
$uid = 1;
|
||||
appnet_fetchstream($a, $uid);
|
||||
|
||||
function appnet_fetchstream($a, $uid) {
|
||||
require_once("addon/appnet/AppDotNet.php");
|
||||
require_once('include/items.php');
|
||||
|
||||
$token = get_pconfig($uid,'appnet','token');
|
||||
$clientId = get_pconfig($uid,'appnet','clientid');
|
||||
$clientSecret = get_pconfig($uid,'appnet','clientsecret');
|
||||
|
||||
$app = new AppDotNet($clientId, $clientSecret);
|
||||
$app->setAccessToken($token);
|
||||
|
||||
$r = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
|
||||
intval($uid));
|
||||
|
||||
if(count($r))
|
||||
$me = $r[0];
|
||||
else {
|
||||
logger("appnet_fetchstream: Own contact not found for user ".$uid, LOGGER_DEBUG);
|
||||
return;
|
||||
}
|
||||
|
||||
$user = q("SELECT * FROM `user` WHERE `uid` = %d AND `account_expired` = 0 LIMIT 1",
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
if(count($user))
|
||||
$user = $user[0];
|
||||
else {
|
||||
logger("appnet_fetchstream: Own user not found for user ".$uid, LOGGER_DEBUG);
|
||||
return;
|
||||
}
|
||||
|
||||
$ownid = get_pconfig($uid,'appnet','ownid');
|
||||
|
||||
$param = array("include_annotations" => true);
|
||||
$post = $app->getPost(32189565, $param);
|
||||
//$post = $app->getPost(32166492, $param);
|
||||
//$post = $app->getPost(32166065, $param);
|
||||
//$post = $app->getPost(32161780, $param);
|
||||
$postarray = appnet2_createpost($a, $uid, $post, $me, $user, $ownid, false);
|
||||
print_r($postarray);
|
||||
// $item = item_store($postarray);
|
||||
die();
|
||||
|
||||
|
||||
// Fetch stream
|
||||
$param = array("count" => 200, "include_deleted" => false, "include_directed_posts" => true, "include_html" => false, "include_annotations" => true);
|
||||
|
||||
$lastid = get_pconfig($uid, 'appnet', 'laststreamid');
|
||||
|
||||
if ($lastid <> "")
|
||||
$param["since_id"] = $lastid;
|
||||
|
||||
try {
|
||||
$stream = $app->getUserStream($param);
|
||||
}
|
||||
catch (AppDotNetException $e) {
|
||||
logger("appnet_fetchstream: Error fetching stream for user ".$uid);
|
||||
}
|
||||
|
||||
$stream = array_reverse($stream);
|
||||
foreach ($stream AS $post) {
|
||||
$postarray = appnet_createpost($a, $uid, $post, $me, $user, $ownid, true);
|
||||
|
||||
$item = item_store($postarray);
|
||||
logger('appnet_fetchstream: User '.$uid.' posted stream item '.$item);
|
||||
|
||||
$lastid = $post["id"];
|
||||
|
||||
if (($item != 0) AND ($postarray['contact-id'] != $me["id"])) {
|
||||
$r = q("SELECT `thread`.`iid` AS `parent` FROM `thread`
|
||||
INNER JOIN `item` ON `thread`.`iid` = `item`.`parent` AND `thread`.`uid` = `item`.`uid`
|
||||
WHERE `item`.`id` = %d AND `thread`.`mention` LIMIT 1", dbesc($item));
|
||||
|
||||
if (count($r)) {
|
||||
require_once('include/enotify.php');
|
||||
notification(array(
|
||||
'type' => NOTIFY_COMMENT,
|
||||
'notify_flags' => $user['notify-flags'],
|
||||
'language' => $user['language'],
|
||||
'to_name' => $user['username'],
|
||||
'to_email' => $user['email'],
|
||||
'uid' => $user['uid'],
|
||||
'item' => $postarray,
|
||||
'link' => $a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $item,
|
||||
'source_name' => $postarray['author-name'],
|
||||
'source_link' => $postarray['author-link'],
|
||||
'source_photo' => $postarray['author-avatar'],
|
||||
'verb' => ACTIVITY_POST,
|
||||
'otype' => 'item',
|
||||
'parent' => $r[0]["parent"],
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set_pconfig($uid, 'appnet', 'laststreamid', $lastid);
|
||||
|
||||
// Fetch mentions
|
||||
$param = array("count" => 200, "include_deleted" => false, "include_directed_posts" => true, "include_html" => false, "include_annotations" => true);
|
||||
|
||||
$lastid = get_pconfig($uid, 'appnet', 'lastmentionid');
|
||||
|
||||
if ($lastid <> "")
|
||||
$param["since_id"] = $lastid;
|
||||
|
||||
try {
|
||||
$mentions = $app->getUserMentions("me", $param);
|
||||
}
|
||||
catch (AppDotNetException $e) {
|
||||
logger("appnet_fetchstream: Error fetching mentions for user ".$uid);
|
||||
}
|
||||
|
||||
$mentions = array_reverse($mentions);
|
||||
foreach ($mentions AS $post) {
|
||||
$postarray = appnet_createpost($a, $uid, $post, $me, $user, $ownid, false);
|
||||
|
||||
if (isset($postarray["id"]))
|
||||
$item = $postarray["id"];
|
||||
elseif (isset($postarray["body"])) {
|
||||
$item = item_store($postarray);
|
||||
logger('appnet_fetchstream: User '.$uid.' posted mention item '.$item);
|
||||
} else
|
||||
$item = 0;
|
||||
|
||||
$lastid = $post["id"];
|
||||
|
||||
if ($item != 0) {
|
||||
require_once('include/enotify.php');
|
||||
notification(array(
|
||||
'type' => NOTIFY_TAGSELF,
|
||||
'notify_flags' => $user['notify-flags'],
|
||||
'language' => $user['language'],
|
||||
'to_name' => $user['username'],
|
||||
'to_email' => $user['email'],
|
||||
'uid' => $user['uid'],
|
||||
'item' => $postarray,
|
||||
'link' => $a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $item,
|
||||
'source_name' => $postarray['author-name'],
|
||||
'source_link' => $postarray['author-link'],
|
||||
'source_photo' => $postarray['author-avatar'],
|
||||
'verb' => ACTIVITY_TAG,
|
||||
'otype' => 'item'
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
set_pconfig($uid, 'appnet', 'lastmentionid', $lastid);
|
||||
|
||||
|
||||
/* To-Do
|
||||
$param = array("interaction_actions" => "star");
|
||||
$interactions = $app->getMyInteractions($param);
|
||||
foreach ($interactions AS $interaction)
|
||||
appnet_dolike($a, $uid, $interaction);
|
||||
*/
|
||||
}
|
||||
|
||||
function appnet2_createpost($a, $uid, $post, $me, $user, $ownid, $createuser, $threadcompletion = true) {
|
||||
require_once('include/items.php');
|
||||
|
||||
if ($post["machine_only"])
|
||||
return;
|
||||
|
||||
if ($post["is_deleted"])
|
||||
return;
|
||||
|
||||
$postarray = array();
|
||||
$postarray['gravity'] = 0;
|
||||
$postarray['uid'] = $uid;
|
||||
$postarray['wall'] = 0;
|
||||
$postarray['verb'] = ACTIVITY_POST;
|
||||
$postarray['network'] = dbesc(NETWORK_APPNET);
|
||||
$postarray['uri'] = "adn::".$post["id"];
|
||||
|
||||
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($postarray['uri']),
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
// if (count($r))
|
||||
// return($r[0]);
|
||||
|
||||
$r = q("SELECT * FROM `item` WHERE `extid` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($postarray['uri']),
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
// if (count($r))
|
||||
// return($r[0]);
|
||||
|
||||
$postarray['parent-uri'] = "adn::".$post["thread_id"];
|
||||
if (isset($post["reply_to"]) AND ($post["reply_to"] != "")) {
|
||||
$postarray['thr-parent'] = "adn::".$post["reply_to"];
|
||||
|
||||
// Complete the thread if the parent doesn't exists
|
||||
if ($threadcompletion) {
|
||||
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($postarray['thr-parent']),
|
||||
intval($uid)
|
||||
);
|
||||
if (!count($r)) {
|
||||
require_once("addon/appnet/AppDotNet.php");
|
||||
|
||||
$token = get_pconfig($uid,'appnet','token');
|
||||
$clientId = get_pconfig($uid,'appnet','clientid');
|
||||
$clientSecret = get_pconfig($uid,'appnet','clientsecret');
|
||||
|
||||
$app = new AppDotNet($clientId, $clientSecret);
|
||||
$app->setAccessToken($token);
|
||||
|
||||
$param = array("count" => 200, "include_deleted" => false, "include_directed_posts" => true, "include_html" => false, "include_annotations" => true);
|
||||
try {
|
||||
$thread = $app->getPostReplies($post["thread_id"], $param);
|
||||
}
|
||||
catch (AppDotNetException $e) {
|
||||
logger("appnet_createpost: Error fetching thread for user ".$uid);
|
||||
}
|
||||
$thread = array_reverse($thread);
|
||||
foreach ($thread AS $tpost) {
|
||||
$threadpost = appnet2_createpost($a, $uid, $tpost, $me, $user, $ownid, $createuser, false);
|
||||
$item = item_store($threadpost);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else
|
||||
$postarray['thr-parent'] = $postarray['uri'];
|
||||
|
||||
$postarray['plink'] = $post["canonical_url"];
|
||||
|
||||
if ($post["user"]["id"] != $ownid) {
|
||||
$postarray['owner-name'] = $post["user"]["name"];
|
||||
$postarray['owner-link'] = $post["user"]["canonical_url"];
|
||||
$postarray['owner-avatar'] = $post["user"]["avatar_image"]["url"];
|
||||
$postarray['contact-id'] = appnet_fetchcontact($a, $uid, $post["user"], $me, $createuser);
|
||||
} else {
|
||||
$postarray['owner-name'] = $me["name"];
|
||||
$postarray['owner-link'] = $me["url"];
|
||||
$postarray['owner-avatar'] = $me["thumb"];
|
||||
$postarray['contact-id'] = $me["id"];
|
||||
}
|
||||
|
||||
$links = array();
|
||||
|
||||
if (is_array($post["repost_of"])) {
|
||||
$postarray['author-name'] = $post["repost_of"]["user"]["name"];
|
||||
$postarray['author-link'] = $post["repost_of"]["user"]["canonical_url"];
|
||||
$postarray['author-avatar'] = $post["repost_of"]["user"]["avatar_image"]["url"];
|
||||
|
||||
$content = $post["repost_of"];
|
||||
} else {
|
||||
$postarray['author-name'] = $postarray['owner-name'];
|
||||
$postarray['author-link'] = $postarray['owner-link'];
|
||||
$postarray['author-avatar'] = $postarray['owner-avatar'];
|
||||
|
||||
$content = $post;
|
||||
}
|
||||
|
||||
if (is_array($content["entities"])) {
|
||||
$converted = appnet_expand_entities($a, $content["text"], $content["entities"]);
|
||||
$postarray['body'] = $converted["body"];
|
||||
$postarray['tag'] = $converted["tags"];
|
||||
} else
|
||||
$postarray['body'] = $content["text"];
|
||||
|
||||
if (is_array($content["annotations"]))
|
||||
$postarray['body'] = appnet_expand_annotations($a, $postarray['body'], $content["annotations"]);
|
||||
|
||||
if (sizeof($content["entities"]["links"]))
|
||||
foreach($content["entities"]["links"] AS $link) {
|
||||
$url = normalise_link($link["url"]);
|
||||
$links[$url] = $url;
|
||||
}
|
||||
|
||||
if (sizeof($content["annotations"]))
|
||||
foreach($content["annotations"] AS $annotation) {
|
||||
if (isset($annotation["value"]["embeddable_url"])) {
|
||||
$url = normalise_link($annotation["value"]["embeddable_url"]);
|
||||
if (isset($links[$url]))
|
||||
unset($links[$url]);
|
||||
}
|
||||
}
|
||||
|
||||
if (sizeof($links)) {
|
||||
$link = array_pop($links);
|
||||
$url = "[url=".$link."]".$link."[/url]";
|
||||
|
||||
$removedlink = trim(str_replace($url, "", $postarray['body']));
|
||||
|
||||
if (($removedlink == "") OR strstr($postarray['body'], $removedlink))
|
||||
$postarray['body'] = $removedlink;
|
||||
|
||||
$postarray['body'] .= add_page_info($link);
|
||||
}
|
||||
|
||||
$postarray['created'] = datetime_convert('UTC','UTC',$post["created_at"]);
|
||||
$postarray['edited'] = datetime_convert('UTC','UTC',$post["created_at"]);
|
||||
|
||||
$postarray['app'] = $post["source"]["name"];
|
||||
|
||||
return($postarray);
|
||||
//print_r($postarray);
|
||||
//print_r($post);
|
||||
}
|
||||
|
||||
function appnet_expand_entities($a, $body, $entities) {
|
||||
|
||||
if (!function_exists('substr_unicode')) {
|
||||
function substr_unicode($str, $s, $l = null) {
|
||||
return join("", array_slice(
|
||||
preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY), $s, $l));
|
||||
}
|
||||
}
|
||||
|
||||
$tags_arr = array();
|
||||
$replace = array();
|
||||
|
||||
foreach ($entities["mentions"] AS $mention) {
|
||||
$url = "@[url=https://alpha.app.net/".rawurlencode($mention["name"])."]".$mention["name"]."[/url]";
|
||||
$tags_arr["@".$mention["name"]] = $url;
|
||||
$replace[$mention["pos"]] = array("pos"=> $mention["pos"], "len"=> $mention["len"], "replace"=> $url);
|
||||
}
|
||||
|
||||
foreach ($entities["hashtags"] AS $hashtag) {
|
||||
$url = "#[url=".$a->get_baseurl()."/search?tag=".rawurlencode($hashtag["name"])."]".$hashtag["name"]."[/url]";
|
||||
$tags_arr["#".$hashtag["name"]] = $url;
|
||||
$replace[$hashtag["pos"]] = array("pos"=> $hashtag["pos"], "len"=> $hashtag["len"], "replace"=> $url);
|
||||
}
|
||||
|
||||
foreach ($entities["links"] AS $links) {
|
||||
$url = "[url=".$links["url"]."]".$links["text"]."[/url]";
|
||||
$replace[$links["pos"]] = array("pos"=> $links["pos"], "len"=> $links["len"], "replace"=> $url);
|
||||
}
|
||||
|
||||
|
||||
if (sizeof($replace)) {
|
||||
krsort($replace);
|
||||
foreach ($replace AS $entity) {
|
||||
$pre = substr_unicode($body, 0, $entity["pos"]);
|
||||
$post = substr_unicode($body, $entity["pos"] + $entity["len"]);
|
||||
|
||||
$body = $pre.$entity["replace"].$post;
|
||||
}
|
||||
}
|
||||
|
||||
return(array("body" => $body, "tags" => implode($tags_arr, ",")));
|
||||
}
|
||||
|
||||
function appnet_expand_annotations($a, $body, $annotations) {
|
||||
foreach ($annotations AS $annotation) {
|
||||
if ($annotation["value"]["type"] == "photo") {
|
||||
if (($annotation["value"]["thumbnail_large_url"] != "") AND ($annotation["value"]["url"] != ""))
|
||||
$body .= "\n[url=".$annotation["value"]["url"]."][img]".$annotation["value"]["thumbnail_large_url"]."[/img][/url]";
|
||||
elseif ($annotation["value"]["url"] != "")
|
||||
$body .= "\n[img]".$annotation["value"]["url"]."[/img]";
|
||||
}
|
||||
}
|
||||
return $body;
|
||||
}
|
||||
|
||||
function appnet_fetchcontact($a, $uid, $contact, $me, $create_user) {
|
||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' LIMIT 1",
|
||||
intval($uid), dbesc("adn::".$contact["id"]));
|
||||
|
||||
if(!count($r) AND !$create_user)
|
||||
return($me);
|
||||
|
||||
|
||||
if (count($r) AND ($r[0]["readonly"] OR $r[0]["blocked"])) {
|
||||
logger("appnet_fetchcontact: Contact '".$r[0]["nick"]."' is blocked or readonly.", LOGGER_DEBUG);
|
||||
return(-1);
|
||||
}
|
||||
|
||||
if(!count($r)) {
|
||||
// create contact record
|
||||
q("INSERT INTO `contact` (`uid`, `created`, `url`, `nurl`, `addr`, `alias`, `notify`, `poll`,
|
||||
`name`, `nick`, `photo`, `network`, `rel`, `priority`,
|
||||
`writable`, `blocked`, `readonly`, `pending` )
|
||||
VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, 0, 0, 0 ) ",
|
||||
intval($uid),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc($contact["canonical_url"]),
|
||||
dbesc(normalise_link($contact["canonical_url"])),
|
||||
dbesc($contact["username"]."@app.net"),
|
||||
dbesc("adn::".$contact["id"]),
|
||||
dbesc(''),
|
||||
dbesc("adn::".$contact["id"]),
|
||||
dbesc($contact["name"]),
|
||||
dbesc($contact["username"]),
|
||||
dbesc($contact["avatar_image"]["url"]),
|
||||
dbesc(NETWORK_APPNET),
|
||||
intval(CONTACT_IS_FRIEND),
|
||||
intval(1),
|
||||
intval(1)
|
||||
);
|
||||
|
||||
$r = q("SELECT * FROM `contact` WHERE `alias` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc("adn::".$contact["id"]),
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
if(! count($r))
|
||||
return(false);
|
||||
|
||||
$contact_id = $r[0]['id'];
|
||||
|
||||
$g = q("SELECT def_gid FROM user WHERE uid = %d LIMIT 1",
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
if($g && intval($g[0]['def_gid'])) {
|
||||
require_once('include/group.php');
|
||||
group_add_member($uid,'',$contact_id,$g[0]['def_gid']);
|
||||
}
|
||||
|
||||
require_once("Photo.php");
|
||||
|
||||
$photos = import_profile_photo($contact["avatar_image"]["url"],$uid,$contact_id);
|
||||
|
||||
q("UPDATE `contact` SET `photo` = '%s',
|
||||
`thumb` = '%s',
|
||||
`micro` = '%s',
|
||||
`name-date` = '%s',
|
||||
`uri-date` = '%s',
|
||||
`avatar-date` = '%s'
|
||||
WHERE `id` = %d",
|
||||
dbesc($photos[0]),
|
||||
dbesc($photos[1]),
|
||||
dbesc($photos[2]),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
intval($contact_id)
|
||||
);
|
||||
|
||||
} else {
|
||||
// update profile photos once every two weeks as we have no notification of when they change.
|
||||
|
||||
//$update_photo = (($r[0]['avatar-date'] < datetime_convert('','','now -2 days')) ? true : false);
|
||||
$update_photo = ($r[0]['avatar-date'] < datetime_convert('','','now -12 hours'));
|
||||
|
||||
// check that we have all the photos, this has been known to fail on occasion
|
||||
|
||||
if((! $r[0]['photo']) || (! $r[0]['thumb']) || (! $r[0]['micro']) || ($update_photo)) {
|
||||
|
||||
logger("appnet_fetchcontact: Updating contact ".$contact["username"], LOGGER_DEBUG);
|
||||
|
||||
require_once("Photo.php");
|
||||
|
||||
$photos = import_profile_photo($contact["avatar_image"]["url"], $uid, $r[0]['id']);
|
||||
|
||||
q("UPDATE `contact` SET `photo` = '%s',
|
||||
`thumb` = '%s',
|
||||
`micro` = '%s',
|
||||
`name-date` = '%s',
|
||||
`uri-date` = '%s',
|
||||
`avatar-date` = '%s',
|
||||
`url` = '%s',
|
||||
`nurl` = '%s',
|
||||
`addr` = '%s',
|
||||
`name` = '%s',
|
||||
`nick` = '%s'
|
||||
WHERE `id` = %d",
|
||||
dbesc($photos[0]),
|
||||
dbesc($photos[1]),
|
||||
dbesc($photos[2]),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc($contact["canonical_url"]),
|
||||
dbesc(normalise_link($contact["canonical_url"])),
|
||||
dbesc($contact["username"]."@app.net"),
|
||||
dbesc($contact["username"]),
|
||||
dbesc($contact["name"]),
|
||||
intval($r[0]['id'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return($r[0]["id"]);
|
||||
}
|
||||
|
||||
// starPost
|
||||
// unstarPost
|
||||
// repost
|
||||
// deleteRepost
|
3
appnet/templates/admin.tpl
Normal file
3
appnet/templates/admin.tpl
Normal file
|
@ -0,0 +1,3 @@
|
|||
{{include file="field_input.tpl" field=$clientid}}
|
||||
{{include file="field_input.tpl" field=$clientsecret}}
|
||||
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
|
256
appnet/test.php
Normal file
256
appnet/test.php
Normal file
|
@ -0,0 +1,256 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
|
||||
To-Do:
|
||||
|
||||
*/
|
||||
require_once("boot.php");
|
||||
|
||||
if(@is_null($a)) {
|
||||
$a = new App;
|
||||
}
|
||||
|
||||
@include(".htconfig.php");
|
||||
require_once("dba.php");
|
||||
dba::connect($db_host, $db_user, $db_pass, $db_data);
|
||||
unset($db_host, $db_user, $db_pass, $db_data);
|
||||
|
||||
$a->set_baseurl(get_config('system','url'));
|
||||
|
||||
require_once("addon/appnet/appnet.php");
|
||||
require_once("include/plaintext.php");
|
||||
|
||||
$b['uid'] = 1;
|
||||
|
||||
$token = get_pconfig($b['uid'],'appnet','token');
|
||||
|
||||
require_once 'addon/appnet/AppDotNet.php';
|
||||
|
||||
$clientId = get_pconfig($b["uid"],'appnet','clientid');
|
||||
$clientSecret = get_pconfig($b["uid"],'appnet','clientsecret');
|
||||
|
||||
$app = new AppDotNet($clientId, $clientSecret);
|
||||
$app->setAccessToken($token);
|
||||
|
||||
//$param = array("include_annotations" => true);
|
||||
//$param = array("include_muted" => true, "include_directed_posts" => true);
|
||||
$param = array("include_muted" => true, "include_deleted" => false, "include_directed_posts" => true,
|
||||
"include_html" => false, "include_post_annotations" => true);
|
||||
|
||||
|
||||
//$param = array("include_post_annotations" => true, "include_muted" => true, "include_directed_posts" => true);
|
||||
//$post = $app->getPost(37154801, $param);
|
||||
$post = $app->getPost(37189594, $param);
|
||||
//$post = $app->getPost(36892980, $param);
|
||||
//$post = $app->getPost(36837961, $param);
|
||||
//$post = $app->getPost(36843534, $param);
|
||||
|
||||
print_r($post);
|
||||
die();
|
||||
|
||||
$r = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
|
||||
intval($b['uid']));
|
||||
|
||||
if(count($r))
|
||||
$me = $r[0];
|
||||
|
||||
$ownid = get_pconfig($b['uid'],'appnet','ownid');
|
||||
|
||||
$user = q("SELECT * FROM `user` WHERE `uid` = %d AND `account_expired` = 0 LIMIT 1",
|
||||
intval($b['uid'])
|
||||
);
|
||||
|
||||
if(count($user))
|
||||
$user = $user[0];
|
||||
|
||||
$test = appnet_createpost($a, $b['uid'], $post, $me, $user, $ownid, true, false, true);
|
||||
|
||||
print_r($test);
|
||||
|
||||
die();
|
||||
|
||||
|
||||
|
||||
/*
|
||||
$recycle = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8');
|
||||
|
||||
$post = "♲ AdoraBelle (_Adora_Belle_@twitter.com): They are a little tied up... *rofl* @Shysarah2009 @AldiCustCare";
|
||||
|
||||
$post = str_replace($recycle, ">> ", $post);
|
||||
//$post = preg_replace("=".$recycle." (.*) \((.*)@(.*)\)=ism", ">> $1 ($2@$3)", $ppost);
|
||||
//$post = preg_replace("=".$recycle."(.*)=ism", ">> $1", $ppost);
|
||||
|
||||
die($post);
|
||||
*/
|
||||
$b["uid"] = 1;
|
||||
$b["plink"] = "https://pirati.ca/display/heluecht/2834617";
|
||||
//$b["title"] = "Wenn sich Microsoft per Telefon meldet, sollte man stutzig werden.";
|
||||
|
||||
// Image
|
||||
$b["body"] = "Nur ein kleiner Test, bitte ignorieren. (wird sowieso sofort wieder gelöscht)
|
||||
[url=https://lh3.googleusercontent.com/-5J1tGHGvELQ/U2EL_6RuAHI/AAAAAAAAX5U/71dlHNFUjXw/30.04.14%2B-%2B1][img=479x640]https://lh3.googleusercontent.com/-5J1tGHGvELQ/U2EL_6RuAHI/AAAAAAAAX5U/71dlHNFUjXw/w506-h750/30.04.14%2B-%2B1[/img]
|
||||
[/url]";
|
||||
|
||||
/*
|
||||
$b["body"] = "Übrigens: Früher #[url=http://www.dabo.de]war[/url] alles besser.
|
||||
|
||||
[bookmark=https://www.youtube.com/watch?v=-8yF9zqlpR4]SALTATIO MORTIS - Früher war alles besser | Napalm Records[/bookmark]";
|
||||
*/
|
||||
$b["body"] = "Umfrageergebnisse aus der [url=http://www.heise.de]Hölle.[/url] In [url=http://www.heise.de]Deutschland[/url] wäre das Ergebnis sicherlich ähnlich.
|
||||
[class=type-link][bookmark=http://www.zeit.de/gesellschaft/zeitgeschehen/2014-05/oesterreich-studie-fuehrer]Studie: Ein Drittel der Österreicher will einen starken Führer[/bookmark]
|
||||
[img]http://images.zeit.de/politik/ausland/2014-05/oesterreich-umfrage/oesterreich-umfrage-540x304.jpg[/img]
|
||||
[quote]Wahlen? Parlament? Nicht so wichtig, sagen viele Österreicher laut einer Umfrage. Sie wollen einen Führer, der sich um Demokratie nicht kümmern muss.[/quote]
|
||||
[/class]";
|
||||
|
||||
$b['postopts'] = "appnet";
|
||||
/*
|
||||
$b["body"] = "Dies ist ein Testposting, dass wieder gelöscht werden wird.";
|
||||
*/
|
||||
$b["body"] = "\"This is the end ...\"
|
||||
|
||||
[url=https://pirati.ca/photos/heluecht/image/4ccfc897bf2ab350e0fcce93078365f5][img]https://pirati.ca/photo/4ccfc897bf2ab350e0fcce93078365f5-2.jpg[/img][/url]";
|
||||
|
||||
$b["body"] = "[share author='Lukas' profile='https://alpha.app.net/phasenkasper' avatar='https://d2rfichhc2fb9n.cloudfront.net/image/5/1kT9xKMb9JyBVTCBnDHEaHLRUnd7InMiOiJzMyIsImIiOiJhZG4tdXNlci1hc3NldHMiLCJrIjoiYXNzZXRzL3VzZXIvZjkvM2EvNjAvZjkzYTYwMDAwMDAwMDAwMC5wbmciLCJvIjoiIn0' link='https://alpha.app.net/phasenkasper/post/32422435' posted='2014-06-12 11:42:18']
|
||||
Ich bin immer wieder begeistern wie toll mein Windows läuft. [url=https://photos.app.net/32422435/1]photos.app.net/32422435/1[/url]
|
||||
[img]https://files.app.net/1/1304673/aHwho5GfB2iXEXGGET4V3lOZVUZ5gyfFNI_CChgQ_iHYTs9sooUCIIMa3MPjLx4DHeFm3qCqEyIlo3ucFM2GDgr5SAHhJcXplNPqYGCzBxx4WP0rKxQAY65YE_tgBTaaxR5f6yMM3RzMBV6ooSH0y6zEmF0yRc6EEgn1WFaddqrSRb5XzT8ThiIspzQOy9b6m[/img][/share]";
|
||||
|
||||
$b["body"] = "Ein A380 ist jetzt nicht unbedingt das unwendigste Flugzeug, habe ich das Gefühl.
|
||||
[share author='Javier Salgado' profile='https://plus.google.com/101295635357824725690' avatar='https://lh6.googleusercontent.com/-uE1alnITTco/AAAAAAAAAAI/AAAAAAAAAcc/jXjCG51oQfg/photo.jpg?sz=50' link='https://plus.google.com/101295635357824725690/posts/CjLEs9pSWFV']Unbelievable Airbus A380 vertical Take-off + Amaz…: http://youtu.be/RJxnwF-MPi0
|
||||
[class=type-video][bookmark=http://youtu.be/RJxnwF-MPi0]Unbelievable Airbus A380 vertical Take-off + Amazing Air Show ( HD ) Paris Air show 2013[/bookmark]
|
||||
[/class][/share]";
|
||||
|
||||
/*
|
||||
require_once("include/plaintext.php");
|
||||
|
||||
$post = plaintext($a, $b, 256, false, 6);
|
||||
|
||||
print_r($post);
|
||||
|
||||
die();
|
||||
*/
|
||||
|
||||
/*
|
||||
$url = "https://pirati.ca/photos/heluecht/image/54d898d7e1a8e9ba032a5fa352f51862";
|
||||
|
||||
require_once("mod/parse_url.php");
|
||||
$data = parseurl_getsiteinfo($url, true);
|
||||
|
||||
print_r($data);
|
||||
|
||||
die();
|
||||
*/
|
||||
|
||||
//$id = 3949352;
|
||||
$id = 3949512;
|
||||
$r = q("SELECT * FROM `item` WHERE `id` = %d", intval($id));
|
||||
$b = $r[0];
|
||||
|
||||
$b['postopts'] = "appnet";
|
||||
|
||||
//$data = get_attached_data($b["body"]);
|
||||
//print_r($data);
|
||||
|
||||
$post = plaintext($a, $b, 256, false, 6);
|
||||
|
||||
print_r($post);
|
||||
|
||||
$data = appnet_create_entities($a, $b, $post);
|
||||
|
||||
print_r($data);
|
||||
|
||||
die();
|
||||
|
||||
appnet_send($a, $b);
|
||||
die();
|
||||
|
||||
|
||||
$token = get_pconfig($b['uid'],'appnet','token');
|
||||
|
||||
require_once 'addon/appnet/AppDotNet.php';
|
||||
|
||||
$clientId = get_pconfig($b["uid"],'appnet','clientid');
|
||||
$clientSecret = get_pconfig($b["uid"],'appnet','clientsecret');
|
||||
|
||||
$app = new AppDotNet($clientId, $clientSecret);
|
||||
$app->setAccessToken($token);
|
||||
|
||||
//$param = array("include_annotations" => true);
|
||||
$param = array("include_muted" => true, "include_directed_posts" => true);
|
||||
//$param = array("include_post_annotations" => true, "include_muted" => true, "include_directed_posts" => true);
|
||||
//$post = $app->getPost(32236571, $param);
|
||||
//$post = $app->getPost(32237235, $param);
|
||||
//$post = $app->getPost(32217767, $param);
|
||||
//$post = $app->getPost(32203349, $param);
|
||||
//$post = $app->getPost(32239275, $param);
|
||||
//$post = $app->getPost(32261367, $param);
|
||||
//$post = $app->getPost(32306954, $param);
|
||||
$post = $app->getPost(32926285, $param);
|
||||
|
||||
print_r($post);
|
||||
|
||||
die();
|
||||
|
||||
$lastid = @file_get_contents("addon/appnet/lastid.txt");
|
||||
$clients = @file_get_contents("addon/appnet/clients.txt");
|
||||
$users = @file_get_contents("addon/appnet/users.txt");
|
||||
|
||||
if ($lastid != "")
|
||||
$param["since_id"] = $lastid;
|
||||
|
||||
$posts = $app->getPublicPosts($param);
|
||||
|
||||
foreach ($posts AS $post) {
|
||||
$lastid = $post["id"];
|
||||
|
||||
if ((count($post["entities"]["mentions"]) == 0) AND !strstr($clients, $post["source"]["client_id"]))
|
||||
continue;
|
||||
|
||||
if ((count($post["entities"]["mentions"]) > 0) AND !strstr($clients, $post["source"]["client_id"]))
|
||||
$clients .= $post["source"]["client_id"]." - ".$post["source"]["link"]." - ".$post["source"]["name"]."\n";
|
||||
|
||||
if (!strstr($userss, $post["user"]["canonical_url"]))
|
||||
$users .= $post["user"]["canonical_url"]." - ".$post["user"]["username"]."\n";
|
||||
|
||||
echo $post["source"]["link"]." ".$post["source"]["name"]."\n";
|
||||
echo $post["user"]["username"]."\n";
|
||||
echo $post["text"]."\n";
|
||||
//print_r($post["entities"]["mentions"]);
|
||||
echo $post["id"]."\n";
|
||||
echo "---------------------------------\n";
|
||||
}
|
||||
|
||||
file_put_contents("addon/appnet/lastid.txt", $lastid);
|
||||
file_put_contents("addon/appnet/clients.txt", $clients);
|
||||
file_put_contents("addon/appnet/users.txt", $users);
|
||||
|
||||
/*
|
||||
try {
|
||||
$post = $app->getPost(323069541111, $param);
|
||||
}
|
||||
catch (AppDotNetException $e) {
|
||||
print_r(appnet_error($e->getMessage()));
|
||||
}
|
||||
*/
|
||||
|
||||
//print_r($post);
|
||||
die();
|
||||
|
||||
$data = array();
|
||||
$data["annotations"][] = array(
|
||||
"type" => "net.app.core.crosspost",
|
||||
"value" => array(
|
||||
"canonical_url" => $b["plink"]
|
||||
)
|
||||
);
|
||||
|
||||
$data["annotations"][] = array(
|
||||
"type" => "com.friendica.post",
|
||||
"value" => array(
|
||||
"raw" => $b["body2"]
|
||||
)
|
||||
);
|
||||
|
||||
$ret = $app->createPost($b["body"], $data);
|
||||
|
||||
print_r($ret);
|
254
appnet/test/ADNRecipes.php
Normal file
254
appnet/test/ADNRecipes.php
Normal file
|
@ -0,0 +1,254 @@
|
|||
<?php
|
||||
/**
|
||||
* ADNRecipes.php
|
||||
* App.net PHP library
|
||||
* https://github.com/jdolitsky/AppDotNetPHP
|
||||
*
|
||||
* This class contains some simple recipes for publishing to App.net.
|
||||
*/
|
||||
|
||||
require_once "AppDotNet.php";
|
||||
|
||||
class ADNRecipe {
|
||||
protected $_adn = null;
|
||||
|
||||
public function __construct() {
|
||||
$this->_adn = new AppDotNet(null, null);
|
||||
}
|
||||
|
||||
public function setAccessToken($access_token) {
|
||||
$this->_adn->setAccessToken($access_token);
|
||||
}
|
||||
}
|
||||
|
||||
class ADNBroadcastMessageBuilder extends ADNRecipe {
|
||||
// stores the channel ID for this message
|
||||
private $_channel_id = null;
|
||||
|
||||
// stores the headline
|
||||
private $_headline = null;
|
||||
|
||||
// stores the body text
|
||||
private $_text = null;
|
||||
|
||||
// should we parse markdown links?
|
||||
private $_parseMarkdownLinks = false;
|
||||
|
||||
// should we parse URLs out of the text body?
|
||||
private $_parseLinks = false;
|
||||
|
||||
// stores the read more link
|
||||
private $_readMoreLink = null;
|
||||
|
||||
// stores the photo filename
|
||||
private $_photo = null;
|
||||
|
||||
// stores the attachment filename
|
||||
private $_attachment = null;
|
||||
|
||||
/**
|
||||
* Sets the destination channel ID. Required.
|
||||
* @param string $channel_id The App.net Channel ID to send to. Get this
|
||||
* from the web publisher tools if you don't have one.
|
||||
*/
|
||||
public function setChannelID($channel_id) {
|
||||
$this->_channel_id = $channel_id;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getChannelID() {
|
||||
return $this->_channel_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the broadcast headline. This string shows up in the push
|
||||
* notifications which are sent to mobile apps, and is the title
|
||||
* displayed in the UI.
|
||||
* @param string $headline A short string for a headline.
|
||||
*/
|
||||
public function setHeadline($headline) {
|
||||
$this->_headline = $headline;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getHeadline() {
|
||||
return $this->_headline;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the broadcast text. This string shows up as a description
|
||||
* on the broadcast detail page and in the "card" view in the
|
||||
* mobile apps. Can contain links.
|
||||
* @param string $text Broadcast body text.
|
||||
*/
|
||||
public function setText($text) {
|
||||
$this->_text = $text;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getText() {
|
||||
return $this->_text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a flag which allows links to be parsed out of body text in
|
||||
* [Markdown](http://daringfireball.net/projects/markdown/)
|
||||
* format.
|
||||
* @param bool $parseMarkdownLinks Parse markdown links.
|
||||
*/
|
||||
public function setParseMarkdownLinks($parseMarkdownLinks) {
|
||||
$this->_parseMarkdownLinks = $parseMarkdownLinks;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getParseMarkdownLinks() {
|
||||
return $this->_parseMarkdownLinks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a flag which causes bare URLs in body text to be linkified.
|
||||
* @param bool $parseLinks Parse links.
|
||||
*/
|
||||
public function setParseLinks($parseLinks) {
|
||||
$this->_parseLinks = $parseLinks;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getParseLinks() {
|
||||
return $this->_parseLinks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the URL the broadcast should link to.
|
||||
* @param string $readMoreLink Read more link URL.
|
||||
*/
|
||||
public function setReadMoreLink($readMoreLink) {
|
||||
$this->_readMoreLink = $readMoreLink;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getReadMoreLink() {
|
||||
return $this->_readMoreLink;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the filename of a photo associated with a broadcast.
|
||||
* Probably requires the php-imagick extension. File will be
|
||||
* uploaded to App.net.
|
||||
* @param string $photo Photo filename.
|
||||
*/
|
||||
public function setPhoto($photo) {
|
||||
$this->_photo = $photo;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPhoto() {
|
||||
return $this->_photo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the filename of a attachment associated with a broadcast.
|
||||
* File will be uploaded to App.net.
|
||||
* @param string $attachment Attachment filename.
|
||||
*/
|
||||
public function setAttachment($attachment) {
|
||||
$this->_attachment = $attachment;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getAttachment() {
|
||||
return $this->_attachment;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends the built-up broadcast.
|
||||
*/
|
||||
public function send() {
|
||||
$parseLinks = $this->_parseLinks || $this->_parseMarkdownLinks;
|
||||
$message = array(
|
||||
"annotations" => array(),
|
||||
"entities" => array(
|
||||
"parse_links" => $parseLinks,
|
||||
"parse_markdown_links" => $this->_parseMarkdownLinks,
|
||||
),
|
||||
);
|
||||
|
||||
if (isset($this->_photo)) {
|
||||
$photoFile = $this->_adn->createFile($this->_photo, array(
|
||||
type => "com.github.jdolitsky.appdotnetphp.photo",
|
||||
));
|
||||
|
||||
$message["annotations"][] = array(
|
||||
"type" => "net.app.core.oembed",
|
||||
"value" => array(
|
||||
"+net.app.core.file" => array(
|
||||
"file_id" => $photoFile["id"],
|
||||
"file_token" => $photoFile["file_token"],
|
||||
"format" => "oembed",
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if (isset($this->_attachment)) {
|
||||
if (isset($this->_attachment)) {
|
||||
$attachmentFile = $this->_adn->createFile($this->_attachment, array(
|
||||
type => "com.github.jdolitsky.appdotnetphp.attachment",
|
||||
));
|
||||
|
||||
$message["annotations"][] = array(
|
||||
"type" => "net.app.core.oembed",
|
||||
"value" => array(
|
||||
"+net.app.core.file" => array(
|
||||
"file_id" => $attachmentFile["id"],
|
||||
"file_token" => $attachmentFile["file_token"],
|
||||
"format" => "metadata",
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($this->_text)) {
|
||||
$message["text"] = $this->_text;
|
||||
} else {
|
||||
$message["machine_only"] = true;
|
||||
}
|
||||
|
||||
if (isset($this->_headline)) {
|
||||
$message["annotations"][] = array(
|
||||
"type" => "net.app.core.broadcast.message.metadata",
|
||||
"value" => array(
|
||||
"subject" => $this->_headline,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if (isset($this->_readMoreLink)) {
|
||||
$message["annotations"][] = array(
|
||||
"type" => "net.app.core.crosspost",
|
||||
"value" => array(
|
||||
"canonical_url" => $this->_readMoreLink,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
return $this->_adn->createMessage($this->_channel_id, $message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
94
appnet/test/ConsumeStream.php
Executable file
94
appnet/test/ConsumeStream.php
Executable file
|
@ -0,0 +1,94 @@
|
|||
<?php
|
||||
|
||||
require_once 'AppDotNet.php';
|
||||
require_once 'EZsettings.php';
|
||||
|
||||
$app = new AppDotNet($app_clientId,$app_clientSecret);
|
||||
|
||||
// You need an app token to consume the stream, get the token returned by App.net
|
||||
// (this also sets the token)
|
||||
$token = $app->getAppAccessToken();
|
||||
|
||||
// getting a 400 error
|
||||
// 1. first check to make sure you set your app_clientId & app_clientSecret correctly
|
||||
// if that doesn't fix it, try this
|
||||
// 2. It's possible you have hit your stream limit (5 stream per app)
|
||||
// uncomment this to clear all the streams you've previously created
|
||||
//$app->deleteAllStreams();
|
||||
|
||||
// create a stream
|
||||
// if you already have a stream you can skip this step
|
||||
// this stream is going to consume posts and stars (but not follows)
|
||||
$stream = $app->createStream(array('post','star','user_follow'));
|
||||
|
||||
// you might want to save $stream['endpoint'] or $stream['id'] for later so
|
||||
// you don't have to re-create the stream
|
||||
print "stream id [".$stream['id']."]\n";
|
||||
//$stream = $app->getStream(XXX);
|
||||
|
||||
// we need to create a callback function that will do something with posts/stars
|
||||
// when they're received from the stream. This function should accept one single
|
||||
// parameter that will be the php object containing the meta / data for the event.
|
||||
|
||||
/*
|
||||
[meta] => Array
|
||||
(
|
||||
[timestamp] => 1352147672891
|
||||
[type] => post/star/etc...
|
||||
[id] => 1399341
|
||||
)
|
||||
// data is as you would expect it
|
||||
*/
|
||||
function handleEvent($event) {
|
||||
global $counters;
|
||||
$json=json_encode($event['data']);
|
||||
$counters[$event['meta']['type']]++;
|
||||
switch ($event['meta']['type']) {
|
||||
case 'post':
|
||||
print $event['meta']['is_deleted']?'p':'P';
|
||||
break;
|
||||
case 'star':
|
||||
print $event['meta']['is_deleted']?'_':'*';
|
||||
break;
|
||||
case 'user_follow':
|
||||
print $event['meta']['is_deleted']?'f':'F';
|
||||
break;
|
||||
case 'stream_marker':
|
||||
print $event['meta']['is_deleted']?'/':'=';
|
||||
break;
|
||||
case 'message':
|
||||
print $event['meta']['is_deleted']?'m':'M';
|
||||
break;
|
||||
case 'channel':
|
||||
print $event['meta']['is_deleted']?'c':'C';
|
||||
break;
|
||||
case 'channel_subscription':
|
||||
print $event['meta']['is_deleted']?'f':'F';
|
||||
break;
|
||||
default:
|
||||
print "Unknwon type [".$event['meta']['type']."]\n";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// register that function as the stream handler
|
||||
$app->registerStreamFunction('handleEvent');
|
||||
|
||||
// open the stream for reading
|
||||
$app->openStream($stream['endpoint']);
|
||||
|
||||
// now we want to process the stream. We have two options. If all we're doing
|
||||
// in this script is processing the stream, we can just call:
|
||||
// $app->processStreamForever();
|
||||
// otherwise you can create a loop, and call $app->processStream($milliseconds)
|
||||
// intermittently, like:
|
||||
while (true) {
|
||||
$counters=array('post'=>0,'star'=>0,'user_follow'=>0,'stream_marker'=>0,'message'=>0,'channel'=>0,'channel_subscription'=>0);
|
||||
// now we're going to process the stream for awhile (60 seconds)
|
||||
$app->processStream(60*1000000);
|
||||
echo "\n";
|
||||
// show some stats
|
||||
echo date('H:i')." [",$counters['post'],"]posts [",$counters['star'],"]stars [",$counters['user_follow'],"]follow [",$counters['stream_marker'],"]mrkrs [",$counters['message'],"]msgs /min\n";
|
||||
// then do something else...
|
||||
}
|
||||
?>
|
235
appnet/test/EZAppDotNet.php
Normal file
235
appnet/test/EZAppDotNet.php
Normal file
|
@ -0,0 +1,235 @@
|
|||
<?php
|
||||
/**
|
||||
* EZAppDotNet.php
|
||||
* Class for easy web development
|
||||
* https://github.com/jdolitsky/AppDotNetPHP
|
||||
*
|
||||
* This class does as much of the grunt work as possible in helping you to
|
||||
* access the App.net API. In theory you don't need to know anything about
|
||||
* oAuth, tokens, or all the ugly details of how it works, it should "just
|
||||
* work".
|
||||
*
|
||||
* Note this class assumes you're running a web site, and you'll be
|
||||
* accessing it via a web browser (it expects to be able to do things like
|
||||
* cookies and sessions). If you're not using a web browser in your App.net
|
||||
* application, or you want more fine grained control over what's being
|
||||
* done for you, use the included AppDotNet class, which does much
|
||||
* less automatically.
|
||||
*/
|
||||
|
||||
// comment these two lines out in production
|
||||
//error_reporting(E_ALL);
|
||||
//ini_set('display_errors', 1);
|
||||
|
||||
//require_once 'EZsettings.php';
|
||||
require_once 'AppDotNet.php';
|
||||
|
||||
// comment this out if session is started elsewhere
|
||||
//session_start();
|
||||
|
||||
class EZAppDotNet extends AppDotNet {
|
||||
|
||||
private $_callbacks = array();
|
||||
private $_autoShutdownStreams = array();
|
||||
|
||||
public function __construct($clientId=null,$clientSecret=null) {
|
||||
global $app_clientId,$app_clientSecret;
|
||||
|
||||
// if client id wasn't passed, and it's in the settings.php file, use it from there
|
||||
if (!$clientId && isset($app_clientId)) {
|
||||
|
||||
// if it's still the default, warn them
|
||||
if ($app_clientId == 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') {
|
||||
throw new AppDotNetException('You must change the values defined in EZsettings.php');
|
||||
}
|
||||
|
||||
$clientId = $app_clientId;
|
||||
$clientSecret = $app_clientSecret;
|
||||
}
|
||||
|
||||
// call the parent with the variables we have
|
||||
parent::__construct($clientId,$clientSecret);
|
||||
|
||||
// set up ez streaming
|
||||
$this->registerStreamFunction(array($this,'streamEZCallback'));
|
||||
|
||||
// make sure we cleanup/destroy any streams when we exit
|
||||
register_shutdown_function(array($this,'stopStreaming'));
|
||||
}
|
||||
|
||||
public function getAuthUrl($redirectUri=null,$scope=null) {
|
||||
global $app_redirectUri,$app_scope;
|
||||
|
||||
if (is_null($redirectUri)) {
|
||||
$redirectUri = $app_redirectUri;
|
||||
}
|
||||
if (is_null($scope)) {
|
||||
$scope = $app_scope;
|
||||
}
|
||||
return parent::getAuthUrl($redirectUri,$scope);
|
||||
}
|
||||
|
||||
// user login
|
||||
public function setSession($cookie=0,$callback=null) {
|
||||
|
||||
if (!isset($callback)) {
|
||||
global $app_redirectUri;
|
||||
$cb=$app_redirectUri;
|
||||
} else {
|
||||
$cb=$callback;
|
||||
}
|
||||
|
||||
// try and set the token the original way (eg: if they're logging in)
|
||||
$token = $this->getAccessToken($cb);
|
||||
|
||||
// if that didn't work, check to see if there's an existing token stored somewhere
|
||||
if (!$token) {
|
||||
$token = $this->getSession();
|
||||
}
|
||||
|
||||
$_SESSION['AppDotNetPHPAccessToken']=$token;
|
||||
|
||||
// if they want to stay logged in via a cookie, set the cookie
|
||||
if ($token && $cookie) {
|
||||
$cookie_lifetime = time()+(60*60*24*7);
|
||||
setcookie('AppDotNetPHPAccessToken',$token,$cookie_lifetime);
|
||||
}
|
||||
|
||||
return $token;
|
||||
}
|
||||
|
||||
// check if user is logged in
|
||||
public function getSession() {
|
||||
|
||||
// first check for cookie
|
||||
if (isset($_COOKIE['AppDotNetPHPAccessToken']) && $_COOKIE['AppDotNetPHPAccessToken'] != 'expired') {
|
||||
$this->setAccessToken($_COOKIE['AppDotNetPHPAccessToken']);
|
||||
return $_COOKIE['AppDotNetPHPAccessToken'];
|
||||
}
|
||||
|
||||
// else check the session for the token (from a previous page load)
|
||||
else if (isset($_SESSION['AppDotNetPHPAccessToken'])) {
|
||||
$this->setAccessToken($_SESSION['AppDotNetPHPAccessToken']);
|
||||
return $_SESSION['AppDotNetPHPAccessToken'];
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// log the user out
|
||||
public function deleteSession() {
|
||||
// clear the session
|
||||
unset($_SESSION['AppDotNetPHPAccessToken']);
|
||||
|
||||
// unset the cookie
|
||||
setcookie('AppDotNetPHPAccessToken', null, 1);
|
||||
|
||||
// clear the access token
|
||||
$this->setAccessToken(null);
|
||||
|
||||
// done!
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a callback function to be called whenever an event of a certain
|
||||
* type is received from the app.net streaming API. Your function will recieve
|
||||
* a PHP associative array containing an app.net object. You must register at
|
||||
* least one callback function before starting to stream (otherwise your data
|
||||
* would simply be discarded). You can register multiple event types and even
|
||||
* multiple functions per event (just call this method as many times as needed).
|
||||
* If you register multiple functions for a single event, each will be called
|
||||
* every time an event of that type is received.
|
||||
*
|
||||
* Note you should not be doing any significant processing in your callback
|
||||
* functions. Doing so could cause your scripts to fall behind the stream and
|
||||
* risk getting disconnected. Ideally your callback functions should simply
|
||||
* drop the data into a file or database to be collected and processed by
|
||||
* another program.
|
||||
* @param string $type The type of even your callback would like to recieve.
|
||||
* At time of writing the possible options are 'post', 'star', 'user_follow'.
|
||||
*/
|
||||
public function registerStreamCallback($type,$callback) {
|
||||
switch ($type) {
|
||||
case 'post':
|
||||
case 'star':
|
||||
case 'user_follow':
|
||||
if (!array_key_exists($type,$this->_callbacks)) {
|
||||
$this->_callbacks[$type] = array();
|
||||
}
|
||||
$this->_callbacks[$type][] = $callback;
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
throw new AppDotNetException('Unknown callback type: '.$type);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the easy way to start streaming. Register some callback functions
|
||||
* using registerCallback(), then call startStreaming(). Every time the stream
|
||||
* gets sent a type of object you have a callback for, your callback function(s)
|
||||
* will be called with the proper data. When your script exits the streams will
|
||||
* be cleaned up (deleted).
|
||||
*
|
||||
* Do not use this method if you want to spread out streams across multiple
|
||||
* processes or multiple servers, since the first script that exits/crashes will
|
||||
* delete the streams for everyone else. Instead use createStream() and openStream().
|
||||
* @return true
|
||||
* @see AppDotNetStream::stopStreaming()
|
||||
* @see AppDotNetStream::createStream()
|
||||
* @see AppDotNetStream::openStream()
|
||||
*/
|
||||
public function startStreaming() {
|
||||
// only listen for object types that we have registered callbacks for
|
||||
if (!$this->_callbacks) {
|
||||
throw new AppDotNetException('You must register at least one callback function before calling startStreaming');
|
||||
}
|
||||
// if there's already a stream running, don't allow another
|
||||
if ($this->_currentStream) {
|
||||
throw new AppDotNetException('There is already a stream being consumed, only one stream can be consumed per AppDotNetStream instance');
|
||||
}
|
||||
$stream = $this->createStream(array_keys($this->_callbacks));
|
||||
// when the script exits, delete this stream (if it's still around)
|
||||
$this->_autoShutdownStreams[] = $response['id'];
|
||||
// start consuming
|
||||
$this->openStream($response['id']);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the easy way to stop streaming and cleans up the no longer needed stream.
|
||||
* This method will be called automatically if you started streaming using
|
||||
* startStreaming().
|
||||
*
|
||||
* Do not use this method if you want to spread out streams across multiple
|
||||
* processes or multiple servers, since it will delete the streams for everyone
|
||||
* else. Instead use closeStream().
|
||||
* @return true
|
||||
* @see AppDotNetStream::startStreaming()
|
||||
* @see AppDotNetStream::deleteStream()
|
||||
* @see AppDotNetStream::closeStream()
|
||||
*/
|
||||
public function stopStreaming() {
|
||||
$this->closeStream();
|
||||
// delete any auto streams
|
||||
foreach ($this->_autoShutdownStreams as $streamId) {
|
||||
$this->deleteStream($streamId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal function used to make your streaming easier. I hope.
|
||||
*/
|
||||
protected function streamEZCallback($type,$data) {
|
||||
// if there are defined callbacks for this object type, then...
|
||||
if (array_key_exists($type,$this->_callbacks)) {
|
||||
// loop through the callbacks notifying each one in turn
|
||||
foreach ($this->_callbacks[$type] as $callback) {
|
||||
call_user_func($callback,$data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
25
appnet/test/EZsettings.php
Normal file
25
appnet/test/EZsettings.php
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
|
||||
// change these values to your own in order to use EZAppDotNet
|
||||
$app_clientId = 'js4qF6UN4fwXTK87Ax9Bjf3DhEQuK5hA';
|
||||
$app_clientSecret = 'Z4hsLHh82d5cQAwNVD2uZtNg3WqFxLXF';
|
||||
|
||||
// this must be one of the URLs defined in your App.net application settings
|
||||
$app_redirectUri = 'https://pirati.ca/addon/appnetpost/appnet.php';
|
||||
|
||||
// An array of permissions you're requesting from the user.
|
||||
// As a general rule you should only request permissions you need for your app.
|
||||
// By default all permissions are commented out, meaning you'll have access
|
||||
// to their basic profile only. Uncomment the ones you need.
|
||||
$app_scope = array(
|
||||
'basic', // See basic user info (default, required: may be given if not specified)
|
||||
'stream', // Read the user's personalized stream
|
||||
// 'email', // Access the user's email address
|
||||
'write_post', // Post on behalf of the user
|
||||
// 'follow', // Follow and unfollow other users
|
||||
'public_messages', // Send and receive public messages as this user
|
||||
'messages', // Send and receive public and private messages as this user
|
||||
// 'update_profile', // Update a user’s name, images, and other profile information
|
||||
// 'files', // Manage a user’s files. This is not needed for uploading files.
|
||||
// 'export', // Export all user data (shows a warning)
|
||||
);
|
106
appnet/test/backup/appnet.php
Normal file
106
appnet/test/backup/appnet.php
Normal file
|
@ -0,0 +1,106 @@
|
|||
<?php
|
||||
/*
|
||||
* login_with_buffer.php
|
||||
*
|
||||
* @(#) $Id: login_with_buffer.php,v 1.1 2014/03/17 09:45:08 mlemos Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Get the http.php file from http://www.phpclasses.org/httpclient
|
||||
*/
|
||||
require('http.php');
|
||||
require('oauth_client.php');
|
||||
|
||||
$client = new oauth_client_class;
|
||||
$client->debug = true;
|
||||
$client->debug_http = true;
|
||||
$client->server = '';
|
||||
|
||||
$client->oauth_version = '2.0';
|
||||
$client->dialog_url = 'https://account.app.net/oauth/authenticate?client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope={SCOPE}&response_type=code&state={STATE}';
|
||||
$client->access_token_url = 'https://account.app.net/oauth/access_token';
|
||||
|
||||
$client->redirect_uri = 'https://'.$_SERVER['HTTP_HOST'].
|
||||
dirname(strtok($_SERVER['REQUEST_URI'],'?')).'/appnet.php';
|
||||
|
||||
$client->client_id = 'js4qF6UN4fwXTK87Ax9Bjf3DhEQuK5hA'; $application_line = __LINE__;
|
||||
$client->client_secret = 'Z4hsLHh82d5cQAwNVD2uZtNg3WqFxLXF ';
|
||||
|
||||
if(strlen($client->client_id) == 0
|
||||
|| strlen($client->client_secret) == 0)
|
||||
die('Please create an application in App.net Apps page '.
|
||||
'https://bufferapp.com/developers/apps/create '.
|
||||
' and in the line '.$application_line.
|
||||
' set the client_id to Client ID and client_secret with Client'.
|
||||
' Secret');
|
||||
|
||||
//$client->access_token = 'AQAAAAAACzfmWzVa5o69CFJrV-fBt9PLkV9sd9_0BnnHTI02_NGvvsZDCgz-38eA5_yAgu9AwaFcUzFp0qdCj4y2svy6qUl42g';
|
||||
|
||||
/* API permissions
|
||||
*/
|
||||
$client->scope = '';
|
||||
if(($success = $client->Initialize()))
|
||||
{
|
||||
if(($success = $client->Process()))
|
||||
{
|
||||
if(strlen($client->access_token))
|
||||
{;
|
||||
$success = $client->CallAPI(
|
||||
'https://api.app.net/users/me',
|
||||
'GET', array(), array('FailOnAccessError'=>true, 'RequestBody'=>true), $user);
|
||||
/*
|
||||
$params["text"] = "Nur ein Test";
|
||||
$params["profile_ids"][] = "52b844df9db82271330000b8";
|
||||
//$params["profile_ids"][] = "5280e86b5b3c91d77b0000dd";
|
||||
//$params["profile_ids"][] = "52b844ed9db82271330000bc";
|
||||
//$params["profile_ids"][] = "52b8463d9db822db340000e1";
|
||||
$params["shorten"] = false;
|
||||
$params["now"] = false;
|
||||
print_r($params);
|
||||
$success = $client->CallAPI(
|
||||
'https://api.bufferapp.com/1/updates/create.json',
|
||||
'POST', $params, array('FailOnAccessError'=>true, 'RequestContentType'=>'application/json'), $user);
|
||||
*/
|
||||
}
|
||||
}
|
||||
$success = $client->Finalize($success);
|
||||
}
|
||||
if($client->exit)
|
||||
exit;
|
||||
|
||||
if($success)
|
||||
{
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>App.net OAuth client results</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
echo '<h1>', HtmlSpecialChars($user->name),
|
||||
' you have logged in successfully with App.net!</h1>';
|
||||
echo '<pre>', HtmlSpecialChars(print_r($user, 1)), '</pre>';
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>OAuth client error</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>OAuth client error</h1>
|
||||
<pre>Error: <?php echo HtmlSpecialChars($client->error); ?></pre>
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
}
|
||||
|
||||
?>
|
2122
appnet/test/backup/http.php
Normal file
2122
appnet/test/backup/http.php
Normal file
File diff suppressed because it is too large
Load diff
2486
appnet/test/backup/oauth_client.php
Normal file
2486
appnet/test/backup/oauth_client.php
Normal file
File diff suppressed because it is too large
Load diff
272
appnet/test/backup/oauth_configuration.json
Normal file
272
appnet/test/backup/oauth_configuration.json
Normal file
|
@ -0,0 +1,272 @@
|
|||
{
|
||||
"version": "$Id: oauth_configuration.json,v 1.6 2014/04/12 10:24:01 mlemos Exp $",
|
||||
"comments": [
|
||||
"The servers entry should be an object with a list of object",
|
||||
"entries, one for each server type. The server object entry name is",
|
||||
"the name of the server type. Each server entry is an object with",
|
||||
"some mandatory properties: oauth_version, dialog_url,",
|
||||
"access_token_url and request_token_url (just for Oauth 1.0 and",
|
||||
"1.0a). Check the OAuth client class for the complete list of server",
|
||||
"properties."
|
||||
],
|
||||
"servers":
|
||||
{
|
||||
"37Signals":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://launchpad.37signals.com/authorization/new?type=web_server&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&state={STATE}&scope={SCOPE}",
|
||||
"access_token_url": "https://launchpad.37signals.com/authorization/token?type=web_server"
|
||||
},
|
||||
|
||||
"Amazon":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://www.amazon.com/ap/oa?client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope={SCOPE}&response_type=code&state={STATE}",
|
||||
"access_token_url": "https://api.amazon.com/auth/o2/token"
|
||||
},
|
||||
|
||||
"Bitbucket":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "https://bitbucket.org/!api/1.0/oauth/request_token",
|
||||
"dialog_url": "https://bitbucket.org/!api/1.0/oauth/authenticate",
|
||||
"access_token_url": "https://bitbucket.org/!api/1.0/oauth/access_token",
|
||||
"url_parameters": false
|
||||
},
|
||||
|
||||
"Box":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://www.box.com/api/oauth2/authorize?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&state={STATE}&scope={SCOPE}",
|
||||
"offline_dialog_url": "https://www.box.com/api/oauth2/authorize?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&state={STATE}&access_type=offline&approval_prompt=force",
|
||||
"access_token_url": "https://www.box.com/api/oauth2/token"
|
||||
},
|
||||
|
||||
"Buffer":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://bufferapp.com/oauth2/authorize?client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&response_type=code&state={STATE}&scope={SCOPE}",
|
||||
"access_token_url": "https://api.bufferapp.com/1/oauth2/token.json"
|
||||
},
|
||||
|
||||
"Dailymotion":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://api.dailymotion.com/oauth/authorize?client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&response_type=code&state={STATE}&scope={SCOPE}",
|
||||
"access_token_url": "https://api.dailymotion.com/oauth/token"
|
||||
},
|
||||
|
||||
"Discogs":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "http://api.discogs.com/oauth/request_token",
|
||||
"dialog_url": "http://www.discogs.com/oauth/authorize",
|
||||
"access_token_url": "http://api.discogs.com/oauth/access_token"
|
||||
},
|
||||
|
||||
"Disqus":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://disqus.com/api/oauth/2.0/authorize/?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope={SCOPE}&state={STATE}",
|
||||
"access_token_url": "https://disqus.com/api/oauth/2.0/access_token/"
|
||||
},
|
||||
|
||||
"Dropbox":
|
||||
{
|
||||
"oauth_version": "1.0",
|
||||
"request_token_url": "https://api.dropbox.com/1/oauth/request_token",
|
||||
"dialog_url": "https://www.dropbox.com/1/oauth/authorize",
|
||||
"access_token_url": "https://api.dropbox.com/1/oauth/access_token",
|
||||
"authorization_header": false
|
||||
},
|
||||
|
||||
"Dropbox2":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://www.dropbox.com/1/oauth2/authorize?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope={SCOPE}&state={STATE}",
|
||||
"access_token_url": "https://www.dropbox.com/1/oauth2/token"
|
||||
},
|
||||
|
||||
"Etsy":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "https://openapi.etsy.com/v2/oauth/request_token?scope={SCOPE}",
|
||||
"dialog_url": "automatic",
|
||||
"access_token_url": "https://openapi.etsy.com/v2/oauth/access_token"
|
||||
},
|
||||
|
||||
"Eventful":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "http://eventful.com/oauth/request_token",
|
||||
"dialog_url": "http://eventful.com/oauth/authorize",
|
||||
"access_token_url": "http://eventful.com/oauth/access_token",
|
||||
"authorization_header": false,
|
||||
"url_parameters": true,
|
||||
"token_request_method": "POST"
|
||||
},
|
||||
|
||||
"Evernote":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "https://sandbox.evernote.com/oauth",
|
||||
"dialog_url": "https://sandbox.evernote.com/OAuth.action",
|
||||
"access_token_url": "https://sandbox.evernote.com/oauth",
|
||||
"url_parameters": true,
|
||||
"authorization_header": false
|
||||
},
|
||||
|
||||
"Fitbit":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "http://api.fitbit.com/oauth/request_token",
|
||||
"dialog_url": "http://api.fitbit.com/oauth/authorize",
|
||||
"access_token_url": "http://api.fitbit.com/oauth/access_token"
|
||||
},
|
||||
|
||||
"Flickr":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "http://www.flickr.com/services/oauth/request_token",
|
||||
"dialog_url": "http://www.flickr.com/services/oauth/authorize?perms={SCOPE}",
|
||||
"access_token_url": "http://www.flickr.com/services/oauth/access_token",
|
||||
"authorization_header": false
|
||||
},
|
||||
|
||||
"Foursquare":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://foursquare.com/oauth2/authorize?client_id={CLIENT_ID}&scope={SCOPE}&response_type=code&redirect_uri={REDIRECT_URI}&state={STATE}",
|
||||
"access_token_url": "https://foursquare.com/oauth2/access_token",
|
||||
"access_token_parameter": "oauth_token"
|
||||
},
|
||||
|
||||
"Google1":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"dialog_url": "https://www.google.com/accounts/OAuthAuthorizeToken",
|
||||
"access_token_url": "https://www.google.com/accounts/OAuthGetAccessToken",
|
||||
"request_token_url": "https://www.google.com/accounts/OAuthGetRequestToken?scope={SCOPE}"
|
||||
},
|
||||
|
||||
"Instagram":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://api.instagram.com/oauth/authorize/?client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope={SCOPE}&response_type=code&state={STATE}",
|
||||
"access_token_url": "https://api.instagram.com/oauth/access_token"
|
||||
},
|
||||
|
||||
"Rdio":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "http://api.rdio.com/oauth/request_token",
|
||||
"dialog_url": "https://www.rdio.com/oauth/authorize",
|
||||
"access_token_url": "http://api.rdio.com/oauth/access_token"
|
||||
},
|
||||
|
||||
"Reddit":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://ssl.reddit.com/api/v1/authorize?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope={SCOPE}&state={STATE}",
|
||||
"offline_dialog_url": "https://ssl.reddit.com/api/v1/authorize?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope={SCOPE}&state={STATE}&duration=permanent",
|
||||
"access_token_url": "https://ssl.reddit.com/api/v1/access_token",
|
||||
"access_token_authentication": "basic"
|
||||
},
|
||||
|
||||
"RightSignature":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "https://rightsignature.com/oauth/request_token",
|
||||
"dialog_url": "https://rightsignature.com/oauth/authorize",
|
||||
"access_token_url": "https://rightsignature.com/oauth/access_token",
|
||||
"authorization_header": false
|
||||
},
|
||||
|
||||
"Salesforce":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope={SCOPE}&state={STATE}",
|
||||
"access_token_url": "https://login.salesforce.com/services/oauth2/token",
|
||||
"default_access_token_type": "Bearer",
|
||||
"store_access_token_response": true
|
||||
},
|
||||
|
||||
"Scoop.it":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "https://www.scoop.it/oauth/request",
|
||||
"dialog_url": "https://www.scoop.it/oauth/authorize",
|
||||
"access_token_url": "https://www.scoop.it/oauth/access",
|
||||
"authorization_header": false
|
||||
},
|
||||
|
||||
"StockTwits":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://api.stocktwits.com/api/2/oauth/authorize?client_id={CLIENT_ID}&response_type=code&redirect_uri={REDIRECT_URI}&scope={SCOPE}&state={STATE}",
|
||||
"access_token_url": "https://api.stocktwits.com/api/2/oauth/token"
|
||||
},
|
||||
|
||||
"SurveyMonkey":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://api.surveymonkey.net/oauth/authorize?client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&response_type=code&state={STATE}&api_key={API_KEY}&scope={SCOPE}",
|
||||
"access_token_url": "https://api.surveymonkey.net/oauth/token?api_key={API_KEY}"
|
||||
},
|
||||
|
||||
"Tumblr":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "http://www.tumblr.com/oauth/request_token",
|
||||
"dialog_url": "http://www.tumblr.com/oauth/authorize",
|
||||
"access_token_url": "http://www.tumblr.com/oauth/access_token"
|
||||
},
|
||||
|
||||
"Vimeo":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://api.vimeo.com/oauth/authorize?client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&response_type=code&state={STATE}&scope={SCOPE}",
|
||||
"access_token_url": "https://api.vimeo.com/oauth/access_token"
|
||||
},
|
||||
|
||||
"VK":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://oauth.vk.com/authorize?client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope={SCOPE}&state={STATE}",
|
||||
"access_token_url": "https://oauth.vk.com/access_token"
|
||||
},
|
||||
|
||||
"Withings":
|
||||
{
|
||||
"oauth_version": "1.0",
|
||||
"request_token_url": "https://oauth.withings.com/account/request_token",
|
||||
"dialog_url": "https://oauth.withings.com/account/authorize",
|
||||
"access_token_url": "https://oauth.withings.com/account/access_token",
|
||||
"authorization_header": false
|
||||
},
|
||||
|
||||
"Wordpress":
|
||||
{
|
||||
"oauth_version": "2.0",
|
||||
"dialog_url": "https://public-api.wordpress.com/oauth2/authorize?client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&response_type=code&state={STATE}&scope={SCOPE}",
|
||||
"access_token_url": "https://public-api.wordpress.com/oauth2/token"
|
||||
},
|
||||
|
||||
"Xero":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "https://api.xero.com/oauth/RequestToken",
|
||||
"dialog_url": "https://api.xero.com/oauth/Authorize",
|
||||
"access_token_url": "https://api.xero.com/oauth/AccessToken"
|
||||
},
|
||||
|
||||
"XING":
|
||||
{
|
||||
"oauth_version": "1.0a",
|
||||
"request_token_url": "https://api.xing.com/v1/request_token",
|
||||
"dialog_url": "https://api.xing.com/v1/authorize",
|
||||
"access_token_url": "https://api.xing.com/v1/access_token",
|
||||
"authorization_header": false
|
||||
}
|
||||
}
|
||||
}
|
BIN
appnet/test/master.zip
Normal file
BIN
appnet/test/master.zip
Normal file
Binary file not shown.
29
appnet/test2.php
Executable file
29
appnet/test2.php
Executable file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
require_once("boot.php");
|
||||
|
||||
if(@is_null($a)) {
|
||||
$a = new App;
|
||||
}
|
||||
|
||||
@include(".htconfig.php");
|
||||
require_once("dba.php");
|
||||
dba::connect($db_host, $db_user, $db_pass, $db_data);
|
||||
unset($db_host, $db_user, $db_pass, $db_data);
|
||||
|
||||
$a->set_baseurl(get_config('system','url'));
|
||||
|
||||
$items = q("select * from item where id=3602849");
|
||||
|
||||
$b = $items[0];
|
||||
$b["body"] = "[vimeo]http://vimeo.com/91121293[/vimeo]";
|
||||
|
||||
$b["body"] = "[share author='KueltuertageAugsburg' profile='https://twitter.com/KueltuertageA' avatar='https://pbs.twimg.com/profile_images/1575855154/logo_kueltuerverein_brief_normal.jpg' link='https://twitter.com/KueltuertageA/status/424977769080958976']Da will eine 'Bürgerinitiative Ausländerstopp' in #Augsburg zur [url=http://www.heise.de]Kommunalwahl[/url] antreten.[/share]";
|
||||
|
||||
|
||||
require_once("include/plaintext.php");
|
||||
require_once("addon/appnet/appnet.php");
|
||||
$post = plaintext($a, $b, 256, false, 6);
|
||||
$text = appnet_create_entities($a, $b, $post);
|
||||
|
||||
//print_r($post);
|
||||
echo $text;
|
6284
appnet/users.txt
Normal file
6284
appnet/users.txt
Normal file