Revert to stable version 3.5.4
parent
38db18b624
commit
5360f08f42
appnet
templates
blackout
blockem
blogger
buffer
communityhome
convert
convpath
curweather
templates
defaultfeatures
dwpost
File diff suppressed because it is too large
Load Diff
|
@ -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-----
|
|
@ -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.
|
|
@ -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;
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -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 ""
|
|
@ -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í"
|
|
@ -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í";
|
|
@ -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"
|
|
@ -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";
|
|
@ -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"
|
|
@ -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";
|
|
@ -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"
|
|
@ -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";
|
|
@ -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"
|
|
@ -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";
|
|
@ -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 ""
|
|
@ -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"] = "";
|
|
@ -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"
|
|
@ -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";
|
|
@ -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"
|
|
@ -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";
|
|
@ -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 "Сохранить настройки"
|
|
@ -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"] = "Сохранить настройки";
|
|
@ -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>
|
|
@ -36,10 +36,10 @@
|
|||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
|
@ -49,7 +49,6 @@
|
|||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
use Friendica\Core\Config;
|
||||
|
||||
function blackout_install() {
|
||||
register_hook('page_header', 'addon/blackout/blackout.php', 'blackout_redirect');
|
||||
|
@ -68,9 +67,9 @@ function blackout_redirect ($a, $b) {
|
|||
return true;
|
||||
|
||||
// else...
|
||||
$mystart = Config::get('blackout','begindate');
|
||||
$myend = Config::get('blackout','enddate');
|
||||
$myurl = Config::get('blackout','url');
|
||||
$mystart = get_config('blackout','begindate');
|
||||
$myend = get_config('blackout','enddate');
|
||||
$myurl = get_config('blackout','url');
|
||||
$now = time();
|
||||
$date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart);
|
||||
$date2 = DateTime::createFromFormat('Y-m-d G:i', $myend);
|
||||
|
@ -88,21 +87,21 @@ function blackout_redirect ($a, $b) {
|
|||
}
|
||||
|
||||
function blackout_plugin_admin(&$a, &$o) {
|
||||
$mystart = Config::get('blackout','begindate');
|
||||
$mystart = get_config('blackout','begindate');
|
||||
if (! is_string($mystart)) { $mystart = "YYYY-MM-DD:hhmm"; }
|
||||
$myend = Config::get('blackout','enddate');
|
||||
$myend = get_config('blackout','enddate');
|
||||
if (! is_string($myend)) { $myend = "YYYY-MM-DD:hhmm"; }
|
||||
$myurl = Config::get('blackout','url');
|
||||
$myurl = get_config('blackout','url');
|
||||
if (! is_string($myurl)) { $myurl = "http://www.example.com"; }
|
||||
$t = get_markup_template( "admin.tpl", "addon/blackout/" );
|
||||
|
||||
$o = replace_macros($t, [
|
||||
|
||||
$o = replace_macros($t, array(
|
||||
'$submit' => t('Save Settings'),
|
||||
'$rurl' => ["rurl", "Redirect URL", $myurl, "all your visitors from the web will be redirected to this URL"],
|
||||
'$startdate' => ["startdate", "Begin of the Blackout<br />(YYYY-MM-DD hh:mm)", $mystart, "format is <em>YYYY</em> year, <em>MM</em> month, <em>DD</em> day, <em>hh</em> hour and <em>mm</em> minute"],
|
||||
'$enddate' => ["enddate", "End of the Blackout<br />(YYYY-MM-DD hh:mm)", $myend, ""],
|
||||
'$rurl' => array("rurl", "Redirect URL", $myurl, "all your visitors from the web will be redirected to this URL"),
|
||||
'$startdate' => array("startdate", "Begin of the Blackout<br />(YYYY-MM-DD hh:mm)", $mystart, "format is <em>YYYY</em> year, <em>MM</em> month, <em>DD</em> day, <em>hh</em> hour and <em>mm</em> minute"),
|
||||
'$enddate' => array("enddate", "End of the Blackout<br />(YYYY-MM-DD hh:mm)", $myend, ""),
|
||||
|
||||
]);
|
||||
));
|
||||
$date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart);
|
||||
$date2 = DateTime::createFromFormat('Y-m-d G:i', $myend);
|
||||
if ($date2 < $date1) {
|
||||
|
@ -115,7 +114,7 @@ function blackout_plugin_admin_post (&$a) {
|
|||
$begindate = trim($_POST['startdate']);
|
||||
$enddate = trim($_POST['enddate']);
|
||||
$url = trim($_POST['rurl']);
|
||||
Config::set('blackout','begindate',$begindate);
|
||||
Config::set('blackout','enddate',$enddate);
|
||||
Config::set('blackout','url',$url);
|
||||
set_config('blackout','begindate',$begindate);
|
||||
set_config('blackout','enddate',$enddate);
|
||||
set_config('blackout','url',$url);
|
||||
}
|
||||
|
|
|
@ -6,11 +6,9 @@
|
|||
* Description: block people
|
||||
* Version: 1.0
|
||||
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
use Friendica\Core\PConfig;
|
||||
|
||||
function blockem_install() {
|
||||
register_hook('prepare_body', 'addon/blockem/blockem.php', 'blockem_prepare_body');
|
||||
register_hook('display_item', 'addon/blockem/blockem.php', 'blockem_display_item');
|
||||
|
@ -47,7 +45,7 @@ function blockem_addon_settings(&$a,&$s) {
|
|||
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/blockem/blockem.css' . '" media="all" />' . "\r\n";
|
||||
|
||||
|
||||
$words = PConfig::get(local_user(),'blockem','words');
|
||||
$words = get_pconfig(local_user(),'blockem','words');
|
||||
if(! $words)
|
||||
$words = '';
|
||||
|
||||
|
@ -76,7 +74,7 @@ function blockem_addon_settings_post(&$a,&$b) {
|
|||
return;
|
||||
|
||||
if($_POST['blockem-submit']) {
|
||||
PConfig::set(local_user(),'blockem','words',trim($_POST['blockem-words']));
|
||||
set_pconfig(local_user(),'blockem','words',trim($_POST['blockem-words']));
|
||||
info( t('BLOCKEM Settings saved.') . EOL);
|
||||
}
|
||||
}
|
||||
|
@ -84,7 +82,7 @@ function blockem_addon_settings_post(&$a,&$b) {
|
|||
|
||||
function blockem_enotify_store(&$a,&$b) {
|
||||
|
||||
$words = PConfig::get($b['uid'],'blockem','words');
|
||||
$words = get_pconfig($b['uid'],'blockem','words');
|
||||
if($words) {
|
||||
$arr = explode(',',$words);
|
||||
}
|
||||
|
@ -117,7 +115,7 @@ function blockem_prepare_body(&$a,&$b) {
|
|||
|
||||
$words = null;
|
||||
if(local_user()) {
|
||||
$words = PConfig::get(local_user(),'blockem','words');
|
||||
$words = get_pconfig(local_user(),'blockem','words');
|
||||
}
|
||||
if($words) {
|
||||
$arr = explode(',',$words);
|
||||
|
@ -141,7 +139,7 @@ function blockem_prepare_body(&$a,&$b) {
|
|||
}
|
||||
if($found) {
|
||||
$rnd = random_string(8);
|
||||
$b['html'] = '<div id="blockem-wrap-' . $rnd . '" class="fakelink" onclick=openClose(\'blockem-' . $rnd . '\'); >' . sprintf( t('Blocked %s - Click to open/close'),$word ) . '</div><div id="blockem-' . $rnd . '" style="display: none; " >' . $b['html'] . '</div>';
|
||||
$b['html'] = '<div id="blockem-wrap-' . $rnd . '" class="fakelink" onclick=openClose(\'blockem-' . $rnd . '\'); >' . sprintf( t('Blocked %s - Click to open/close'),$word ) . '</div><div id="blockem-' . $rnd . '" style="display: none; " >' . $b['html'] . '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -157,7 +155,7 @@ function blockem_conversation_start(&$a,&$b) {
|
|||
if(! local_user())
|
||||
return;
|
||||
|
||||
$words = PConfig::get(local_user(),'blockem','words');
|
||||
$words = get_pconfig(local_user(),'blockem','words');
|
||||
if($words) {
|
||||
$a->data['blockem'] = explode(',',$words);
|
||||
}
|
||||
|
@ -209,7 +207,7 @@ function blockem_init(&$a) {
|
|||
if(! local_user())
|
||||
return;
|
||||
|
||||
$words = PConfig::get(local_user(),'blockem','words');
|
||||
$words = get_pconfig(local_user(),'blockem','words');
|
||||
|
||||
if(array_key_exists('block',$_GET) && $_GET['block']) {
|
||||
if(strlen($words))
|
||||
|
@ -218,7 +216,7 @@ function blockem_init(&$a) {
|
|||
}
|
||||
if(array_key_exists('unblock',$_GET) && $_GET['unblock']) {
|
||||
$arr = explode(',',$words);
|
||||
$newarr = [];
|
||||
$newarr = array();
|
||||
|
||||
if(count($arr)) {
|
||||
foreach($arr as $x) {
|
||||
|
@ -229,7 +227,7 @@ function blockem_init(&$a) {
|
|||
$words = implode(',',$newarr);
|
||||
}
|
||||
|
||||
PConfig::set(local_user(),'blockem','words',$words);
|
||||
set_pconfig(local_user(),'blockem','words',$words);
|
||||
info( t('blockem settings updated') . EOL );
|
||||
killme();
|
||||
}
|
||||
|
|
|
@ -4,176 +4,174 @@
|
|||
* Name: Blogger Post Connector
|
||||
* Description: Post to Blogger (or anything else which uses blogger XMLRPC API)
|
||||
* Version: 1.0
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
use Friendica\Core\PConfig;
|
||||
|
||||
function blogger_install() {
|
||||
register_hook('post_local', 'addon/blogger/blogger.php', 'blogger_post_local');
|
||||
register_hook('notifier_normal', 'addon/blogger/blogger.php', 'blogger_send');
|
||||
register_hook('jot_networks', 'addon/blogger/blogger.php', 'blogger_jot_nets');
|
||||
register_hook('connector_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
||||
register_hook('connector_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
||||
}
|
||||
register_hook('post_local', 'addon/blogger/blogger.php', 'blogger_post_local');
|
||||
register_hook('notifier_normal', 'addon/blogger/blogger.php', 'blogger_send');
|
||||
register_hook('jot_networks', 'addon/blogger/blogger.php', 'blogger_jot_nets');
|
||||
register_hook('connector_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
||||
register_hook('connector_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
||||
|
||||
}
|
||||
function blogger_uninstall() {
|
||||
unregister_hook('post_local', 'addon/blogger/blogger.php', 'blogger_post_local');
|
||||
unregister_hook('notifier_normal', 'addon/blogger/blogger.php', 'blogger_send');
|
||||
unregister_hook('jot_networks', 'addon/blogger/blogger.php', 'blogger_jot_nets');
|
||||
unregister_hook('connector_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
||||
unregister_hook('connector_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
||||
unregister_hook('post_local', 'addon/blogger/blogger.php', 'blogger_post_local');
|
||||
unregister_hook('notifier_normal', 'addon/blogger/blogger.php', 'blogger_send');
|
||||
unregister_hook('jot_networks', 'addon/blogger/blogger.php', 'blogger_jot_nets');
|
||||
unregister_hook('connector_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
||||
unregister_hook('connector_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
||||
|
||||
// obsolete - remove
|
||||
unregister_hook('post_local_end', 'addon/blogger/blogger.php', 'blogger_send');
|
||||
unregister_hook('plugin_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
||||
unregister_hook('plugin_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
||||
unregister_hook('post_local_end', 'addon/blogger/blogger.php', 'blogger_send');
|
||||
unregister_hook('plugin_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
||||
unregister_hook('plugin_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
||||
|
||||
}
|
||||
|
||||
|
||||
function blogger_jot_nets(&$a,&$b) {
|
||||
if (!local_user()) {
|
||||
return;
|
||||
}
|
||||
if(! local_user())
|
||||
return;
|
||||
|
||||
$bl_post = PConfig::get(local_user(),'blogger','post');
|
||||
if (intval($bl_post) == 1) {
|
||||
$bl_defpost = PConfig::get(local_user(),'blogger','post_by_default');
|
||||
$selected = ((intval($bl_defpost) == 1) ? ' checked="checked" ' : '');
|
||||
$b .= '<div class="profile-jot-net"><input type="checkbox" name="blogger_enable" ' . $selected . ' value="1" /> '
|
||||
. t('Post to blogger') . '</div>';
|
||||
}
|
||||
$bl_post = get_pconfig(local_user(),'blogger','post');
|
||||
if(intval($bl_post) == 1) {
|
||||
$bl_defpost = get_pconfig(local_user(),'blogger','post_by_default');
|
||||
$selected = ((intval($bl_defpost) == 1) ? ' checked="checked" ' : '');
|
||||
$b .= '<div class="profile-jot-net"><input type="checkbox" name="blogger_enable" ' . $selected . ' value="1" /> '
|
||||
. t('Post to blogger') . '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function blogger_settings(&$a,&$s) {
|
||||
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
if(! local_user())
|
||||
return;
|
||||
|
||||
/* Add our stylesheet to the page so we can make our settings look nice */
|
||||
/* Add our stylesheet to the page so we can make our settings look nice */
|
||||
|
||||
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/blogger/blogger.css' . '" media="all" />' . "\r\n";
|
||||
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/blogger/blogger.css' . '" media="all" />' . "\r\n";
|
||||
|
||||
/* Get the current state of our config variables */
|
||||
/* Get the current state of our config variables */
|
||||
|
||||
$enabled = PConfig::get(local_user(),'blogger','post');
|
||||
$checked = (($enabled) ? ' checked="checked" ' : '');
|
||||
$css = (($enabled) ? '' : '-disabled');
|
||||
$enabled = get_pconfig(local_user(),'blogger','post');
|
||||
$checked = (($enabled) ? ' checked="checked" ' : '');
|
||||
$css = (($enabled) ? '' : '-disabled');
|
||||
|
||||
$def_enabled = PConfig::get(local_user(),'blogger','post_by_default');
|
||||
$def_enabled = get_pconfig(local_user(),'blogger','post_by_default');
|
||||
|
||||
$def_checked = (($def_enabled) ? ' checked="checked" ' : '');
|
||||
$def_checked = (($def_enabled) ? ' checked="checked" ' : '');
|
||||
|
||||
$bl_username = PConfig::get(local_user(), 'blogger', 'bl_username');
|
||||
$bl_password = PConfig::get(local_user(), 'blogger', 'bl_password');
|
||||
$bl_blog = PConfig::get(local_user(), 'blogger', 'bl_blog');
|
||||
$bl_username = get_pconfig(local_user(), 'blogger', 'bl_username');
|
||||
$bl_password = get_pconfig(local_user(), 'blogger', 'bl_password');
|
||||
$bl_blog = get_pconfig(local_user(), 'blogger', 'bl_blog');
|
||||
|
||||
/* Add some HTML to the existing form */
|
||||
$s .= '<span id="settings_blogger_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_blogger_expanded\'); openClose(\'settings_blogger_inflated\');">';
|
||||
$s .= '<img class="connector'.$css.'" src="images/blogger.png" /><h3 class="connector">'. t('Blogger Export').'</h3>';
|
||||
$s .= '</span>';
|
||||
$s .= '<div id="settings_blogger_expanded" class="settings-block" style="display: none;">';
|
||||
$s .= '<span class="fakelink" onclick="openClose(\'settings_blogger_expanded\'); openClose(\'settings_blogger_inflated\');">';
|
||||
$s .= '<img class="connector'.$css.'" src="images/blogger.png" /><h3 class="connector">'. t('Blogger Export').'</h3>';
|
||||
$s .= '</span>';
|
||||
|
||||
$s .= '<div id="blogger-enable-wrapper">';
|
||||
$s .= '<label id="blogger-enable-label" for="blogger-checkbox">' . t('Enable Blogger Post Plugin') . '</label>';
|
||||
$s .= '<input id="blogger-checkbox" type="checkbox" name="blogger" value="1" ' . $checked . '/>';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
/* Add some HTML to the existing form */
|
||||
|
||||
$s .= '<div id="blogger-username-wrapper">';
|
||||
$s .= '<label id="blogger-username-label" for="blogger-username">' . t('Blogger username') . '</label>';
|
||||
$s .= '<input id="blogger-username" type="text" name="bl_username" value="' . $bl_username . '" />';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
$s .= '<span id="settings_blogger_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_blogger_expanded\'); openClose(\'settings_blogger_inflated\');">';
|
||||
$s .= '<img class="connector'.$css.'" src="images/blogger.png" /><h3 class="connector">'. t('Blogger Export').'</h3>';
|
||||
$s .= '</span>';
|
||||
$s .= '<div id="settings_blogger_expanded" class="settings-block" style="display: none;">';
|
||||
$s .= '<span class="fakelink" onclick="openClose(\'settings_blogger_expanded\'); openClose(\'settings_blogger_inflated\');">';
|
||||
$s .= '<img class="connector'.$css.'" src="images/blogger.png" /><h3 class="connector">'. t('Blogger Export').'</h3>';
|
||||
$s .= '</span>';
|
||||
|
||||
$s .= '<div id="blogger-password-wrapper">';
|
||||
$s .= '<label id="blogger-password-label" for="blogger-password">' . t('Blogger password') . '</label>';
|
||||
$s .= '<input id="blogger-password" type="password" name="bl_password" value="' . $bl_password . '" />';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
$s .= '<div id="blogger-enable-wrapper">';
|
||||
$s .= '<label id="blogger-enable-label" for="blogger-checkbox">' . t('Enable Blogger Post Plugin') . '</label>';
|
||||
$s .= '<input id="blogger-checkbox" type="checkbox" name="blogger" value="1" ' . $checked . '/>';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
|
||||
$s .= '<div id="blogger-blog-wrapper">';
|
||||
$s .= '<label id="blogger-blog-label" for="blogger-blog">' . t('Blogger API URL') . '</label>';
|
||||
$s .= '<input id="blogger-blog" type="text" name="bl_blog" value="' . $bl_blog . '" />';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
$s .= '<div id="blogger-username-wrapper">';
|
||||
$s .= '<label id="blogger-username-label" for="blogger-username">' . t('Blogger username') . '</label>';
|
||||
$s .= '<input id="blogger-username" type="text" name="bl_username" value="' . $bl_username . '" />';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
|
||||
$s .= '<div id="blogger-bydefault-wrapper">';
|
||||
$s .= '<label id="blogger-bydefault-label" for="blogger-bydefault">' . t('Post to Blogger by default') . '</label>';
|
||||
$s .= '<input id="blogger-bydefault" type="checkbox" name="bl_bydefault" value="1" ' . $def_checked . '/>';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
$s .= '<div id="blogger-password-wrapper">';
|
||||
$s .= '<label id="blogger-password-label" for="blogger-password">' . t('Blogger password') . '</label>';
|
||||
$s .= '<input id="blogger-password" type="password" name="bl_password" value="' . $bl_password . '" />';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
|
||||
$s .= '<div id="blogger-blog-wrapper">';
|
||||
$s .= '<label id="blogger-blog-label" for="blogger-blog">' . t('Blogger API URL') . '</label>';
|
||||
$s .= '<input id="blogger-blog" type="text" name="bl_blog" value="' . $bl_blog . '" />';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
|
||||
$s .= '<div id="blogger-bydefault-wrapper">';
|
||||
$s .= '<label id="blogger-bydefault-label" for="blogger-bydefault">' . t('Post to Blogger by default') . '</label>';
|
||||
$s .= '<input id="blogger-bydefault" type="checkbox" name="bl_bydefault" value="1" ' . $def_checked . '/>';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
|
||||
/* provide a submit button */
|
||||
|
||||
$s .= '<div class="settings-submit-wrapper" ><input type="submit" id="blogger-submit" name="blogger-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div></div>';
|
||||
|
||||
/* provide a submit button */
|
||||
$s .= '<div class="settings-submit-wrapper" ><input type="submit" id="blogger-submit" name="blogger-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div></div>';
|
||||
}
|
||||
|
||||
|
||||
function blogger_settings_post(&$a,&$b) {
|
||||
if (x($_POST,'blogger-submit')) {
|
||||
PConfig::set(local_user(),'blogger','post',intval($_POST['blogger']));
|
||||
PConfig::set(local_user(),'blogger','post_by_default',intval($_POST['bl_bydefault']));
|
||||
PConfig::set(local_user(),'blogger','bl_username',trim($_POST['bl_username']));
|
||||
PConfig::set(local_user(),'blogger','bl_password',trim($_POST['bl_password']));
|
||||
PConfig::set(local_user(),'blogger','bl_blog',trim($_POST['bl_blog']));
|
||||
|
||||
if(x($_POST,'blogger-submit')) {
|
||||
|
||||
set_pconfig(local_user(),'blogger','post',intval($_POST['blogger']));
|
||||
set_pconfig(local_user(),'blogger','post_by_default',intval($_POST['bl_bydefault']));
|
||||
set_pconfig(local_user(),'blogger','bl_username',trim($_POST['bl_username']));
|
||||
set_pconfig(local_user(),'blogger','bl_password',trim($_POST['bl_password']));
|
||||
set_pconfig(local_user(),'blogger','bl_blog',trim($_POST['bl_blog']));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function blogger_post_local(&$a,&$b) {
|
||||
|
||||
// This can probably be changed to allow editing by pointing to a different API endpoint
|
||||
|
||||
if ($b['edit']) {
|
||||
if($b['edit'])
|
||||
return;
|
||||
}
|
||||
|
||||
if (!local_user() || (local_user() != $b['uid'])) {
|
||||
if((! local_user()) || (local_user() != $b['uid']))
|
||||
return;
|
||||
}
|
||||
|
||||
if ($b['private'] || $b['parent']) {
|
||||
if($b['private'] || $b['parent'])
|
||||
return;
|
||||
}
|
||||
|
||||
$bl_post = intval(PConfig::get(local_user(),'blogger','post'));
|
||||
$bl_post = intval(get_pconfig(local_user(),'blogger','post'));
|
||||
|
||||
$bl_enable = (($bl_post && x($_REQUEST,'blogger_enable')) ? intval($_REQUEST['blogger_enable']) : 0);
|
||||
|
||||
if ($b['api_source'] && intval(PConfig::get(local_user(),'blogger','post_by_default'))) {
|
||||
if($b['api_source'] && intval(get_pconfig(local_user(),'blogger','post_by_default')))
|
||||
$bl_enable = 1;
|
||||
}
|
||||
|
||||
if (!$bl_enable) {
|
||||
return;
|
||||
}
|
||||
if(! $bl_enable)
|
||||
return;
|
||||
|
||||
if (strlen($b['postopts'])) {
|
||||
$b['postopts'] .= ',';
|
||||
}
|
||||
|
||||
$b['postopts'] .= 'blogger';
|
||||
if(strlen($b['postopts']))
|
||||
$b['postopts'] .= ',';
|
||||
$b['postopts'] .= 'blogger';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function blogger_send(&$a,&$b) {
|
||||
if ($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (! strstr($b['postopts'],'blogger')) {
|
||||
return;
|
||||
}
|
||||
if($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited']))
|
||||
return;
|
||||
|
||||
if ($b['parent'] != $b['id']) {
|
||||
return;
|
||||
}
|
||||
if(! strstr($b['postopts'],'blogger'))
|
||||
return;
|
||||
|
||||
$bl_username = xmlify(PConfig::get($b['uid'],'blogger','bl_username'));
|
||||
$bl_password = xmlify(PConfig::get($b['uid'],'blogger','bl_password'));
|
||||
$bl_blog = PConfig::get($b['uid'],'blogger','bl_blog');
|
||||
if($b['parent'] != $b['id'])
|
||||
return;
|
||||
|
||||
if ($bl_username && $bl_password && $bl_blog) {
|
||||
|
||||
$bl_username = xmlify(get_pconfig($b['uid'],'blogger','bl_username'));
|
||||
$bl_password = xmlify(get_pconfig($b['uid'],'blogger','bl_password'));
|
||||
$bl_blog = get_pconfig($b['uid'],'blogger','bl_blog');
|
||||
|
||||
if($bl_username && $bl_password && $bl_blog) {
|
||||
|
||||
require_once('include/bbcode.php');
|
||||
|
||||
|
@ -199,10 +197,10 @@ EOT;
|
|||
|
||||
logger('blogger: data: ' . $xml, LOGGER_DATA);
|
||||
|
||||
if ($bl_blog !== 'test') {
|
||||
if($bl_blog !== 'test')
|
||||
$x = post_url($bl_blog,$xml);
|
||||
}
|
||||
|
||||
logger('posted to blogger: ' . (($x) ? $x : ''), LOGGER_DEBUG);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,11 +5,7 @@
|
|||
* Version: 0.2
|
||||
* Author: Michael Vogel <http://pirati.ca/profile/heluecht>
|
||||
*/
|
||||
require 'addon/buffer/bufferapp.php';
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Core\Config;
|
||||
use Friendica\Core\PConfig;
|
||||
require('addon/buffer/bufferapp.php');
|
||||
|
||||
function buffer_install() {
|
||||
register_hook('post_local', 'addon/buffer/buffer.php', 'buffer_post_local');
|
||||
|
@ -57,18 +53,18 @@ function buffer_content(&$a) {
|
|||
function buffer_plugin_admin(&$a, &$o){
|
||||
$t = get_markup_template( "admin.tpl", "addon/buffer/" );
|
||||
|
||||
$o = replace_macros($t, [
|
||||
$o = replace_macros($t, array(
|
||||
'$submit' => t('Save Settings'),
|
||||
// name, label, value, help, [extra values]
|
||||
'$client_id' => ['client_id', t('Client ID'), Config::get('buffer', 'client_id' ), ''],
|
||||
'$client_secret' => ['client_secret', t('Client Secret'), Config::get('buffer', 'client_secret' ), ''],
|
||||
]);
|
||||
'$client_id' => array('client_id', t('Client ID'), get_config('buffer', 'client_id' ), ''),
|
||||
'$client_secret' => array('client_secret', t('Client Secret'), get_config('buffer', 'client_secret' ), ''),
|
||||
));
|
||||
}
|
||||
function buffer_plugin_admin_post(&$a){
|
||||
$client_id = ((x($_POST,'client_id')) ? notags(trim($_POST['client_id'])) : '');
|
||||
$client_secret = ((x($_POST,'client_secret')) ? notags(trim($_POST['client_secret'])): '');
|
||||
Config::set('buffer','client_id',$client_id);
|
||||
Config::set('buffer','client_secret',$client_secret);
|
||||
set_config('buffer','client_id',$client_id);
|
||||
set_config('buffer','client_secret',$client_secret);
|
||||
info( t('Settings updated.'). EOL );
|
||||
}
|
||||
|
||||
|
@ -82,8 +78,8 @@ function buffer_connect(&$a) {
|
|||
session_start();
|
||||
|
||||
// Define the needed keys
|
||||
$client_id = Config::get('buffer','client_id');
|
||||
$client_secret = Config::get('buffer','client_secret');
|
||||
$client_id = get_config('buffer','client_id');
|
||||
$client_secret = get_config('buffer','client_secret');
|
||||
|
||||
// The callback URL is the script that gets called after the user authenticates with buffer
|
||||
$callback_url = $a->get_baseurl()."/buffer/connect";
|
||||
|
@ -96,7 +92,7 @@ function buffer_connect(&$a) {
|
|||
logger("buffer_connect: authenticated");
|
||||
$o .= t("You are now authenticated to buffer. ");
|
||||
$o .= '<br /><a href="'.$a->get_baseurl().'/settings/connectors">'.t("return to the connector page").'</a>';
|
||||
PConfig::set(local_user(), 'buffer','access_token', $buffer->access_token);
|
||||
set_pconfig(local_user(), 'buffer','access_token', $buffer->access_token);
|
||||
}
|
||||
|
||||
return($o);
|
||||
|
@ -106,9 +102,9 @@ function buffer_jot_nets(&$a,&$b) {
|
|||
if(! local_user())
|
||||
return;
|
||||
|
||||
$buffer_post = PConfig::get(local_user(),'buffer','post');
|
||||
$buffer_post = get_pconfig(local_user(),'buffer','post');
|
||||
if(intval($buffer_post) == 1) {
|
||||
$buffer_defpost = PConfig::get(local_user(),'buffer','post_by_default');
|
||||
$buffer_defpost = get_pconfig(local_user(),'buffer','post_by_default');
|
||||
$selected = ((intval($buffer_defpost) == 1) ? ' checked="checked" ' : '');
|
||||
$b .= '<div class="profile-jot-net"><input type="checkbox" name="buffer_enable"' . $selected . ' value="1" /> '
|
||||
. t('Post to Buffer') . '</div>';
|
||||
|
@ -126,11 +122,11 @@ function buffer_settings(&$a,&$s) {
|
|||
|
||||
/* Get the current state of our config variables */
|
||||
|
||||
$enabled = PConfig::get(local_user(),'buffer','post');
|
||||
$enabled = get_pconfig(local_user(),'buffer','post');
|
||||
$checked = (($enabled) ? ' checked="checked" ' : '');
|
||||
$css = (($enabled) ? '' : '-disabled');
|
||||
|
||||
$def_enabled = PConfig::get(local_user(),'buffer','post_by_default');
|
||||
$def_enabled = get_pconfig(local_user(),'buffer','post_by_default');
|
||||
$def_checked = (($def_enabled) ? ' checked="checked" ' : '');
|
||||
|
||||
/* Add some HTML to the existing form */
|
||||
|
@ -143,9 +139,9 @@ function buffer_settings(&$a,&$s) {
|
|||
$s .= '<img class="connector'.$css.'" src="images/buffer.png" /><h3 class="connector">'. t('Buffer Export').'</h3>';
|
||||
$s .= '</span>';
|
||||
|
||||
$client_id = Config::get("buffer", "client_id");
|
||||
$client_secret = Config::get("buffer", "client_secret");
|
||||
$access_token = PConfig::get(local_user(), "buffer", "access_token");
|
||||
$client_id = get_config("buffer", "client_id");
|
||||
$client_secret = get_config("buffer", "client_secret");
|
||||
$access_token = get_pconfig(local_user(), "buffer", "access_token");
|
||||
|
||||
$s .= '<div id="buffer-password-wrapper">';
|
||||
if ($access_token == "") {
|
||||
|
@ -202,12 +198,12 @@ function buffer_settings_post(&$a,&$b) {
|
|||
|
||||
if(x($_POST,'buffer-submit')) {
|
||||
if(x($_POST,'buffer_delete')) {
|
||||
PConfig::set(local_user(),'buffer','access_token','');
|
||||
PConfig::set(local_user(),'buffer','post',false);
|
||||
PConfig::set(local_user(),'buffer','post_by_default',false);
|
||||
set_pconfig(local_user(),'buffer','access_token','');
|
||||
set_pconfig(local_user(),'buffer','post',false);
|
||||
set_pconfig(local_user(),'buffer','post_by_default',false);
|
||||
} else {
|
||||
PConfig::set(local_user(),'buffer','post',intval($_POST['buffer']));
|
||||
PConfig::set(local_user(),'buffer','post_by_default',intval($_POST['buffer_bydefault']));
|
||||
set_pconfig(local_user(),'buffer','post',intval($_POST['buffer']));
|
||||
set_pconfig(local_user(),'buffer','post_by_default',intval($_POST['buffer_bydefault']));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -218,11 +214,11 @@ function buffer_post_local(&$a,&$b) {
|
|||
return;
|
||||
}
|
||||
|
||||
$buffer_post = intval(PConfig::get(local_user(),'buffer','post'));
|
||||
$buffer_post = intval(get_pconfig(local_user(),'buffer','post'));
|
||||
|
||||
$buffer_enable = (($buffer_post && x($_REQUEST,'buffer_enable')) ? intval($_REQUEST['buffer_enable']) : 0);
|
||||
|
||||
if ($b['api_source'] && intval(PConfig::get(local_user(),'buffer','post_by_default'))) {
|
||||
if ($b['api_source'] && intval(get_pconfig(local_user(),'buffer','post_by_default'))) {
|
||||
$buffer_enable = 1;
|
||||
}
|
||||
|
||||
|
@ -237,34 +233,24 @@ function buffer_post_local(&$a,&$b) {
|
|||
$b['postopts'] .= 'buffer';
|
||||
}
|
||||
|
||||
function buffer_send(App $a, &$b)
|
||||
{
|
||||
if($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited'])) {
|
||||
return;
|
||||
}
|
||||
function buffer_send(&$a,&$b) {
|
||||
|
||||
if(! strstr($b['postopts'],'buffer')) {
|
||||
if($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited']))
|
||||
return;
|
||||
}
|
||||
|
||||
if($b['parent'] != $b['id']) {
|
||||
if(! strstr($b['postopts'],'buffer'))
|
||||
return;
|
||||
}
|
||||
|
||||
// Dont't post if the post doesn't belong to us.
|
||||
// This is a check for forum postings
|
||||
$self = dba::selectFirst('contact', ['id'], ['uid' => $b['uid'], 'self' => true]);
|
||||
if ($b['contact-id'] != $self['id']) {
|
||||
if($b['parent'] != $b['id'])
|
||||
return;
|
||||
}
|
||||
|
||||
// if post comes from buffer don't send it back
|
||||
//if($b['app'] == "Buffer")
|
||||
// return;
|
||||
|
||||
$client_id = Config::get("buffer", "client_id");
|
||||
$client_secret = Config::get("buffer", "client_secret");
|
||||
$access_token = PConfig::get($b['uid'], "buffer","access_token");
|
||||
$client_id = get_config("buffer", "client_id");
|
||||
$client_secret = get_config("buffer", "client_secret");
|
||||
$access_token = get_pconfig($b['uid'], "buffer","access_token");
|
||||
|
||||
if($access_token) {
|
||||
$buffer = new BufferApp($client_id, $client_secret, $callback_url, $access_token);
|
||||
|
@ -306,7 +292,7 @@ function buffer_send(App $a, &$b)
|
|||
break;
|
||||
case 'twitter':
|
||||
$send = ($b["extid"] != NETWORK_TWITTER);
|
||||
$limit = 280;
|
||||
$limit = 140;
|
||||
$markup = false;
|
||||
$includedlinks = true;
|
||||
$htmlmode = 8;
|
||||
|
@ -335,7 +321,7 @@ function buffer_send(App $a, &$b)
|
|||
$item["body"] = preg_replace("(\[s\](.*?)\[\/s\])ism",'-$1-',$item["body"]);
|
||||
}
|
||||
|
||||
$post = plaintext($item, $limit, $includedlinks, $htmlmode);
|
||||
$post = plaintext($a, $item, $limit, $includedlinks, $htmlmode);
|
||||
logger("buffer_send: converted message ".$b["id"]." result: ".print_r($post, true), LOGGER_DEBUG);
|
||||
|
||||
// The image proxy is used as a sanitizer. Buffer seems to be really picky about pictures
|
||||
|
@ -369,7 +355,7 @@ function buffer_send(App $a, &$b)
|
|||
elseif ($profile->service == "google")
|
||||
$post["text"] .= html_entity_decode(" ", ENT_QUOTES, 'UTF-8'); // Send a special blank to identify the post through the "fromgplus" addon
|
||||
|
||||
$message = [];
|
||||
$message = array();
|
||||
$message["text"] = $post["text"];
|
||||
$message["profile_ids[]"] = $profile->id;
|
||||
$message["shorten"] = false;
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
public $ok = false;
|
||||
|
||||
private $endpoints = [
|
||||
private $endpoints = array(
|
||||
'/user' => 'get',
|
||||
|
||||
'/profiles' => 'get',
|
||||
|
@ -37,9 +37,9 @@
|
|||
|
||||
'/info/configuration' => 'get',
|
||||
|
||||
];
|
||||
);
|
||||
|
||||
public $errors = [
|
||||
public $errors = array(
|
||||
'invalid-endpoint' => 'The endpoint you supplied does not appear to be valid.',
|
||||
|
||||
'403' => 'Permission denied.',
|
||||
|
@ -77,7 +77,7 @@
|
|||
'1042' => 'User did not save successfully.',
|
||||
'1050' => 'Client could not be found.',
|
||||
'1051' => 'No authorization to access client.',
|
||||
];
|
||||
);
|
||||
|
||||
function __construct($client_id = '', $client_secret = '', $callback_url = '', $access_token = '') {
|
||||
if ($client_id) $this->set_client_id($client_id);
|
||||
|
@ -110,7 +110,7 @@
|
|||
if (!$ok) return $this->error('invalid-endpoint');
|
||||
}
|
||||
|
||||
if (!$data || !is_array($data)) $data = [];
|
||||
if (!$data || !is_array($data)) $data = array();
|
||||
$data['access_token'] = $this->access_token;
|
||||
|
||||
$method = $this->endpoints[$done_endpoint]; //get() or post()
|
||||
|
@ -130,17 +130,17 @@
|
|||
}
|
||||
|
||||
function error($error) {
|
||||
return (object) ['error' => $this->errors[$error]];
|
||||
return (object) array('error' => $this->errors[$error]);
|
||||
}
|
||||
|
||||
function create_access_token_url() {
|
||||
$data = [
|
||||
$data = array(
|
||||
'code' => $this->code,
|
||||
'grant_type' => 'authorization_code',
|
||||
'client_id' => $this->client_id,
|
||||
'client_secret' => $this->client_secret,
|
||||
'redirect_uri' => $this->callback_url,
|
||||
];
|
||||
);
|
||||
|
||||
$obj = $this->post($this->access_token_url, $data);
|
||||
$this->access_token = $obj->access_token;
|
||||
|
@ -150,15 +150,15 @@
|
|||
|
||||
function req($url = '', $data = '', $post = true) {
|
||||
if (!$url) return false;
|
||||
if (!$data || !is_array($data)) $data = [];
|
||||
if (!$data || !is_array($data)) $data = array();
|
||||
|
||||
$options = [CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false];
|
||||
$options = array(CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false);
|
||||
|
||||
if ($post) {
|
||||
$options += [
|
||||
$options += array(
|
||||
CURLOPT_POST => $post,
|
||||
CURLOPT_POSTFIELDS => $data
|
||||
];
|
||||
);
|
||||
} else {
|
||||
$url .= '?' . http_build_query($data);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Copyright (c) 2013 Tobias Diekershoff
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
|
@ -0,0 +1,29 @@
|
|||
Calendar Export
|
||||
===============
|
||||
|
||||
This addon makes it possible to export the events posted by your users,
|
||||
so they can be imported into other calendar applications.
|
||||
|
||||
Exporting a calendar is an _opt-in_ feature which has to be activated by each
|
||||
of the users in the _addon settings_. As the admin you can only provide the
|
||||
service but should not force it upon your users.
|
||||
|
||||
The calendars are exported at
|
||||
|
||||
http://example.com/cal/username/export/format
|
||||
|
||||
currently the following formats are supported
|
||||
|
||||
* ical
|
||||
* csv.
|
||||
|
||||
Author
|
||||
------
|
||||
|
||||
This addon is developed by [Tobias Diekershoff](https://f.diekershoff.de/profile/tobias).
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
This addon is licensed under the [MIT](http://opensource.org/licenses/MIT)
|
||||
license, see also the LICENSE file in the addon directory.
|
|
@ -0,0 +1,200 @@
|
|||
<?php
|
||||
/********************************************************************
|
||||
* Name: Calendar Export
|
||||
* Description: This addon exports the public events of your users as calendar files
|
||||
* Version: 0.1
|
||||
* Author: Tobias Diekershoff <https://f.diekershoff.de/profile/tobias>
|
||||
* License: MIT
|
||||
* Status: Unsupported
|
||||
* ******************************************************************/
|
||||
|
||||
|
||||
function cal_install()
|
||||
{
|
||||
register_hook('plugin_settings', 'addon/cal/cal.php', 'cal_addon_settings');
|
||||
register_hook('plugin_settings_post', 'addon/cal/cal.php', 'cal_addon_settings_post');
|
||||
}
|
||||
function cal_uninstall()
|
||||
{
|
||||
unregister_hook('plugin_settings', 'addon/cal/cal.php', 'cal_addon_settings');
|
||||
unregister_hook('plugin_settings_post', 'addon/cal/cal.php', 'cal_addon_settings_post');
|
||||
}
|
||||
function cal_module()
|
||||
{
|
||||
}
|
||||
/* pathes
|
||||
* /cal/$user/export/$format
|
||||
* currently supported formats are ical (iCalendar) and CSV
|
||||
*/
|
||||
function cal_content()
|
||||
{
|
||||
$a = get_app();
|
||||
$o = "";
|
||||
if ($a->argc == 1) {
|
||||
$o .= "<h3>".t('Event Export')."</h3><p>".t('You can download public events from: ').$a->get_baseurl()."/cal/username/export/ical</p>";
|
||||
} elseif ($a->argc==4) {
|
||||
// get the parameters from the request we just received
|
||||
$username = $a->argv[1];
|
||||
$do = $a->argv[2];
|
||||
$format = $a->argv[3];
|
||||
// check that there is a user matching the requested profile
|
||||
$r = q("SELECT uid FROM user WHERE nickname='".$username."' LIMIT 1;");
|
||||
if (count($r))
|
||||
{
|
||||
$uid = $r[0]['uid'];
|
||||
} else {
|
||||
killme();
|
||||
}
|
||||
// if we shall do anything other then export, end here
|
||||
if (! $do == 'export' )
|
||||
killme();
|
||||
// check if the user allows us to share the profile
|
||||
$enable = get_pconfig( $uid, 'cal', 'enable');
|
||||
if (! $enable == 1) {
|
||||
info(t('The user does not export the calendar.'));
|
||||
return;
|
||||
}
|
||||
// we are allowed to show events
|
||||
// get the timezone the user is in
|
||||
$r = q("SELECT timezone FROM user WHERE uid=".$uid." LIMIT 1;");
|
||||
if (count($r))
|
||||
$timezone = $r[0]['timezone'];
|
||||
// does the user who requests happen to be the owner of the events
|
||||
// requested? then show all of your events, otherwise only those that
|
||||
// don't have limitations set in allow_cid and allow_gid
|
||||
if (local_user() == $uid) {
|
||||
$r = q("SELECT `start`, `finish`, `adjust`, `summary`, `desc`, `location` FROM `event` WHERE `uid`=".$uid." and `cid`=0;");
|
||||
} else {
|
||||
$r = q("SELECT `start`, `finish`, `adjust`, `summary`, `desc`, `location` FROM `event` WHERE `allow_cid`='' and `allow_gid`='' and `uid`='".$uid."' and `cid`='0';");
|
||||
}
|
||||
// we have the events that are available for the requestor
|
||||
// now format the output according to the requested format
|
||||
$res = cal_format_output($r, $format, $timezone);
|
||||
if (! $res=='')
|
||||
info($res);
|
||||
} else {
|
||||
// wrong number of parameters
|
||||
killme();
|
||||
}
|
||||
return $o;
|
||||
}
|
||||
|
||||
function cal_format_output ($r, $f, $tz)
|
||||
{
|
||||
$res = t('This calendar format is not supported');
|
||||
switch ($f)
|
||||
{
|
||||
// format the exported data as a CSV file
|
||||
case "csv":
|
||||
header("Content-type: text/csv");
|
||||
$o = '"Subject", "Start Date", "Start Time", "Description", "End Date", "End Time", "Location"' . PHP_EOL;
|
||||
foreach ($r as $rr) {
|
||||
// TODO the time / date entries don't include any information about the
|
||||
// timezone the event is scheduled in :-/
|
||||
$tmp1 = strtotime($rr['start']);
|
||||
$tmp2 = strtotime($rr['finish']);
|
||||
$time_format = "%H:%M:%S";
|
||||
$date_format = "%Y-%m-%d";
|
||||
$o .= '"'.$rr['summary'].'", "'.strftime($date_format, $tmp1) .
|
||||
'", "'.strftime($time_format, $tmp1).'", "'.$rr['desc'] .
|
||||
'", "'.strftime($date_format, $tmp2) .
|
||||
'", "'.strftime($time_format, $tmp2) .
|
||||
'", "'.$rr['location'].'"' . PHP_EOL;
|
||||
}
|
||||
echo $o;
|
||||
killme();
|
||||
|
||||
case "ical":
|
||||
header("Content-type: text/ics");
|
||||
$o = 'BEGIN:VCALENDAR'. PHP_EOL
|
||||
. 'VERSION:2.0' . PHP_EOL
|
||||
. 'PRODID:-//friendica calendar export//0.1//EN' . PHP_EOL;
|
||||
// TODO include timezone informations in cases were the time is not in UTC
|
||||
// see http://tools.ietf.org/html/rfc2445#section-4.8.3
|
||||
// . 'BEGIN:VTIMEZONE' . PHP_EOL
|
||||
// . 'TZID:' . $tz . PHP_EOL
|
||||
// . 'END:VTIMEZONE' . PHP_EOL;
|
||||
// TODO instead of PHP_EOL CRLF should be used for long entries
|
||||
// but test your solution against http://icalvalid.cloudapp.net/
|
||||
// also long lines SHOULD be split at 75 characters length
|
||||
foreach ($r as $rr) {
|
||||
if ($rr['adjust'] == 1) {
|
||||
$UTC = 'Z';
|
||||
} else {
|
||||
$UTC = '';
|
||||
}
|
||||
$o .= 'BEGIN:VEVENT' . PHP_EOL;
|
||||
if ($rr[start]) {
|
||||
$tmp = strtotime($rr['start']);
|
||||
$dtformat = "%Y%m%dT%H%M%S".$UTC;
|
||||
$o .= 'DTSTART:'.strftime($dtformat, $tmp).PHP_EOL;
|
||||
}
|
||||
if ($rr['finish']) {
|
||||
$tmp = strtotime($rr['finish']);
|
||||
$dtformat = "%Y%m%dT%H%M%S".$UTC;
|
||||
$o .= 'DTEND:'.strftime($dtformat, $tmp).PHP_EOL;
|
||||
}
|
||||
if ($rr['summary'])
|
||||
$tmp = $rr['summary'];
|
||||
$tmp = str_replace(PHP_EOL, PHP_EOL.' ',$tmp);
|
||||
$tmp = addcslashes($tmp, ',;');
|
||||
$o .= 'SUMMARY:' . $tmp . PHP_EOL;
|
||||
if ($rr['desc'])
|
||||
$tmp = $rr['desc'];
|
||||
$tmp = str_replace(PHP_EOL, PHP_EOL.' ',$tmp);
|
||||
$tmp = addcslashes($tmp, ',;');
|
||||
$o .= 'DESCRIPTION:' . $tmp . PHP_EOL;
|
||||
if ($rr['location']) {
|
||||
$tmp = $rr['location'];
|
||||
$tmp = str_replace(PHP_EOL, PHP_EOL.' ',$tmp);
|
||||
$tmp = addcslashes($tmp, ',;');
|
||||
$o .= 'LOCATION:' . $tmp . PHP_EOL;
|
||||
}
|
||||
$o .= 'END:VEVENT' . PHP_EOL;
|
||||
}
|
||||
$o .= 'END:VCALENDAR' . PHP_EOL;
|
||||
echo $o;
|
||||
killme();
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
|
||||
function cal_addon_settings_post ( &$a, &$b )
|
||||
{
|
||||
if (! local_user())
|
||||
return;
|
||||
|
||||
if (!x($_POST,'cal-submit'))
|
||||
return;
|
||||
|
||||
set_pconfig(local_user(),'cal','enable',intval($_POST['cal-enable']));
|
||||
}
|
||||
function cal_addon_settings ( &$a, &$s )
|
||||
{
|
||||
if (! local_user())
|
||||
return;
|
||||
|
||||
$enabled = get_pconfig(local_user(), 'cal', 'enable');
|
||||
$checked = (($enabled) ? ' checked="checked" ' : '');
|
||||
$url = $a->get_baseurl().'/cal/'.$a->user['nickname'].'/export/<em>format</em>';
|
||||
|
||||
$s .= '<span id="settings_cal_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_cal_expanded\'); openClose(\'settings_cal_inflated\');">';
|
||||
$s .= '<h3>'.t('Export Events').'</h3>';
|
||||
$s .= '</span>';
|
||||
$s .= '<div id="settings_cal_expanded" class="settings-block" style="display: none;">';
|
||||
$s .= '<span class="fakelink" onclick="openClose(\'settings_cal_expanded\'); openClose(\'settings_cal_inflated\');">';
|
||||
$s .= '<h3>'.t('Export Events').'</h3>';
|
||||
$s .= '</span>';
|
||||
|
||||
$s .= '<div id="cal-wrapper">';
|
||||
$s .= '<p>'.t('If this is enabled, your public events will be available at').' <strong>'.$url.'</strong></p>';
|
||||
$s .= '<p>'.t('Currently supported formats are ical and csv.').'</p>';
|
||||
$s .= '<label id="cal-enable-label" for="cal-checkbox">'. t('Enable calendar export') .'</label>';
|
||||
$s .= '<input id="cal-checkbox" type="checkbox" name="cal-enable" value="1" ' . $checked . '/>';
|
||||
$s .= '<div class="settings-submit-wrapper" ><input type="submit" name="cal-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div>';
|
||||
$s .= '<div class="clear"></div>';
|
||||
$s .= '</div>';
|
||||
$s .= '</div>';
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,54 @@
|
|||
# ADDON cal
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica cal addon package.
|
||||
#
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 13:18+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"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "Event Export"
|
||||
msgstr ""
|
||||
|
||||
#: cal.php:33
|
||||
msgid "You can download public events from: "
|
||||
msgstr ""
|
||||
|
||||
#: cal.php:53
|
||||
msgid "The user does not export the calendar."
|
||||
msgstr ""
|
||||
|
||||
#: cal.php:83
|
||||
msgid "This calendar format is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: cal.php:181 cal.php:185
|
||||
msgid "Export Events"
|
||||
msgstr ""
|
||||
|
||||
#: cal.php:189
|
||||
msgid "If this is enabled, your public events will be available at"
|
||||
msgstr ""
|
||||
|
||||
#: cal.php:190
|
||||
msgid "Currently supported formats are ical and csv."
|
||||
msgstr ""
|
||||
|
||||
#: cal.php:191
|
||||
msgid "Enable calendar export"
|
||||
msgstr ""
|
||||
|
||||
#: cal.php:193
|
||||
msgid "Save Settings"
|
||||
msgstr ""
|
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
|
||||
;
|
||||
$a->strings["Event Export"] = "";
|
||||
$a->strings["You can download public events from: "] = "";
|
||||
$a->strings["The user does not export the calendar."] = "";
|
||||
$a->strings["This calendar format is not supported"] = "";
|
||||
$a->strings["Export Events"] = "";
|
||||
$a->strings["If this is enabled, your public events will be available at"] = "";
|
||||
$a->strings["Currently supported formats are ical and csv."] = "";
|
||||
$a->strings["Enable calendar export"] = "";
|
||||
$a->strings["Submit"] = "";
|
|
@ -0,0 +1,56 @@
|
|||
# ADDON cal
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica cal 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 13:18+0200\n"
|
||||
"PO-Revision-Date: 2014-09-07 11:04+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"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "Event Export"
|
||||
msgstr "Export událostí"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "You can download public events from: "
|
||||
msgstr "Veřejné události si můžete stánout z:"
|
||||
|
||||
#: cal.php:53
|
||||
msgid "The user does not export the calendar."
|
||||
msgstr "Uživatel kalenář neexportuje."
|
||||
|
||||
#: cal.php:83
|
||||
msgid "This calendar format is not supported"
|
||||
msgstr "Tento kalendářový formát není podporován."
|
||||
|
||||
#: cal.php:181 cal.php:185
|
||||
msgid "Export Events"
|
||||
msgstr "Export událostí"
|
||||
|
||||
#: cal.php:189
|
||||
msgid "If this is enabled, your public events will be available at"
|
||||
msgstr "Pokud je toto povoleno, vaše veřejné události budou viditelné na"
|
||||
|
||||
#: cal.php:190
|
||||
msgid "Currently supported formats are ical and csv."
|
||||
msgstr "Aktuálně podporované formáty jsou ical a csv."
|
||||
|
||||
#: cal.php:191
|
||||
msgid "Enable calendar export"
|
||||
msgstr "Povolit export kalendáře"
|
||||
|
||||
#: cal.php:193
|
||||
msgid "Save Settings"
|
||||
msgstr "Uložit Nastavení"
|
|
@ -0,0 +1,16 @@
|
|||
<?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["Event Export"] = "Export událostí";
|
||||
$a->strings["You can download public events from: "] = "Veřejné události si můžete stánout z:";
|
||||
$a->strings["The user does not export the calendar."] = "Uživatel kalenář neexportuje.";
|
||||
$a->strings["This calendar format is not supported"] = "Tento kalendářový formát není podporován.";
|
||||
$a->strings["Export Events"] = "Export událostí";
|
||||
$a->strings["If this is enabled, your public events will be available at"] = "Pokud je toto povoleno, vaše veřejné události budou viditelné na";
|
||||
$a->strings["Currently supported formats are ical and csv."] = "Aktuálně podporované formáty jsou ical a csv.";
|
||||
$a->strings["Enable calendar export"] = "Povolit export kalendáře";
|
||||
$a->strings["Save Settings"] = "Uložit Nastavení";
|
|
@ -0,0 +1,56 @@
|
|||
# ADDON cal
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica cal 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 13:18+0200\n"
|
||||
"PO-Revision-Date: 2014-09-28 10:39+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"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "Event Export"
|
||||
msgstr "Ereignis Export"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "You can download public events from: "
|
||||
msgstr "Du kannst öffentliche Ereignisse hier herunterladen;"
|
||||
|
||||
#: cal.php:53
|
||||
msgid "The user does not export the calendar."
|
||||
msgstr "Diese_r Nutzer_in exportiert den Kalender nicht."
|
||||
|
||||
#: cal.php:83
|
||||
msgid "This calendar format is not supported"
|
||||
msgstr "Dieses Kalenderformat wird nicht unterstützt."
|
||||
|
||||
#: cal.php:181 cal.php:185
|
||||
msgid "Export Events"
|
||||
msgstr "Exportiere Ereignisse"
|
||||
|
||||
#: cal.php:189
|
||||
msgid "If this is enabled, your public events will be available at"
|
||||
msgstr "Wenn dies aktiviert ist, werden alle öffentliche Ereignisse unter folgender URL verfügbar sein"
|
||||
|
||||
#: cal.php:190
|
||||
msgid "Currently supported formats are ical and csv."
|
||||
msgstr "Derzeit werden die Formate ical und csv unterstützt."
|
||||
|
||||
#: cal.php:191
|
||||
msgid "Enable calendar export"
|
||||
msgstr "Kalenderexport aktivieren"
|
||||
|
||||
#: cal.php:193
|
||||
msgid "Save Settings"
|
||||
msgstr "Einstellungen speichern"
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_de")) {
|
||||
function string_plural_select_de($n){
|
||||
return ($n != 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Event Export"] = "Ereignis Export";
|
||||
$a->strings["You can download public events from: "] = "Du kannst öffentliche Ereignisse hier herunterladen;";
|
||||
$a->strings["The user does not export the calendar."] = "Diese_r Nutzer_in exportiert den Kalender nicht.";
|
||||
$a->strings["This calendar format is not supported"] = "Dieses Kalenderformat wird nicht unterstützt.";
|
||||
$a->strings["Export Events"] = "Exportiere Ereignisse";
|
||||
$a->strings["If this is enabled, your public events will be available at"] = "Wenn dies aktiviert ist, werden alle öffentliche Ereignisse unter folgender URL verfügbar sein";
|
||||
$a->strings["Currently supported formats are ical and csv."] = "Derzeit werden die Formate ical und csv unterstützt.";
|
||||
$a->strings["Enable calendar export"] = "Kalenderexport aktivieren";
|
||||
$a->strings["Save Settings"] = "Einstellungen speichern";
|
|
@ -0,0 +1,55 @@
|
|||
# ADDON cal
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica cal addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
||||
"PO-Revision-Date: 2016-10-10 20:48+0000\n"
|
||||
"Last-Translator: Athalbert\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"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "Event Export"
|
||||
msgstr "Exportación de evento"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "You can download public events from: "
|
||||
msgstr "Puede descargar eventos públicos desde:"
|
||||
|
||||
#: cal.php:53
|
||||
msgid "The user does not export the calendar."
|
||||
msgstr "El usuario no exporta el calendario."
|
||||
|
||||
#: cal.php:83
|
||||
msgid "This calendar format is not supported"
|
||||
msgstr "No se soporta este formato de calendario"
|
||||
|
||||
#: cal.php:181 cal.php:185
|
||||
msgid "Export Events"
|
||||
msgstr "Exportar Eventos"
|
||||
|
||||
#: cal.php:189
|
||||
msgid "If this is enabled, your public events will be available at"
|
||||
msgstr "Si esto está habilitado, sus eventos públicos estarán permitidos en"
|
||||
|
||||
#: cal.php:190
|
||||
msgid "Currently supported formats are ical and csv."
|
||||
msgstr "Los formatos soportados actualmente son ical y csv."
|
||||
|
||||
#: cal.php:191
|
||||
msgid "Enable calendar export"
|
||||
msgstr "Habilitar exportar calendario"
|
||||
|
||||
#: cal.php:193
|
||||
msgid "Save Settings"
|
||||
msgstr "Guardar Ajustes"
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_es")) {
|
||||
function string_plural_select_es($n){
|
||||
return ($n != 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Event Export"] = "Exportación de evento";
|
||||
$a->strings["You can download public events from: "] = "Puede descargar eventos públicos desde:";
|
||||
$a->strings["The user does not export the calendar."] = "El usuario no exporta el calendario.";
|
||||
$a->strings["This calendar format is not supported"] = "No se soporta este formato de calendario";
|
||||
$a->strings["Export Events"] = "Exportar Eventos";
|
||||
$a->strings["If this is enabled, your public events will be available at"] = "Si esto está habilitado, sus eventos públicos estarán permitidos en";
|
||||
$a->strings["Currently supported formats are ical and csv."] = "Los formatos soportados actualmente son ical y csv.";
|
||||
$a->strings["Enable calendar export"] = "Habilitar exportar calendario";
|
||||
$a->strings["Save Settings"] = "Guardar Ajustes";
|
|
@ -0,0 +1,56 @@
|
|||
# ADDON cal
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica cal addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Tubuntu <tubuntu@testimonium.be>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
||||
"PO-Revision-Date: 2014-09-07 09:24+0000\n"
|
||||
"Last-Translator: Tubuntu <tubuntu@testimonium.be>\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/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"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "Event Export"
|
||||
msgstr "Exportation d'événement"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "You can download public events from: "
|
||||
msgstr "Vous pouvez télécharger les événements publiques de :"
|
||||
|
||||
#: cal.php:53
|
||||
msgid "The user does not export the calendar."
|
||||
msgstr "L'utilisateur n'exporte pas le calendrier."
|
||||
|
||||
#: cal.php:83
|
||||
msgid "This calendar format is not supported"
|
||||
msgstr "Ce format de calendrier n'est pas pris en charge"
|
||||
|
||||
#: cal.php:181 cal.php:185
|
||||
msgid "Export Events"
|
||||
msgstr "Exporter les événements"
|
||||
|
||||
#: cal.php:189
|
||||
msgid "If this is enabled, your public events will be available at"
|
||||
msgstr "Si activé, vos événements publiques seront disponible à"
|
||||
|
||||
#: cal.php:190
|
||||
msgid "Currently supported formats are ical and csv."
|
||||
msgstr "Les formats actuellement pris en charge sont ical et csv."
|
||||
|
||||
#: cal.php:191
|
||||
msgid "Enable calendar export"
|
||||
msgstr "Activer l'export de calendrier"
|
||||
|
||||
#: cal.php:193
|
||||
msgid "Save Settings"
|
||||
msgstr "Sauvegarder les paramètres"
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_fr")) {
|
||||
function string_plural_select_fr($n){
|
||||
return ($n > 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Event Export"] = "Exportation d'événement";
|
||||
$a->strings["You can download public events from: "] = "Vous pouvez télécharger les événements publiques de :";
|
||||
$a->strings["The user does not export the calendar."] = "L'utilisateur n'exporte pas le calendrier.";
|
||||
$a->strings["This calendar format is not supported"] = "Ce format de calendrier n'est pas pris en charge";
|
||||
$a->strings["Export Events"] = "Exporter les événements";
|
||||
$a->strings["If this is enabled, your public events will be available at"] = "Si activé, vos événements publiques seront disponible à";
|
||||
$a->strings["Currently supported formats are ical and csv."] = "Les formats actuellement pris en charge sont ical et csv.";
|
||||
$a->strings["Enable calendar export"] = "Activer l'export de calendrier";
|
||||
$a->strings["Save Settings"] = "Sauvegarder les paramètres";
|
|
@ -0,0 +1,56 @@
|
|||
# ADDON cal
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica cal 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 13:18+0200\n"
|
||||
"PO-Revision-Date: 2014-09-10 10:30+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"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "Event Export"
|
||||
msgstr "Esporta Evento"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "You can download public events from: "
|
||||
msgstr "Puoi scaricare gli eventi publici da:"
|
||||
|
||||
#: cal.php:53
|
||||
msgid "The user does not export the calendar."
|
||||
msgstr "L'utente non esporta il calendario."
|
||||
|
||||
#: cal.php:83
|
||||
msgid "This calendar format is not supported"
|
||||
msgstr "Il formato del calendario non è supportato"
|
||||
|
||||
#: cal.php:181 cal.php:185
|
||||
msgid "Export Events"
|
||||
msgstr "Esporta Eventi"
|
||||
|
||||
#: cal.php:189
|
||||
msgid "If this is enabled, your public events will be available at"
|
||||
msgstr "Se abilitato, i tuoi eventi pubblici saranno disponibili a"
|
||||
|
||||
#: cal.php:190
|
||||
msgid "Currently supported formats are ical and csv."
|
||||
msgstr "I formati supportati sono ical e csv."
|
||||
|
||||
#: cal.php:191
|
||||
msgid "Enable calendar export"
|
||||
msgstr "Abilita esporazione calendario"
|
||||
|
||||
#: cal.php:193
|
||||
msgid "Save Settings"
|
||||
msgstr "Salva Impostazioni"
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_it")) {
|
||||
function string_plural_select_it($n){
|
||||
return ($n != 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Event Export"] = "Esporta Evento";
|
||||
$a->strings["You can download public events from: "] = "Puoi scaricare gli eventi publici da:";
|
||||
$a->strings["The user does not export the calendar."] = "L'utente non esporta il calendario.";
|
||||
$a->strings["This calendar format is not supported"] = "Il formato del calendario non è supportato";
|
||||
$a->strings["Export Events"] = "Esporta Eventi";
|
||||
$a->strings["If this is enabled, your public events will be available at"] = "Se abilitato, i tuoi eventi pubblici saranno disponibili a";
|
||||
$a->strings["Currently supported formats are ical and csv."] = "I formati supportati sono ical e csv.";
|
||||
$a->strings["Enable calendar export"] = "Abilita esporazione calendario";
|
||||
$a->strings["Save Settings"] = "Salva Impostazioni";
|
|
@ -0,0 +1,57 @@
|
|||
# ADDON cal
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica cal addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# John Brazil, 2015
|
||||
# Sérgio Lima <oigreslima@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
||||
"PO-Revision-Date: 2015-01-31 01:24+0000\n"
|
||||
"Last-Translator: John Brazil\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/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"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "Event Export"
|
||||
msgstr "Exportar Evento"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "You can download public events from: "
|
||||
msgstr "Você pode baixar eventos públicos de:"
|
||||
|
||||
#: cal.php:53
|
||||
msgid "The user does not export the calendar."
|
||||
msgstr "O usuário não exportou o calendário."
|
||||
|
||||
#: cal.php:83
|
||||
msgid "This calendar format is not supported"
|
||||
msgstr "Esse formato de calendário não é suportado."
|
||||
|
||||
#: cal.php:181 cal.php:185
|
||||
msgid "Export Events"
|
||||
msgstr "Exporta Eventos"
|
||||
|
||||
#: cal.php:189
|
||||
msgid "If this is enabled, your public events will be available at"
|
||||
msgstr "Se isso estiver habiltiado, seus eventos públicos estarão disponíveis"
|
||||
|
||||
#: cal.php:190
|
||||
msgid "Currently supported formats are ical and csv."
|
||||
msgstr "Os formatos disponíveis atualmente são ical e csv."
|
||||
|
||||
#: cal.php:191
|
||||
msgid "Enable calendar export"
|
||||
msgstr "Habilite exportar calendário"
|
||||
|
||||
#: cal.php:193
|
||||
msgid "Save Settings"
|
||||
msgstr "Salvar as Configurações"
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_pt_br")) {
|
||||
function string_plural_select_pt_br($n){
|
||||
return ($n > 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Event Export"] = "Exportar Evento";
|
||||
$a->strings["You can download public events from: "] = "Você pode baixar eventos públicos de:";
|
||||
$a->strings["The user does not export the calendar."] = "O usuário não exportou o calendário.";
|
||||
$a->strings["This calendar format is not supported"] = "Esse formato de calendário não é suportado.";
|
||||
$a->strings["Export Events"] = "Exporta Eventos";
|
||||
$a->strings["If this is enabled, your public events will be available at"] = "Se isso estiver habiltiado, seus eventos públicos estarão disponíveis";
|
||||
$a->strings["Currently supported formats are ical and csv."] = "Os formatos disponíveis atualmente são ical e csv.";
|
||||
$a->strings["Enable calendar export"] = "Habilite exportar calendário";
|
||||
$a->strings["Save Settings"] = "Salvar as Configurações";
|
|
@ -0,0 +1,56 @@
|
|||
# ADDON cal
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica cal addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Doru DEACONU <dumitrudeaconu@yahoo.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
||||
"PO-Revision-Date: 2014-11-27 14:13+0000\n"
|
||||
"Last-Translator: Doru DEACONU <dumitrudeaconu@yahoo.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"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "Event Export"
|
||||
msgstr "Exportare Eveniment"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "You can download public events from: "
|
||||
msgstr "Puteți descărca evenimente publice de la:"
|
||||
|
||||
#: cal.php:53
|
||||
msgid "The user does not export the calendar."
|
||||
msgstr "Utilizatorul nu își exportă calendarul."
|
||||
|
||||
#: cal.php:83
|
||||
msgid "This calendar format is not supported"
|
||||
msgstr "Acest format de calendar nu este acceptat"
|
||||
|
||||
#: cal.php:181 cal.php:185
|
||||
msgid "Export Events"
|
||||
msgstr "Exportați Evenimente"
|
||||
|
||||
#: cal.php:189
|
||||
msgid "If this is enabled, your public events will be available at"
|
||||
msgstr "Dacă este activat, evenimente dvs publice vor fi disponibile pe"
|
||||
|
||||
#: cal.php:190
|
||||
msgid "Currently supported formats are ical and csv."
|
||||
msgstr "Formate acceptate în prezent sunt ical şi csv."
|
||||
|
||||
#: cal.php:191
|
||||
msgid "Enable calendar export"
|
||||
msgstr "Activați exportarea calendarului"
|
||||
|
||||
#: cal.php:193
|
||||
msgid "Save Settings"
|
||||
msgstr "Salvare Configurări"
|
|
@ -0,0 +1,16 @@
|
|||
<?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["Event Export"] = "Exportare Eveniment";
|
||||
$a->strings["You can download public events from: "] = "Puteți descărca evenimente publice de la:";
|
||||
$a->strings["The user does not export the calendar."] = "Utilizatorul nu își exportă calendarul.";
|
||||
$a->strings["This calendar format is not supported"] = "Acest format de calendar nu este acceptat";
|
||||
$a->strings["Export Events"] = "Exportați Evenimente";
|
||||
$a->strings["If this is enabled, your public events will be available at"] = "Dacă este activat, evenimente dvs publice vor fi disponibile pe";
|
||||
$a->strings["Currently supported formats are ical and csv."] = "Formate acceptate în prezent sunt ical şi csv.";
|
||||
$a->strings["Enable calendar export"] = "Activați exportarea calendarului";
|
||||
$a->strings["Save Settings"] = "Salvare Configurări";
|
|
@ -0,0 +1,56 @@
|
|||
# ADDON cal
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica cal 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 13:18+0200\n"
|
||||
"PO-Revision-Date: 2017-04-08 17:06+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"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "Event Export"
|
||||
msgstr "Экспорт событий"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "You can download public events from: "
|
||||
msgstr "Вы можете скачать публичные события из:"
|
||||
|
||||
#: cal.php:53
|
||||
msgid "The user does not export the calendar."
|
||||
msgstr "Пользователь не экспортировал календарь."
|
||||
|
||||
#: cal.php:83
|
||||
msgid "This calendar format is not supported"
|
||||
msgstr "Этот формат календарей не поддерживается"
|
||||
|
||||
#: cal.php:181 cal.php:185
|
||||
msgid "Export Events"
|
||||
msgstr "Экспорт событий"
|
||||
|
||||
#: cal.php:189
|
||||
msgid "If this is enabled, your public events will be available at"
|
||||
msgstr "Если эта настройка включена, то ваши публичные события будут доступны на:"
|
||||
|
||||
#: cal.php:190
|
||||
msgid "Currently supported formats are ical and csv."
|
||||
msgstr "Текущие поддерживаемые форматы ical и csv."
|
||||
|
||||
#: cal.php:191
|
||||
msgid "Enable calendar export"
|
||||
msgstr "Включить экспорт календаря"
|
||||
|
||||
#: cal.php:193
|
||||
msgid "Save Settings"
|
||||
msgstr "Сохранить настройки"
|
|
@ -0,0 +1,16 @@
|
|||
<?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["Event Export"] = "Экспорт событий";
|
||||
$a->strings["You can download public events from: "] = "Вы можете скачать публичные события из:";
|
||||
$a->strings["The user does not export the calendar."] = "Пользователь не экспортировал календарь.";
|
||||
$a->strings["This calendar format is not supported"] = "Этот формат календарей не поддерживается";
|
||||
$a->strings["Export Events"] = "Экспорт событий";
|
||||
$a->strings["If this is enabled, your public events will be available at"] = "Если эта настройка включена, то ваши публичные события будут доступны на:";
|
||||
$a->strings["Currently supported formats are ical and csv."] = "Текущие поддерживаемые форматы ical и csv.";
|
||||
$a->strings["Enable calendar export"] = "Включить экспорт календаря";
|
||||
$a->strings["Save Settings"] = "Сохранить настройки";
|
|
@ -0,0 +1,56 @@
|
|||
# ADDON cal
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica cal addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# mytbk <mytbk920423@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
||||
"PO-Revision-Date: 2017-10-02 05:52+0000\n"
|
||||
"Last-Translator: mytbk <mytbk920423@gmail.com>\n"
|
||||
"Language-Team: Chinese (China) (http://www.transifex.com/Friendica/friendica/language/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: zh_CN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "Event Export"
|
||||
msgstr "事件导出"
|
||||
|
||||
#: cal.php:33
|
||||
msgid "You can download public events from: "
|
||||
msgstr "你可以从这里下载公开事件:"
|
||||
|
||||
#: cal.php:53
|
||||
msgid "The user does not export the calendar."
|
||||
msgstr "这个用户没有导出日历。"
|
||||
|
||||
#: cal.php:83
|
||||
msgid "This calendar format is not supported"
|
||||
msgstr "不支持这个日历格式"
|
||||
|
||||
#: cal.php:181 cal.php:185
|
||||
msgid "Export Events"
|
||||
msgstr "导出事件"
|
||||
|
||||
#: cal.php:189
|
||||
msgid "If this is enabled, your public events will be available at"
|
||||
msgstr "如果这个被启用,你的公开事件会在"
|
||||
|
||||
#: cal.php:190
|
||||
msgid "Currently supported formats are ical and csv."
|
||||
msgstr "当前支持的格式是 ical 和 csv."
|
||||
|
||||
#: cal.php:191
|
||||
msgid "Enable calendar export"
|
||||
msgstr "启用日历导出"
|
||||
|
||||
#: cal.php:193
|
||||
msgid "Save Settings"
|
||||
msgstr "保存设置"
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_zh_cn")) {
|
||||
function string_plural_select_zh_cn($n){
|
||||
return 0;;
|
||||
}}
|
||||
;
|
||||
$a->strings["Event Export"] = "事件导出";
|
||||
$a->strings["You can download public events from: "] = "你可以从这里下载公开事件:";
|
||||
$a->strings["The user does not export the calendar."] = "这个用户没有导出日历。";
|
||||
$a->strings["This calendar format is not supported"] = "不支持这个日历格式";
|
||||
$a->strings["Export Events"] = "导出事件";
|
||||
$a->strings["If this is enabled, your public events will be available at"] = "如果这个被启用,你的公开事件会在";
|
||||
$a->strings["Currently supported formats are ical and csv."] = "当前支持的格式是 ical 和 csv.";
|
||||
$a->strings["Enable calendar export"] = "启用日历导出";
|
||||
$a->strings["Save Settings"] = "保存设置";
|
|
@ -6,8 +6,6 @@
|
|||
* Author: Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
|
||||
*/
|
||||
|
||||
use Friendica\Core\Config;
|
||||
use Friendica\Module\Login;
|
||||
|
||||
require_once('mod/community.php');
|
||||
|
||||
|
@ -22,73 +20,37 @@ function communityhome_uninstall() {
|
|||
logger("removed communityhome");
|
||||
}
|
||||
|
||||
function communityhome_getopts() {
|
||||
return [
|
||||
'hidelogin'=>t('Hide login form'),
|
||||
'showlastusers'=>t('Show last new users'),
|
||||
'showactiveusers'=>t('Show last active users'),
|
||||
'showlastphotos'=>t('Show last photos'),
|
||||
'showlastlike'=>t('Show last liked items'),
|
||||
'showcommunitystream'=>t('Show community stream')
|
||||
];
|
||||
}
|
||||
|
||||
function communityhome_plugin_admin(&$a, &$o) {
|
||||
$tpl = get_markup_template( 'settings.tpl', 'addon/communityhome/' );
|
||||
|
||||
$opts = communityhome_getopts();
|
||||
$ctx = [
|
||||
'$submit' => t("Submit"),
|
||||
'$fields' => [],
|
||||
];
|
||||
foreach($opts as $k=>$v) {
|
||||
$ctx['fields'][] = ['communityhome_'.$k, $v, Config::get('communityhome', $k)];
|
||||
}
|
||||
$o = replace_macros($tpl, $ctx);
|
||||
}
|
||||
|
||||
function communityhome_plugin_admin_post(&$a,&$b) {
|
||||
if(x($_POST,'communityhome-submit')) {
|
||||
$opts = communityhome_getopts();
|
||||
foreach($opts as $k=>$v) {
|
||||
Config::set('communityhome', $k, x($_POST,'communityhome_'.$k));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function communityhome_home(&$a, &$o){
|
||||
// custom css
|
||||
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="'.$a->get_baseurl().'/addon/communityhome/communityhome.css" media="all" />';
|
||||
|
||||
if (!Config::get('communityhome','hidelogin')){
|
||||
$aside = [
|
||||
if (!get_config('communityhome','hidelogin')){
|
||||
$aside = array(
|
||||
'$tab_1' => t('Login'),
|
||||
'$tab_2' => t('OpenID'),
|
||||
'$noOid' => Config::get('system','no_openid'),
|
||||
];
|
||||
'$noOid' => get_config('system','no_openid'),
|
||||
);
|
||||
|
||||
// login form
|
||||
$aside['$login_title'] = t('Login');
|
||||
$aside['$login_form'] = Login::form($a->query_string, $a->config['register_policy'] == REGISTER_CLOSED ? false : true);
|
||||
} else {
|
||||
$aside = [
|
||||
$aside['$login_form'] = login(($a->config['register_policy'] == REGISTER_CLOSED) ? false : true);
|
||||
} else
|
||||
$aside = array(
|
||||
//'$tab_1' => t('Login'),
|
||||
//'$tab_2' => t('OpenID'),
|
||||
//'$noOid' => Config::get('system','no_openid'),
|
||||
];
|
||||
}
|
||||
//'$noOid' => get_config('system','no_openid'),
|
||||
);
|
||||
|
||||
// last 12 users
|
||||
if (Config::get('communityhome','showlastusers')){
|
||||
if (get_config('communityhome','showlastusers')===true){
|
||||
$aside['$lastusers_title'] = t('Latest users');
|
||||
$aside['$lastusers_items'] = [];
|
||||
$aside['$lastusers_items'] = array();
|
||||
$sql_extra = "";
|
||||
$publish = (Config::get('system','publish_all') ? '' : " AND `publish` = 1 " );
|
||||
$publish = (get_config('system','publish_all') ? '' : " AND `publish` = 1 " );
|
||||
$order = " ORDER BY `register_date` DESC ";
|
||||
|
||||
$r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname`
|
||||
FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid`
|
||||
FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid`
|
||||
WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $sql_extra $order LIMIT %d , %d ",
|
||||
0,
|
||||
12
|
||||
|
@ -99,25 +61,25 @@ function communityhome_home(&$a, &$o){
|
|||
$photo = 'thumb';
|
||||
foreach($r as $rr) {
|
||||
$profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']);
|
||||
$entry = replace_macros($tpl,[
|
||||
$entry = replace_macros($tpl,array(
|
||||
'$id' => $rr['id'],
|
||||
'$profile_link' => $profile_link,
|
||||
'$photo' => $rr[$photo],
|
||||
'$photo' => $a->get_cached_avatar_image($rr[$photo]),
|
||||
'$alt_text' => $rr['name'],
|
||||
]);
|
||||
));
|
||||
$aside['$lastusers_items'][] = $entry;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 12 most active users (by posts and contacts)
|
||||
// this query don't work on some mysql versions
|
||||
if (Config::get('communityhome','showactiveusers')){
|
||||
if (get_config('communityhome','showactiveusers')===true){
|
||||
$r = q("SELECT `uni`.`contacts`,`uni`.`items`, `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname` FROM
|
||||
(SELECT COUNT(*) as `contacts`, `uid` FROM `contact` WHERE `self`=0 GROUP BY `uid`) AS `con`,
|
||||
(SELECT COUNT(*) as `items`, `uid` FROM `item` WHERE `item`.`changed` > DATE(NOW() - INTERVAL 1 MONTH) AND `item`.`wall` = 1 GROUP BY `uid`) AS `ite`,
|
||||
(
|
||||
SELECT `contacts`,`items`,`ite`.`uid` FROM `con` RIGHT OUTER JOIN `ite` ON `con`.`uid`=`ite`.`uid`
|
||||
UNION ALL
|
||||
SELECT `contacts`,`items`,`ite`.`uid` FROM `con` RIGHT OUTER JOIN `ite` ON `con`.`uid`=`ite`.`uid`
|
||||
UNION ALL
|
||||
SELECT `contacts`,`items`,`con`.`uid` FROM `con` LEFT OUTER JOIN `ite` ON `con`.`uid`=`ite`.`uid`
|
||||
) AS `uni`, `user`, `profile`
|
||||
WHERE `uni`.`uid`=`user`.`uid`
|
||||
|
@ -127,31 +89,31 @@ function communityhome_home(&$a, &$o){
|
|||
LIMIT 0,10");
|
||||
if($r && count($r)) {
|
||||
$aside['$activeusers_title'] = t('Most active users');
|
||||
$aside['$activeusers_items'] = [];
|
||||
$aside['$activeusers_items'] = array();
|
||||
|
||||
$photo = 'thumb';
|
||||
foreach($r as $rr) {
|
||||
$profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']);
|
||||
$entry = replace_macros($tpl,[
|
||||
$entry = replace_macros($tpl,array(
|
||||
'$id' => $rr['id'],
|
||||
'$profile_link' => $profile_link,
|
||||
'$photo' => $rr[$photo],
|
||||
'$photo_user' => sprintf("%s (%s posts, %s contacts)",$rr['name'], ($rr['items']?$rr['items']:'0'), ($rr['contacts']?$rr['contacts']:'0'))
|
||||
]);
|
||||
'$alt_text' => sprintf("%s (%s posts, %s contacts)",$rr['name'], ($rr['items']?$rr['items']:'0'), ($rr['contacts']?$rr['contacts']:'0'))
|
||||
));
|
||||
$aside['$activeusers_items'][] = $entry;
|
||||
}
|
||||
}
|
||||
}
|
||||
// last 12 photos
|
||||
if (Config::get('communityhome','showlastphotos')){
|
||||
if (get_config('communityhome','showlastphotos')===true){
|
||||
$aside['$photos_title'] = t('Latest photos');
|
||||
$aside['$photos_items'] = [];
|
||||
$r = q("SELECT `photo`.`id`, `photo`.`resource-id`, `photo`.`scale`, `photo`.`desc`, `user`.`nickname`, `user`.`username` FROM
|
||||
(SELECT `resource-id`, MAX(`scale`) as maxscale FROM `photo`
|
||||
$aside['$photos_items'] = array();
|
||||
$r = q("SELECT `photo`.`id`, `photo`.`resource-id`, `photo`.`scale`, `photo`.`desc`, `user`.`nickname`, `user`.`username` FROM
|
||||
(SELECT `resource-id`, MAX(`scale`) as maxscale FROM `photo`
|
||||
WHERE `profile`=0 AND `contact-id`=0 AND `album` NOT IN ('Contact Photos', '%s', 'Profile Photos', '%s')
|
||||
AND `allow_cid`='' AND `allow_gid`='' AND `deny_cid`='' AND `deny_gid`='' GROUP BY `resource-id`) AS `t1`
|
||||
INNER JOIN `photo` ON `photo`.`resource-id`=`t1`.`resource-id` AND `photo`.`scale` = `t1`.`maxscale`,
|
||||
`user`
|
||||
`user`
|
||||
WHERE `user`.`uid` = `photo`.`uid`
|
||||
AND `user`.`blockwall`=0
|
||||
AND `user`.`hidewall` = 0
|
||||
|
@ -169,13 +131,12 @@ function communityhome_home(&$a, &$o){
|
|||
$photo_page = $a->get_baseurl() . '/photos/' . $rr['nickname'] . '/image/' . $rr['resource-id'];
|
||||
$photo_url = $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['scale'] .'.jpg';
|
||||
|
||||
$entry = replace_macros($tpl,[
|
||||
$entry = replace_macros($tpl,array(
|
||||
'$id' => $rr['id'],
|
||||
'$profile_link' => $photo_page,
|
||||
'$photo' => $photo_url,
|
||||
'$photo_user' => $rr['username'],
|
||||
'$photo_title' => $rr['desc']
|
||||
]);
|
||||
'$alt_text' => $rr['username']." : ".$rr['desc'],
|
||||
));
|
||||
|
||||
$aside['$photos_items'][] = $entry;
|
||||
}
|
||||
|
@ -183,13 +144,13 @@ function communityhome_home(&$a, &$o){
|
|||
}
|
||||
|
||||
// last 10 liked items
|
||||
if (Config::get('communityhome','showlastlike')){
|
||||
if (get_config('communityhome','showlastlike')===true){
|
||||
$aside['$like_title'] = t('Latest likes');
|
||||
$aside['$like_items'] = [];
|
||||
$r = q("SELECT `T1`.`created`, `T1`.`liker`, `T1`.`liker-link`, `item`.* FROM
|
||||
(SELECT `parent-uri`, `created`, `author-name` AS `liker`,`author-link` AS `liker-link`
|
||||
$aside['$like_items'] = array();
|
||||
$r = q("SELECT `T1`.`created`, `T1`.`liker`, `T1`.`liker-link`, `item`.* FROM
|
||||
(SELECT `parent-uri`, `created`, `author-name` AS `liker`,`author-link` AS `liker-link`
|
||||
FROM `item` WHERE `verb`='http://activitystrea.ms/schema/1.0/like' GROUP BY `parent-uri` ORDER BY `created` DESC) AS T1
|
||||
INNER JOIN `item` ON `item`.`uri`=`T1`.`parent-uri`
|
||||
INNER JOIN `item` ON `item`.`uri`=`T1`.`parent-uri`
|
||||
WHERE `T1`.`liker-link` LIKE '%s%%' OR `item`.`author-link` LIKE '%s%%'
|
||||
GROUP BY `uri`
|
||||
ORDER BY `T1`.`created` DESC
|
||||
|
@ -215,7 +176,7 @@ function communityhome_home(&$a, &$o){
|
|||
default:
|
||||
if ($rr['resource-id']){
|
||||
$post_type = t('photo');
|
||||
$m=[]; preg_match("/\[url=([^]]*)\]/", $rr['body'], $m);
|
||||
$m=array(); preg_match("/\[url=([^]]*)\]/", $rr['body'], $m);
|
||||
$rr['plink'] = $m[1];
|
||||
} else {
|
||||
$post_type = t('status');
|
||||
|
@ -237,14 +198,14 @@ function communityhome_home(&$a, &$o){
|
|||
if(file_exists('home.html'))
|
||||
$o = file_get_contents('home.html');
|
||||
|
||||
if (Config::get('communityhome','showcommunitystream')){
|
||||
$oldset = Config::get('system','community_page_style');
|
||||
if (get_config('communityhome','showcommunitystream')===true){
|
||||
$oldset = get_config('system','community_page_style');
|
||||
if ($oldset == CP_NO_COMMUNITY_PAGE)
|
||||
Config::set('system','community_page_style', CP_USERS_ON_SERVER);
|
||||
set_config('system','community_page_style', CP_USERS_ON_SERVER);
|
||||
|
||||
$o .= community_content($a,1);
|
||||
|
||||
if ($oldset == CP_NO_COMMUNITY_PAGE)
|
||||
Config::set('system','community_page_style', $oldset);
|
||||
set_config('system','community_page_style', $oldset);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
<div class="directory-item" id="directory-item-{{$id}}" >
|
||||
<div class="directory-photo-wrapper" id="directory-photo-wrapper-{{$id}}" >
|
||||
<div class="directory-photo" id="directory-photo-{{$id}}" >
|
||||
<a href="{{$profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$id}}" >
|
||||
<img class="directory-photo-img" src="{{$photo}}" alt="{{$photo_user}} {{if $photo_title}}: {{$photo_title}}{{/if}}" title="{{$alt_text}}" />
|
||||
<a href="{{$profile}}-link" class="directory-profile-link" id="directory-profile-link-{{$id}}" >
|
||||
<img class="directory-photo-img" src="{{$photo}}" alt="{{$alt}}-text" title="{{$alt}}-text" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
<div id="communityhome-wrapper">
|
||||
{{foreach $fields as $field}}
|
||||
{{include file="field_checkbox.tpl" field=$field}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
<div class="settings-submit-wrapper" >
|
||||
<input type="submit" id="communityhome-submit" name="communityhome-submit" class="settings-submit" value="{{$submit}}" />
|
||||
</div>
|
||||
|
|
@ -15,7 +15,7 @@ function convert_uninstall() {
|
|||
}
|
||||
|
||||
function convert_app_menu($a,&$b) {
|
||||
$b['app_menu'][] = '<div class="app-title"><a href="convert">Units Conversion</a></div>';
|
||||
$b['app_menu'][] = '<div class="app-title"><a href="convert">Units Conversion</a></div>';
|
||||
}
|
||||
|
||||
|
||||
|
@ -30,7 +30,7 @@ function convert_module() {}
|
|||
function convert_content($app) {
|
||||
|
||||
include("UnitConvertor.php");
|
||||
|
||||
|
||||
class TP_Converter extends UnitConvertor {
|
||||
function TP_Converter($lang = "en")
|
||||
{
|
||||
|
@ -39,7 +39,7 @@ include("UnitConvertor.php");
|
|||
} else {
|
||||
$dec_point = '.'; $thousand_sep = ",";
|
||||
}
|
||||
|
||||
|
||||
$this->UnitConvertor($dec_point , $thousand_sep );
|
||||
|
||||
} // end func UnitConvertor
|
||||
|
@ -47,24 +47,24 @@ include("UnitConvertor.php");
|
|||
function find_base_unit($from,$to) {
|
||||
while (list($skey,$sval) = each($this->bases)) {
|
||||
if ($skey == $from || $to == $skey || in_array($to,$sval) || in_array($from,$sval)) {
|
||||
return $skey;
|
||||
return $skey;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
function getTable($value, $from_unit, $to_unit, $precision) {
|
||||
|
||||
|
||||
if ($base_unit = $this->find_base_unit($from_unit,$to_unit)) {
|
||||
|
||||
// A baseunit was found now lets convert from -> $base_unit
|
||||
|
||||
$cell ['value'] = $this->convert($value, $from_unit, $base_unit, $precision)." ".$base_unit;
|
||||
|
||||
// A baseunit was found now lets convert from -> $base_unit
|
||||
|
||||
$cell ['value'] = $this->convert($value, $from_unit, $base_unit, $precision)." ".$base_unit;
|
||||
$cell ['class'] = ($base_unit == $from_unit || $base_unit == $to_unit) ? "framedred": "";
|
||||
$cells[] = $cell;
|
||||
// We now have the base unit and value now lets produce the table;
|
||||
while (list($key,$val) = each($this->bases[$base_unit])) {
|
||||
$cell ['value'] = $this->convert($value, $from_unit, $val, $precision)." ".$val;
|
||||
$cell ['value'] = $this->convert($value, $from_unit, $val, $precision)." ".$val;
|
||||
$cell ['class'] = ($val == $from_unit || $val == $to_unit) ? "framedred": "";
|
||||
$cells[] = $cell;
|
||||
}
|
||||
|
@ -83,8 +83,8 @@ include("UnitConvertor.php");
|
|||
}
|
||||
$string .= "</tr></table>";
|
||||
return $string;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -92,16 +92,16 @@ include("UnitConvertor.php");
|
|||
$conv = new TP_Converter('en');
|
||||
|
||||
|
||||
$conversions = [
|
||||
'Temperature'=>['base' =>'Celsius',
|
||||
'conv'=>[
|
||||
'Fahrenheit'=>['ratio'=>1.8, 'offset'=>32],
|
||||
'Kelvin'=>['ratio'=>1, 'offset'=>273],
|
||||
$conversions = array(
|
||||
'Temperature'=>array('base' =>'Celsius',
|
||||
'conv'=>array(
|
||||
'Fahrenheit'=>array('ratio'=>1.8, 'offset'=>32),
|
||||
'Kelvin'=>array('ratio'=>1, 'offset'=>273),
|
||||
'Reaumur'=>0.8
|
||||
]
|
||||
],
|
||||
'Weight' => ['base' =>'kg',
|
||||
'conv'=>[
|
||||
)
|
||||
),
|
||||
'Weight' => array('base' =>'kg',
|
||||
'conv'=>array(
|
||||
'g'=>1000,
|
||||
'mg'=>1000000,
|
||||
't'=>0.001,
|
||||
|
@ -109,13 +109,13 @@ $conversions = [
|
|||
'oz'=>35.274,
|
||||
'lb'=>2.2046,
|
||||
'cwt(UK)' => 0.019684,
|
||||
'cwt(US)' => 0.022046,
|
||||
'cwt(US)' => 0.022046,
|
||||
'ton (US)' => 0.0011023,
|
||||
'ton (UK)' => 0.0009842
|
||||
]
|
||||
],
|
||||
'Distance' => ['base' =>'km',
|
||||
'conv'=>[
|
||||
)
|
||||
),
|
||||
'Distance' => array('base' =>'km',
|
||||
'conv'=>array(
|
||||
'm'=>1000,
|
||||
'dm'=>10000,
|
||||
'cm'=>100000,
|
||||
|
@ -127,25 +127,25 @@ $conversions = [
|
|||
'yd'=>1093.6,
|
||||
'furlong'=>4.970969537898672,
|
||||
'fathom'=>546.8066491688539
|
||||
]
|
||||
],
|
||||
'Area' => ['base' =>'km 2',
|
||||
'conv'=>[
|
||||
)
|
||||
),
|
||||
'Area' => array('base' =>'km 2',
|
||||
'conv'=>array(
|
||||
'ha'=>100,
|
||||
'acre'=>247.105,
|
||||
'm 2'=>pow(1000,2),
|
||||
'dm 2'=>pow(10000,2),
|
||||
'cm 2'=>pow(100000,2),
|
||||
'mm 2'=>pow(1000000,2),
|
||||
'mm 2'=>pow(1000000,2),
|
||||
'mile 2'=>pow(0.62137,2),
|
||||
'naut.miles 2'=>pow(0.53996,2),
|
||||
'in 2'=>pow(39370,2),
|
||||
'ft 2'=>pow(3280.8,2),
|
||||
'yd 2'=>pow(1093.6,2),
|
||||
]
|
||||
],
|
||||
'Volume' => ['base' =>'m 3',
|
||||
'conv'=>[
|
||||
)
|
||||
),
|
||||
'Volume' => array('base' =>'m 3',
|
||||
'conv'=>array(
|
||||
'in 3'=>61023.6,
|
||||
'ft 3'=>35.315,
|
||||
'cm 3'=>pow(10,6),
|
||||
|
@ -161,22 +161,22 @@ $conversions = [
|
|||
'fl oz' => 33814.02,
|
||||
'tablespoon' => 67628.04,
|
||||
'teaspoon' => 202884.1,
|
||||
'pt (UK)'=>1000/0.56826,
|
||||
'pt (UK)'=>1000/0.56826,
|
||||
'barrel petroleum'=>1000/158.99,
|
||||
'Register Tons'=>2.832,
|
||||
'Register Tons'=>2.832,
|
||||
'Ocean Tons'=>1.1327
|
||||
]
|
||||
],
|
||||
'Speed' =>['base' =>'kmph',
|
||||
'conv'=>[
|
||||
)
|
||||
),
|
||||
'Speed' =>array('base' =>'kmph',
|
||||
'conv'=>array(
|
||||
'mps'=>0.0001726031,
|
||||
'milesph'=>0.62137,
|
||||
'knots'=>0.53996,
|
||||
'mach STP'=>0.0008380431,
|
||||
'c (warp)'=>9.265669e-10
|
||||
]
|
||||
]
|
||||
];
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
while (list($key,$val) = each($conversions)) {
|
||||
|
@ -223,6 +223,6 @@ while (list($key,$val) = each($conversions)) {
|
|||
$o .= '</select>';
|
||||
|
||||
$o .= '<input type="submit" name="Submit" value="Submit" /></form>';
|
||||
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
convpath
|
||||
|
||||
This addon converts all internal paths according to the current scheme.
|
||||
|
||||
That means that if a page is called via https then all internal links are also converted into https.
|
||||
|
||||
Same happens when you call your page with http.
|
|
@ -0,0 +1,102 @@
|
|||
<?php
|
||||
/**
|
||||
* Name: Convert Paths
|
||||
* Description: Converts all internal paths according to the current scheme (http or https)
|
||||
* Version: 1.0
|
||||
* Author: Michael Vogel <https://pirati.ca/profile/heluecht>
|
||||
* Status: Unsupported
|
||||
*/
|
||||
|
||||
function convpath_install() {
|
||||
register_hook('page_end', 'addon/convpath/convpath.php', 'convpath_page_end');
|
||||
register_hook('page_header', 'addon/convpath/convpath.php', 'convpath_page_header');
|
||||
register_hook('ping_xmlize', 'addon/convpath/convpath.php', 'convpath_ping_xmlize_hook');
|
||||
register_hook('prepare_body', 'addon/convpath/convpath.php', 'convpath_prepare_body_hook');
|
||||
register_hook('display_item', 'addon/convpath/convpath.php', 'convpath_display_item_hook');
|
||||
}
|
||||
|
||||
|
||||
function convpath_uninstall() {
|
||||
unregister_hook('page_end', 'addon/convpath/convpath.php', 'convpath_page_end');
|
||||
unregister_hook('page_header', 'addon/convpath/convpath.php', 'convpath_page_header');
|
||||
unregister_hook('ping_xmlize', 'addon/convpath/convpath.php', 'convpath_ping_xmlize_hook');
|
||||
unregister_hook('prepare_body', 'addon/convpath/convpath.php', 'convpath_prepare_body_hook');
|
||||
unregister_hook('display_item', 'addon/convpath/convpath.php', 'convpath_display_item_hook');
|
||||
}
|
||||
|
||||
function convpath_ping_xmlize_hook(&$a, &$o) {
|
||||
$o["photo"] = convpath_url($a, $o["photo"]);
|
||||
}
|
||||
|
||||
function convpath_page_header(&$a, &$o){
|
||||
$o = convpath_convert($o);
|
||||
}
|
||||
|
||||
function convpath_page_end(&$a, &$o){
|
||||
$o = convpath_convert($o);
|
||||
if (isset($a->page['aside']))
|
||||
$a->page['aside'] = convpath_convert($a->page['aside']);
|
||||
}
|
||||
|
||||
function convpath_prepare_body_hook(&$a, &$o) {
|
||||
$o["html"] = convpath_convert($o["html"]);
|
||||
}
|
||||
|
||||
function convpath_display_item_hook(&$a, &$o) {
|
||||
if (isset($o["output"])) {
|
||||
if (isset($o["output"]["thumb"]))
|
||||
$o["output"]["thumb"] = convpath_url($a, $o["output"]["thumb"]);
|
||||
if (isset($o["output"]["author-avatar"]))
|
||||
$o["output"]["author-avatar"] = convpath_url($a, $o["output"]["author-avatar"]);
|
||||
if (isset($o["output"]["owner-avatar"]))
|
||||
$o["output"]["owner-avatar"] = convpath_url($a, $o["output"]["owner-avatar"]);
|
||||
if (isset($o["output"]["owner_photo"]))
|
||||
$o["output"]["owner_photo"] = convpath_url($a, $o["output"]["owner_photo"]);
|
||||
}
|
||||
}
|
||||
|
||||
function convpath_url($a, $path) {
|
||||
if ($path == "")
|
||||
return("");
|
||||
|
||||
$ssl = (substr($a->get_baseurl(), 0, 8) == "https://");
|
||||
|
||||
if ($ssl) {
|
||||
$search = "http://".$a->get_hostname();
|
||||
$replace = "https://".$a->get_hostname();
|
||||
} else {
|
||||
$search = "https://".$a->get_hostname();
|
||||
$replace = "http://".$a->get_hostname();
|
||||
}
|
||||
|
||||
$path = str_replace($search, $replace, $path);
|
||||
|
||||
return($path);
|
||||
}
|
||||
|
||||
/*
|
||||
Converts a given path according to the current scheme
|
||||
*/
|
||||
function convpath_convert($path) {
|
||||
global $a;
|
||||
|
||||
if ($path == "")
|
||||
return("");
|
||||
|
||||
$ssl = (substr($a->get_baseurl(), 0, 8) == "https://");
|
||||
|
||||
if ($ssl) {
|
||||
$search = "http://".$a->get_hostname();
|
||||
$replace = "https://".$a->get_hostname();
|
||||
} else {
|
||||
$search = "https://".$a->get_hostname();
|
||||
$replace = "http://".$a->get_hostname();
|
||||
}
|
||||
$searcharr = array("src='".$search, 'src="'.$search);
|
||||
$replacearr = array("src='".$replace, 'src="'.$replace);
|
||||
$path = str_replace($searcharr, $replacearr, $path);
|
||||
|
||||
//$path = str_replace($search, $replace, $path);
|
||||
|
||||
return($path);
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Name: Current Weather
|
||||
* Name: Current Weather
|
||||
* Description: Shows current weather conditions for user's location on their network page.
|
||||
* Version: 1.1
|
||||
* Author: Tony Baldwin <http://friendica.tonybaldwin.info/u/t0ny>
|
||||
|
@ -13,17 +13,13 @@ require_once('include/network.php');
|
|||
require_once("mod/proxy.php");
|
||||
require_once('include/text.php');
|
||||
|
||||
use Friendica\Core\Cache;
|
||||
use Friendica\Core\Config;
|
||||
use Friendica\Core\PConfig;
|
||||
|
||||
// get the weather data from OpenWeatherMap
|
||||
function getWeather( $loc, $units='metric', $lang='en', $appid='', $cachetime=0) {
|
||||
$url = "http://api.openweathermap.org/data/2.5/weather?q=".$loc."&appid=".$appid."&lang=".$lang."&units=".$units."&mode=xml";
|
||||
$cached = Cache::get('curweather'.md5($url));
|
||||
$now = new DateTime();
|
||||
if (!is_null($cached)) {
|
||||
$cdate = PConfig::get(local_user(), 'curweather', 'last');
|
||||
$cdate = get_pconfig(local_user(), 'curweather', 'last');
|
||||
$cached = unserialize($cached);
|
||||
if ($cdate + $cachetime > $now->getTimestamp()) {
|
||||
return $cached;
|
||||
|
@ -47,7 +43,7 @@ function getWeather( $loc, $units='metric', $lang='en', $appid='', $cachetime=0)
|
|||
} else {
|
||||
$desc = (string)$res->weather['value'].', '.(string)$res->clouds['name'];
|
||||
}
|
||||
$r = [
|
||||
$r = array(
|
||||
'city'=> (string) $res->city['name'][0],
|
||||
'country' => (string) $res->city->country[0],
|
||||
'lat' => (string) $res->city->coord['lat'],
|
||||
|
@ -59,8 +55,8 @@ function getWeather( $loc, $units='metric', $lang='en', $appid='', $cachetime=0)
|
|||
'wind' => (string)$res->wind->speed['name'].' ('.(string)$res->wind->speed['value'].$wunit.')',
|
||||
'update' => (string)$res->lastupdate['value'],
|
||||
'icon' => (string)$res->weather['icon']
|
||||
];
|
||||
PConfig::set(local_user(), 'curweather', 'last', $now->getTimestamp());
|
||||
);
|
||||
set_pconfig(local_user(), 'curweather', 'last', $now->getTimestamp());
|
||||
Cache::set('curweather'.md5($url), serialize($r), CACHE_HOUR);
|
||||
return $r;
|
||||
}
|
||||
|
@ -79,7 +75,7 @@ function curweather_uninstall() {
|
|||
|
||||
function curweather_network_mod_init(&$fk_app,&$b) {
|
||||
|
||||
if(! intval(PConfig::get(local_user(),'curweather','curweather_enable')))
|
||||
if(! intval(get_pconfig(local_user(),'curweather','curweather_enable')))
|
||||
return;
|
||||
|
||||
$fk_app->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $fk_app->get_baseurl() . '/addon/curweather/curweather.css' . '" media="all" />' . "\r\n";
|
||||
|
@ -93,14 +89,14 @@ function curweather_network_mod_init(&$fk_app,&$b) {
|
|||
// those parameters will be used to get: cloud status, temperature, preassure
|
||||
// and relative humidity for display, also the relevent area of the map is
|
||||
// linked from lat/log of the reply of OWMp
|
||||
$rpt = PConfig::get(local_user(), 'curweather', 'curweather_loc');
|
||||
$rpt = get_pconfig(local_user(), 'curweather', 'curweather_loc');
|
||||
|
||||
|
||||
// set the language to the browsers language and use metric units
|
||||
$lang = $_SESSION['language'];
|
||||
$units = PConfig::get( local_user(), 'curweather', 'curweather_units');
|
||||
$appid = Config::get('curweather','appid');
|
||||
$cachetime = intval(Config::get('curweather','cachetime'));
|
||||
$units = get_pconfig( local_user(), 'curweather', 'curweather_units');
|
||||
$appid = get_config('curweather','appid');
|
||||
$cachetime = intval(get_config('curweather','cachetime'));
|
||||
if ($units==="")
|
||||
$units = 'metric';
|
||||
$ok = true;
|
||||
|
@ -111,7 +107,7 @@ function curweather_network_mod_init(&$fk_app,&$b) {
|
|||
|
||||
if ($ok) {
|
||||
$t = get_markup_template("widget.tpl", "addon/curweather/" );
|
||||
$curweather = replace_macros ($t, [
|
||||
$curweather = replace_macros ($t, array(
|
||||
'$title' => t("Current Weather"),
|
||||
'$icon' => proxy_url('http://openweathermap.org/img/w/'.$res['icon'].'.png'),
|
||||
'$city' => $res['city'],
|
||||
|
@ -119,20 +115,20 @@ function curweather_network_mod_init(&$fk_app,&$b) {
|
|||
'$lat' => $res['lat'],
|
||||
'$description' => $res['descripion'],
|
||||
'$temp' => $res['temperature'],
|
||||
'$relhumidity' => ['caption'=>t('Relative Humidity'), 'val'=>$res['humidity']],
|
||||
'$pressure' => ['caption'=>t('Pressure'), 'val'=>$res['pressure']],
|
||||
'$wind' => ['caption'=>t('Wind'), 'val'=> $res['wind']],
|
||||
'$relhumidity' => array('caption'=>t('Relative Humidity'), 'val'=>$res['humidity']),
|
||||
'$pressure' => array('caption'=>t('Pressure'), 'val'=>$res['pressure']),
|
||||
'$wind' => array('caption'=>t('Wind'), 'val'=> $res['wind']),
|
||||
'$lastupdate' => t('Last Updated').': '.$res['update'].'UTC',
|
||||
'$databy' => t('Data by'),
|
||||
'$showonmap' => t('Show on map')
|
||||
]);
|
||||
));
|
||||
} else {
|
||||
$t = get_markup_template('widget-error.tpl', 'addon/curweather/');
|
||||
$curweather = replace_macros( $t, [
|
||||
$curweather = replace_macros( $t, array(
|
||||
'$problem' => t('There was a problem accessing the weather data. But have a look'),
|
||||
'$rpt' => $rpt,
|
||||
'$atOWM' => t('at OpenWeatherMap')
|
||||
]);
|
||||
));
|
||||
}
|
||||
|
||||
$fk_app->page['aside'] = $curweather.$fk_app->page['aside'];
|
||||
|
@ -143,9 +139,9 @@ function curweather_network_mod_init(&$fk_app,&$b) {
|
|||
function curweather_plugin_settings_post($a,$post) {
|
||||
if(! local_user() || (! x($_POST,'curweather-settings-submit')))
|
||||
return;
|
||||
PConfig::set(local_user(),'curweather','curweather_loc',trim($_POST['curweather_loc']));
|
||||
PConfig::set(local_user(),'curweather','curweather_enable',intval($_POST['curweather_enable']));
|
||||
PConfig::set(local_user(),'curweather','curweather_units',trim($_POST['curweather_units']));
|
||||
set_pconfig(local_user(),'curweather','curweather_loc',trim($_POST['curweather_loc']));
|
||||
set_pconfig(local_user(),'curweather','curweather_enable',intval($_POST['curweather_enable']));
|
||||
set_pconfig(local_user(),'curweather','curweather_units',trim($_POST['curweather_units']));
|
||||
|
||||
info( t('Current Weather settings updated.') . EOL);
|
||||
}
|
||||
|
@ -158,28 +154,28 @@ function curweather_plugin_settings(&$a,&$s) {
|
|||
|
||||
/* Get the current state of our config variable */
|
||||
|
||||
$curweather_loc = PConfig::get(local_user(), 'curweather', 'curweather_loc');
|
||||
$curweather_units = PConfig::get(local_user(), 'curweather', 'curweather_units');
|
||||
$appid = Config::get('curweather','appid');
|
||||
if ($appid=="") {
|
||||
$curweather_loc = get_pconfig(local_user(), 'curweather', 'curweather_loc');
|
||||
$curweather_units = get_pconfig(local_user(), 'curweather', 'curweather_units');
|
||||
$appid = get_config('curweather','appid');
|
||||
if ($appid=="") {
|
||||
$noappidtext = t('No APPID found, please contact your admin to obtain one.');
|
||||
} else {
|
||||
$noappidtext = '';
|
||||
}
|
||||
$enable = intval(PConfig::get(local_user(),'curweather','curweather_enable'));
|
||||
$enable = intval(get_pconfig(local_user(),'curweather','curweather_enable'));
|
||||
$enable_checked = (($enable) ? ' checked="checked" ' : '');
|
||||
|
||||
|
||||
// load template and replace the macros
|
||||
$t = get_markup_template("settings.tpl", "addon/curweather/" );
|
||||
$s = replace_macros ($t, [
|
||||
'$submit' => t('Save Settings'),
|
||||
$s = replace_macros ($t, array(
|
||||
'$submit' => t('Save Settings'),
|
||||
'$header' => t('Current Weather').' '.t('Settings'),
|
||||
'$noappidtext' => $noappidtext,
|
||||
'$info' => t('Enter either the name of your location or the zip code.'),
|
||||
'$curweather_loc' => [ 'curweather_loc', t('Your Location'), $curweather_loc, t('Identifier of your location (name or zip code), e.g. <em>Berlin,DE</em> or <em>14476,DE</em>.') ],
|
||||
'$curweather_units' => [ 'curweather_units', t('Units'), $curweather_units, t('select if the temperature should be displayed in °C or °F'), ['metric'=>'°C', 'imperial'=>'°F']],
|
||||
'$enabled' => [ 'curweather_enable', t('Show weather data'), $enable, '']
|
||||
]);
|
||||
'$curweather_loc' => array( 'curweather_loc', t('Your Location'), $curweather_loc, t('Identifier of your location (name or zip code), e.g. <em>Berlin,DE</em> or <em>14476,DE</em>.') ),
|
||||
'$curweather_units' => array( 'curweather_units', t('Units'), $curweather_units, t('select if the temperature should be displayed in °C or °F'), array('metric'=>'°C', 'imperial'=>'°F')),
|
||||
'$enabled' => array( 'curweather_enable', t('Show weather data'), $enable, '')
|
||||
));
|
||||
return;
|
||||
|
||||
}
|
||||
|
@ -189,20 +185,20 @@ function curweather_plugin_admin_post (&$a) {
|
|||
if(! is_site_admin())
|
||||
return;
|
||||
if ($_POST['curweather-submit']) {
|
||||
Config::set('curweather','appid',trim($_POST['appid']));
|
||||
Config::set('curweather','cachetime',trim($_POST['cachetime']));
|
||||
set_config('curweather','appid',trim($_POST['appid']));
|
||||
set_config('curweather','cachetime',trim($_POST['cachetime']));
|
||||
info( t('Curweather settings saved.'.EOL));
|
||||
}
|
||||
}
|
||||
function curweather_plugin_admin (&$a, &$o) {
|
||||
if(! is_site_admin())
|
||||
return;
|
||||
$appid = Config::get('curweather','appid');
|
||||
$cachetime = Config::get('curweather','cachetime');
|
||||
$appid = get_config('curweather','appid');
|
||||
$cachetime = get_config('curweather','cachetime');
|
||||
$t = get_markup_template("admin.tpl", "addon/curweather/" );
|
||||
$o = replace_macros ($t, [
|
||||
$o = replace_macros ($t, array(
|
||||
'$submit' => t('Save Settings'),
|
||||
'$cachetime' => ['cachetime', t('Caching Interval'), $cachetime, t('For how long should the weather data be cached? Choose according your OpenWeatherMap account type.'), ['0'=>t('no cache'), '300'=>'5 '.t('minutes'), '900'=>'15 '.t('minutes'), '1800'=>'30 '.t('minutes'), '3600'=>'60 '.t('minutes')]],
|
||||
'$appid' => ['appid', t('Your APPID'), $appid, t('Your API key provided by OpenWeatherMap')]
|
||||
]);
|
||||
'$cachetime' => array('cachetime', t('Caching Interval'), $cachetime, t('For how long should the weather data be cached? Choose according your OpenWeatherMap account type.'), array('0'=>t('no cache'), '300'=>'5 '.t('minutes'), '900'=>'15 '.t('minutes'), '1800'=>'30 '.t('minutes'), '3600'=>'60 '.t('minutes'))),
|
||||
'$appid' => array('appid', t('Your APPID'), $appid, t('Your API key provided by OpenWeatherMap'))
|
||||
));
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<li>{{$wind['caption']}}: {{$wind['val']}}</li>
|
||||
</ul></p>
|
||||
<p class="curweather-footer">
|
||||
{{$databy}}: <a href="http://openweathermap.org">OpenWeatherMap</a>. <a href="http://openweathermap.org/weathermap?basemap=map&cities=true&layer=temperature&lat={{$lat}}&lon={{$lon}}&zoom=10">{{$showonmap}}</a>
|
||||
{{$databy}}: <a href="http://openweathermap.org">OpenWeatherMap</a>. <a href="http://openweathermap.org/Maps?zoom=7&lat={{$lat}}&lon={{$lon}}&layers=B0FTTFF">{{$showonmap}}</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
# Calendar with CalDAV Support
|
||||
|
||||
**THIS ADDON IS UNSUPPORTED**
|
||||
Calendar with CalDAV Support
|
||||
|
||||
This is a rewrite of the calendar system used by the german social network [Animexx](http://www.animexx.de/).
|
||||
It's still in a very early stage, so expect major bugs. Please feel free to report any of them, by mail (cato@animexx.de) or Friendica: http://friendica.hoessl.eu/profile/cato
|
||||
|
@ -18,28 +16,28 @@ At the moment, the calendar system supports the following features:
|
|||
- The events of a calendar can be exported as ICS file. ICS files can be imported into a calendar
|
||||
|
||||
|
||||
## Internationalization:
|
||||
Internationalization:
|
||||
- At the moment, settings for the US and the german systems are selectable (regarding the date format and the first day of the week). More will be added on request.
|
||||
- The basic design of the system is aware of timezones; however this is not reflected in the UI yet. It currently assumes that the timezone set in the friendica-installation matches the user's local time and matches the local time set in the user's operating system.
|
||||
|
||||
## CalDAV device compatibility:
|
||||
CalDAV device compatibility:
|
||||
- iOS (iPhone/iPodTouch) works
|
||||
- Thunderbird Lightning works
|
||||
- Android:
|
||||
- aCal (http://andrew.mcmillan.net.nz/projects/aCal) works, available in F-Droid and Google Play
|
||||
- CalDAV-Sync (http://dmfs.org/caldav/) works, non-free
|
||||
|
||||
## Installation
|
||||
Installation
|
||||
After activating, serveral tables in the database have to be created. The admin-interface of the plugin will try to do this automatically.
|
||||
In case of errors, the SQL-statement to create the tables manually are shown in the admin-interface.
|
||||
|
||||
|
||||
## Functuality missing: (a.k.a. "Roadmap")
|
||||
Functuality missing: (a.k.a. "Roadmap")
|
||||
- Sharing events; all events are private at the moment, therefore this system is not a complete replacement for the friendica-native events
|
||||
- Attendees / Collaboration
|
||||
|
||||
|
||||
## Used libraries
|
||||
Used libraries
|
||||
|
||||
SabreDAV
|
||||
http://code.google.com/p/sabredav/
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Core\PConfig;
|
||||
|
||||
abstract class wdcal_local
|
||||
{
|
||||
|
||||
|
@ -36,7 +34,7 @@ abstract class wdcal_local
|
|||
* @return wdcal_local
|
||||
*/
|
||||
static function getInstanceByUser($uid = 0) {
|
||||
$dateformat = PConfig::get($uid, "dav", "dateformat");
|
||||
$dateformat = get_pconfig($uid, "dav", "dateformat");
|
||||
$format = self::getInstance($dateformat);
|
||||
if ($format == null) $format = self::getInstance(self::LOCAL_US);
|
||||
return $format;
|
||||
|
|
|
@ -4,10 +4,9 @@
|
|||
* Description: A web-based calendar system with CalDAV-support. Also brings your Friendica-Contacts to your CardDAV-capable mobile phone. Requires PHP >= 5.3.
|
||||
* Version: 0.3.0
|
||||
* Author: Tobias Hößl <https://github.com/CatoTH/>
|
||||
* Status: Unsupported
|
||||
*/
|
||||
|
||||
$_v = explode(".", phpversion());
|
||||
if ($_v[0] > 5 || ($_v[0] == 5 && $_v[1] >= 3)) {
|
||||
require(__DIR__ . "/friendica/main.php");
|
||||
}
|
||||
}
|
|
@ -16,13 +16,13 @@ define("CALDAV_NAMESPACE_PRIVATE", 1);
|
|||
define("CALDAV_FRIENDICA_MINE", "friendica-mine");
|
||||
define("CALDAV_FRIENDICA_CONTACTS", "friendica-contacts");
|
||||
|
||||
$GLOBALS["CALDAV_PRIVATE_SYSTEM_CALENDARS"] = [CALDAV_FRIENDICA_MINE, CALDAV_FRIENDICA_CONTACTS];
|
||||
$GLOBALS["CALDAV_PRIVATE_SYSTEM_BACKENDS"] = ["Sabre_CalDAV_Backend_Friendica"];
|
||||
$GLOBALS["CALDAV_PRIVATE_SYSTEM_CALENDARS"] = array(CALDAV_FRIENDICA_MINE, CALDAV_FRIENDICA_CONTACTS);
|
||||
$GLOBALS["CALDAV_PRIVATE_SYSTEM_BACKENDS"] = array("Sabre_CalDAV_Backend_Friendica");
|
||||
|
||||
define("CARDDAV_NAMESPACE_PRIVATE", 1);
|
||||
define("CARDDAV_FRIENDICA_CONTACT", "friendica");
|
||||
$GLOBALS["CARDDAV_PRIVATE_SYSTEM_ADDRESSBOOKS"] = [CARDDAV_FRIENDICA_CONTACT];
|
||||
$GLOBALS["CARDDAV_PRIVATE_SYSTEM_BACKENDS"] = ["Sabre_CardDAV_Backend_Friendica"];
|
||||
$GLOBALS["CARDDAV_PRIVATE_SYSTEM_ADDRESSBOOKS"] = array(CARDDAV_FRIENDICA_CONTACT);
|
||||
$GLOBALS["CARDDAV_PRIVATE_SYSTEM_BACKENDS"] = array("Sabre_CardDAV_Backend_Friendica");
|
||||
|
||||
$GLOBALS["CALDAV_ACL_PLUGIN_CLASS"] = "Sabre_DAVACL_Plugin_Friendica";
|
||||
|
||||
|
@ -106,7 +106,7 @@ function dav_compat_principal2namespace($principalUri = "")
|
|||
|
||||
if (strpos($principalUri, "principals/users/") !== 0) return null;
|
||||
$username = substr($principalUri, strlen("principals/users/"));
|
||||
return ["namespace" => CALDAV_NAMESPACE_PRIVATE, "namespace_id" => dav_compat_username2id($username)];
|
||||
return array("namespace" => CALDAV_NAMESPACE_PRIVATE, "namespace_id" => dav_compat_username2id($username));
|
||||
}
|
||||
|
||||
|
||||
|
@ -200,13 +200,13 @@ function wdcal_calendar_factory_by_id($calendar_id)
|
|||
*/
|
||||
function wdcal_create_std_calendars_get_statements($user_id, $withcheck = true)
|
||||
{
|
||||
$stms = [];
|
||||
$stms = array();
|
||||
$a = get_app();
|
||||
$uris = [
|
||||
$uris = array(
|
||||
'private' => t("Private Calendar"),
|
||||
CALDAV_FRIENDICA_MINE => t("Friendica Events: Mine"),
|
||||
CALDAV_FRIENDICA_CONTACTS => t("Friendica Events: Contacts"),
|
||||
];
|
||||
);
|
||||
foreach ($uris as $uri => $name) {
|
||||
$cals = q("SELECT * FROM %s%scalendars WHERE `namespace` = %d AND `namespace_id` = %d AND `uri` = '%s'",
|
||||
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, CALDAV_NAMESPACE_PRIVATE, IntVal($user_id), dbesc($uri));
|
||||
|
@ -242,12 +242,12 @@ function wdcal_create_std_calendars()
|
|||
*/
|
||||
function wdcal_create_std_addressbooks_get_statements($user_id, $withcheck = true)
|
||||
{
|
||||
$stms = [];
|
||||
$stms = array();
|
||||
$a = get_app();
|
||||
$uris = [
|
||||
$uris = array(
|
||||
'private' => t("Private Addresses"),
|
||||
CARDDAV_FRIENDICA_CONTACT => t("Friendica Contacts"),
|
||||
];
|
||||
);
|
||||
foreach ($uris as $uri => $name) {
|
||||
$cals = q("SELECT * FROM %s%saddressbooks WHERE `namespace` = %d AND `namespace_id` = %d AND `uri` = '%s'",
|
||||
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, CALDAV_NAMESPACE_PRIVATE, IntVal($user_id), dbesc($uri));
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
function dav_get_update_statements($from_version)
|
||||
{
|
||||
$stms = [];
|
||||
$stms = array();
|
||||
|
||||
if ($from_version == 1) {
|
||||
$stms[] = "ALTER TABLE `dav_calendarobjects`
|
||||
|
@ -30,7 +30,7 @@ function dav_get_update_statements($from_version)
|
|||
`dav_locks` ,
|
||||
`dav_notifications` ;";
|
||||
|
||||
$stms = array_merge($stms, dav_get_create_statements(["dav_calendarobjects"]));
|
||||
$stms = array_merge($stms, dav_get_create_statements(array("dav_calendarobjects")));
|
||||
|
||||
$user_ids = q("SELECT DISTINCT `uid` FROM %s%scalendars", CALDAV_SQL_DB, CALDAV_SQL_PREFIX);
|
||||
foreach ($user_ids as $user) $stms = array_merge($stms, wdcal_create_std_calendars_get_statements($user["uid"], false));
|
||||
|
@ -43,7 +43,7 @@ function dav_get_update_statements($from_version)
|
|||
|
||||
}
|
||||
|
||||
if (in_array($from_version, [1, 2])) {
|
||||
if (in_array($from_version, array(1, 2))) {
|
||||
$stms[] = "CREATE TABLE IF NOT EXISTS `dav_addressbooks` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`namespace` mediumint(9) NOT NULL,
|
||||
|
@ -80,9 +80,9 @@ function dav_get_update_statements($from_version)
|
|||
* @param array $except
|
||||
* @return array
|
||||
*/
|
||||
function dav_get_create_statements($except = [])
|
||||
function dav_get_create_statements($except = array())
|
||||
{
|
||||
$arr = [];
|
||||
$arr = array();
|
||||
|
||||
if (!in_array("dav_caldav_log", $except)) $arr[] = "CREATE TABLE IF NOT EXISTS `dav_caldav_log` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
|
@ -240,7 +240,7 @@ function dav_check_tables()
|
|||
function dav_create_tables()
|
||||
{
|
||||
$stms = dav_get_create_statements();
|
||||
$errors = [];
|
||||
$errors = array();
|
||||
|
||||
foreach ($stms as $st) { // @TODO Friendica-dependent
|
||||
dba::e($st);
|
||||
|
@ -258,10 +258,10 @@ function dav_create_tables()
|
|||
function dav_upgrade_tables()
|
||||
{
|
||||
$ver = dav_check_tables();
|
||||
if (!in_array($ver, [1, 2])) return ["Unknown error"];
|
||||
if (!in_array($ver, array(1, 2))) return array("Unknown error");
|
||||
$stms = dav_get_update_statements($ver);
|
||||
|
||||
$errors = [];
|
||||
$errors = array();
|
||||
|
||||
foreach ($stms as $st) { // @TODO Friendica-dependent
|
||||
dba::e($st);
|
||||
|
|
|
@ -124,7 +124,7 @@ class Sabre_CalDAV_Backend_Friendica extends Sabre_CalDAV_Backend_Virtual
|
|||
|
||||
$summary = (($row["summary"]) ? $row["summary"] : substr(preg_replace("/\[[^\]]*\]/", "", $row["desc"]), 0, 100));
|
||||
|
||||
return [
|
||||
return array(
|
||||
"jq_id" => $row["id"],
|
||||
"ev_id" => $row["id"],
|
||||
"summary" => escape_tags($summary),
|
||||
|
@ -142,7 +142,7 @@ class Sabre_CalDAV_Backend_Friendica extends Sabre_CalDAV_Backend_Virtual
|
|||
"url_detail" => $base_path . "/events/event/" . $row["id"],
|
||||
"url_edit" => "",
|
||||
"special_type" => ($row["type"] == "birthday" ? "birthday" : ""),
|
||||
];
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
@ -179,7 +179,7 @@ class Sabre_CalDAV_Backend_Friendica extends Sabre_CalDAV_Backend_Virtual
|
|||
if (is_numeric($date_to)) $sql_where .= " AND `start` <= '" . date("Y-m-d H:i:s", $date_to) . "'";
|
||||
else $sql_where .= " AND `start` <= '" . dbesc($date_to) . "'";
|
||||
}
|
||||
$ret = [];
|
||||
$ret = array();
|
||||
|
||||
$r = q("SELECT * FROM `event` WHERE `uid` = %d " . $sql_where . " ORDER BY `start`", IntVal($calendar["namespace_id"]));
|
||||
|
||||
|
@ -214,21 +214,21 @@ class Sabre_CalDAV_Backend_Friendica extends Sabre_CalDAV_Backend_Virtual
|
|||
public function getCalendarsForUser($principalUri)
|
||||
{
|
||||
$n = dav_compat_principal2namespace($principalUri);
|
||||
if ($n["namespace"] != $this->getNamespace()) return [];
|
||||
if ($n["namespace"] != $this->getNamespace()) return array();
|
||||
|
||||
$cals = q("SELECT * FROM %s%scalendars WHERE `namespace` = %d AND `namespace_id` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $this->getNamespace(), IntVal($n["namespace_id"]));
|
||||
$ret = [];
|
||||
$ret = array();
|
||||
foreach ($cals as $cal) {
|
||||
if (!in_array($cal["uri"], $GLOBALS["CALDAV_PRIVATE_SYSTEM_CALENDARS"])) continue;
|
||||
|
||||
$dat = [
|
||||
$dat = array(
|
||||
"id" => $cal["id"],
|
||||
"uri" => $cal["uri"],
|
||||
"principaluri" => $principalUri,
|
||||
'{' . Sabre_CalDAV_Plugin::NS_CALENDARSERVER . '}getctag' => $cal['ctag'] ? $cal['ctag'] : '0',
|
||||
'{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}supported-calendar-component-set' => new Sabre_CalDAV_Property_SupportedCalendarComponentSet(["VEVENT"]),
|
||||
'{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}supported-calendar-component-set' => new Sabre_CalDAV_Property_SupportedCalendarComponentSet(array("VEVENT")),
|
||||
"calendar_class" => "Sabre_CalDAV_Calendar_Virtual",
|
||||
];
|
||||
);
|
||||
foreach ($this->propertyMap as $key=> $field) $dat[$key] = $cal[$field];
|
||||
|
||||
$ret[] = $dat;
|
||||
|
|
|
@ -46,13 +46,13 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
|
|||
{
|
||||
$uid = dav_compat_principal2uid($principalUri);
|
||||
|
||||
$addressBooks = [];
|
||||
$addressBooks = array();
|
||||
|
||||
$books = q("SELECT id, ctag FROM %s%saddressbooks WHERE `namespace` = %d AND `namespace_id` = %d AND `uri` = '%s'",
|
||||
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, CARDDAV_NAMESPACE_PRIVATE, IntVal($uid), dbesc(CARDDAV_FRIENDICA_CONTACT));
|
||||
$ctag = $books[0]["ctag"];
|
||||
|
||||
$addressBooks[] = [
|
||||
$addressBooks[] = array(
|
||||
'id' => $books[0]["id"],
|
||||
'uri' => "friendica",
|
||||
'principaluri' => $principalUri,
|
||||
|
@ -61,7 +61,7 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
|
|||
'{http://calendarserver.org/ns/}getctag' => $ctag,
|
||||
'{' . Sabre_CardDAV_Plugin::NS_CARDDAV . '}supported-address-data' =>
|
||||
new Sabre_CardDAV_Property_SupportedAddressData(),
|
||||
];
|
||||
);
|
||||
|
||||
return $addressBooks;
|
||||
|
||||
|
@ -76,7 +76,7 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
|
|||
{
|
||||
$name = explode(" ", $contact["name"]);
|
||||
$first_name = $last_name = "";
|
||||
$middle_name = [];
|
||||
$middle_name = array();
|
||||
$num = count($name);
|
||||
for ($i = 0; $i < $num && $first_name == ""; $i++) if ($name[$i] != "") {
|
||||
$first_name = $name[$i];
|
||||
|
@ -114,14 +114,14 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
|
|||
}
|
||||
|
||||
$vcard = vcard_source_compile($vcarddata);
|
||||
return [
|
||||
return array(
|
||||
"id" => $contact["id"],
|
||||
"carddata" => $vcard,
|
||||
"uri" => $contact["id"] . ".vcf",
|
||||
"lastmodified" => wdcal_mySql2PhpTime($vcarddata->last_update),
|
||||
"etag" => md5($vcard),
|
||||
"size" => strlen($vcard),
|
||||
];
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,41 +1,41 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Model\User;
|
||||
class Sabre_DAV_Auth_Backend_Std extends Sabre_DAV_Auth_Backend_AbstractBasic {
|
||||
|
||||
public function __construct() {
|
||||
}
|
||||
|
||||
|
||||
class Sabre_DAV_Auth_Backend_Std extends Sabre_DAV_Auth_Backend_AbstractBasic
|
||||
{
|
||||
/**
|
||||
* @var Sabre_DAV_Auth_Backend_Std|null
|
||||
*/
|
||||
private static $instance = null;
|
||||
private static $intstance = null;
|
||||
|
||||
/**
|
||||
* @static
|
||||
* @return Sabre_DAV_Auth_Backend_Std
|
||||
*/
|
||||
public static function getInstance()
|
||||
{
|
||||
if (is_null(self::$instance)) {
|
||||
self::$instance = new Sabre_DAV_Auth_Backend_Std();
|
||||
public static function &getInstance() {
|
||||
if (is_null(self::$intstance)) {
|
||||
self::$intstance = new Sabre_DAV_Auth_Backend_Std();
|
||||
}
|
||||
return self::$instance;
|
||||
return self::$intstance;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getUsers()
|
||||
{
|
||||
return [$this->currentUser];
|
||||
}
|
||||
public function getUsers() {
|
||||
return array($this->currentUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return null|string
|
||||
*/
|
||||
public function getCurrentUser()
|
||||
{
|
||||
return $this->currentUser;
|
||||
}
|
||||
public function getCurrentUser() {
|
||||
return $this->currentUser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Authenticates the user based on the current request.
|
||||
|
@ -48,8 +48,8 @@ class Sabre_DAV_Auth_Backend_Std extends Sabre_DAV_Auth_Backend_AbstractBasic
|
|||
* @throws Sabre_DAV_Exception_NotAuthenticated
|
||||
* @return bool
|
||||
*/
|
||||
public function authenticate(Sabre_DAV_Server $server, $realm)
|
||||
{
|
||||
public function authenticate(Sabre_DAV_Server $server, $realm) {
|
||||
|
||||
$a = get_app();
|
||||
if (isset($a->user["uid"])) {
|
||||
$this->currentUser = strtolower($a->user["nickname"]);
|
||||
|
@ -67,7 +67,7 @@ class Sabre_DAV_Auth_Backend_Std extends Sabre_DAV_Auth_Backend_AbstractBasic
|
|||
}
|
||||
|
||||
// Authenticates the user
|
||||
if (!$this->validateUserPass($userpass[0], $userpass[1])) {
|
||||
if (!$this->validateUserPass($userpass[0],$userpass[1])) {
|
||||
$auth->requireLogin();
|
||||
throw new Sabre_DAV_Exception_NotAuthenticated('Username or password does not match');
|
||||
}
|
||||
|
@ -75,13 +75,19 @@ class Sabre_DAV_Auth_Backend_Std extends Sabre_DAV_Auth_Backend_AbstractBasic
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $username
|
||||
* @param string $password
|
||||
* @return bool
|
||||
*/
|
||||
protected function validateUserPass($username, $password)
|
||||
{
|
||||
return User::authenticate($username, $password);
|
||||
}
|
||||
protected function validateUserPass($username, $password) {
|
||||
$encrypted = hash('whirlpool',trim($password));
|
||||
$r = q("SELECT COUNT(*) anz FROM `user` WHERE `nickname` = '%s' AND `password` = '%s' AND `blocked` = 0 AND `account_expired` = 0 AND `verified` = 1 LIMIT 1",
|
||||
dbesc(trim($username)),
|
||||
dbesc($encrypted)
|
||||
);
|
||||
return ($r[0]["anz"] == 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -61,16 +61,16 @@ class Sabre_DAVACL_PrincipalBackend_Std implements Sabre_DAVACL_IPrincipalBacken
|
|||
{
|
||||
|
||||
// This backend only support principals in one collection
|
||||
if ($prefixPath !== $this->prefix) return [];
|
||||
if ($prefixPath !== $this->prefix) return array();
|
||||
|
||||
$users = [];
|
||||
$users = array();
|
||||
|
||||
$r = q("SELECT `nickname` FROM `user` WHERE `nickname` = '%s'", escape_tags($this->authBackend->getCurrentUser()) );
|
||||
foreach ($r as $t) {
|
||||
$users[] = [
|
||||
$users[] = array(
|
||||
'uri' => $this->prefix . '/' . strtolower($t['nickname']),
|
||||
'{DAV:}displayname' => $t['nickname'],
|
||||
];
|
||||
);
|
||||
}
|
||||
|
||||
return $users;
|
||||
|
@ -94,24 +94,24 @@ class Sabre_DAVACL_PrincipalBackend_Std implements Sabre_DAVACL_IPrincipalBacken
|
|||
if ($prefixPath !== $this->prefix) return null;
|
||||
|
||||
$r = q("SELECT `nickname` FROM `user` WHERE `nickname` = '%s'", escape_tags($userName) );
|
||||
if (count($r) == 0) return [];
|
||||
if (count($r) == 0) return array();
|
||||
|
||||
return [
|
||||
return array(
|
||||
'uri' => $this->prefix . '/' . strtolower($r[0]['nickname']),
|
||||
'{DAV:}displayname' => $r[0]['nickname'],
|
||||
];
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function getGroupMemberSet($principal)
|
||||
{
|
||||
return [];
|
||||
return array();
|
||||
}
|
||||
|
||||
function getGroupMembership($principal)
|
||||
{
|
||||
return [];
|
||||
return array();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Core\Config;
|
||||
use Friendica\Core\PConfig;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -25,7 +23,7 @@ function wdcal_addRequiredHeaders()
|
|||
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/dav/wdcal/css/calendar.css' . '" media="all" />' . "\r\n";
|
||||
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/dav/wdcal/css/main.css' . '" media="all" />' . "\r\n";
|
||||
|
||||
switch (Config::get("system", "language")) {
|
||||
switch (get_config("system", "language")) {
|
||||
case "de":
|
||||
$a->page['htmlhead'] .= '<script type="text/javascript" src="' . $a->get_baseurl() . '/addon/dav/common/wdcal/js/wdCalendar_lang_DE.js"></script>' . "\r\n";
|
||||
$a->page['htmlhead'] .= '<script type="text/javascript" src="' . $a->get_baseurl() . '/addon/dav/jqueryui/jquery.ui.datepicker-de.js"></script>' . "\r\n";
|
||||
|
@ -80,7 +78,7 @@ function wdcal_import_user_ics($calendar_id) {
|
|||
|
||||
$server = dav_create_server(true, true, false);
|
||||
$calendar = dav_get_current_user_calendar_by_id($server, $calendar_id, DAV_ACL_WRITE);
|
||||
if (!$calendar) goaway('dav/wdcal/');
|
||||
if (!$calendar) goaway($a->get_baseurl() . "/dav/wdcal/");
|
||||
|
||||
if (isset($_REQUEST["save"])) {
|
||||
check_form_security_token_redirectOnErr('/dav/settings/', 'icsimport');
|
||||
|
@ -91,7 +89,7 @@ function wdcal_import_user_ics($calendar_id) {
|
|||
/** @var Sabre\VObject\Component\VCalendar $vObject */
|
||||
$vObject = Sabre\VObject\Reader::read($text);
|
||||
$comp = $vObject->getComponents();
|
||||
$imported = [];
|
||||
$imported = array();
|
||||
foreach ($comp as $c) try {
|
||||
/** @var Sabre\VObject\Component\VEvent $c */
|
||||
$uid = $c->__get("UID")->value;
|
||||
|
@ -171,18 +169,18 @@ function wdcal_import_user_ics($calendar_id) {
|
|||
* @param bool $show_nav
|
||||
* @return string
|
||||
*/
|
||||
function wdcal_printCalendar($calendars, $calendars_selected, $data_feed_url, $view = "week", $theme = 0, $height_diff = 175, $readonly = false, $curr_day = "", $add_params = [], $show_nav = true)
|
||||
function wdcal_printCalendar($calendars, $calendars_selected, $data_feed_url, $view = "week", $theme = 0, $height_diff = 175, $readonly = false, $curr_day = "", $add_params = array(), $show_nav = true)
|
||||
{
|
||||
|
||||
$a = get_app();
|
||||
$localization = wdcal_local::getInstanceByUser($a->user["uid"]);
|
||||
|
||||
if (count($calendars_selected) == 0) foreach ($calendars as $c) {
|
||||
$prop = $c->getProperties(["id"]);
|
||||
$prop = $c->getProperties(array("id"));
|
||||
$calendars_selected[] = $prop["id"];
|
||||
}
|
||||
|
||||
$opts = [
|
||||
$opts = array(
|
||||
"view" => $view,
|
||||
"theme" => $theme,
|
||||
"readonly" => $readonly,
|
||||
|
@ -194,7 +192,7 @@ function wdcal_printCalendar($calendars, $calendars_selected, $data_feed_url, $v
|
|||
"date_format_dm3" => $localization->dateformat_js_dm3(),
|
||||
"date_format_full" => $localization->dateformat_datepicker_js(),
|
||||
"baseurl" => $a->get_baseurl() . "/dav/wdcal/",
|
||||
];
|
||||
);
|
||||
|
||||
$x = '
|
||||
<script>
|
||||
|
@ -207,7 +205,7 @@ function wdcal_printCalendar($calendars, $calendars_selected, $data_feed_url, $v
|
|||
<div class="calselect"><strong>Available Calendars:</strong>';
|
||||
|
||||
foreach ($calendars as $cal) {
|
||||
$cal_id = $cal->getProperties(["id", DAV_DISPLAYNAME]);
|
||||
$cal_id = $cal->getProperties(array("id", DAV_DISPLAYNAME));
|
||||
$x .= '<label style="margin-left: 10px; margin-right: 10px;"><input type="checkbox" name="cals[]" value="' . $cal_id["id"] . '"';
|
||||
$found = false;
|
||||
foreach ($calendars_selected as $pre) if ($pre["id"] == $cal_id["id"]) $found = true;
|
||||
|
@ -308,12 +306,12 @@ function wdcal_getDetailPage($calendar_id, $calendarobject_id)
|
|||
$calbackend = wdcal_calendar_factory_by_id($calendar_id);
|
||||
$redirect = $calbackend->getItemDetailRedirect($calendar_id, $calendarobject_id);
|
||||
|
||||
if ($redirect !== null) goaway($redirect);
|
||||
if ($redirect !== null) goaway($a->get_baseurl() . $redirect);
|
||||
|
||||
$details = $obj;
|
||||
} catch (Exception $e) {
|
||||
info(t("Error") . ": " . $e);
|
||||
goaway('dav/wdcal/');
|
||||
goaway($a->get_baseurl() . "/dav/wdcal/");
|
||||
}
|
||||
|
||||
return print_r($details, true);
|
||||
|
@ -359,7 +357,7 @@ function wdcal_getSettingsPage(&$a)
|
|||
|
||||
if (isset($_REQUEST["save"])) {
|
||||
check_form_security_token_redirectOnErr('/dav/settings/', 'calprop');
|
||||
PConfig::set($a->user["uid"], "dav", "dateformat", $_REQUEST["wdcal_date_format"]);
|
||||
set_pconfig($a->user["uid"], "dav", "dateformat", $_REQUEST["wdcal_date_format"]);
|
||||
info(t('The new values have been saved.'));
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Module\Login;
|
||||
use Friendica\Util\Emailer;
|
||||
|
||||
require_once('include/security.php');
|
||||
|
||||
function dav_install()
|
||||
|
@ -150,7 +147,7 @@ function dav_content()
|
|||
{
|
||||
$a = get_app();
|
||||
if (!isset($a->user["uid"]) || $a->user["uid"] == 0) {
|
||||
return Login::form();
|
||||
return login();
|
||||
}
|
||||
|
||||
$x = "";
|
||||
|
@ -166,7 +163,7 @@ function dav_content()
|
|||
$ret = wdcal_postEditPage("new", "", $a->user["uid"], $a->timezone, $a->get_baseurl() . "/dav/wdcal/");
|
||||
if ($ret["ok"]) notice($ret["msg"]);
|
||||
else info($ret["msg"]);
|
||||
goaway('dav/wdcal/');
|
||||
goaway($a->get_baseurl() . "/dav/wdcal/");
|
||||
}
|
||||
$o .= wdcal_getNewPage();
|
||||
return $o;
|
||||
|
@ -184,7 +181,7 @@ function dav_content()
|
|||
$ret = wdcal_postEditPage($a->argv[3], $a->user["uid"], $a->timezone, $a->get_baseurl() . "/dav/wdcal/");
|
||||
if ($ret["ok"]) notice($ret["msg"]);
|
||||
else info($ret["msg"]);
|
||||
goaway('dav/wdcal/');
|
||||
goaway($a->get_baseurl() . "/dav/wdcal/");
|
||||
}
|
||||
$o .= wdcal_getEditPage($calendar_id, $a->argv[3]);
|
||||
return $o;
|
||||
|
@ -198,7 +195,7 @@ function dav_content()
|
|||
} else {
|
||||
$server = dav_create_server(true, true, false);
|
||||
$cals = dav_get_current_user_calendars($server, DAV_ACL_READ);
|
||||
$x = wdcal_printCalendar($cals, [], $a->get_baseurl() . "/dav/wdcal/feed/", "week", 0, 200);
|
||||
$x = wdcal_printCalendar($cals, array(), $a->get_baseurl() . "/dav/wdcal/feed/", "week", 0, 200);
|
||||
}
|
||||
}
|
||||
} catch (DAVVersionMismatchException $e) {
|
||||
|
@ -238,12 +235,12 @@ function dav_event_updated_hook(&$a, &$b)
|
|||
*/
|
||||
function dav_profile_tabs_hook(&$a, &$b)
|
||||
{
|
||||
$b["tabs"][] = [
|
||||
$b["tabs"][] = array(
|
||||
"label" => t('Calendar'),
|
||||
"url" => $a->get_baseurl() . "/dav/wdcal/",
|
||||
"sel" => "",
|
||||
"title" => t('Extended calendar with CalDAV-support'),
|
||||
];
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
@ -261,7 +258,7 @@ function dav_cron(&$a, &$b)
|
|||
q("UPDATE %s%snotifications SET `notified` = 1 WHERE `id` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $not["id"]);
|
||||
$event = q("SELECT * FROM %s%sjqcalendar WHERE `calendarobject_id` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $not["calendarobject_id"]);
|
||||
$calendar = q("SELECT * FROM %s%scalendars WHERE `id` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $not["calendar_id"]);
|
||||
$users = [];
|
||||
$users = array();
|
||||
if (count($calendar) != 1 || count($event) == 0) continue;
|
||||
switch ($calendar[0]["namespace"]) {
|
||||
case CALDAV_NAMESPACE_PRIVATE:
|
||||
|
@ -274,11 +271,11 @@ function dav_cron(&$a, &$b)
|
|||
case "email":
|
||||
case "display": // @TODO implement "Display"
|
||||
foreach ($users as $user) {
|
||||
$find = ["%to%", "%event%", "%url%"];
|
||||
$repl = [$user["username"], $event[0]["Summary"], $a->get_baseurl() . "/dav/wdcal/" . $calendar[0]["id"] . "/" . $not["calendarobject_id"] . "/"];
|
||||
$find = array("%to%", "%event%", "%url%");
|
||||
$repl = array($user["username"], $event[0]["Summary"], $a->get_baseurl() . "/dav/wdcal/" . $calendar[0]["id"] . "/" . $not["calendarobject_id"] . "/");
|
||||
$text_text = str_replace($find, $repl, "Hi %to%!\n\nThe event \"%event%\" is about to begin:\n%url%");
|
||||
$text_html = str_replace($find, $repl, "Hi %to%!<br>\n<br>\nThe event \"%event%\" is about to begin:<br>\n<a href='" . "%url%" . "'>%url%</a>");
|
||||
$params = [
|
||||
$params = array(
|
||||
'fromName' => FRIENDICA_PLATFORM,
|
||||
'fromEmail' => t('noreply') . '@' . $a->get_hostname(),
|
||||
'replyTo' => t('noreply') . '@' . $a->get_hostname(),
|
||||
|
@ -287,7 +284,8 @@ function dav_cron(&$a, &$b)
|
|||
'htmlVersion' => $text_html,
|
||||
'textVersion' => $text_text,
|
||||
'additionalMailHeader' => "",
|
||||
];
|
||||
);
|
||||
require_once('include/Emailer.php');
|
||||
Emailer::send($params);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
Default Features Plugin
|
||||
|
||||
This plugin allows the site admin to choose which Additional Features
|
||||
are on by default for newly created users on the site. The defaults
|
||||
apply to all new users upon registration, but do not impact a user's
|
||||
ability to turn features on/off once their account has been created.
|
||||
These default settings do not impact existing users.
|
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
/**
|
||||
* Name: Default Features
|
||||
* Description: Choose which Additional Features are on by default for new users on the site.
|
||||
* Version: 1.0
|
||||
* Author: Michael Johnston
|
||||
* Status: Unsupported
|
||||
*/
|
||||
|
||||
function defaultfeatures_install() {
|
||||
register_hook('register_account', 'addon/defaultfeatures/defaultfeatures.php', 'defaultfeatures_register');
|
||||
logger("installed defaultfeatures plugin");
|
||||
}
|
||||
|
||||
function defaultfeatures_uninstall() {
|
||||
unregister_hook('register_account', 'addon/defaultfeatures/defaultfeatures.php', 'defaultfeatures_register');
|
||||
logger("uninstalled defaultfeatures plugin");
|
||||
}
|
||||
|
||||
function defaultfeatures_register($a, $newuid) {
|
||||
$arr = array();
|
||||
$features = get_features();
|
||||
foreach($features as $fname => $fdata) {
|
||||
foreach(array_slice($fdata,1) as $f) {
|
||||
set_pconfig($newuid,'feature',$f[0],((intval(get_config('defaultfeatures',$f[0]))) ? "1" : "0"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function defaultfeatures_plugin_admin_post (&$a) {
|
||||
check_form_security_token_redirectOnErr('/admin/plugins/defaultfeatures', 'defaultfeaturessave');
|
||||
foreach($_POST as $k => $v) {
|
||||
if(strpos($k,'feature_') === 0) {
|
||||
set_config('defaultfeatures',substr($k,8),((intval($v)) ? 1 : 0));
|
||||
}
|
||||
}
|
||||
info( t('Features updated') . EOL);
|
||||
}
|
||||
|
||||
function defaultfeatures_plugin_admin (&$a, &$o) {
|
||||
$t = get_markup_template( "admin.tpl", "addon/defaultfeatures/" );
|
||||
$token = get_form_security_token("defaultfeaturessave");
|
||||
$arr = array();
|
||||
$features = get_features();
|
||||
foreach($features as $fname => $fdata) {
|
||||
$arr[$fname] = array();
|
||||
$arr[$fname][0] = $fdata[0];
|
||||
foreach(array_slice($fdata,1) as $f) {
|
||||
$arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(get_config('defaultfeatures',$f[0]))) ? "1" : "0"),$f[2],array(t('Off'),t('On')));
|
||||
}
|
||||
}
|
||||
|
||||
//logger("Features: " . print_r($arr,true));
|
||||
|
||||
$o = replace_macros($t, array(
|
||||
'$submit' => t('Save Settings'),
|
||||
'$features' => $arr,
|
||||
'$form_security_token' => $token
|
||||
));
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
# ADDON defaultfeatures
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica defaultfeatures addon package.
|
||||
#
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-23 14:44+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"
|
||||
|
||||
#: defaultfeatures.php:36
|
||||
msgid "Features updated"
|
||||
msgstr ""
|
||||
|
||||
#: defaultfeatures.php:48
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: defaultfeatures.php:48
|
||||
msgid "On"
|
||||
msgstr ""
|
||||
|
||||
#: defaultfeatures.php:55
|
||||
msgid "Save Settings"
|
||||
msgstr ""
|
|
@ -0,0 +1,14 @@
|
|||
{{*
|
||||
* AUTOMATICALLY GENERATED TEMPLATE
|
||||
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
|
||||
*
|
||||
*}}
|
||||
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
|
||||
{{foreach $features as $f}}
|
||||
<h3 class="settings-heading">{{$f.0}}</h3>
|
||||
|
||||
{{foreach $f.1 as $fcat}}
|
||||
{{include file="field_yesno.tpl" field=$fcat}}
|
||||
{{/foreach}}
|
||||
{{/foreach}}
|
||||
<div class="submit"><input type="submit" name="defaultfeatures-submit" value="{{$submit}}" /></div>
|
|
@ -69,7 +69,7 @@ class Diaspora_Connection {
|
|||
return ($this->tls) ? 'https' : 'http';
|
||||
}
|
||||
|
||||
private function doHttpRequest($url, $data = [], $headers = []) {
|
||||
private function doHttpRequest($url, $data = array(), $headers = array()) {
|
||||
if (0 === strpos($url, '/')) {
|
||||
$url = $this->getScheme() . '://' . $this->host . $url;
|
||||
}
|
||||
|
@ -122,14 +122,14 @@ class Diaspora_Connection {
|
|||
return $this->last_http_result;
|
||||
}
|
||||
|
||||
private function doHttpDelete($url, $data = [], $headers = []) {
|
||||
private function doHttpDelete($url, $data = array(), $headers = array()) {
|
||||
$this->http_method = 'DELETE';
|
||||
$this->doHttpRequest($url, $data, $headers);
|
||||
$this->http_method = null; // reset for next request
|
||||
}
|
||||
|
||||
private function parseAuthenticityToken($str) {
|
||||
$m = [];
|
||||
$m = array();
|
||||
preg_match('/<meta (?:name="csrf-token" content="(.*?)"|content="(.*?)" name="csrf-token")/', $str, $m);
|
||||
if (empty($m[1]) && !empty($m[2])) {
|
||||
$token = $m[2];
|
||||
|
@ -151,11 +151,11 @@ class Diaspora_Connection {
|
|||
public function logIn() {
|
||||
$this->doHttpRequest('/users/sign_in');
|
||||
|
||||
$params = [
|
||||
$params = array(
|
||||
'user[username]' => $this->user,
|
||||
'user[password]' => $this->password,
|
||||
'authenticity_token' => $this->csrf_token
|
||||
];
|
||||
);
|
||||
$this->doHttpRequest('/users/sign_in', $params);
|
||||
$this->doHttpRequest('/stream');
|
||||
return (200 === $this->last_http_result->info['http_code']) ? true : false;
|
||||
|
@ -163,14 +163,14 @@ class Diaspora_Connection {
|
|||
|
||||
public function getAspects() {
|
||||
$this->doHttpRequest('/bookmarklet');
|
||||
$m = [];
|
||||
$m = array();
|
||||
preg_match('/"aspects"\:(\[.+?\])/', $this->last_http_result->response, $m);
|
||||
return (!empty($m[1])) ? json_decode($m[1]) : false;
|
||||
}
|
||||
|
||||
public function getServices() {
|
||||
$this->doHttpRequest('/bookmarklet');
|
||||
$m = [];
|
||||
$m = array();
|
||||
preg_match('/"configured_services"\:(\[.+?\])/', $this->last_http_result->response, $m);
|
||||
return (!empty($m[1])) ? json_decode($m[1]) : false;
|
||||
}
|
||||
|
@ -196,24 +196,24 @@ class Diaspora_Connection {
|
|||
return $this->readJsonResponse($this->last_http_result->response);
|
||||
}
|
||||
|
||||
public function postStatusMessage($msg, $aspect_ids = 'all_aspects', $additional_data = []) {
|
||||
$data = [
|
||||
public function postStatusMessage($msg, $aspect_ids = 'all_aspects', $additional_data = array()) {
|
||||
$data = array(
|
||||
'aspect_ids' => $aspect_ids,
|
||||
'status_message' => [
|
||||
'status_message' => array(
|
||||
'text' => $msg,
|
||||
'provider_display_name' => $this->provider
|
||||
]
|
||||
];
|
||||
)
|
||||
);
|
||||
|
||||
if (!empty($additional_data)) {
|
||||
$data += $additional_data;
|
||||
}
|
||||
|
||||
$headers = [
|
||||
$headers = array(
|
||||
'Content-Type: application/json',
|
||||
'Accept: application/json',
|
||||
'X-CSRF-Token: ' . $this->csrf_token
|
||||
];
|
||||
);
|
||||
|
||||
$this->http_method = 'POST';
|
||||
$this->doHttpRequest('/status_messages', json_encode($data), $headers);
|
||||
|
@ -228,18 +228,18 @@ class Diaspora_Connection {
|
|||
}
|
||||
|
||||
public function postPhoto($file) {
|
||||
$params = [
|
||||
$params = array(
|
||||
'photo[pending]' => 'true',
|
||||
'qqfile' => basename($file)
|
||||
];
|
||||
);
|
||||
$query_string = '?' . http_build_query($params);
|
||||
$headers = [
|
||||
$headers = array(
|
||||
'Accept: application/json',
|
||||
'X-Requested-With: XMLHttpRequest',
|
||||
'X-CSRF-Token: ' . $this->csrf_token,
|
||||
'X-File-Name: ' . basename($file),
|
||||
'Content-Type: application/octet-stream',
|
||||
];
|
||||
);
|
||||
if ($size = @filesize($file)) {
|
||||
$headers[] = "Content-Length: $size";
|
||||
}
|
||||
|
@ -249,14 +249,14 @@ class Diaspora_Connection {
|
|||
}
|
||||
|
||||
public function deletePost($id) {
|
||||
$headers = ['X-CSRF-Token: ' . $this->csrf_token];
|
||||
$this->doHttpDelete("/posts/$id", [], $headers);
|
||||
$headers = array('X-CSRF-Token: ' . $this->csrf_token);
|
||||
$this->doHttpDelete("/posts/$id", array(), $headers);
|
||||
return (204 === $this->last_http_result->info['http_code']) ? true : false;
|
||||
}
|
||||
|
||||
public function deleteComment($id) {
|
||||
$headers = ['X-CSRF-Token: ' . $this->csrf_token];
|
||||
$this->doHttpDelete("/comments/$id", [], $headers);
|
||||
$headers = array('X-CSRF-Token: ' . $this->csrf_token);
|
||||
$this->doHttpDelete("/comments/$id", array(), $headers);
|
||||
return (204 === $this->last_http_result->info['http_code']) ? true : false;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,9 +9,6 @@
|
|||
|
||||
require_once("addon/diaspora/Diaspora_Connection.php");
|
||||
|
||||
use Friendica\Core\PConfig;
|
||||
use Friendica\Database\DBM;
|
||||
|
||||
function diaspora_install() {
|
||||
register_hook('post_local', 'addon/diaspora/diaspora.php', 'diaspora_post_local');
|
||||
register_hook('notifier_normal', 'addon/diaspora/diaspora.php', 'diaspora_send');
|
||||
|
@ -34,9 +31,9 @@ function diaspora_jot_nets(&$a,&$b) {
|
|||
if(! local_user())
|
||||
return;
|
||||
|
||||
$diaspora_post = PConfig::get(local_user(),'diaspora','post');
|
||||
$diaspora_post = get_pconfig(local_user(),'diaspora','post');
|
||||
if(intval($diaspora_post) == 1) {
|
||||
$diaspora_defpost = PConfig::get(local_user(),'diaspora','post_by_default');
|
||||
$diaspora_defpost = get_pconfig(local_user(),'diaspora','post_by_default');
|
||||
$selected = ((intval($diaspora_defpost) == 1) ? ' checked="checked" ' : '');
|
||||
$b .= '<div class="profile-jot-net"><input type="checkbox" name="diaspora_enable"' . $selected . ' value="1" /> '
|
||||
. t('Post to Diaspora') . '</div>';
|
||||
|
@ -69,9 +66,9 @@ function diaspora_queue_hook(&$a,&$b) {
|
|||
|
||||
$userdata = $r[0];
|
||||
|
||||
$handle = PConfig::get($userdata['uid'],'diaspora','handle');
|
||||
$password = PConfig::get($userdata['uid'],'diaspora','password');
|
||||
$aspect = PConfig::get($userdata['uid'],'diaspora','aspect');
|
||||
$handle = get_pconfig($userdata['uid'],'diaspora','handle');
|
||||
$password = get_pconfig($userdata['uid'],'diaspora','password');
|
||||
$aspect = get_pconfig($userdata['uid'],'diaspora','aspect');
|
||||
|
||||
$success = false;
|
||||
|
||||
|
@ -122,22 +119,22 @@ function diaspora_settings(&$a,&$s) {
|
|||
|
||||
/* Get the current state of our config variables */
|
||||
|
||||
$enabled = PConfig::get(local_user(),'diaspora','post');
|
||||
$enabled = get_pconfig(local_user(),'diaspora','post');
|
||||
$checked = (($enabled) ? ' checked="checked" ' : '');
|
||||
$css = (($enabled) ? '' : '-disabled');
|
||||
|
||||
$def_enabled = PConfig::get(local_user(),'diaspora','post_by_default');
|
||||
$def_enabled = get_pconfig(local_user(),'diaspora','post_by_default');
|
||||
|
||||
$def_checked = (($def_enabled) ? ' checked="checked" ' : '');
|
||||
|
||||
$handle = PConfig::get(local_user(), 'diaspora', 'handle');
|
||||
$password = PConfig::get(local_user(), 'diaspora', 'password');
|
||||
$aspect = PConfig::get(local_user(),'diaspora','aspect');
|
||||
$handle = get_pconfig(local_user(), 'diaspora', 'handle');
|
||||
$password = get_pconfig(local_user(), 'diaspora', 'password');
|
||||
$aspect = get_pconfig(local_user(),'diaspora','aspect');
|
||||
|
||||
$status = "";
|
||||
|
||||
$r = q("SELECT `addr` FROM `contact` WHERE `self` AND `uid` = %d", intval(local_user()));
|
||||
if (DBM::is_result($r)) {
|
||||
if (dbm::is_result($r)) {
|
||||
$status = sprintf(t("Please remember: You can always be reached from Diaspora with your Friendica handle %s. "), $r[0]['addr']);
|
||||
$status .= t('This connector is only meant if you still want to use your old Diaspora account for some time. ');
|
||||
$status .= sprintf(t('However, it is preferred that you tell your Diaspora contacts the new handle %s instead.'), $r[0]['addr']);
|
||||
|
@ -225,11 +222,11 @@ function diaspora_settings_post(&$a,&$b) {
|
|||
|
||||
if(x($_POST,'diaspora-submit')) {
|
||||
|
||||
PConfig::set(local_user(),'diaspora','post',intval($_POST['diaspora']));
|
||||
PConfig::set(local_user(),'diaspora','post_by_default',intval($_POST['diaspora_bydefault']));
|
||||
PConfig::set(local_user(),'diaspora','handle',trim($_POST['handle']));
|
||||
PConfig::set(local_user(),'diaspora','password',trim($_POST['password']));
|
||||
PConfig::set(local_user(),'diaspora','aspect',trim($_POST['aspect']));
|
||||
set_pconfig(local_user(),'diaspora','post',intval($_POST['diaspora']));
|
||||
set_pconfig(local_user(),'diaspora','post_by_default',intval($_POST['diaspora_bydefault']));
|
||||
set_pconfig(local_user(),'diaspora','handle',trim($_POST['handle']));
|
||||
set_pconfig(local_user(),'diaspora','password',trim($_POST['password']));
|
||||
set_pconfig(local_user(),'diaspora','aspect',trim($_POST['aspect']));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -248,11 +245,11 @@ function diaspora_post_local(&$a,&$b) {
|
|||
return;
|
||||
}
|
||||
|
||||
$diaspora_post = intval(PConfig::get(local_user(),'diaspora','post'));
|
||||
$diaspora_post = intval(get_pconfig(local_user(),'diaspora','post'));
|
||||
|
||||
$diaspora_enable = (($diaspora_post && x($_REQUEST,'diaspora_enable')) ? intval($_REQUEST['diaspora_enable']) : 0);
|
||||
|
||||
if ($b['api_source'] && intval(PConfig::get(local_user(),'diaspora','post_by_default'))) {
|
||||
if ($b['api_source'] && intval(get_pconfig(local_user(),'diaspora','post_by_default'))) {
|
||||
$diaspora_enable = 1;
|
||||
}
|
||||
|
||||
|
@ -275,37 +272,27 @@ function diaspora_send(&$a,&$b) {
|
|||
|
||||
logger('diaspora_send: invoked');
|
||||
|
||||
if($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited'])) {
|
||||
if($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited']))
|
||||
return;
|
||||
}
|
||||
|
||||
if(! strstr($b['postopts'],'diaspora')) {
|
||||
if(! strstr($b['postopts'],'diaspora'))
|
||||
return;
|
||||
}
|
||||
|
||||
if($b['parent'] != $b['id']) {
|
||||
if($b['parent'] != $b['id'])
|
||||
return;
|
||||
}
|
||||
|
||||
// Dont't post if the post doesn't belong to us.
|
||||
// This is a check for forum postings
|
||||
$self = dba::selectFirst('contact', ['id'], ['uid' => $b['uid'], 'self' => true]);
|
||||
if ($b['contact-id'] != $self['id']) {
|
||||
return;
|
||||
}
|
||||
|
||||
logger('diaspora_send: prepare posting', LOGGER_DEBUG);
|
||||
|
||||
$handle = PConfig::get($b['uid'],'diaspora','handle');
|
||||
$password = PConfig::get($b['uid'],'diaspora','password');
|
||||
$aspect = PConfig::get($b['uid'],'diaspora','aspect');
|
||||
$handle = get_pconfig($b['uid'],'diaspora','handle');
|
||||
$password = get_pconfig($b['uid'],'diaspora','password');
|
||||
$aspect = get_pconfig($b['uid'],'diaspora','aspect');
|
||||
|
||||
if ($handle && $password) {
|
||||
|
||||
logger('diaspora_send: all values seem to be okay', LOGGER_DEBUG);
|
||||
|
||||
require_once('include/bb2diaspora.php');
|
||||
$tag_arr = [];
|
||||
$tag_arr = array();
|
||||
$tags = '';
|
||||
$x = preg_match_all('/\#\[(.*?)\](.*?)\[/',$b['tag'],$matches,PREG_SET_ORDER);
|
||||
|
||||
|
@ -364,7 +351,7 @@ function diaspora_send(&$a,&$b) {
|
|||
if (count($r))
|
||||
$a->contact = $r[0]["id"];
|
||||
|
||||
$s = serialize(['url' => $url, 'item' => $b['id'], 'post' => $body]);
|
||||
$s = serialize(array('url' => $url, 'item' => $b['id'], 'post' => $body));
|
||||
require_once('include/queue_fn.php');
|
||||
add_to_queue($a->contact,NETWORK_DIASPORA2,$s);
|
||||
notice(t('Diaspora post failed. Queued for retry.').EOL);
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
* Author: Cat Gray <https://free-haven.org/profile/catness>
|
||||
*/
|
||||
|
||||
use Friendica\Core\PConfig;
|
||||
|
||||
function dwpost_install() {
|
||||
register_hook('post_local', 'addon/dwpost/dwpost.php', 'dwpost_post_local');
|
||||
register_hook('notifier_normal', 'addon/dwpost/dwpost.php', 'dwpost_send');
|
||||
|
@ -33,9 +31,9 @@ function dwpost_jot_nets(&$a,&$b) {
|
|||
if(! local_user())
|
||||
return;
|
||||
|
||||
$dw_post = PConfig::get(local_user(),'dwpost','post');
|
||||
$dw_post = get_pconfig(local_user(),'dwpost','post');
|
||||
if(intval($dw_post) == 1) {
|
||||
$dw_defpost = PConfig::get(local_user(),'dwpost','post_by_default');
|
||||
$dw_defpost = get_pconfig(local_user(),'dwpost','post_by_default');
|
||||
$selected = ((intval($dw_defpost) == 1) ? ' checked="checked" ' : '');
|
||||
$b .= '<div class="profile-jot-net"><input type="checkbox" name="dwpost_enable" ' . $selected . ' value="1" /> '
|
||||
. t('Post to Dreamwidth') . '</div>';
|
||||
|
@ -54,16 +52,16 @@ function dwpost_settings(&$a,&$s) {
|
|||
|
||||
/* Get the current state of our config variables */
|
||||
|
||||
$enabled = PConfig::get(local_user(),'dwpost','post');
|
||||
$enabled = get_pconfig(local_user(),'dwpost','post');
|
||||
|
||||
$checked = (($enabled) ? ' checked="checked" ' : '');
|
||||
|
||||
$def_enabled = PConfig::get(local_user(),'dwpost','post_by_default');
|
||||
$def_enabled = get_pconfig(local_user(),'dwpost','post_by_default');
|
||||
|
||||
$def_checked = (($def_enabled) ? ' checked="checked" ' : '');
|
||||
|
||||
$dw_username = PConfig::get(local_user(), 'dwpost', 'dw_username');
|
||||
$dw_password = PConfig::get(local_user(), 'dwpost', 'dw_password');
|
||||
$dw_username = get_pconfig(local_user(), 'dwpost', 'dw_username');
|
||||
$dw_password = get_pconfig(local_user(), 'dwpost', 'dw_password');
|
||||
|
||||
|
||||
/* Add some HTML to the existing form */
|
||||
|
@ -107,10 +105,10 @@ function dwpost_settings_post(&$a,&$b) {
|
|||
|
||||
if(x($_POST,'dwpost-submit')) {
|
||||
|
||||
PConfig::set(local_user(),'dwpost','post',intval($_POST['dwpost']));
|
||||
PConfig::set(local_user(),'dwpost','post_by_default',intval($_POST['dw_bydefault']));
|
||||
PConfig::set(local_user(),'dwpost','dw_username',trim($_POST['dw_username']));
|
||||
PConfig::set(local_user(),'dwpost','dw_password',trim($_POST['dw_password']));
|
||||
set_pconfig(local_user(),'dwpost','post',intval($_POST['dwpost']));
|
||||
set_pconfig(local_user(),'dwpost','post_by_default',intval($_POST['dw_bydefault']));
|
||||
set_pconfig(local_user(),'dwpost','dw_username',trim($_POST['dw_username']));
|
||||
set_pconfig(local_user(),'dwpost','dw_password',trim($_POST['dw_password']));
|
||||
|
||||
}
|
||||
|
||||
|
@ -129,11 +127,11 @@ function dwpost_post_local(&$a,&$b) {
|
|||
if($b['private'] || $b['parent'])
|
||||
return;
|
||||
|
||||
$dw_post = intval(PConfig::get(local_user(),'dwpost','post'));
|
||||
$dw_post = intval(get_pconfig(local_user(),'dwpost','post'));
|
||||
|
||||
$dw_enable = (($dw_post && x($_REQUEST,'dwpost_enable')) ? intval($_REQUEST['dwpost_enable']) : 0);
|
||||
|
||||
if($_REQUEST['api_source'] && intval(PConfig::get(local_user(),'dwpost','post_by_default')))
|
||||
if($_REQUEST['api_source'] && intval(get_pconfig(local_user(),'dwpost','post_by_default')))
|
||||
$dw_enable = 1;
|
||||
|
||||
if(! $dw_enable)
|
||||
|
@ -158,7 +156,7 @@ function dwpost_send(&$a,&$b) {
|
|||
if($b['parent'] != $b['id'])
|
||||
return;
|
||||
|
||||
// dreamwidth post in the LJ user's timezone.
|
||||
// dreamwidth post in the LJ user's timezone.
|
||||
// Hopefully the person's Friendica account
|
||||
// will be set to the same thing.
|
||||
|
||||
|
@ -168,10 +166,10 @@ function dwpost_send(&$a,&$b) {
|
|||
intval($b['uid'])
|
||||
);
|
||||
if($x && strlen($x[0]['timezone']))
|
||||
$tz = $x[0]['timezone'];
|
||||
$tz = $x[0]['timezone'];
|
||||
|
||||
$dw_username = PConfig::get($b['uid'],'dwpost','dw_username');
|
||||
$dw_password = PConfig::get($b['uid'],'dwpost','dw_password');
|
||||
$dw_username = get_pconfig($b['uid'],'dwpost','dw_username');
|
||||
$dw_password = get_pconfig($b['uid'],'dwpost','dw_password');
|
||||
$dw_blog = 'http://www.dreamwidth.org/interface/xmlrpc';
|
||||
|
||||
if($dw_username && $dw_password && $dw_blog) {
|
||||
|
@ -221,7 +219,7 @@ EOT;
|
|||
logger('dwpost: data: ' . $xml, LOGGER_DATA);
|
||||
|
||||
if($dw_blog !== 'test')
|
||||
$x = post_url($dw_blog,$xml,["Content-Type: text/xml"]);
|
||||
$x = post_url($dw_blog,$xml,array("Content-Type: text/xml"));
|
||||
logger('posted to dreamwidth: ' . ($x) ? $x : '', LOGGER_DEBUG);
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
|
||||
|
||||
#editplain-enable-label {
|
||||
float: left;
|
||||
width: 200px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
#editplain-checkbox {
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
<?php
|
||||
/**
|
||||
* Name: Editplain
|
||||
* Description: This addon is deprecated and has been replaced with the "Advanced Features" setting. Admins should remove this addon when their core code is updated to include advanced feature settings.
|
||||
* Version: 1.0
|
||||
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
|
||||
* Status: Unsupported
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
function editplain_install() {
|
||||
|
||||
register_hook('plugin_settings', 'addon/editplain/editplain.php', 'editplain_settings');
|
||||
register_hook('plugin_settings_post', 'addon/editplain/editplain.php', 'editplain_settings_post');
|
||||
|
||||
logger("installed editplain");
|
||||
}
|
||||
|
||||
|
||||
function editplain_uninstall() {
|
||||
|
||||
unregister_hook('plugin_settings', 'addon/editplain/editplain.php', 'editplain_settings');
|
||||
unregister_hook('plugin_settings_post', 'addon/editplain/editplain.php', 'editplain_settings_post');
|
||||
|
||||
|
||||
logger("removed editplain");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Callback from the settings post function.
|
||||
* $post contains the $_POST array.
|
||||
* We will make sure we've got a valid user account
|
||||
* and if so set our configuration setting for this person.
|
||||
*
|
||||
*/
|
||||
|
||||
function editplain_settings_post($a,$post) {
|
||||
if(! local_user() || (! x($_POST,'editplain-submit')))
|
||||
return;
|
||||
set_pconfig(local_user(),'system','plaintext',intval($_POST['editplain']));
|
||||
|
||||
info( t('Editplain settings updated.') . EOL);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Called from the Plugin Setting form.
|
||||
* Add our own settings info to the page.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
function editplain_settings(&$a,&$s) {
|
||||
|
||||
if(! local_user())
|
||||
return;
|
||||
|
||||
/* Add our stylesheet to the page so we can make our settings look nice */
|
||||
|
||||
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/editplain/editplain.css' . '" media="all" />' . "\r\n";
|
||||
|
||||
/* Get the current state of our config variable */
|
||||
|
||||
$enabled = get_pconfig(local_user(),'system','plaintext');
|
||||
$checked = (($enabled) ? ' checked="checked" ' : '');
|
||||
|
||||
/* Add some HTML to the existing form */
|
||||
|
||||
$s .= '<div class="settings-block">';
|
||||
$s .= '<h3>' . t('Editplain Settings') . '</h3>';
|
||||
$s .= '<div id="editplain-enable-wrapper">';
|
||||
$s .= '<label id="editplain-enable-label" for="editplain-checkbox">' . t('Disable richtext status editor') . '</label>';
|
||||
$s .= '<input id="editplain-checkbox" type="checkbox" name="editplain" value="1" ' . $checked . '/>';
|
||||
$s .= '</div><div class="clear"></div>';
|
||||
|
||||
/* provide a submit button */
|
||||
|
||||
$s .= '<div class="settings-submit-wrapper" ><input type="submit" name="editplain-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div></div>';
|
||||
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
# ADDON editplain
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica editplain addon package.
|
||||
#
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-02-27 05:01-0500\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"
|
||||
|
||||
#: editplain.php:46
|
||||
msgid "Editplain settings updated."
|
||||
msgstr ""
|
||||
|
||||
#: editplain.php:76
|
||||
msgid "Editplain Settings"
|
||||
msgstr ""
|
||||
|
||||
#: editplain.php:78
|
||||
msgid "Disable richtext status editor"
|
||||
msgstr ""
|
||||
|
||||
#: editplain.php:84
|
||||
msgid "Submit"
|
||||
msgstr ""
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
|
||||
$a->strings["Editplain settings updated."] = "Actualitzar la configuració de Editplain.";
|
||||
$a->strings["Editplain Settings"] = "Configuració de Editplain";
|
||||
$a->strings["Disable richtext status editor"] = "Deshabilitar l'editor d'estatus de texte enriquit";
|
||||
$a->strings["Submit"] = "Enviar";
|
|
@ -0,0 +1,36 @@
|
|||
# ADDON editplain
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica editplain addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Michal Šupler <msupler@gmail.com>, 2014-2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
|
||||
"PO-Revision-Date: 2015-02-11 19:40+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"
|
||||
|
||||
#: editplain.php:46
|
||||
msgid "Editplain settings updated."
|
||||
msgstr "Editplain nastavení aktualizováno"
|
||||
|
||||
#: editplain.php:76
|
||||
msgid "Editplain Settings"
|
||||
msgstr "Editplain nastavení"
|
||||
|
||||
#: editplain.php:78
|
||||
msgid "Disable richtext status editor"
|
||||
msgstr "Zakázat richtext status editor"
|
||||
|
||||
#: editplain.php:84
|
||||
msgid "Submit"
|
||||
msgstr "Odeslat"
|
|
@ -0,0 +1,11 @@
|
|||
<?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["Editplain settings updated."] = "Editplain nastavení aktualizováno";
|
||||
$a->strings["Editplain Settings"] = "Editplain nastavení";
|
||||
$a->strings["Disable richtext status editor"] = "Zakázat richtext status editor";
|
||||
$a->strings["Submit"] = "Odeslat";
|
|
@ -0,0 +1,37 @@
|
|||
# ADDON editplain
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica editplain addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Abrax <webmaster@a-zwenkau.de>, 2014
|
||||
# bavatar <tobias.diekershoff@gmx.net>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
|
||||
"PO-Revision-Date: 2014-10-15 12:19+0000\n"
|
||||
"Last-Translator: Abrax <webmaster@a-zwenkau.de>\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"
|
||||
|
||||
#: editplain.php:46
|
||||
msgid "Editplain settings updated."
|
||||
msgstr "Editplain Einstellungen gespeichert."
|
||||
|
||||
#: editplain.php:76
|
||||
msgid "Editplain Settings"
|
||||
msgstr "Editplain Einstellungen"
|
||||
|
||||
#: editplain.php:78
|
||||
msgid "Disable richtext status editor"
|
||||
msgstr "Web-Editor für Beiträge deakivieren"
|
||||
|
||||
#: editplain.php:84
|
||||
msgid "Submit"
|
||||
msgstr "Senden"
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_de")) {
|
||||
function string_plural_select_de($n){
|
||||
return ($n != 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Editplain settings updated."] = "Editplain Einstellungen gespeichert.";
|
||||
$a->strings["Editplain Settings"] = "Editplain Einstellungen";
|
||||
$a->strings["Disable richtext status editor"] = "Web-Editor für Beiträge deakivieren";
|
||||
$a->strings["Submit"] = "Senden";
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
|
||||
$a->strings["Editplain settings updated."] = "Ĝisdatigis la Editplain agordojn.";
|
||||
$a->strings["Editplain Settings"] = "Agordoj por Editplain";
|
||||
$a->strings["Disable richtext status editor"] = "Malŝalti la riĉteksto-redaktilon";
|
||||
$a->strings["Submit"] = "Sendi";
|
|
@ -0,0 +1,36 @@
|
|||
# ADDON editplain
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica editplain 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: 2013-02-27 05:01-0500\n"
|
||||
"PO-Revision-Date: 2016-10-23 11:35+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"
|
||||
|
||||
#: editplain.php:46
|
||||
msgid "Editplain settings updated."
|
||||
msgstr "Ajustes de edición sencillos actualizados."
|
||||
|
||||
#: editplain.php:76
|
||||
msgid "Editplain Settings"
|
||||
msgstr "Ajustes de edición sencillos"
|
||||
|
||||
#: editplain.php:78
|
||||
msgid "Disable richtext status editor"
|
||||
msgstr "Desactivar el editor de texto enriquecido del estatus"
|
||||
|
||||
#: editplain.php:84
|
||||
msgid "Submit"
|
||||
msgstr "Enviar"
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_es")) {
|
||||
function string_plural_select_es($n){
|
||||
return ($n != 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Editplain settings updated."] = "Ajustes de edición sencillos actualizados.";
|
||||
$a->strings["Editplain Settings"] = "Ajustes de edición sencillos";
|
||||
$a->strings["Disable richtext status editor"] = "Desactivar el editor de texto enriquecido del estatus";
|
||||
$a->strings["Submit"] = "Enviar";
|
|
@ -0,0 +1,36 @@
|
|||
# ADDON editplain
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica editplain addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Nicola Spanti <translations@nicola-spanti.info>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
|
||||
"PO-Revision-Date: 2015-07-27 18:13+0000\n"
|
||||
"Last-Translator: Nicola Spanti <translations@nicola-spanti.info>\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/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"
|
||||
|
||||
#: editplain.php:46
|
||||
msgid "Editplain settings updated."
|
||||
msgstr ""
|
||||
|
||||
#: editplain.php:76
|
||||
msgid "Editplain Settings"
|
||||
msgstr ""
|
||||
|
||||
#: editplain.php:78
|
||||
msgid "Disable richtext status editor"
|
||||
msgstr "Désactiver l'éditeur avancé de statut"
|
||||
|
||||
#: editplain.php:84
|
||||
msgid "Submit"
|
||||
msgstr "Soumettre"
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_fr")) {
|
||||
function string_plural_select_fr($n){
|
||||
return ($n > 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Editplain settings updated."] = "";
|
||||
$a->strings["Editplain Settings"] = "";
|
||||
$a->strings["Disable richtext status editor"] = "Désactiver l'éditeur avancé de statut";
|
||||
$a->strings["Submit"] = "Soumettre";
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
|
||||
$a->strings["Editplain settings updated."] = "";
|
||||
$a->strings["Editplain Settings"] = "";
|
||||
$a->strings["Disable richtext status editor"] = "";
|
||||
$a->strings["Submit"] = "Senda inn";
|
|
@ -0,0 +1,36 @@
|
|||
# ADDON editplain
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica editplain addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# fabrixxm <fabrix.xm@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
|
||||
"PO-Revision-Date: 2014-10-22 07:54+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"
|
||||
|
||||
#: editplain.php:46
|
||||
msgid "Editplain settings updated."
|
||||
msgstr "Impostazioni 'Editplain' aggiornate."
|
||||
|
||||
#: editplain.php:76
|
||||
msgid "Editplain Settings"
|
||||
msgstr "Impostazioni Editplain"
|
||||
|
||||
#: editplain.php:78
|
||||
msgid "Disable richtext status editor"
|
||||
msgstr "Disabilita l'editor di testo visuale"
|
||||
|
||||
#: editplain.php:84
|
||||
msgid "Submit"
|
||||
msgstr "Invia"
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_it")) {
|
||||
function string_plural_select_it($n){
|
||||
return ($n != 1);;
|
||||
}}
|
||||
;
|
||||
$a->strings["Editplain settings updated."] = "Impostazioni 'Editplain' aggiornate.";
|
||||
$a->strings["Editplain Settings"] = "Impostazioni Editplain";
|
||||
$a->strings["Disable richtext status editor"] = "Disabilita l'editor di testo visuale";
|
||||
$a->strings["Submit"] = "Invia";
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
|
||||
$a->strings["Editplain settings updated."] = "";
|
||||
$a->strings["Editplain Settings"] = "";
|
||||
$a->strings["Disable richtext status editor"] = "";
|
||||
$a->strings["Submit"] = "Lagre";
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
|
||||
$a->strings["Editplain settings updated."] = "";
|
||||
$a->strings["Editplain Settings"] = "";
|
||||
$a->strings["Disable richtext status editor"] = "";
|
||||
$a->strings["Submit"] = "Potwierdź";
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
|
||||
$a->strings["Editplain settings updated."] = "Configurações Editplain atualizadas.";
|
||||
$a->strings["Editplain Settings"] = "Configurações Editplain";
|
||||
$a->strings["Disable richtext status editor"] = "Disabilite o modo de edição richtext";
|
||||
$a->strings["Submit"] = "Enviar";
|
|
@ -0,0 +1,36 @@
|
|||
# ADDON editplain
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica editplain addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Doru DEACONU <dumitrudeaconu@yahoo.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
|
||||
"PO-Revision-Date: 2014-11-27 14:13+0000\n"
|
||||
"Last-Translator: Doru DEACONU <dumitrudeaconu@yahoo.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"
|
||||
|
||||
#: editplain.php:46
|
||||
msgid "Editplain settings updated."
|
||||
msgstr "Configurările Editplain au fost actualizate."
|
||||
|
||||
#: editplain.php:76
|
||||
msgid "Editplain Settings"
|
||||
msgstr "Configurări Editplain"
|
||||
|
||||
#: editplain.php:78
|
||||
msgid "Disable richtext status editor"
|
||||
msgstr "Dezactivare editorul status de text îmbogățit"
|
||||
|
||||
#: editplain.php:84
|
||||
msgid "Submit"
|
||||
msgstr "Trimite"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue