mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2024-11-25 11:43:40 +00:00
Merge branch '3.6-rc'
This commit is contained in:
commit
39dd3dffe0
733 changed files with 10943 additions and 8237 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -15,7 +15,7 @@ report/
|
||||||
.buildpath
|
.buildpath
|
||||||
.externalToolBuilders
|
.externalToolBuilders
|
||||||
.settings
|
.settings
|
||||||
#ignore OSX .DS_Store files
|
#ignore OSX .DS_Store files
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
/nbproject/private/
|
/nbproject/private/
|
||||||
|
|
54
.tx/config
54
.tx/config
|
@ -1,12 +1,6 @@
|
||||||
[main]
|
[main]
|
||||||
host = https://www.transifex.com
|
host = https://www.transifex.com
|
||||||
|
|
||||||
[friendica.addon_appnet_messagespo]
|
|
||||||
file_filter = appnet/lang/<lang>/messages.po
|
|
||||||
source_file = appnet/lang/C/messages.po
|
|
||||||
source_lang = en
|
|
||||||
type = PO
|
|
||||||
|
|
||||||
[friendica.addon_blackout_messagespo]
|
[friendica.addon_blackout_messagespo]
|
||||||
file_filter = blackout/lang/<lang>/messages.po
|
file_filter = blackout/lang/<lang>/messages.po
|
||||||
source_file = blackout/lang/C/messages.po
|
source_file = blackout/lang/C/messages.po
|
||||||
|
@ -37,12 +31,6 @@ source_file = buglink/lang/C/messages.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[friendica.addon_cal_messagespo]
|
|
||||||
file_filter = cal/lang/<lang>/messages.po
|
|
||||||
source_file = cal/lang/C/messages.po
|
|
||||||
source_lang = en
|
|
||||||
type = PO
|
|
||||||
|
|
||||||
[friendica.addon_communityhome_messagespo]
|
[friendica.addon_communityhome_messagespo]
|
||||||
file_filter = communityhome/lang/<lang>/messages.po
|
file_filter = communityhome/lang/<lang>/messages.po
|
||||||
source_file = communityhome/lang/C/messages.po
|
source_file = communityhome/lang/C/messages.po
|
||||||
|
@ -73,24 +61,12 @@ source_file = dwpost/lang/C/messages.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[friendica.addon_editplain_messagespo]
|
|
||||||
file_filter = editplain/lang/<lang>/messages.po
|
|
||||||
source_file = editplain/lang/C/messages.po
|
|
||||||
source_lang = en
|
|
||||||
type = PO
|
|
||||||
|
|
||||||
[friendica.addon_forumdirectory_messagespo]
|
[friendica.addon_forumdirectory_messagespo]
|
||||||
file_filter = forumdirectory/lang/<lang>/messages.po
|
file_filter = forumdirectory/lang/<lang>/messages.po
|
||||||
source_file = forumdirectory/lang/C/messages.po
|
source_file = forumdirectory/lang/C/messages.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[friendica.addon_forumlist_messagespo]
|
|
||||||
file_filter = forumlist/lang/<lang>/messages.po
|
|
||||||
source_file = forumlist/lang/C/messages.po
|
|
||||||
source_lang = en
|
|
||||||
type = PO
|
|
||||||
|
|
||||||
[friendica.addon_fromapp_messagespo]
|
[friendica.addon_fromapp_messagespo]
|
||||||
file_filter = fromapp/lang/<lang>/messages.po
|
file_filter = fromapp/lang/<lang>/messages.po
|
||||||
source_file = fromapp/lang/C/messages.po
|
source_file = fromapp/lang/C/messages.po
|
||||||
|
@ -115,12 +91,6 @@ source_file = gnot/lang/C/messages.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[friendica.addon_gpluspost_messagespo]
|
|
||||||
file_filter = gpluspost/lang/<lang>/messages.po
|
|
||||||
source_file = gpluspost/lang/C/messages.po
|
|
||||||
source_lang = en
|
|
||||||
type = PO
|
|
||||||
|
|
||||||
[friendica.addon_gravatar_messagespo]
|
[friendica.addon_gravatar_messagespo]
|
||||||
file_filter = gravatar/lang/<lang>/messages.po
|
file_filter = gravatar/lang/<lang>/messages.po
|
||||||
source_file = gravatar/lang/C/messages.po
|
source_file = gravatar/lang/C/messages.po
|
||||||
|
@ -301,6 +271,12 @@ source_file = rendertime/lang/C/messages.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
|
[friendica.addon_securemail_messagespo]
|
||||||
|
file_filter = securemail/lang/<lang>/messages.po
|
||||||
|
source_file = securemail/lang/C/messages.po
|
||||||
|
source_lang = en
|
||||||
|
type = PO
|
||||||
|
|
||||||
[friendica.addon_showmore_messagespo]
|
[friendica.addon_showmore_messagespo]
|
||||||
file_filter = showmore/lang/<lang>/messages.po
|
file_filter = showmore/lang/<lang>/messages.po
|
||||||
source_file = showmore/lang/C/messages.po
|
source_file = showmore/lang/C/messages.po
|
||||||
|
@ -313,12 +289,6 @@ source_file = smileybutton/lang/C/messages.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[friendica.addon_snautofollow_messagespo]
|
|
||||||
file_filter = snautofollow/lang/<lang>/messages.po
|
|
||||||
source_file = snautofollow/lang/C/messages.po
|
|
||||||
source_lang = en
|
|
||||||
type = PO
|
|
||||||
|
|
||||||
[friendica.addon_startpage_messagespo]
|
[friendica.addon_startpage_messagespo]
|
||||||
file_filter = startpage/lang/<lang>/messages.po
|
file_filter = startpage/lang/<lang>/messages.po
|
||||||
source_file = startpage/lang/C/messages.po
|
source_file = startpage/lang/C/messages.po
|
||||||
|
@ -361,9 +331,9 @@ source_file = twitter/lang/C/messages.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[friendica.addon_uhremotestorage_messagespo]
|
[friendica.addon_viewsrc_messagespo]
|
||||||
file_filter = uhremotestorage/lang/<lang>/messages.po
|
file_filter = viewsrc/lang/<lang>/messages.po
|
||||||
source_file = uhremotestorage/lang/C/messages.po
|
source_file = viewsrc/lang/C/messages.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
|
@ -385,6 +355,12 @@ source_file = wppost/lang/C/messages.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
|
[friendica.addon_xmpp_messagespo]
|
||||||
|
file_filter = xmpp/lang/<lang>/messages.po
|
||||||
|
source_file = xmpp/lang/C/messages.po
|
||||||
|
source_lang = en
|
||||||
|
type = PO
|
||||||
|
|
||||||
[friendica.addon_yourls_messagespo]
|
[friendica.addon_yourls_messagespo]
|
||||||
file_filter = yourls/lang/<lang>/messages.po
|
file_filter = yourls/lang/<lang>/messages.po
|
||||||
source_file = yourls/lang/C/messages.po
|
source_file = yourls/lang/C/messages.po
|
||||||
|
|
|
@ -4,9 +4,10 @@
|
||||||
|
|
||||||
To install all addons using git, cd into your top level Friendica directory and
|
To install all addons using git, cd into your top level Friendica directory and
|
||||||
|
|
||||||
git clone https://github.com/friendica/friendica-addons.git addon
|
git clone https://github.com/friendica/friendica-addons.git addon
|
||||||
|
util/composer.phar install -d addon
|
||||||
|
|
||||||
This will clone the entire repository in a directory called addon. They can now be activated in the plugins section of your admin panel.
|
This will clone the entire repository in a directory called addon. They can now be activated in the addons section of your admin panel.
|
||||||
|
|
||||||
********************
|
********************
|
||||||
* Install Manually *
|
* Install Manually *
|
||||||
|
@ -15,4 +16,4 @@ This will clone the entire repository in a directory called addon. They can now
|
||||||
1. Download the archive (Download ZIP button) containing the addons.
|
1. Download the archive (Download ZIP button) containing the addons.
|
||||||
2. Unzip the contents of the archive to your harddrive.
|
2. Unzip the contents of the archive to your harddrive.
|
||||||
3. Upload the extracted directory and all it's contents to /path/to/friendica/addon. You will need to create the addon directory if this is the first addon you have installed.
|
3. Upload the extracted directory and all it's contents to /path/to/friendica/addon. You will need to create the addon directory if this is the first addon you have installed.
|
||||||
4. Activate the addon in the plugins section of your admin panel.
|
4. Activate the addon in the addons section of your admin panel.
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
Addons for Friendica
|
Addons for Friendica
|
||||||
====================
|
====================
|
||||||
|
|
||||||
This repository is a collection of plugins for the [Friendica Social Communications Server](https://github.com/friendica/friendica).
|
This repository is a collection of addons for the [Friendica Social Communications Server](https://github.com/friendica/friendica).
|
||||||
You can add these plugins to the /addon directory of your Friendica installation
|
You can add these addons to the /addon directory of your Friendica installation
|
||||||
do extend the functionality of your node.
|
do extend the functionality of your node.
|
||||||
|
|
||||||
After uploading the addons to your server, you need to activate the desired addons
|
After uploading the addons to your server, you need to activate the desired addons
|
||||||
|
@ -14,7 +14,7 @@ in cases the addon developers have choosen not to include them here.
|
||||||
Connectors
|
Connectors
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Among these plugins there are also the [connectors](https://github.com/friendica/friendica/blob/master/doc/Connectors.md) for various other networks
|
Among these addons there are also the [connectors](https://github.com/friendica/friendica/blob/master/doc/Connectors.md) for various other networks
|
||||||
(e.g. Twitter, pump.io, Google+) that are needed for communication when the
|
(e.g. Twitter, pump.io, Google+) that are needed for communication when the
|
||||||
protocoll is not supported by Friendica core (DFRN, OStatus and Diaspora).
|
protocoll is not supported by Friendica core (DFRN, OStatus and Diaspora).
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ Development
|
||||||
|
|
||||||
The addon interface of Friendica is very flexible and powerful, so if you are
|
The addon interface of Friendica is very flexible and powerful, so if you are
|
||||||
missing functionality, your chances are high it may be added with an addon.
|
missing functionality, your chances are high it may be added with an addon.
|
||||||
See the [documentation](https://github.com/friendica/friendica/blob/master/doc/Plugins.md) for more informations on the plugin development.
|
See the [documentation](https://github.com/friendica/friendica/blob/master/doc/Addons.md) for more informations on the addon development.
|
||||||
|
|
||||||
Addons can be translated like any other part of Friendica. Translations for the
|
Addons can be translated like any other part of Friendica. Translations for the
|
||||||
addons included in this repository are done at the [Transifex project](https://www.transifex.com/projects/p/friendica/) for Friendica.
|
addons included in this repository are done at the [Transifex project](https://www.transifex.com/projects/p/friendica/) for Friendica.
|
||||||
|
|
|
@ -8,12 +8,12 @@ blackout addon
|
||||||
About
|
About
|
||||||
-----
|
-----
|
||||||
|
|
||||||
This plugin will allow you to enter a date/time period during which
|
This addon will allow you to enter a date/time period during which
|
||||||
all your ~friendica visitors from the web will be redirected to a page
|
all your ~friendica visitors from the web will be redirected to a page
|
||||||
you can configure in the admin panel as well.
|
you can configure in the admin panel as well.
|
||||||
|
|
||||||
Calls to the API and the communication with other ~friendica nodes is
|
Calls to the API and the communication with other ~friendica nodes is
|
||||||
not effected from this plugin.
|
not effected from this addon.
|
||||||
|
|
||||||
If you enter a period the current date would be affected none of the
|
If you enter a period the current date would be affected none of the
|
||||||
currently logged in users will be effected as well. But if they log
|
currently logged in users will be effected as well. But if they log
|
||||||
|
|
|
@ -9,12 +9,12 @@
|
||||||
* About
|
* About
|
||||||
* =====
|
* =====
|
||||||
*
|
*
|
||||||
* This plugin will allow you to enter a date/time period during which
|
* This addon will allow you to enter a date/time period during which
|
||||||
* all your ~friendica visitors from the web will be redirected to a page
|
* all your ~friendica visitors from the web will be redirected to a page
|
||||||
* you can configure in the admin panel as well.
|
* you can configure in the admin panel as well.
|
||||||
*
|
*
|
||||||
* Calls to the API and the communication with other ~friendica nodes is
|
* Calls to the API and the communication with other ~friendica nodes is
|
||||||
* not effected from this plugin.
|
* not effected from this addon.
|
||||||
*
|
*
|
||||||
* If you enter a period the current date would be affected none of the
|
* If you enter a period the current date would be affected none of the
|
||||||
* currently logged in users will be effected as well. But if they log
|
* currently logged in users will be effected as well. But if they log
|
||||||
|
@ -49,13 +49,16 @@
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use Friendica\Core\Config;
|
||||||
|
use Friendica\Core\Addon;
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
|
||||||
function blackout_install() {
|
function blackout_install() {
|
||||||
register_hook('page_header', 'addon/blackout/blackout.php', 'blackout_redirect');
|
Addon::registerHook('page_header', 'addon/blackout/blackout.php', 'blackout_redirect');
|
||||||
}
|
}
|
||||||
|
|
||||||
function blackout_uninstall() {
|
function blackout_uninstall() {
|
||||||
unregister_hook('page_header', 'addon/blackout/blackout.php', 'blackout_redirect');
|
Addon::unregisterHook('page_header', 'addon/blackout/blackout.php', 'blackout_redirect');
|
||||||
}
|
}
|
||||||
function blackout_redirect ($a, $b) {
|
function blackout_redirect ($a, $b) {
|
||||||
// if we have a logged in user, don't throw her out
|
// if we have a logged in user, don't throw her out
|
||||||
|
@ -86,20 +89,20 @@ function blackout_redirect ($a, $b) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function blackout_plugin_admin(&$a, &$o) {
|
function blackout_addon_admin(&$a, &$o) {
|
||||||
$mystart = get_config('blackout','begindate');
|
$mystart = Config::get('blackout','begindate');
|
||||||
if (! is_string($mystart)) { $mystart = "YYYY-MM-DD:hhmm"; }
|
if (! is_string($mystart)) { $mystart = "YYYY-MM-DD:hhmm"; }
|
||||||
$myend = get_config('blackout','enddate');
|
$myend = get_config('blackout','enddate');
|
||||||
if (! is_string($myend)) { $myend = "YYYY-MM-DD:hhmm"; }
|
if (! is_string($myend)) { $myend = "YYYY-MM-DD:hhmm"; }
|
||||||
$myurl = get_config('blackout','url');
|
$myurl = get_config('blackout','url');
|
||||||
if (! is_string($myurl)) { $myurl = "http://www.example.com"; }
|
if (! is_string($myurl)) { $myurl = "http://www.example.com"; }
|
||||||
$t = get_markup_template( "admin.tpl", "addon/blackout/" );
|
$t = get_markup_template( "admin.tpl", "addon/blackout/" );
|
||||||
|
|
||||||
$o = replace_macros($t, array(
|
$o = replace_macros($t, [
|
||||||
'$submit' => t('Save Settings'),
|
'$submit' => L10n::t('Save Settings'),
|
||||||
'$rurl' => array("rurl", "Redirect URL", $myurl, "all your visitors from the web will be redirected to this URL"),
|
'$rurl' => ["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"),
|
'$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' => array("enddate", "End of the Blackout<br />(YYYY-MM-DD hh:mm)", $myend, ""),
|
'$enddate' => ["enddate", "End of the Blackout<br />(YYYY-MM-DD hh:mm)", $myend, ""],
|
||||||
|
|
||||||
));
|
));
|
||||||
$date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart);
|
$date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart);
|
||||||
|
@ -110,7 +113,7 @@ function blackout_plugin_admin(&$a, &$o) {
|
||||||
$o = '<p>Please double check that the current settings for the blackout. Begin will be <strong>'.$mystart.'</strong> and it will end <strong>'.$myend.'</strong>.</p>' . $o;
|
$o = '<p>Please double check that the current settings for the blackout. Begin will be <strong>'.$mystart.'</strong> and it will end <strong>'.$myend.'</strong>.</p>' . $o;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function blackout_plugin_admin_post (&$a) {
|
function blackout_addon_admin_post (&$a) {
|
||||||
$begindate = trim($_POST['startdate']);
|
$begindate = trim($_POST['startdate']);
|
||||||
$enddate = trim($_POST['enddate']);
|
$enddate = trim($_POST['enddate']);
|
||||||
$url = trim($_POST['rurl']);
|
$url = trim($_POST['rurl']);
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# fabrixxm <fabrix.xm@gmail.com>, 2014
|
# fabrixxm <fabrix.xm@gmail.com>, 2014,2018
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: friendica\n"
|
"Project-Id-Version: friendica\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
||||||
"PO-Revision-Date: 2014-09-10 10:22+0000\n"
|
"PO-Revision-Date: 2018-03-19 19:50+0000\n"
|
||||||
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
||||||
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
|
|
@ -1,41 +1,39 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Name: blockem
|
* Name: blockem
|
||||||
* Description: block people
|
* Description: Allows users to hide content by collapsing posts and replies.
|
||||||
* Version: 1.0
|
* Version: 1.0
|
||||||
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
|
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
use Friendica\Core\Addon;
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\Core\PConfig;
|
||||||
|
|
||||||
function blockem_install() {
|
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');
|
Addon::registerHook('prepare_body', 'addon/blockem/blockem.php', 'blockem_prepare_body');
|
||||||
register_hook('plugin_settings', 'addon/blockem/blockem.php', 'blockem_addon_settings');
|
Addon::registerHook('display_item', 'addon/blockem/blockem.php', 'blockem_display_item');
|
||||||
register_hook('plugin_settings_post', 'addon/blockem/blockem.php', 'blockem_addon_settings_post');
|
Addon::registerHook('addon_settings', 'addon/blockem/blockem.php', 'blockem_addon_settings');
|
||||||
register_hook('conversation_start', 'addon/blockem/blockem.php', 'blockem_conversation_start');
|
Addon::registerHook('addon_settings_post', 'addon/blockem/blockem.php', 'blockem_addon_settings_post');
|
||||||
register_hook('item_photo_menu', 'addon/blockem/blockem.php', 'blockem_item_photo_menu');
|
Addon::registerHook('conversation_start', 'addon/blockem/blockem.php', 'blockem_conversation_start');
|
||||||
register_hook('enotify_store', 'addon/blockem/blockem.php', 'blockem_enotify_store' );
|
Addon::registerHook('item_photo_menu', 'addon/blockem/blockem.php', 'blockem_item_photo_menu');
|
||||||
|
Addon::registerHook('enotify_store', 'addon/blockem/blockem.php', 'blockem_enotify_store');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function blockem_uninstall()
|
||||||
function blockem_uninstall() {
|
{
|
||||||
unregister_hook('prepare_body', 'addon/blockem/blockem.php', 'blockem_prepare_body');
|
Addon::unregisterHook('prepare_body', 'addon/blockem/blockem.php', 'blockem_prepare_body');
|
||||||
unregister_hook('display_item', 'addon/blockem/blockem.php', 'blockem_display_item');
|
Addon::unregisterHook('display_item', 'addon/blockem/blockem.php', 'blockem_display_item');
|
||||||
unregister_hook('plugin_settings', 'addon/blockem/blockem.php', 'blockem_addon_settings');
|
Addon::unregisterHook('addon_settings', 'addon/blockem/blockem.php', 'blockem_addon_settings');
|
||||||
unregister_hook('plugin_settings_post', 'addon/blockem/blockem.php', 'blockem_addon_settings_post');
|
Addon::unregisterHook('addon_settings_post', 'addon/blockem/blockem.php', 'blockem_addon_settings_post');
|
||||||
unregister_hook('conversation_start', 'addon/blockem/blockem.php', 'blockem_conversation_start');
|
Addon::unregisterHook('conversation_start', 'addon/blockem/blockem.php', 'blockem_conversation_start');
|
||||||
unregister_hook('item_photo_menu', 'addon/blockem/blockem.php', 'blockem_item_photo_menu');
|
Addon::unregisterHook('item_photo_menu', 'addon/blockem/blockem.php', 'blockem_item_photo_menu');
|
||||||
unregister_hook('enotify_store', 'addon/blockem/blockem.php', 'blockem_enotify_store' );
|
Addon::unregisterHook('enotify_store', 'addon/blockem/blockem.php', 'blockem_enotify_store');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function blockem_addon_settings(&$a, &$s)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
function blockem_addon_settings(&$a,&$s) {
|
|
||||||
|
|
||||||
if(! local_user())
|
if(! local_user())
|
||||||
return;
|
return;
|
||||||
|
@ -45,24 +43,25 @@ 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";
|
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/blockem/blockem.css' . '" media="all" />' . "\r\n";
|
||||||
|
|
||||||
|
|
||||||
$words = get_pconfig(local_user(),'blockem','words');
|
$words = PConfig::get(local_user(), 'blockem', 'words');
|
||||||
if(! $words)
|
if(! $words)
|
||||||
$words = '';
|
$words = '';
|
||||||
|
|
||||||
$s .= '<span id="settings_blockem_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_blockem_expanded\'); openClose(\'settings_blockem_inflated\');">';
|
$s .= '<span id="settings_blockem_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_blockem_expanded\'); openClose(\'settings_blockem_inflated\');">';
|
||||||
$s .= '<h3>' . t('"Blockem"') . '</h3>';
|
$s .= '<h3>' . L10n::t('"Blockem"') . '</h3>';
|
||||||
$s .= '</span>';
|
$s .= '</span>';
|
||||||
$s .= '<div id="settings_blockem_expanded" class="settings-block" style="display: none;">';
|
$s .= '<div id="settings_blockem_expanded" class="settings-block" style="display: none;">';
|
||||||
$s .= '<span class="fakelink" onclick="openClose(\'settings_blockem_expanded\'); openClose(\'settings_blockem_inflated\');">';
|
$s .= '<span class="fakelink" onclick="openClose(\'settings_blockem_expanded\'); openClose(\'settings_blockem_inflated\');">';
|
||||||
$s .= '<h3>' . t('"Blockem"') . '</h3>';
|
$s .= '<h3>' . L10n::t('"Blockem"') . '</h3>';
|
||||||
$s .= '</span>';
|
$s .= '</span>';
|
||||||
|
|
||||||
$s .= '<div id="blockem-wrapper">';
|
$s .= '<div id="blockem-wrapper">';
|
||||||
$s .= '<label id="blockem-label" for="blockem-words">' . t('Comma separated profile URLS to block') . ' </label>';
|
$s .= '<div id="blockem-desc">'. L10n::t("Hides user's content by collapsing posts. Also replaces their avatar with generic image.") . ' </div>';
|
||||||
|
$s .= '<label id="blockem-label" for="blockem-words">' . L10n::t('Comma separated profile URLS:') . ' </label>';
|
||||||
$s .= '<textarea id="blockem-words" type="text" name="blockem-words" >' . htmlspecialchars($words) . '</textarea>';
|
$s .= '<textarea id="blockem-words" type="text" name="blockem-words" >' . htmlspecialchars($words) . '</textarea>';
|
||||||
$s .= '</div><div class="clear"></div>';
|
$s .= '</div><div class="clear"></div>';
|
||||||
|
|
||||||
$s .= '<div class="settings-submit-wrapper" ><input type="submit" id="blockem-submit" name="blockem-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div></div>';
|
$s .= '<div class="settings-submit-wrapper" ><input type="submit" id="blockem-submit" name="blockem-submit" class="settings-submit" value="' . L10n::t('Save Settings') . '" /></div></div>';
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -74,12 +73,11 @@ function blockem_addon_settings_post(&$a,&$b) {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if($_POST['blockem-submit']) {
|
if($_POST['blockem-submit']) {
|
||||||
set_pconfig(local_user(),'blockem','words',trim($_POST['blockem-words']));
|
PConfig::set(local_user(),'blockem','words',trim($_POST['blockem-words']));
|
||||||
info( t('BLOCKEM Settings saved.') . EOL);
|
info(L10n::t('BLOCKEM Settings saved.') . EOL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function blockem_enotify_store(&$a,&$b) {
|
function blockem_enotify_store(&$a,&$b) {
|
||||||
|
|
||||||
$words = get_pconfig($b['uid'],'blockem','words');
|
$words = get_pconfig($b['uid'],'blockem','words');
|
||||||
|
@ -139,17 +137,15 @@ function blockem_prepare_body(&$a,&$b) {
|
||||||
}
|
}
|
||||||
if($found) {
|
if($found) {
|
||||||
$rnd = random_string(8);
|
$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 . '\'); >' . L10n::t('Hidden content by %s - Click to open/close', $word) . '</div><div id="blockem-' . $rnd . '" style="display: none; " >' . $b['html'] . '</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function blockem_display_item(&$a,&$b) {
|
function blockem_display_item(&$a,&$b) {
|
||||||
if(strstr($b['output']['body'],'id="blockem-wrap-'))
|
if(strstr($b['output']['body'],'id="blockem-wrap-'))
|
||||||
$b['output']['thumb'] = $a->get_baseurl() . "/images/person-80.jpg";
|
$b['output']['thumb'] = $a->get_baseurl() . "/images/person-80.jpg";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function blockem_conversation_start(&$a,&$b) {
|
function blockem_conversation_start(&$a,&$b) {
|
||||||
|
|
||||||
if(! local_user())
|
if(! local_user())
|
||||||
|
@ -194,9 +190,9 @@ function blockem_item_photo_menu(&$a,&$b) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($blocked)
|
if($blocked)
|
||||||
$b['menu'][ t('Unblock Author')] = 'javascript:blockemUnblock(\'' . $author . '\');';
|
$b['menu'][L10n::t('Unblock Author')] = 'javascript:blockemUnblock(\'' . $author . '\');';
|
||||||
else
|
else
|
||||||
$b['menu'][ t('Block Author')] = 'javascript:blockemBlock(\'' . $author . '\');';
|
$b['menu'][L10n::t('Block Author')] = 'javascript:blockemBlock(\'' . $author . '\');';
|
||||||
}
|
}
|
||||||
|
|
||||||
function blockem_module() {}
|
function blockem_module() {}
|
||||||
|
@ -227,7 +223,7 @@ function blockem_init(&$a) {
|
||||||
$words = implode(',',$newarr);
|
$words = implode(',',$newarr);
|
||||||
}
|
}
|
||||||
|
|
||||||
set_pconfig(local_user(),'blockem','words',$words);
|
PConfig::set(local_user(),'blockem','words',$words);
|
||||||
info( t('blockem settings updated') . EOL );
|
info(L10n::t('blockem settings updated') . EOL );
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
"POT-Creation-Date: 2018-02-09 13:00+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -17,35 +17,41 @@ msgstr ""
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: blockem.php:53 blockem.php:57
|
#: blockem.php:51 blockem.php:55
|
||||||
msgid "\"Blockem\""
|
msgid "\"Blockem\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: blockem.php:61
|
#: blockem.php:59
|
||||||
msgid "Comma separated profile URLS to block"
|
msgid ""
|
||||||
|
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||||
|
"generic image."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: blockem.php:65
|
#: blockem.php:60
|
||||||
|
msgid "Comma separated profile URLS:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: blockem.php:64
|
||||||
msgid "Save Settings"
|
msgid "Save Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: blockem.php:78
|
#: blockem.php:77
|
||||||
msgid "BLOCKEM Settings saved."
|
msgid "BLOCKEM Settings saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: blockem.php:142
|
#: blockem.php:140
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Blocked %s - Click to open/close"
|
msgid "Hidden content by %s - Click to open/close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: blockem.php:197
|
#: blockem.php:193
|
||||||
msgid "Unblock Author"
|
msgid "Unblock Author"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: blockem.php:199
|
#: blockem.php:195
|
||||||
msgid "Block Author"
|
msgid "Block Author"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: blockem.php:231
|
#: blockem.php:227
|
||||||
msgid "blockem settings updated"
|
msgid "blockem settings updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -4,50 +4,57 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# bavatar <tobias.diekershoff@gmx.net>, 2014-2015
|
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2014
|
||||||
|
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2018
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: friendica\n"
|
"Project-Id-Version: friendica\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
|
"POT-Creation-Date: 2018-02-09 13:00+0100\n"
|
||||||
"PO-Revision-Date: 2015-07-27 05:29+0000\n"
|
"PO-Revision-Date: 2018-02-10 17:32+0000\n"
|
||||||
"Last-Translator: bavatar <tobias.diekershoff@gmx.net>\n"
|
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>\n"
|
||||||
"Language-Team: German (http://www.transifex.com/projects/p/friendica/language/de/)\n"
|
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: blockem.php:51
|
#: blockem.php:51 blockem.php:55
|
||||||
msgid "\"Blockem\" Settings"
|
msgid "\"Blockem\""
|
||||||
msgstr "\"Blockem\"-Einstellungen"
|
msgstr "\"Blockem\""
|
||||||
|
|
||||||
#: blockem.php:53
|
#: blockem.php:59
|
||||||
msgid "Comma separated profile URLS to block"
|
msgid ""
|
||||||
msgstr "Profil-URLs, die geblockt werden sollen (durch Kommas getrennt)"
|
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||||
|
"generic image."
|
||||||
|
msgstr "Verbirgt Inhalte von Kontakten durch kollabieren der Beiträge. Des weiteren wird das Profilbild durch einen generischen Avatar ersetzt."
|
||||||
|
|
||||||
#: blockem.php:57
|
#: blockem.php:60
|
||||||
msgid "Submit"
|
msgid "Comma separated profile URLS:"
|
||||||
msgstr "Senden"
|
msgstr "Komma separierte Liste von Profil URLs"
|
||||||
|
|
||||||
#: blockem.php:70
|
#: blockem.php:64
|
||||||
|
msgid "Save Settings"
|
||||||
|
msgstr "Einstellungen speichern"
|
||||||
|
|
||||||
|
#: blockem.php:77
|
||||||
msgid "BLOCKEM Settings saved."
|
msgid "BLOCKEM Settings saved."
|
||||||
msgstr "BLOCKEM-Einstellungen gesichert."
|
msgstr "BLOCKEM-Einstellungen gesichert."
|
||||||
|
|
||||||
#: blockem.php:105
|
#: blockem.php:140
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Blocked %s - Click to open/close"
|
msgid "Hidden content by %s - Click to open/close"
|
||||||
msgstr "%s blockiert - Zum Öffnen/Schließen klicken"
|
msgstr "Verborgene Inhalte von %s - Zum Öffnen/Schließen klicken"
|
||||||
|
|
||||||
#: blockem.php:160
|
#: blockem.php:193
|
||||||
msgid "Unblock Author"
|
msgid "Unblock Author"
|
||||||
msgstr "Autor freischalten"
|
msgstr "Autor freischalten"
|
||||||
|
|
||||||
#: blockem.php:162
|
#: blockem.php:195
|
||||||
msgid "Block Author"
|
msgid "Block Author"
|
||||||
msgstr "Autor blockieren"
|
msgstr "Autor blockieren"
|
||||||
|
|
||||||
#: blockem.php:194
|
#: blockem.php:227
|
||||||
msgid "blockem settings updated"
|
msgid "blockem settings updated"
|
||||||
msgstr "blockem Einstellungen aktualisiert"
|
msgstr "blockem Einstellungen aktualisiert"
|
||||||
|
|
|
@ -5,11 +5,12 @@ function string_plural_select_de($n){
|
||||||
return ($n != 1);;
|
return ($n != 1);;
|
||||||
}}
|
}}
|
||||||
;
|
;
|
||||||
$a->strings["\"Blockem\" Settings"] = "\"Blockem\"-Einstellungen";
|
$a->strings["\"Blockem\""] = "\"Blockem\"";
|
||||||
$a->strings["Comma separated profile URLS to block"] = "Profil-URLs, die geblockt werden sollen (durch Kommas getrennt)";
|
$a->strings["Hides user's content by collapsing posts. Also replaces their avatar with generic image."] = "Verbirgt Inhalte von Kontakten durch kollabieren der Beiträge. Des weiteren wird das Profilbild durch einen generischen Avatar ersetzt.";
|
||||||
$a->strings["Submit"] = "Senden";
|
$a->strings["Comma separated profile URLS:"] = "Komma separierte Liste von Profil URLs";
|
||||||
|
$a->strings["Save Settings"] = "Einstellungen speichern";
|
||||||
$a->strings["BLOCKEM Settings saved."] = "BLOCKEM-Einstellungen gesichert.";
|
$a->strings["BLOCKEM Settings saved."] = "BLOCKEM-Einstellungen gesichert.";
|
||||||
$a->strings["Blocked %s - Click to open/close"] = "%s blockiert - Zum Öffnen/Schließen klicken";
|
$a->strings["Hidden content by %s - Click to open/close"] = "Verborgene Inhalte von %s - Zum Öffnen/Schließen klicken";
|
||||||
$a->strings["Unblock Author"] = "Autor freischalten";
|
$a->strings["Unblock Author"] = "Autor freischalten";
|
||||||
$a->strings["Block Author"] = "Autor blockieren";
|
$a->strings["Block Author"] = "Autor blockieren";
|
||||||
$a->strings["blockem settings updated"] = "blockem Einstellungen aktualisiert";
|
$a->strings["blockem settings updated"] = "blockem Einstellungen aktualisiert";
|
||||||
|
|
59
blockem/lang/en-gb/messages.po
Normal file
59
blockem/lang/en-gb/messages.po
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# ADDON blockem
|
||||||
|
# Copyright (C)
|
||||||
|
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Translators:
|
||||||
|
# Andy H3 <andy@hubup.pro>, 2018
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: friendica\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2018-02-09 13:00+0100\n"
|
||||||
|
"PO-Revision-Date: 2018-03-15 14:10+0000\n"
|
||||||
|
"Last-Translator: Andy H3 <andy@hubup.pro>\n"
|
||||||
|
"Language-Team: English (United Kingdom) (http://www.transifex.com/Friendica/friendica/language/en_GB/)\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Language: en_GB\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
|
#: blockem.php:51 blockem.php:55
|
||||||
|
msgid "\"Blockem\""
|
||||||
|
msgstr "\"Blockem\""
|
||||||
|
|
||||||
|
#: blockem.php:59
|
||||||
|
msgid ""
|
||||||
|
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||||
|
"generic image."
|
||||||
|
msgstr "Hides user's content by collapsing posts. Also replaces their avatar with generic image."
|
||||||
|
|
||||||
|
#: blockem.php:60
|
||||||
|
msgid "Comma separated profile URLS:"
|
||||||
|
msgstr "Comma separated profile URLs:"
|
||||||
|
|
||||||
|
#: blockem.php:64
|
||||||
|
msgid "Save Settings"
|
||||||
|
msgstr "Save settings"
|
||||||
|
|
||||||
|
#: blockem.php:77
|
||||||
|
msgid "BLOCKEM Settings saved."
|
||||||
|
msgstr "Blockem settings saved."
|
||||||
|
|
||||||
|
#: blockem.php:140
|
||||||
|
#, php-format
|
||||||
|
msgid "Hidden content by %s - Click to open/close"
|
||||||
|
msgstr "Hidden content by %s - Reveal/hide"
|
||||||
|
|
||||||
|
#: blockem.php:193
|
||||||
|
msgid "Unblock Author"
|
||||||
|
msgstr "Unblock author"
|
||||||
|
|
||||||
|
#: blockem.php:195
|
||||||
|
msgid "Block Author"
|
||||||
|
msgstr "Block author"
|
||||||
|
|
||||||
|
#: blockem.php:227
|
||||||
|
msgid "blockem settings updated"
|
||||||
|
msgstr "Blockem settings updated"
|
16
blockem/lang/en-gb/strings.php
Normal file
16
blockem/lang/en-gb/strings.php
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
if(! function_exists("string_plural_select_en_gb")) {
|
||||||
|
function string_plural_select_en_gb($n){
|
||||||
|
return ($n != 1);;
|
||||||
|
}}
|
||||||
|
;
|
||||||
|
$a->strings["\"Blockem\""] = "\"Blockem\"";
|
||||||
|
$a->strings["Hides user's content by collapsing posts. Also replaces their avatar with generic image."] = "Hides user's content by collapsing posts. Also replaces their avatar with generic image.";
|
||||||
|
$a->strings["Comma separated profile URLS:"] = "Comma separated profile URLs:";
|
||||||
|
$a->strings["Save Settings"] = "Save settings";
|
||||||
|
$a->strings["BLOCKEM Settings saved."] = "Blockem settings saved.";
|
||||||
|
$a->strings["Hidden content by %s - Click to open/close"] = "Hidden content by %s - Reveal/hide";
|
||||||
|
$a->strings["Unblock Author"] = "Unblock author";
|
||||||
|
$a->strings["Block Author"] = "Block author";
|
||||||
|
$a->strings["blockem settings updated"] = "Blockem settings updated";
|
59
blockem/lang/en-us/messages.po
Normal file
59
blockem/lang/en-us/messages.po
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# ADDON blockem
|
||||||
|
# Copyright (C)
|
||||||
|
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Translators:
|
||||||
|
# Andy H3 <andy@hubup.pro>, 2018
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: friendica\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2018-02-09 13:00+0100\n"
|
||||||
|
"PO-Revision-Date: 2018-03-15 14:14+0000\n"
|
||||||
|
"Last-Translator: Andy H3 <andy@hubup.pro>\n"
|
||||||
|
"Language-Team: English (United States) (http://www.transifex.com/Friendica/friendica/language/en_US/)\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Language: en_US\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
|
#: blockem.php:51 blockem.php:55
|
||||||
|
msgid "\"Blockem\""
|
||||||
|
msgstr "\"Blockem\""
|
||||||
|
|
||||||
|
#: blockem.php:59
|
||||||
|
msgid ""
|
||||||
|
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||||
|
"generic image."
|
||||||
|
msgstr "Hides user's content by collapsing posts. Also replaces their avatar with generic image."
|
||||||
|
|
||||||
|
#: blockem.php:60
|
||||||
|
msgid "Comma separated profile URLS:"
|
||||||
|
msgstr "Comma separated profile URLs:"
|
||||||
|
|
||||||
|
#: blockem.php:64
|
||||||
|
msgid "Save Settings"
|
||||||
|
msgstr "Save settings"
|
||||||
|
|
||||||
|
#: blockem.php:77
|
||||||
|
msgid "BLOCKEM Settings saved."
|
||||||
|
msgstr "Blockem settings saved."
|
||||||
|
|
||||||
|
#: blockem.php:140
|
||||||
|
#, php-format
|
||||||
|
msgid "Hidden content by %s - Click to open/close"
|
||||||
|
msgstr "Hidden content by %s - Reveal/hide"
|
||||||
|
|
||||||
|
#: blockem.php:193
|
||||||
|
msgid "Unblock Author"
|
||||||
|
msgstr "Unblock author"
|
||||||
|
|
||||||
|
#: blockem.php:195
|
||||||
|
msgid "Block Author"
|
||||||
|
msgstr "Block author"
|
||||||
|
|
||||||
|
#: blockem.php:227
|
||||||
|
msgid "blockem settings updated"
|
||||||
|
msgstr "Blockem settings updated"
|
16
blockem/lang/en-us/strings.php
Normal file
16
blockem/lang/en-us/strings.php
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
if(! function_exists("string_plural_select_en_us")) {
|
||||||
|
function string_plural_select_en_us($n){
|
||||||
|
return ($n != 1);;
|
||||||
|
}}
|
||||||
|
;
|
||||||
|
$a->strings["\"Blockem\""] = "\"Blockem\"";
|
||||||
|
$a->strings["Hides user's content by collapsing posts. Also replaces their avatar with generic image."] = "Hides user's content by collapsing posts. Also replaces their avatar with generic image.";
|
||||||
|
$a->strings["Comma separated profile URLS:"] = "Comma separated profile URLs:";
|
||||||
|
$a->strings["Save Settings"] = "Save settings";
|
||||||
|
$a->strings["BLOCKEM Settings saved."] = "Blockem settings saved.";
|
||||||
|
$a->strings["Hidden content by %s - Click to open/close"] = "Hidden content by %s - Reveal/hide";
|
||||||
|
$a->strings["Unblock Author"] = "Unblock author";
|
||||||
|
$a->strings["Block Author"] = "Block author";
|
||||||
|
$a->strings["blockem settings updated"] = "Blockem settings updated";
|
|
@ -4,13 +4,13 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# fabrixxm <fabrix.xm@gmail.com>, 2014
|
# fabrixxm <fabrix.xm@gmail.com>, 2014,2018
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: friendica\n"
|
"Project-Id-Version: friendica\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
"POT-Creation-Date: 2018-02-09 13:00+0100\n"
|
||||||
"PO-Revision-Date: 2014-09-10 10:23+0000\n"
|
"PO-Revision-Date: 2018-03-19 13:14+0000\n"
|
||||||
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
||||||
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -19,35 +19,41 @@ msgstr ""
|
||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: blockem.php:53 blockem.php:57
|
#: blockem.php:51 blockem.php:55
|
||||||
msgid "\"Blockem\""
|
msgid "\"Blockem\""
|
||||||
msgstr "\"Blockem\""
|
msgstr "\"Blockem\""
|
||||||
|
|
||||||
#: blockem.php:61
|
#: blockem.php:59
|
||||||
msgid "Comma separated profile URLS to block"
|
msgid ""
|
||||||
msgstr "Lista, separata da virgola, di indirizzi da bloccare"
|
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||||
|
"generic image."
|
||||||
|
msgstr "Nascondi il contenuto degli utenti collassando i messaggi. Sostituisce anche gli avatar con un'immagine generica."
|
||||||
|
|
||||||
#: blockem.php:65
|
#: blockem.php:60
|
||||||
|
msgid "Comma separated profile URLS:"
|
||||||
|
msgstr "URL profili separati da virgola:"
|
||||||
|
|
||||||
|
#: blockem.php:64
|
||||||
msgid "Save Settings"
|
msgid "Save Settings"
|
||||||
msgstr "Salva Impostazioni"
|
msgstr "Salva Impostazioni"
|
||||||
|
|
||||||
#: blockem.php:78
|
#: blockem.php:77
|
||||||
msgid "BLOCKEM Settings saved."
|
msgid "BLOCKEM Settings saved."
|
||||||
msgstr "Impostazioni BLOCKEM salvate."
|
msgstr "Impostazioni BLOCKEM salvate."
|
||||||
|
|
||||||
#: blockem.php:142
|
#: blockem.php:140
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Blocked %s - Click to open/close"
|
msgid "Hidden content by %s - Click to open/close"
|
||||||
msgstr "%s bloccato - Clicca per aprire/chiudere"
|
msgstr "Contenuto di %s nascosto - Clicca per aprire/chiudere"
|
||||||
|
|
||||||
#: blockem.php:197
|
#: blockem.php:193
|
||||||
msgid "Unblock Author"
|
msgid "Unblock Author"
|
||||||
msgstr "Sblocca autore"
|
msgstr "Sblocca autore"
|
||||||
|
|
||||||
#: blockem.php:199
|
#: blockem.php:195
|
||||||
msgid "Block Author"
|
msgid "Block Author"
|
||||||
msgstr "Blocca autore"
|
msgstr "Blocca autore"
|
||||||
|
|
||||||
#: blockem.php:231
|
#: blockem.php:227
|
||||||
msgid "blockem settings updated"
|
msgid "blockem settings updated"
|
||||||
msgstr "Impostazioni 'blockem' aggiornate."
|
msgstr "Impostazioni 'blockem' aggiornate."
|
||||||
|
|
|
@ -6,10 +6,11 @@ function string_plural_select_it($n){
|
||||||
}}
|
}}
|
||||||
;
|
;
|
||||||
$a->strings["\"Blockem\""] = "\"Blockem\"";
|
$a->strings["\"Blockem\""] = "\"Blockem\"";
|
||||||
$a->strings["Comma separated profile URLS to block"] = "Lista, separata da virgola, di indirizzi da bloccare";
|
$a->strings["Hides user's content by collapsing posts. Also replaces their avatar with generic image."] = "Nascondi il contenuto degli utenti collassando i messaggi. Sostituisce anche gli avatar con un'immagine generica.";
|
||||||
|
$a->strings["Comma separated profile URLS:"] = "URL profili separati da virgola:";
|
||||||
$a->strings["Save Settings"] = "Salva Impostazioni";
|
$a->strings["Save Settings"] = "Salva Impostazioni";
|
||||||
$a->strings["BLOCKEM Settings saved."] = "Impostazioni BLOCKEM salvate.";
|
$a->strings["BLOCKEM Settings saved."] = "Impostazioni BLOCKEM salvate.";
|
||||||
$a->strings["Blocked %s - Click to open/close"] = "%s bloccato - Clicca per aprire/chiudere";
|
$a->strings["Hidden content by %s - Click to open/close"] = "Contenuto di %s nascosto - Clicca per aprire/chiudere";
|
||||||
$a->strings["Unblock Author"] = "Sblocca autore";
|
$a->strings["Unblock Author"] = "Sblocca autore";
|
||||||
$a->strings["Block Author"] = "Blocca autore";
|
$a->strings["Block Author"] = "Blocca autore";
|
||||||
$a->strings["blockem settings updated"] = "Impostazioni 'blockem' aggiornate.";
|
$a->strings["blockem settings updated"] = "Impostazioni 'blockem' aggiornate.";
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Name: Blogger Post Connector
|
* Name: Blogger Post Connector
|
||||||
* Description: Post to Blogger (or anything else which uses blogger XMLRPC API)
|
* Description: Post to Blogger (or anything else which uses blogger XMLRPC API)
|
||||||
|
@ -7,47 +6,57 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function blogger_install() {
|
use Friendica\Content\Text\BBCode;
|
||||||
register_hook('post_local', 'addon/blogger/blogger.php', 'blogger_post_local');
|
use Friendica\Core\Addon;
|
||||||
register_hook('notifier_normal', 'addon/blogger/blogger.php', 'blogger_send');
|
use Friendica\Core\L10n;
|
||||||
register_hook('jot_networks', 'addon/blogger/blogger.php', 'blogger_jot_nets');
|
use Friendica\Core\PConfig;
|
||||||
register_hook('connector_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
use Friendica\Util\Network;
|
||||||
register_hook('connector_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
|
||||||
|
|
||||||
|
function blogger_install()
|
||||||
|
{
|
||||||
|
Addon::registerHook('post_local', 'addon/blogger/blogger.php', 'blogger_post_local');
|
||||||
|
Addon::registerHook('notifier_normal', 'addon/blogger/blogger.php', 'blogger_send');
|
||||||
|
Addon::registerHook('jot_networks', 'addon/blogger/blogger.php', 'blogger_jot_nets');
|
||||||
|
Addon::registerHook('connector_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
||||||
|
Addon::registerHook('connector_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
||||||
}
|
}
|
||||||
function blogger_uninstall() {
|
|
||||||
unregister_hook('post_local', 'addon/blogger/blogger.php', 'blogger_post_local');
|
function blogger_uninstall()
|
||||||
unregister_hook('notifier_normal', 'addon/blogger/blogger.php', 'blogger_send');
|
{
|
||||||
unregister_hook('jot_networks', 'addon/blogger/blogger.php', 'blogger_jot_nets');
|
Addon::unregisterHook('post_local', 'addon/blogger/blogger.php', 'blogger_post_local');
|
||||||
unregister_hook('connector_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
Addon::unregisterHook('notifier_normal', 'addon/blogger/blogger.php', 'blogger_send');
|
||||||
unregister_hook('connector_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
Addon::unregisterHook('jot_networks', 'addon/blogger/blogger.php', 'blogger_jot_nets');
|
||||||
|
Addon::unregisterHook('connector_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
||||||
|
Addon::unregisterHook('connector_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
||||||
|
|
||||||
// obsolete - remove
|
// obsolete - remove
|
||||||
unregister_hook('post_local_end', 'addon/blogger/blogger.php', 'blogger_send');
|
Addon::unregisterHook('post_local_end', 'addon/blogger/blogger.php', 'blogger_send');
|
||||||
unregister_hook('plugin_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
Addon::unregisterHook('addon_settings', 'addon/blogger/blogger.php', 'blogger_settings');
|
||||||
unregister_hook('plugin_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
Addon::unregisterHook('addon_settings_post', 'addon/blogger/blogger.php', 'blogger_settings_post');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function blogger_jot_nets(&$a,&$b) {
|
function blogger_jot_nets(&$a, &$b)
|
||||||
if(! local_user())
|
{
|
||||||
return;
|
if (!local_user()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$bl_post = get_pconfig(local_user(),'blogger','post');
|
$bl_post = PConfig::get(local_user(), 'blogger', 'post');
|
||||||
if(intval($bl_post) == 1) {
|
if (intval($bl_post) == 1) {
|
||||||
$bl_defpost = get_pconfig(local_user(),'blogger','post_by_default');
|
$bl_defpost = PConfig::get(local_user(), 'blogger', 'post_by_default');
|
||||||
$selected = ((intval($bl_defpost) == 1) ? ' checked="checked" ' : '');
|
$selected = ((intval($bl_defpost) == 1) ? ' checked="checked" ' : '');
|
||||||
$b .= '<div class="profile-jot-net"><input type="checkbox" name="blogger_enable" ' . $selected . ' value="1" /> '
|
$b .= '<div class="profile-jot-net"><input type="checkbox" name="blogger_enable" ' . $selected . ' value="1" /> '
|
||||||
. t('Post to blogger') . '</div>';
|
. L10n::t('Post to blogger') . '</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function blogger_settings(&$a,&$s) {
|
function blogger_settings(&$a, &$s)
|
||||||
|
{
|
||||||
if(! local_user())
|
if (! local_user()) {
|
||||||
return;
|
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 */
|
||||||
|
|
||||||
|
@ -55,11 +64,11 @@ function blogger_settings(&$a,&$s) {
|
||||||
|
|
||||||
/* Get the current state of our config variables */
|
/* Get the current state of our config variables */
|
||||||
|
|
||||||
$enabled = get_pconfig(local_user(),'blogger','post');
|
$enabled = PConfig::get(local_user(), 'blogger', 'post');
|
||||||
$checked = (($enabled) ? ' checked="checked" ' : '');
|
$checked = (($enabled) ? ' checked="checked" ' : '');
|
||||||
$css = (($enabled) ? '' : '-disabled');
|
$css = (($enabled) ? '' : '-disabled');
|
||||||
|
|
||||||
$def_enabled = get_pconfig(local_user(),'blogger','post_by_default');
|
$def_enabled = PConfig::get(local_user(), 'blogger', 'post_by_default');
|
||||||
|
|
||||||
$def_checked = (($def_enabled) ? ' checked="checked" ' : '');
|
$def_checked = (($def_enabled) ? ' checked="checked" ' : '');
|
||||||
|
|
||||||
|
@ -67,65 +76,59 @@ function blogger_settings(&$a,&$s) {
|
||||||
$bl_password = get_pconfig(local_user(), 'blogger', 'bl_password');
|
$bl_password = get_pconfig(local_user(), 'blogger', 'bl_password');
|
||||||
$bl_blog = get_pconfig(local_user(), 'blogger', 'bl_blog');
|
$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">'. L10n::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">'. L10n::t('Blogger Export').'</h3>';
|
||||||
|
$s .= '</span>';
|
||||||
|
|
||||||
/* Add some HTML to the existing form */
|
$s .= '<div id="blogger-enable-wrapper">';
|
||||||
|
$s .= '<label id="blogger-enable-label" for="blogger-checkbox">' . L10n::t('Enable Blogger Post Addon') . '</label>';
|
||||||
|
$s .= '<input id="blogger-checkbox" type="checkbox" name="blogger" value="1" ' . $checked . '/>';
|
||||||
|
$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 .= '<div id="blogger-username-wrapper">';
|
||||||
$s .= '<img class="connector'.$css.'" src="images/blogger.png" /><h3 class="connector">'. t('Blogger Export').'</h3>';
|
$s .= '<label id="blogger-username-label" for="blogger-username">' . L10n::t('Blogger username') . '</label>';
|
||||||
$s .= '</span>';
|
$s .= '<input id="blogger-username" type="text" name="bl_username" value="' . $bl_username . '" />';
|
||||||
$s .= '<div id="settings_blogger_expanded" class="settings-block" style="display: none;">';
|
$s .= '</div><div class="clear"></div>';
|
||||||
$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 .= '<div id="blogger-password-wrapper">';
|
||||||
$s .= '<label id="blogger-enable-label" for="blogger-checkbox">' . t('Enable Blogger Post Plugin') . '</label>';
|
$s .= '<label id="blogger-password-label" for="blogger-password">' . L10n::t('Blogger password') . '</label>';
|
||||||
$s .= '<input id="blogger-checkbox" type="checkbox" name="blogger" value="1" ' . $checked . '/>';
|
$s .= '<input id="blogger-password" type="password" name="bl_password" value="' . $bl_password . '" />';
|
||||||
$s .= '</div><div class="clear"></div>';
|
$s .= '</div><div class="clear"></div>';
|
||||||
|
|
||||||
$s .= '<div id="blogger-username-wrapper">';
|
$s .= '<div id="blogger-blog-wrapper">';
|
||||||
$s .= '<label id="blogger-username-label" for="blogger-username">' . t('Blogger username') . '</label>';
|
$s .= '<label id="blogger-blog-label" for="blogger-blog">' . L10n::t('Blogger API URL') . '</label>';
|
||||||
$s .= '<input id="blogger-username" type="text" name="bl_username" value="' . $bl_username . '" />';
|
$s .= '<input id="blogger-blog" type="text" name="bl_blog" value="' . $bl_blog . '" />';
|
||||||
$s .= '</div><div class="clear"></div>';
|
$s .= '</div><div class="clear"></div>';
|
||||||
|
|
||||||
$s .= '<div id="blogger-password-wrapper">';
|
$s .= '<div id="blogger-bydefault-wrapper">';
|
||||||
$s .= '<label id="blogger-password-label" for="blogger-password">' . t('Blogger password') . '</label>';
|
$s .= '<label id="blogger-bydefault-label" for="blogger-bydefault">' . L10n::t('Post to Blogger by default') . '</label>';
|
||||||
$s .= '<input id="blogger-password" type="password" name="bl_password" value="' . $bl_password . '" />';
|
$s .= '<input id="blogger-bydefault" type="checkbox" name="bl_bydefault" value="1" ' . $def_checked . '/>';
|
||||||
$s .= '</div><div class="clear"></div>';
|
$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="' . L10n::t('Save Settings') . '" /></div></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function blogger_settings_post(&$a,&$b) {
|
function blogger_settings_post(&$a, &$b)
|
||||||
|
{
|
||||||
if(x($_POST,'blogger-submit')) {
|
if (x($_POST, 'blogger-submit')) {
|
||||||
|
PConfig::set(local_user(), 'blogger', 'post', intval($_POST['blogger']));
|
||||||
set_pconfig(local_user(),'blogger','post',intval($_POST['blogger']));
|
PConfig::set(local_user(), 'blogger', 'post_by_default', intval($_POST['bl_bydefault']));
|
||||||
set_pconfig(local_user(),'blogger','post_by_default',intval($_POST['bl_bydefault']));
|
PConfig::set(local_user(), 'blogger', 'bl_username', trim($_POST['bl_username']));
|
||||||
set_pconfig(local_user(),'blogger','bl_username',trim($_POST['bl_username']));
|
PConfig::set(local_user(), 'blogger', 'bl_password', trim($_POST['bl_password']));
|
||||||
set_pconfig(local_user(),'blogger','bl_password',trim($_POST['bl_password']));
|
PConfig::set(local_user(), 'blogger', 'bl_blog', trim($_POST['bl_blog']));
|
||||||
set_pconfig(local_user(),'blogger','bl_blog',trim($_POST['bl_blog']));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function blogger_post_local(&$a,&$b) {
|
function blogger_post_local(&$a, &$b)
|
||||||
|
{
|
||||||
// This can probably be changed to allow editing by pointing to a different API endpoint
|
// This can probably be changed to allow editing by pointing to a different API endpoint
|
||||||
|
|
||||||
if($b['edit'])
|
if($b['edit'])
|
||||||
|
@ -137,11 +140,11 @@ function blogger_post_local(&$a,&$b) {
|
||||||
if($b['private'] || $b['parent'])
|
if($b['private'] || $b['parent'])
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$bl_post = intval(get_pconfig(local_user(),'blogger','post'));
|
$bl_post = intval(PConfig::get(local_user(), 'blogger', 'post'));
|
||||||
|
|
||||||
$bl_enable = (($bl_post && x($_REQUEST,'blogger_enable')) ? intval($_REQUEST['blogger_enable']) : 0);
|
$bl_enable = (($bl_post && x($_REQUEST, 'blogger_enable')) ? intval($_REQUEST['blogger_enable']) : 0);
|
||||||
|
|
||||||
if($b['api_source'] && intval(get_pconfig(local_user(),'blogger','post_by_default')))
|
if ($b['api_source'] && intval(PConfig::get(local_user(), 'blogger', 'post_by_default'))) {
|
||||||
$bl_enable = 1;
|
$bl_enable = 1;
|
||||||
|
|
||||||
if(! $bl_enable)
|
if(! $bl_enable)
|
||||||
|
@ -155,28 +158,24 @@ function blogger_post_local(&$a,&$b) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function blogger_send(&$a,&$b) {
|
function blogger_send(&$a, &$b)
|
||||||
|
{
|
||||||
|
if ($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited'])) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited']))
|
if (! strstr($b['postopts'], 'blogger')) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
if(! strstr($b['postopts'],'blogger'))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if($b['parent'] != $b['id'])
|
|
||||||
return;
|
|
||||||
|
|
||||||
|
|
||||||
$bl_username = xmlify(get_pconfig($b['uid'],'blogger','bl_username'));
|
$bl_username = xmlify(PConfig::get($b['uid'], 'blogger', 'bl_username'));
|
||||||
$bl_password = xmlify(get_pconfig($b['uid'],'blogger','bl_password'));
|
$bl_password = xmlify(PConfig::get($b['uid'], 'blogger', 'bl_password'));
|
||||||
$bl_blog = get_pconfig($b['uid'],'blogger','bl_blog');
|
$bl_blog = PConfig::get($b['uid'], 'blogger', 'bl_blog');
|
||||||
|
|
||||||
if($bl_username && $bl_password && $bl_blog) {
|
if ($bl_username && $bl_password && $bl_blog) {
|
||||||
|
$title = '<title>' . (($b['title']) ? $b['title'] : L10n::t('Post from Friendica')) . '</title>';
|
||||||
require_once('include/bbcode.php');
|
$post = $title . BBCode::convert($b['body']);
|
||||||
|
|
||||||
$title = '<title>' . (($b['title']) ? $b['title'] : t('Post from Friendica')) . '</title>';
|
|
||||||
$post = $title . bbcode($b['body']);
|
|
||||||
$post = xmlify($post);
|
$post = xmlify($post);
|
||||||
|
|
||||||
$xml = <<< EOT
|
$xml = <<< EOT
|
||||||
|
@ -197,10 +196,11 @@ EOT;
|
||||||
|
|
||||||
logger('blogger: data: ' . $xml, LOGGER_DATA);
|
logger('blogger: data: ' . $xml, LOGGER_DATA);
|
||||||
|
|
||||||
if($bl_blog !== 'test')
|
if ($bl_blog !== 'test') {
|
||||||
$x = post_url($bl_blog,$xml);
|
$x = Network::post($bl_blog, $xml);
|
||||||
|
}
|
||||||
|
|
||||||
logger('posted to blogger: ' . (($x) ? $x : ''), LOGGER_DEBUG);
|
logger('posted to blogger: ' . (($x) ? $x : ''), LOGGER_DEBUG);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ msgid "Blogger Export"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: blogger.php:82
|
#: blogger.php:82
|
||||||
msgid "Enable Blogger Post Plugin"
|
msgid "Enable Blogger Post Addon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: blogger.php:87
|
#: blogger.php:87
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
$a->strings["Post to blogger"] = "Enviament a blogger";
|
$a->strings["Post to blogger"] = "Enviament a blogger";
|
||||||
$a->strings["Blogger Post Settings"] = "Ajustos d'enviament a blogger";
|
$a->strings["Blogger Post Settings"] = "Ajustos d'enviament a blogger";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "Habilita el Plugin d'Enviaments a Blogger";
|
$a->strings["Enable Blogger Post Addon"] = "Habilita el Addon d'Enviaments a Blogger";
|
||||||
$a->strings["Blogger username"] = "Nom d'usuari a blogger";
|
$a->strings["Blogger username"] = "Nom d'usuari a blogger";
|
||||||
$a->strings["Blogger password"] = "Contrasenya a blogger";
|
$a->strings["Blogger password"] = "Contrasenya a blogger";
|
||||||
$a->strings["Blogger API URL"] = "Blogger API URL";
|
$a->strings["Blogger API URL"] = "Blogger API URL";
|
||||||
|
|
|
@ -28,8 +28,8 @@ msgid "Blogger Export"
|
||||||
msgstr "Blogger Export"
|
msgstr "Blogger Export"
|
||||||
|
|
||||||
#: blogger.php:82
|
#: blogger.php:82
|
||||||
msgid "Enable Blogger Post Plugin"
|
msgid "Enable Blogger Post Addon"
|
||||||
msgstr "Povolit Blogger Post Plugin"
|
msgstr "Povolit Blogger Post Addon"
|
||||||
|
|
||||||
#: blogger.php:87
|
#: blogger.php:87
|
||||||
msgid "Blogger username"
|
msgid "Blogger username"
|
||||||
|
|
|
@ -28,8 +28,8 @@ msgid "Blogger Export"
|
||||||
msgstr "Blogger Export"
|
msgstr "Blogger Export"
|
||||||
|
|
||||||
#: blogger.php:82
|
#: blogger.php:82
|
||||||
msgid "Enable Blogger Post Plugin"
|
msgid "Enable Blogger Post Addon"
|
||||||
msgstr "Blogger-Post-Plugin aktivieren"
|
msgstr "Blogger-Post-Addon aktivieren"
|
||||||
|
|
||||||
#: blogger.php:87
|
#: blogger.php:87
|
||||||
msgid "Blogger username"
|
msgid "Blogger username"
|
||||||
|
|
|
@ -7,7 +7,7 @@ function string_plural_select_de($n){
|
||||||
;
|
;
|
||||||
$a->strings["Post to blogger"] = "Auf Blogger posten";
|
$a->strings["Post to blogger"] = "Auf Blogger posten";
|
||||||
$a->strings["Blogger Export"] = "Blogger Export";
|
$a->strings["Blogger Export"] = "Blogger Export";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "Blogger-Post-Plugin aktivieren";
|
$a->strings["Enable Blogger Post Addon"] = "Blogger-Post-Addon aktivieren";
|
||||||
$a->strings["Blogger username"] = "Blogger-Benutzername";
|
$a->strings["Blogger username"] = "Blogger-Benutzername";
|
||||||
$a->strings["Blogger password"] = "Blogger-Passwort";
|
$a->strings["Blogger password"] = "Blogger-Passwort";
|
||||||
$a->strings["Blogger API URL"] = "Blogger-API-URL";
|
$a->strings["Blogger API URL"] = "Blogger-API-URL";
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
$a->strings["Post to blogger"] = "Afiŝi al blogger";
|
$a->strings["Post to blogger"] = "Afiŝi al blogger";
|
||||||
$a->strings["Blogger Post Settings"] = "Agordo pri Blogger Afiŝoj";
|
$a->strings["Blogger Post Settings"] = "Agordo pri Blogger Afiŝoj";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "Ŝalti la Blogger afiŝo kromprogramon";
|
$a->strings["Enable Blogger Post Addon"] = "Ŝalti la Blogger afiŝo kromprogramon";
|
||||||
$a->strings["Blogger username"] = "Blogger uzantonomo";
|
$a->strings["Blogger username"] = "Blogger uzantonomo";
|
||||||
$a->strings["Blogger password"] = "Blogger pasvorto";
|
$a->strings["Blogger password"] = "Blogger pasvorto";
|
||||||
$a->strings["Blogger API URL"] = "Blogger API URL";
|
$a->strings["Blogger API URL"] = "Blogger API URL";
|
||||||
|
|
|
@ -27,8 +27,8 @@ msgid "Blogger Export"
|
||||||
msgstr "Esportar Blogger"
|
msgstr "Esportar Blogger"
|
||||||
|
|
||||||
#: blogger.php:82
|
#: blogger.php:82
|
||||||
msgid "Enable Blogger Post Plugin"
|
msgid "Enable Blogger Post Addon"
|
||||||
msgstr "Activar plugin de entrada de Blogger"
|
msgstr "Activar addon de entrada de Blogger"
|
||||||
|
|
||||||
#: blogger.php:87
|
#: blogger.php:87
|
||||||
msgid "Blogger username"
|
msgid "Blogger username"
|
||||||
|
|
|
@ -7,7 +7,7 @@ function string_plural_select_es($n){
|
||||||
;
|
;
|
||||||
$a->strings["Post to blogger"] = "Entrada para blogger";
|
$a->strings["Post to blogger"] = "Entrada para blogger";
|
||||||
$a->strings["Blogger Export"] = "Esportar Blogger";
|
$a->strings["Blogger Export"] = "Esportar Blogger";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "Activar plugin de entrada de Blogger";
|
$a->strings["Enable Blogger Post Addon"] = "Activar addon de entrada de Blogger";
|
||||||
$a->strings["Blogger username"] = "Nombre de usuario de Blogger";
|
$a->strings["Blogger username"] = "Nombre de usuario de Blogger";
|
||||||
$a->strings["Blogger password"] = "Contraseña de Blogger";
|
$a->strings["Blogger password"] = "Contraseña de Blogger";
|
||||||
$a->strings["Blogger API URL"] = "URL API de Blogger";
|
$a->strings["Blogger API URL"] = "URL API de Blogger";
|
||||||
|
|
|
@ -28,7 +28,7 @@ msgid "Blogger Export"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: blogger.php:82
|
#: blogger.php:82
|
||||||
msgid "Enable Blogger Post Plugin"
|
msgid "Enable Blogger Post Addon"
|
||||||
msgstr "Activer le connecteur Blogger"
|
msgstr "Activer le connecteur Blogger"
|
||||||
|
|
||||||
#: blogger.php:87
|
#: blogger.php:87
|
||||||
|
|
|
@ -7,7 +7,7 @@ function string_plural_select_fr($n){
|
||||||
;
|
;
|
||||||
$a->strings["Post to blogger"] = "Poster sur Blogger";
|
$a->strings["Post to blogger"] = "Poster sur Blogger";
|
||||||
$a->strings["Blogger Export"] = "";
|
$a->strings["Blogger Export"] = "";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "Activer le connecteur Blogger";
|
$a->strings["Enable Blogger Post Addon"] = "Activer le connecteur Blogger";
|
||||||
$a->strings["Blogger username"] = "Nom d'utilisateur Blogger";
|
$a->strings["Blogger username"] = "Nom d'utilisateur Blogger";
|
||||||
$a->strings["Blogger password"] = "Mot de passe Blogger";
|
$a->strings["Blogger password"] = "Mot de passe Blogger";
|
||||||
$a->strings["Blogger API URL"] = "URL de l'API de Blogger";
|
$a->strings["Blogger API URL"] = "URL de l'API de Blogger";
|
||||||
|
|
|
@ -28,7 +28,7 @@ msgid "Blogger Export"
|
||||||
msgstr "Flytja út blogg"
|
msgstr "Flytja út blogg"
|
||||||
|
|
||||||
#: blogger.php:82
|
#: blogger.php:82
|
||||||
msgid "Enable Blogger Post Plugin"
|
msgid "Enable Blogger Post Addon"
|
||||||
msgstr "Virkja sendiviðbót fyrir blogg"
|
msgstr "Virkja sendiviðbót fyrir blogg"
|
||||||
|
|
||||||
#: blogger.php:87
|
#: blogger.php:87
|
||||||
|
|
|
@ -7,7 +7,7 @@ function string_plural_select_is($n){
|
||||||
;
|
;
|
||||||
$a->strings["Post to blogger"] = "Senda færslu á bloggara";
|
$a->strings["Post to blogger"] = "Senda færslu á bloggara";
|
||||||
$a->strings["Blogger Export"] = "Flytja út blogg";
|
$a->strings["Blogger Export"] = "Flytja út blogg";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "Virkja sendiviðbót fyrir blogg";
|
$a->strings["Enable Blogger Post Addon"] = "Virkja sendiviðbót fyrir blogg";
|
||||||
$a->strings["Blogger username"] = "Notandanafn bloggara";
|
$a->strings["Blogger username"] = "Notandanafn bloggara";
|
||||||
$a->strings["Blogger password"] = "Aðgangsorð bloggara";
|
$a->strings["Blogger password"] = "Aðgangsorð bloggara";
|
||||||
$a->strings["Blogger API URL"] = "API slóð bloggs";
|
$a->strings["Blogger API URL"] = "API slóð bloggs";
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# fabrixxm <fabrix.xm@gmail.com>, 2014
|
# fabrixxm <fabrix.xm@gmail.com>, 2014,2018
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: friendica\n"
|
"Project-Id-Version: friendica\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
||||||
"PO-Revision-Date: 2014-09-10 10:24+0000\n"
|
"PO-Revision-Date: 2018-03-19 13:21+0000\n"
|
||||||
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
||||||
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -28,8 +28,8 @@ msgid "Blogger Export"
|
||||||
msgstr "Esporta Blogger"
|
msgstr "Esporta Blogger"
|
||||||
|
|
||||||
#: blogger.php:82
|
#: blogger.php:82
|
||||||
msgid "Enable Blogger Post Plugin"
|
msgid "Enable Blogger Post Addon"
|
||||||
msgstr "Abilita il plugin di invio a Blogger"
|
msgstr "Abilita il componente aggiuntivo di invio a Blogger"
|
||||||
|
|
||||||
#: blogger.php:87
|
#: blogger.php:87
|
||||||
msgid "Blogger username"
|
msgid "Blogger username"
|
||||||
|
|
|
@ -7,7 +7,7 @@ function string_plural_select_it($n){
|
||||||
;
|
;
|
||||||
$a->strings["Post to blogger"] = "Invia a Blogger";
|
$a->strings["Post to blogger"] = "Invia a Blogger";
|
||||||
$a->strings["Blogger Export"] = "Esporta Blogger";
|
$a->strings["Blogger Export"] = "Esporta Blogger";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "Abilita il plugin di invio a Blogger";
|
$a->strings["Enable Blogger Post Addon"] = "Abilita il componente aggiuntivo di invio a Blogger";
|
||||||
$a->strings["Blogger username"] = "Nome utente Blogger";
|
$a->strings["Blogger username"] = "Nome utente Blogger";
|
||||||
$a->strings["Blogger password"] = "Password Blogger";
|
$a->strings["Blogger password"] = "Password Blogger";
|
||||||
$a->strings["Blogger API URL"] = "Indirizzo API Blogger";
|
$a->strings["Blogger API URL"] = "Indirizzo API Blogger";
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
$a->strings["Post to blogger"] = "";
|
$a->strings["Post to blogger"] = "";
|
||||||
$a->strings["Blogger Post Settings"] = "";
|
$a->strings["Blogger Post Settings"] = "";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "";
|
$a->strings["Enable Blogger Post Addon"] = "";
|
||||||
$a->strings["Blogger username"] = "";
|
$a->strings["Blogger username"] = "";
|
||||||
$a->strings["Blogger password"] = "";
|
$a->strings["Blogger password"] = "";
|
||||||
$a->strings["Blogger API URL"] = "";
|
$a->strings["Blogger API URL"] = "";
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
$a->strings["Post to blogger"] = "Post na blogger";
|
$a->strings["Post to blogger"] = "Post na blogger";
|
||||||
$a->strings["Blogger Post Settings"] = "Ustawienia postów na Blogger";
|
$a->strings["Blogger Post Settings"] = "Ustawienia postów na Blogger";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "";
|
$a->strings["Enable Blogger Post Addon"] = "";
|
||||||
$a->strings["Blogger username"] = "Nazwa użytkownika na Blogger";
|
$a->strings["Blogger username"] = "Nazwa użytkownika na Blogger";
|
||||||
$a->strings["Blogger password"] = "Hasło do Blogger";
|
$a->strings["Blogger password"] = "Hasło do Blogger";
|
||||||
$a->strings["Blogger API URL"] = "";
|
$a->strings["Blogger API URL"] = "";
|
||||||
|
|
|
@ -29,7 +29,7 @@ msgid "Blogger Export"
|
||||||
msgstr "Exportador Blogger"
|
msgstr "Exportador Blogger"
|
||||||
|
|
||||||
#: blogger.php:82
|
#: blogger.php:82
|
||||||
msgid "Enable Blogger Post Plugin"
|
msgid "Enable Blogger Post Addon"
|
||||||
msgstr "Habilitar plug-in para publicar no Blogger"
|
msgstr "Habilitar plug-in para publicar no Blogger"
|
||||||
|
|
||||||
#: blogger.php:87
|
#: blogger.php:87
|
||||||
|
|
|
@ -7,7 +7,7 @@ function string_plural_select_pt_br($n){
|
||||||
;
|
;
|
||||||
$a->strings["Post to blogger"] = "Publicar no Blogger";
|
$a->strings["Post to blogger"] = "Publicar no Blogger";
|
||||||
$a->strings["Blogger Export"] = "Exportador Blogger";
|
$a->strings["Blogger Export"] = "Exportador Blogger";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "Habilitar plug-in para publicar no Blogger";
|
$a->strings["Enable Blogger Post Addon"] = "Habilitar plug-in para publicar no Blogger";
|
||||||
$a->strings["Blogger username"] = "Nome de usuário no Blogger";
|
$a->strings["Blogger username"] = "Nome de usuário no Blogger";
|
||||||
$a->strings["Blogger password"] = "Senha do Blogger";
|
$a->strings["Blogger password"] = "Senha do Blogger";
|
||||||
$a->strings["Blogger API URL"] = "URL da API do Blogger";
|
$a->strings["Blogger API URL"] = "URL da API do Blogger";
|
||||||
|
|
|
@ -27,7 +27,7 @@ msgid "Blogger Export"
|
||||||
msgstr "Export pe Blogger "
|
msgstr "Export pe Blogger "
|
||||||
|
|
||||||
#: blogger.php:82
|
#: blogger.php:82
|
||||||
msgid "Enable Blogger Post Plugin"
|
msgid "Enable Blogger Post Addon"
|
||||||
msgstr "Activare Modul Postare pe Blogger "
|
msgstr "Activare Modul Postare pe Blogger "
|
||||||
|
|
||||||
#: blogger.php:87
|
#: blogger.php:87
|
||||||
|
|
|
@ -7,7 +7,7 @@ function string_plural_select_ro($n){
|
||||||
;
|
;
|
||||||
$a->strings["Post to blogger"] = "Postați pe Blogger";
|
$a->strings["Post to blogger"] = "Postați pe Blogger";
|
||||||
$a->strings["Blogger Export"] = "Export pe Blogger ";
|
$a->strings["Blogger Export"] = "Export pe Blogger ";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "Activare Modul Postare pe Blogger ";
|
$a->strings["Enable Blogger Post Addon"] = "Activare Modul Postare pe Blogger ";
|
||||||
$a->strings["Blogger username"] = "Utilizator Blogger";
|
$a->strings["Blogger username"] = "Utilizator Blogger";
|
||||||
$a->strings["Blogger password"] = "Parolă Blogger ";
|
$a->strings["Blogger password"] = "Parolă Blogger ";
|
||||||
$a->strings["Blogger API URL"] = "URL Cheie API Blogger ";
|
$a->strings["Blogger API URL"] = "URL Cheie API Blogger ";
|
||||||
|
|
|
@ -28,7 +28,7 @@ msgid "Blogger Export"
|
||||||
msgstr "Экспорт в Blogger"
|
msgstr "Экспорт в Blogger"
|
||||||
|
|
||||||
#: blogger.php:82
|
#: blogger.php:82
|
||||||
msgid "Enable Blogger Post Plugin"
|
msgid "Enable Blogger Post Addon"
|
||||||
msgstr "Включить плагин Blogger"
|
msgstr "Включить плагин Blogger"
|
||||||
|
|
||||||
#: blogger.php:87
|
#: blogger.php:87
|
||||||
|
|
|
@ -7,7 +7,7 @@ function string_plural_select_ru($n){
|
||||||
;
|
;
|
||||||
$a->strings["Post to blogger"] = "Написать в Blogger";
|
$a->strings["Post to blogger"] = "Написать в Blogger";
|
||||||
$a->strings["Blogger Export"] = "Экспорт в Blogger";
|
$a->strings["Blogger Export"] = "Экспорт в Blogger";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "Включить плагин Blogger";
|
$a->strings["Enable Blogger Post Addon"] = "Включить плагин Blogger";
|
||||||
$a->strings["Blogger username"] = "Имя пользователя Blogger";
|
$a->strings["Blogger username"] = "Имя пользователя Blogger";
|
||||||
$a->strings["Blogger password"] = "Пароль Blogger";
|
$a->strings["Blogger password"] = "Пароль Blogger";
|
||||||
$a->strings["Blogger API URL"] = "Blogger API URL";
|
$a->strings["Blogger API URL"] = "Blogger API URL";
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
$a->strings["Post to blogger"] = "转播到blogger";
|
$a->strings["Post to blogger"] = "转播到blogger";
|
||||||
$a->strings["Blogger Post Settings"] = "Blogger转播设置";
|
$a->strings["Blogger Post Settings"] = "Blogger转播设置";
|
||||||
$a->strings["Enable Blogger Post Plugin"] = "使Blogger转播插件可用";
|
$a->strings["Enable Blogger Post Addon"] = "使Blogger转播插件可用";
|
||||||
$a->strings["Blogger username"] = "Blogger用户名";
|
$a->strings["Blogger username"] = "Blogger用户名";
|
||||||
$a->strings["Blogger password"] = "Blogger密码";
|
$a->strings["Blogger password"] = "Blogger密码";
|
||||||
$a->strings["Blogger API URL"] = "Blogger API URL";
|
$a->strings["Blogger API URL"] = "Blogger API URL";
|
||||||
|
|
|
@ -5,4 +5,4 @@ Please register an app at [http://bufferapp.com/developers/api](http://bufferapp
|
||||||
Please use (your server address)/buffer/connect as Callback URL.
|
Please use (your server address)/buffer/connect as Callback URL.
|
||||||
|
|
||||||
After the registration please enter the values for "Client ID" and "Client Secret" in the
|
After the registration please enter the values for "Client ID" and "Client Secret" in the
|
||||||
[administration](admin/plugins/buffer).
|
[administration](admin/addons/buffer).
|
||||||
|
|
|
@ -5,22 +5,30 @@
|
||||||
* Version: 0.2
|
* Version: 0.2
|
||||||
* Author: Michael Vogel <http://pirati.ca/profile/heluecht>
|
* Author: Michael Vogel <http://pirati.ca/profile/heluecht>
|
||||||
*/
|
*/
|
||||||
require('addon/buffer/bufferapp.php');
|
require 'addon/buffer/bufferapp.php';
|
||||||
|
|
||||||
|
use Friendica\App;
|
||||||
|
use Friendica\Content\Text\BBCode;
|
||||||
|
use Friendica\Content\Text\Plaintext;
|
||||||
|
use Friendica\Core\Addon;
|
||||||
|
use Friendica\Core\Config;
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\Core\PConfig;
|
||||||
|
|
||||||
function buffer_install() {
|
function buffer_install() {
|
||||||
register_hook('post_local', 'addon/buffer/buffer.php', 'buffer_post_local');
|
Addon::registerHook('post_local', 'addon/buffer/buffer.php', 'buffer_post_local');
|
||||||
register_hook('notifier_normal', 'addon/buffer/buffer.php', 'buffer_send');
|
Addon::registerHook('notifier_normal', 'addon/buffer/buffer.php', 'buffer_send');
|
||||||
register_hook('jot_networks', 'addon/buffer/buffer.php', 'buffer_jot_nets');
|
Addon::registerHook('jot_networks', 'addon/buffer/buffer.php', 'buffer_jot_nets');
|
||||||
register_hook('connector_settings', 'addon/buffer/buffer.php', 'buffer_settings');
|
Addon::registerHook('connector_settings', 'addon/buffer/buffer.php', 'buffer_settings');
|
||||||
register_hook('connector_settings_post', 'addon/buffer/buffer.php', 'buffer_settings_post');
|
Addon::registerHook('connector_settings_post', 'addon/buffer/buffer.php', 'buffer_settings_post');
|
||||||
}
|
}
|
||||||
|
|
||||||
function buffer_uninstall() {
|
function buffer_uninstall() {
|
||||||
unregister_hook('post_local', 'addon/buffer/buffer.php', 'buffer_post_local');
|
Addon::unregisterHook('post_local', 'addon/buffer/buffer.php', 'buffer_post_local');
|
||||||
unregister_hook('notifier_normal', 'addon/buffer/buffer.php', 'buffer_send');
|
Addon::unregisterHook('notifier_normal', 'addon/buffer/buffer.php', 'buffer_send');
|
||||||
unregister_hook('jot_networks', 'addon/buffer/buffer.php', 'buffer_jot_nets');
|
Addon::unregisterHook('jot_networks', 'addon/buffer/buffer.php', 'buffer_jot_nets');
|
||||||
unregister_hook('connector_settings', 'addon/buffer/buffer.php', 'buffer_settings');
|
Addon::unregisterHook('connector_settings', 'addon/buffer/buffer.php', 'buffer_settings');
|
||||||
unregister_hook('connector_settings_post', 'addon/buffer/buffer.php', 'buffer_settings_post');
|
Addon::unregisterHook('connector_settings_post', 'addon/buffer/buffer.php', 'buffer_settings_post');
|
||||||
}
|
}
|
||||||
|
|
||||||
function buffer_module() {}
|
function buffer_module() {}
|
||||||
|
@ -28,7 +36,7 @@ function buffer_module() {}
|
||||||
function buffer_content(&$a) {
|
function buffer_content(&$a) {
|
||||||
|
|
||||||
if(! local_user()) {
|
if(! local_user()) {
|
||||||
notice( t('Permission denied.') . EOL);
|
notice(L10n::t('Permission denied.') . EOL);
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,28 +58,30 @@ function buffer_content(&$a) {
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
||||||
function buffer_plugin_admin(&$a, &$o){
|
function buffer_addon_admin(&$a, &$o)
|
||||||
$t = get_markup_template( "admin.tpl", "addon/buffer/" );
|
{
|
||||||
|
$t = get_markup_template("admin.tpl", "addon/buffer/");
|
||||||
|
|
||||||
$o = replace_macros($t, array(
|
$o = replace_macros($t, [
|
||||||
'$submit' => t('Save Settings'),
|
'$submit' => L10n::t('Save Settings'),
|
||||||
// name, label, value, help, [extra values]
|
// name, label, value, help, [extra values]
|
||||||
'$client_id' => array('client_id', t('Client ID'), get_config('buffer', 'client_id' ), ''),
|
'$client_id' => ['client_id', L10n::t('Client ID'), Config::get('buffer', 'client_id'), ''],
|
||||||
'$client_secret' => array('client_secret', t('Client Secret'), get_config('buffer', 'client_secret' ), ''),
|
'$client_secret' => ['client_secret', L10n::t('Client Secret'), Config::get('buffer', 'client_secret'), ''],
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
function buffer_plugin_admin_post(&$a){
|
function buffer_addon_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'])): '');
|
$client_id = ((x($_POST, 'client_id')) ? notags(trim($_POST['client_id'])) : '');
|
||||||
set_config('buffer','client_id',$client_id);
|
$client_secret = ((x($_POST, 'client_secret')) ? notags(trim($_POST['client_secret'])): '');
|
||||||
set_config('buffer','client_secret',$client_secret);
|
Config::set('buffer', 'client_id', $client_id);
|
||||||
info( t('Settings updated.'). EOL );
|
Config::set('buffer', 'client_secret', $client_secret);
|
||||||
|
info(L10n::t('Settings updated.'). EOL);
|
||||||
}
|
}
|
||||||
|
|
||||||
function buffer_connect(&$a) {
|
function buffer_connect(&$a) {
|
||||||
|
|
||||||
if (isset($_REQUEST["error"])) {
|
if (isset($_REQUEST["error"])) {
|
||||||
$o = t('Error when registering buffer connection:')." ".$_REQUEST["error"];
|
$o = L10n::t('Error when registering buffer connection:')." ".$_REQUEST["error"];
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
// Start a session. This is necessary to hold on to a few keys the callback script will also need
|
// Start a session. This is necessary to hold on to a few keys the callback script will also need
|
||||||
|
@ -90,9 +100,9 @@ function buffer_connect(&$a) {
|
||||||
$o .= '<a href="' . $buffer->get_login_url() . '">Connect to Buffer!</a>';
|
$o .= '<a href="' . $buffer->get_login_url() . '">Connect to Buffer!</a>';
|
||||||
} else {
|
} else {
|
||||||
logger("buffer_connect: authenticated");
|
logger("buffer_connect: authenticated");
|
||||||
$o .= t("You are now authenticated to buffer. ");
|
$o .= L10n::t("You are now authenticated to buffer. ");
|
||||||
$o .= '<br /><a href="'.$a->get_baseurl().'/settings/connectors">'.t("return to the connector page").'</a>';
|
$o .= '<br /><a href="'.$a->get_baseurl().'/settings/connectors">'.L10n::t("return to the connector page").'</a>';
|
||||||
set_pconfig(local_user(), 'buffer','access_token', $buffer->access_token);
|
PConfig::set(local_user(), 'buffer','access_token', $buffer->access_token);
|
||||||
}
|
}
|
||||||
|
|
||||||
return($o);
|
return($o);
|
||||||
|
@ -107,7 +117,7 @@ function buffer_jot_nets(&$a,&$b) {
|
||||||
$buffer_defpost = get_pconfig(local_user(),'buffer','post_by_default');
|
$buffer_defpost = get_pconfig(local_user(),'buffer','post_by_default');
|
||||||
$selected = ((intval($buffer_defpost) == 1) ? ' checked="checked" ' : '');
|
$selected = ((intval($buffer_defpost) == 1) ? ' checked="checked" ' : '');
|
||||||
$b .= '<div class="profile-jot-net"><input type="checkbox" name="buffer_enable"' . $selected . ' value="1" /> '
|
$b .= '<div class="profile-jot-net"><input type="checkbox" name="buffer_enable"' . $selected . ' value="1" /> '
|
||||||
. t('Post to Buffer') . '</div>';
|
. L10n::t('Post to Buffer') . '</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,11 +142,11 @@ function buffer_settings(&$a,&$s) {
|
||||||
/* Add some HTML to the existing form */
|
/* Add some HTML to the existing form */
|
||||||
|
|
||||||
$s .= '<span id="settings_buffer_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_buffer_expanded\'); openClose(\'settings_buffer_inflated\');">';
|
$s .= '<span id="settings_buffer_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_buffer_expanded\'); openClose(\'settings_buffer_inflated\');">';
|
||||||
$s .= '<img class="connector'.$css.'" src="images/buffer.png" /><h3 class="connector">'. t('Buffer Export').'</h3>';
|
$s .= '<img class="connector'.$css.'" src="images/buffer.png" /><h3 class="connector">'. L10n::t('Buffer Export').'</h3>';
|
||||||
$s .= '</span>';
|
$s .= '</span>';
|
||||||
$s .= '<div id="settings_buffer_expanded" class="settings-block" style="display: none;">';
|
$s .= '<div id="settings_buffer_expanded" class="settings-block" style="display: none;">';
|
||||||
$s .= '<span class="fakelink" onclick="openClose(\'settings_buffer_expanded\'); openClose(\'settings_buffer_inflated\');">';
|
$s .= '<span class="fakelink" onclick="openClose(\'settings_buffer_expanded\'); openClose(\'settings_buffer_inflated\');">';
|
||||||
$s .= '<img class="connector'.$css.'" src="images/buffer.png" /><h3 class="connector">'. t('Buffer Export').'</h3>';
|
$s .= '<img class="connector'.$css.'" src="images/buffer.png" /><h3 class="connector">'. L10n::t('Buffer Export').'</h3>';
|
||||||
$s .= '</span>';
|
$s .= '</span>';
|
||||||
|
|
||||||
$client_id = get_config("buffer", "client_id");
|
$client_id = get_config("buffer", "client_id");
|
||||||
|
@ -146,21 +156,21 @@ function buffer_settings(&$a,&$s) {
|
||||||
$s .= '<div id="buffer-password-wrapper">';
|
$s .= '<div id="buffer-password-wrapper">';
|
||||||
if ($access_token == "") {
|
if ($access_token == "") {
|
||||||
$s .= '<div id="buffer-authenticate-wrapper">';
|
$s .= '<div id="buffer-authenticate-wrapper">';
|
||||||
$s .= '<a href="'.$a->get_baseurl().'/buffer/connect">'.t("Authenticate your Buffer connection").'</a>';
|
$s .= '<a href="'.$a->get_baseurl().'/buffer/connect">'.L10n::t("Authenticate your Buffer connection").'</a>';
|
||||||
$s .= '</div><div class="clear"></div>';
|
$s .= '</div><div class="clear"></div>';
|
||||||
} else {
|
} else {
|
||||||
$s .= '<div id="buffer-enable-wrapper">';
|
$s .= '<div id="buffer-enable-wrapper">';
|
||||||
$s .= '<label id="buffer-enable-label" for="buffer-checkbox">' . t('Enable Buffer Post Plugin') . '</label>';
|
$s .= '<label id="buffer-enable-label" for="buffer-checkbox">' . L10n::t('Enable Buffer Post Addon') . '</label>';
|
||||||
$s .= '<input id="buffer-checkbox" type="checkbox" name="buffer" value="1" ' . $checked . '/>';
|
$s .= '<input id="buffer-checkbox" type="checkbox" name="buffer" value="1" ' . $checked . '/>';
|
||||||
$s .= '</div><div class="clear"></div>';
|
$s .= '</div><div class="clear"></div>';
|
||||||
|
|
||||||
$s .= '<div id="buffer-bydefault-wrapper">';
|
$s .= '<div id="buffer-bydefault-wrapper">';
|
||||||
$s .= '<label id="buffer-bydefault-label" for="buffer-bydefault">' . t('Post to Buffer by default') . '</label>';
|
$s .= '<label id="buffer-bydefault-label" for="buffer-bydefault">' . L10n::t('Post to Buffer by default') . '</label>';
|
||||||
$s .= '<input id="buffer-bydefault" type="checkbox" name="buffer_bydefault" value="1" ' . $def_checked . '/>';
|
$s .= '<input id="buffer-bydefault" type="checkbox" name="buffer_bydefault" value="1" ' . $def_checked . '/>';
|
||||||
$s .= '</div><div class="clear"></div>';
|
$s .= '</div><div class="clear"></div>';
|
||||||
|
|
||||||
$s .= '<div id="buffer-delete-wrapper">';
|
$s .= '<div id="buffer-delete-wrapper">';
|
||||||
$s .= '<label id="buffer-delete-label" for="buffer-delete">' . t('Check to delete this preset') . '</label>';
|
$s .= '<label id="buffer-delete-label" for="buffer-delete">' . L10n::t('Check to delete this preset') . '</label>';
|
||||||
$s .= '<input id="buffer-delete" type="checkbox" name="buffer_delete" value="1" />';
|
$s .= '<input id="buffer-delete" type="checkbox" name="buffer_delete" value="1" />';
|
||||||
$s .= '</div><div class="clear"></div>';
|
$s .= '</div><div class="clear"></div>';
|
||||||
|
|
||||||
|
@ -169,7 +179,7 @@ function buffer_settings(&$a,&$s) {
|
||||||
$profiles = $buffer->go('/profiles');
|
$profiles = $buffer->go('/profiles');
|
||||||
if (is_array($profiles)) {
|
if (is_array($profiles)) {
|
||||||
$s .= '<div id="buffer-accounts-wrapper">';
|
$s .= '<div id="buffer-accounts-wrapper">';
|
||||||
$s .= t("Posts are going to all accounts that are enabled by default:");
|
$s .= L10n::t("Posts are going to all accounts that are enabled by default:");
|
||||||
$s .= "<ul>";
|
$s .= "<ul>";
|
||||||
foreach ($profiles as $profile) {
|
foreach ($profiles as $profile) {
|
||||||
if (!$profile->default)
|
if (!$profile->default)
|
||||||
|
@ -189,7 +199,7 @@ function buffer_settings(&$a,&$s) {
|
||||||
|
|
||||||
/* provide a submit button */
|
/* provide a submit button */
|
||||||
|
|
||||||
$s .= '<div class="settings-submit-wrapper" ><input type="submit" id="buffer-submit" name="buffer-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div></div>';
|
$s .= '<div class="settings-submit-wrapper" ><input type="submit" id="buffer-submit" name="buffer-submit" class="settings-submit" value="' . L10n::t('Save Settings') . '" /></div></div>';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -252,12 +262,9 @@ function buffer_send(&$a,&$b) {
|
||||||
$client_secret = get_config("buffer", "client_secret");
|
$client_secret = get_config("buffer", "client_secret");
|
||||||
$access_token = get_pconfig($b['uid'], "buffer","access_token");
|
$access_token = get_pconfig($b['uid'], "buffer","access_token");
|
||||||
|
|
||||||
if($access_token) {
|
if ($access_token) {
|
||||||
$buffer = new BufferApp($client_id, $client_secret, $callback_url, $access_token);
|
$buffer = new BufferApp($client_id, $client_secret, $callback_url, $access_token);
|
||||||
|
|
||||||
require_once("include/plaintext.php");
|
|
||||||
require_once("include/network.php");
|
|
||||||
|
|
||||||
$profiles = $buffer->go('/profiles');
|
$profiles = $buffer->go('/profiles');
|
||||||
if (is_array($profiles)) {
|
if (is_array($profiles)) {
|
||||||
logger("Will send these parameter ".print_r($b, true), LOGGER_DEBUG);
|
logger("Will send these parameter ".print_r($b, true), LOGGER_DEBUG);
|
||||||
|
@ -321,7 +328,7 @@ function buffer_send(&$a,&$b) {
|
||||||
$item["body"] = preg_replace("(\[s\](.*?)\[\/s\])ism",'-$1-',$item["body"]);
|
$item["body"] = preg_replace("(\[s\](.*?)\[\/s\])ism",'-$1-',$item["body"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$post = plaintext($a, $item, $limit, $includedlinks, $htmlmode);
|
$post = BBCode::toPlaintext($item, $limit, $includedlinks, $htmlmode);
|
||||||
logger("buffer_send: converted message ".$b["id"]." result: ".print_r($post, true), LOGGER_DEBUG);
|
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
|
// The image proxy is used as a sanitizer. Buffer seems to be really picky about pictures
|
||||||
|
@ -334,11 +341,11 @@ function buffer_send(&$a,&$b) {
|
||||||
|
|
||||||
//if ($includedlinks) {
|
//if ($includedlinks) {
|
||||||
// if (isset($post["url"]))
|
// if (isset($post["url"]))
|
||||||
// $post["url"] = short_link($post["url"]);
|
// $post["url"] = Network::shortenUrl($post["url"]);
|
||||||
// if (isset($post["image"]))
|
// if (isset($post["image"]))
|
||||||
// $post["image"] = short_link($post["image"]);
|
// $post["image"] = Network::shortenUrl($post["image"]);
|
||||||
// if (isset($post["preview"]))
|
// if (isset($post["preview"]))
|
||||||
// $post["preview"] = short_link($post["preview"]);
|
// $post["preview"] = Network::shortenUrl($post["preview"]);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
// Seems like a bug to me
|
// Seems like a bug to me
|
||||||
|
@ -347,8 +354,8 @@ function buffer_send(&$a,&$b) {
|
||||||
if (($profile->service == "twitter") && isset($post["url"]) && ($post["type"] != "photo"))
|
if (($profile->service == "twitter") && isset($post["url"]) && ($post["type"] != "photo"))
|
||||||
$post["text"] .= " ".$post["url"];
|
$post["text"] .= " ".$post["url"];
|
||||||
elseif (($profile->service == "appdotnet") && isset($post["url"]) && isset($post["title"]) && ($post["type"] != "photo")) {
|
elseif (($profile->service == "appdotnet") && isset($post["url"]) && isset($post["title"]) && ($post["type"] != "photo")) {
|
||||||
$post["title"] = shortenmsg($post["title"], 90);
|
$post["title"] = Plaintext::shorten($post["title"], 90);
|
||||||
$post["text"] = shortenmsg($post["text"], $limit - (24 + strlen($post["title"])));
|
$post["text"] = Plaintext::shorten($post["text"], $limit - (24 + strlen($post["title"])));
|
||||||
$post["text"] .= "\n[".$post["title"]."](".$post["url"].")";
|
$post["text"] .= "\n[".$post["title"]."](".$post["url"].")";
|
||||||
} elseif (($profile->service == "appdotnet") && isset($post["url"]) && ($post["type"] != "photo"))
|
} elseif (($profile->service == "appdotnet") && isset($post["url"]) && ($post["type"] != "photo"))
|
||||||
$post["text"] .= " ".$post["url"];
|
$post["text"] .= " ".$post["url"];
|
||||||
|
|
|
@ -58,7 +58,7 @@ msgid "Authenticate your Buffer connection"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: buffer.php:146
|
#: buffer.php:146
|
||||||
msgid "Enable Buffer Post Plugin"
|
msgid "Enable Buffer Post Addon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: buffer.php:151
|
#: buffer.php:151
|
||||||
|
|
|
@ -60,8 +60,8 @@ msgid "Authenticate your Buffer connection"
|
||||||
msgstr "Přihlásit ke spojení na Buffer"
|
msgstr "Přihlásit ke spojení na Buffer"
|
||||||
|
|
||||||
#: buffer.php:146
|
#: buffer.php:146
|
||||||
msgid "Enable Buffer Post Plugin"
|
msgid "Enable Buffer Post Addon"
|
||||||
msgstr "Povolit Buffer Post Plugin"
|
msgstr "Povolit Buffer Post Addon"
|
||||||
|
|
||||||
#: buffer.php:151
|
#: buffer.php:151
|
||||||
msgid "Post to Buffer by default"
|
msgid "Post to Buffer by default"
|
||||||
|
|
|
@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "návrat ke stránce konektor";
|
||||||
$a->strings["Post to Buffer"] = "Příspěvek na Buffer";
|
$a->strings["Post to Buffer"] = "Příspěvek na Buffer";
|
||||||
$a->strings["Buffer Export"] = "Buffer Export";
|
$a->strings["Buffer Export"] = "Buffer Export";
|
||||||
$a->strings["Authenticate your Buffer connection"] = "Přihlásit ke spojení na Buffer";
|
$a->strings["Authenticate your Buffer connection"] = "Přihlásit ke spojení na Buffer";
|
||||||
$a->strings["Enable Buffer Post Plugin"] = "Povolit Buffer Post Plugin";
|
$a->strings["Enable Buffer Post Addon"] = "Povolit Buffer Post Addon";
|
||||||
$a->strings["Post to Buffer by default"] = "Defaultně zaslat na Buffer";
|
$a->strings["Post to Buffer by default"] = "Defaultně zaslat na Buffer";
|
||||||
$a->strings["Check to delete this preset"] = "Zaškrtnout pro smazání tohoto nastavení";
|
$a->strings["Check to delete this preset"] = "Zaškrtnout pro smazání tohoto nastavení";
|
||||||
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Příspěvky jsou zasílány na všechny účty, které jsou defaultně povoleny:";
|
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Příspěvky jsou zasílány na všechny účty, které jsou defaultně povoleny:";
|
||||||
|
|
|
@ -60,8 +60,8 @@ msgid "Authenticate your Buffer connection"
|
||||||
msgstr "Authentifiziere deine Verbindung zu buffer"
|
msgstr "Authentifiziere deine Verbindung zu buffer"
|
||||||
|
|
||||||
#: buffer.php:146
|
#: buffer.php:146
|
||||||
msgid "Enable Buffer Post Plugin"
|
msgid "Enable Buffer Post Addon"
|
||||||
msgstr "Buffer Post-Plugin aktivieren"
|
msgstr "Buffer Post-Addon aktivieren"
|
||||||
|
|
||||||
#: buffer.php:151
|
#: buffer.php:151
|
||||||
msgid "Post to Buffer by default"
|
msgid "Post to Buffer by default"
|
||||||
|
|
|
@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "zurück zur Connector Seite";
|
||||||
$a->strings["Post to Buffer"] = "Auf buffer veröffentlichen";
|
$a->strings["Post to Buffer"] = "Auf buffer veröffentlichen";
|
||||||
$a->strings["Buffer Export"] = "Buffer Export";
|
$a->strings["Buffer Export"] = "Buffer Export";
|
||||||
$a->strings["Authenticate your Buffer connection"] = "Authentifiziere deine Verbindung zu buffer";
|
$a->strings["Authenticate your Buffer connection"] = "Authentifiziere deine Verbindung zu buffer";
|
||||||
$a->strings["Enable Buffer Post Plugin"] = "Buffer Post-Plugin aktivieren";
|
$a->strings["Enable Buffer Post Addon"] = "Buffer Post-Addon aktivieren";
|
||||||
$a->strings["Post to Buffer by default"] = "Standardmäßig auf buffer veröffentlichen";
|
$a->strings["Post to Buffer by default"] = "Standardmäßig auf buffer veröffentlichen";
|
||||||
$a->strings["Check to delete this preset"] = "Markieren um dieses Preset zu löschen";
|
$a->strings["Check to delete this preset"] = "Markieren um dieses Preset zu löschen";
|
||||||
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Beiträge werden an alle Accounts geschickt, die Standardmäßig aktiviert sind.";
|
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Beiträge werden an alle Accounts geschickt, die Standardmäßig aktiviert sind.";
|
||||||
|
|
|
@ -59,8 +59,8 @@ msgid "Authenticate your Buffer connection"
|
||||||
msgstr "Autenticar su conexión de Buffer"
|
msgstr "Autenticar su conexión de Buffer"
|
||||||
|
|
||||||
#: buffer.php:146
|
#: buffer.php:146
|
||||||
msgid "Enable Buffer Post Plugin"
|
msgid "Enable Buffer Post Addon"
|
||||||
msgstr "Active el plugin de publicación de Buffer"
|
msgstr "Active el addon de publicación de Buffer"
|
||||||
|
|
||||||
#: buffer.php:151
|
#: buffer.php:151
|
||||||
msgid "Post to Buffer by default"
|
msgid "Post to Buffer by default"
|
||||||
|
|
|
@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "Vuelva a la página de conexión"
|
||||||
$a->strings["Post to Buffer"] = "Publique en Buffer";
|
$a->strings["Post to Buffer"] = "Publique en Buffer";
|
||||||
$a->strings["Buffer Export"] = "Exportar Buffer";
|
$a->strings["Buffer Export"] = "Exportar Buffer";
|
||||||
$a->strings["Authenticate your Buffer connection"] = "Autenticar su conexión de Buffer";
|
$a->strings["Authenticate your Buffer connection"] = "Autenticar su conexión de Buffer";
|
||||||
$a->strings["Enable Buffer Post Plugin"] = "Active el plugin de publicación de Buffer";
|
$a->strings["Enable Buffer Post Addon"] = "Active el addon de publicación de Buffer";
|
||||||
$a->strings["Post to Buffer by default"] = "Publicar en Buffer por defecto";
|
$a->strings["Post to Buffer by default"] = "Publicar en Buffer por defecto";
|
||||||
$a->strings["Check to delete this preset"] = "Verificar para eliminar este preajuste";
|
$a->strings["Check to delete this preset"] = "Verificar para eliminar este preajuste";
|
||||||
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Las publicaciones van a todas las cuentas que estén habilitadas por defecto";
|
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Las publicaciones van a todas las cuentas que estén habilitadas por defecto";
|
||||||
|
|
|
@ -62,7 +62,7 @@ msgid "Authenticate your Buffer connection"
|
||||||
msgstr "Authentifier votre connexion à Buffer"
|
msgstr "Authentifier votre connexion à Buffer"
|
||||||
|
|
||||||
#: buffer.php:146
|
#: buffer.php:146
|
||||||
msgid "Enable Buffer Post Plugin"
|
msgid "Enable Buffer Post Addon"
|
||||||
msgstr "Activer le connecteur Buffer"
|
msgstr "Activer le connecteur Buffer"
|
||||||
|
|
||||||
#: buffer.php:151
|
#: buffer.php:151
|
||||||
|
|
|
@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "revenir à la page du connecteur"
|
||||||
$a->strings["Post to Buffer"] = "Publier sur Buffer";
|
$a->strings["Post to Buffer"] = "Publier sur Buffer";
|
||||||
$a->strings["Buffer Export"] = "Export Buffer";
|
$a->strings["Buffer Export"] = "Export Buffer";
|
||||||
$a->strings["Authenticate your Buffer connection"] = "Authentifier votre connexion à Buffer";
|
$a->strings["Authenticate your Buffer connection"] = "Authentifier votre connexion à Buffer";
|
||||||
$a->strings["Enable Buffer Post Plugin"] = "Activer le connecteur Buffer";
|
$a->strings["Enable Buffer Post Addon"] = "Activer le connecteur Buffer";
|
||||||
$a->strings["Post to Buffer by default"] = "Publier sur Buffer par défaut";
|
$a->strings["Post to Buffer by default"] = "Publier sur Buffer par défaut";
|
||||||
$a->strings["Check to delete this preset"] = "Cocher pour supprimer ce préréglage";
|
$a->strings["Check to delete this preset"] = "Cocher pour supprimer ce préréglage";
|
||||||
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Les posts sont envoyés à tous les comptes activés par défault:";
|
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Les posts sont envoyés à tous les comptes activés par défault:";
|
||||||
|
|
|
@ -4,15 +4,15 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# fabrixxm <fabrix.xm@gmail.com>, 2014
|
# fabrixxm <fabrix.xm@gmail.com>, 2014,2018
|
||||||
# Sandro Santilli <strk@kbt.io>, 2015
|
# Sandro Santilli <strk@kbt.io>, 2015
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: friendica\n"
|
"Project-Id-Version: friendica\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
||||||
"PO-Revision-Date: 2015-11-01 11:05+0000\n"
|
"PO-Revision-Date: 2018-03-19 13:21+0000\n"
|
||||||
"Last-Translator: Sandro Santilli <strk@kbt.io>\n"
|
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
||||||
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
@ -61,8 +61,8 @@ msgid "Authenticate your Buffer connection"
|
||||||
msgstr "Autentica la tua connessione a Buffer"
|
msgstr "Autentica la tua connessione a Buffer"
|
||||||
|
|
||||||
#: buffer.php:146
|
#: buffer.php:146
|
||||||
msgid "Enable Buffer Post Plugin"
|
msgid "Enable Buffer Post Addon"
|
||||||
msgstr "Abilita il plugin di invio a Buffer"
|
msgstr "Abilita il componente aggiuntivo di invio a Buffer"
|
||||||
|
|
||||||
#: buffer.php:151
|
#: buffer.php:151
|
||||||
msgid "Post to Buffer by default"
|
msgid "Post to Buffer by default"
|
||||||
|
|
|
@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "ritorna alla pagina del connettor
|
||||||
$a->strings["Post to Buffer"] = "Invia a Buffer";
|
$a->strings["Post to Buffer"] = "Invia a Buffer";
|
||||||
$a->strings["Buffer Export"] = "Esporta Buffer";
|
$a->strings["Buffer Export"] = "Esporta Buffer";
|
||||||
$a->strings["Authenticate your Buffer connection"] = "Autentica la tua connessione a Buffer";
|
$a->strings["Authenticate your Buffer connection"] = "Autentica la tua connessione a Buffer";
|
||||||
$a->strings["Enable Buffer Post Plugin"] = "Abilita il plugin di invio a Buffer";
|
$a->strings["Enable Buffer Post Addon"] = "Abilita il componente aggiuntivo di invio a Buffer";
|
||||||
$a->strings["Post to Buffer by default"] = "Invia sempre a Buffer";
|
$a->strings["Post to Buffer by default"] = "Invia sempre a Buffer";
|
||||||
$a->strings["Check to delete this preset"] = "Seleziona per eliminare questo preset";
|
$a->strings["Check to delete this preset"] = "Seleziona per eliminare questo preset";
|
||||||
$a->strings["Posts are going to all accounts that are enabled by default:"] = "I messaggi andranno a tutti gli account che sono abilitati:";
|
$a->strings["Posts are going to all accounts that are enabled by default:"] = "I messaggi andranno a tutti gli account che sono abilitati:";
|
||||||
|
|
|
@ -61,8 +61,8 @@ msgid "Authenticate your Buffer connection"
|
||||||
msgstr "Autenticar sua conexão de Buffer"
|
msgstr "Autenticar sua conexão de Buffer"
|
||||||
|
|
||||||
#: buffer.php:146
|
#: buffer.php:146
|
||||||
msgid "Enable Buffer Post Plugin"
|
msgid "Enable Buffer Post Addon"
|
||||||
msgstr "Habilita plugin para publicar no Buffer"
|
msgstr "Habilita addon para publicar no Buffer"
|
||||||
|
|
||||||
#: buffer.php:151
|
#: buffer.php:151
|
||||||
msgid "Post to Buffer by default"
|
msgid "Post to Buffer by default"
|
||||||
|
|
|
@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "Volte a página de conectores.";
|
||||||
$a->strings["Post to Buffer"] = "Publicar no Buffer";
|
$a->strings["Post to Buffer"] = "Publicar no Buffer";
|
||||||
$a->strings["Buffer Export"] = "Exportar Buffer";
|
$a->strings["Buffer Export"] = "Exportar Buffer";
|
||||||
$a->strings["Authenticate your Buffer connection"] = "Autenticar sua conexão de Buffer";
|
$a->strings["Authenticate your Buffer connection"] = "Autenticar sua conexão de Buffer";
|
||||||
$a->strings["Enable Buffer Post Plugin"] = "Habilita plugin para publicar no Buffer";
|
$a->strings["Enable Buffer Post Addon"] = "Habilita addon para publicar no Buffer";
|
||||||
$a->strings["Post to Buffer by default"] = "Publica no Buffer por padrão";
|
$a->strings["Post to Buffer by default"] = "Publica no Buffer por padrão";
|
||||||
$a->strings["Check to delete this preset"] = "Marque para excluir este perfil";
|
$a->strings["Check to delete this preset"] = "Marque para excluir este perfil";
|
||||||
$a->strings["Posts are going to all accounts that are enabled by default:"] = "";
|
$a->strings["Posts are going to all accounts that are enabled by default:"] = "";
|
||||||
|
|
|
@ -59,7 +59,7 @@ msgid "Authenticate your Buffer connection"
|
||||||
msgstr "Autentificați-vă conectarea la Buffer"
|
msgstr "Autentificați-vă conectarea la Buffer"
|
||||||
|
|
||||||
#: buffer.php:146
|
#: buffer.php:146
|
||||||
msgid "Enable Buffer Post Plugin"
|
msgid "Enable Buffer Post Addon"
|
||||||
msgstr "Activare Modul Postare pe Buffer"
|
msgstr "Activare Modul Postare pe Buffer"
|
||||||
|
|
||||||
#: buffer.php:151
|
#: buffer.php:151
|
||||||
|
|
|
@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "revenire la pagina de conectare";
|
||||||
$a->strings["Post to Buffer"] = "Postați pe Buffer";
|
$a->strings["Post to Buffer"] = "Postați pe Buffer";
|
||||||
$a->strings["Buffer Export"] = "Export pe Buffer ";
|
$a->strings["Buffer Export"] = "Export pe Buffer ";
|
||||||
$a->strings["Authenticate your Buffer connection"] = "Autentificați-vă conectarea la Buffer";
|
$a->strings["Authenticate your Buffer connection"] = "Autentificați-vă conectarea la Buffer";
|
||||||
$a->strings["Enable Buffer Post Plugin"] = "Activare Modul Postare pe Buffer";
|
$a->strings["Enable Buffer Post Addon"] = "Activare Modul Postare pe Buffer";
|
||||||
$a->strings["Post to Buffer by default"] = "Postați implicit pe Buffer";
|
$a->strings["Post to Buffer by default"] = "Postați implicit pe Buffer";
|
||||||
$a->strings["Check to delete this preset"] = "Bifați pentru a șterge această presetare";
|
$a->strings["Check to delete this preset"] = "Bifați pentru a șterge această presetare";
|
||||||
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Posturile merg către toate conturile care sunt activate implicit:";
|
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Posturile merg către toate conturile care sunt activate implicit:";
|
||||||
|
|
|
@ -60,7 +60,7 @@ msgid "Authenticate your Buffer connection"
|
||||||
msgstr "Аутентифицируйте свое соединение с Buffer"
|
msgstr "Аутентифицируйте свое соединение с Buffer"
|
||||||
|
|
||||||
#: buffer.php:146
|
#: buffer.php:146
|
||||||
msgid "Enable Buffer Post Plugin"
|
msgid "Enable Buffer Post Addon"
|
||||||
msgstr "Включить плагин Buffer"
|
msgstr "Включить плагин Buffer"
|
||||||
|
|
||||||
#: buffer.php:151
|
#: buffer.php:151
|
||||||
|
|
|
@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "вернуться на стра
|
||||||
$a->strings["Post to Buffer"] = "Написать в Buffer";
|
$a->strings["Post to Buffer"] = "Написать в Buffer";
|
||||||
$a->strings["Buffer Export"] = "Экспорт в Buffer";
|
$a->strings["Buffer Export"] = "Экспорт в Buffer";
|
||||||
$a->strings["Authenticate your Buffer connection"] = "Аутентифицируйте свое соединение с Buffer";
|
$a->strings["Authenticate your Buffer connection"] = "Аутентифицируйте свое соединение с Buffer";
|
||||||
$a->strings["Enable Buffer Post Plugin"] = "Включить плагин Buffer";
|
$a->strings["Enable Buffer Post Addon"] = "Включить плагин Buffer";
|
||||||
$a->strings["Post to Buffer by default"] = "Отправлять в Buffer по умолчанию";
|
$a->strings["Post to Buffer by default"] = "Отправлять в Buffer по умолчанию";
|
||||||
$a->strings["Check to delete this preset"] = "Отметьте для удаления этих настроек";
|
$a->strings["Check to delete this preset"] = "Отметьте для удаления этих настроек";
|
||||||
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Сообщения уходят во все учетные записи по умолчанию:";
|
$a->strings["Posts are going to all accounts that are enabled by default:"] = "Сообщения уходят во все учетные записи по умолчанию:";
|
||||||
|
|
|
@ -5,11 +5,20 @@
|
||||||
* Version: 1.0
|
* Version: 1.0
|
||||||
* Author: Mike Macgirvin <mike@macgirvin.com>
|
* Author: Mike Macgirvin <mike@macgirvin.com>
|
||||||
*/
|
*/
|
||||||
|
use Friendica\Core\Addon;
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
|
||||||
|
function buglink_install()
|
||||||
|
{
|
||||||
|
Addon::registerHook('page_end', 'addon/buglink/buglink.php', 'buglink_active');
|
||||||
|
}
|
||||||
|
|
||||||
function buglink_install() { register_hook('page_end', 'addon/buglink/buglink.php', 'buglink_active'); }
|
function buglink_uninstall()
|
||||||
|
{
|
||||||
|
Addon::unregisterHook('page_end', 'addon/buglink/buglink.php', 'buglink_active');
|
||||||
|
}
|
||||||
|
|
||||||
|
function buglink_active(&$a, &$b)
|
||||||
function buglink_uninstall() { unregister_hook('page_end', 'addon/buglink/buglink.php', 'buglink_active'); }
|
{
|
||||||
|
$b .= '<div id="buglink_wrapper" style="position: fixed; bottom: 5px; left: 5px;"><a href="https://github.com/friendica/friendica/issues" target="_blank" title="' . L10n::t('Report Bug') . '"><img src="addon/buglink/bug-x.gif" alt="' . L10n::t('Report Bug') . '" /></a></div>';
|
||||||
function buglink_active(&$a,&$b) { $b .= '<div id="buglink_wrapper" style="position: fixed; bottom: 5px; left: 5px;"><a href="https://github.com/friendica/friendica/issues" target="_blank" title="' . t('Report Bug') . '"><img src="addon/buglink/bug-x.gif" alt="' . t('Report Bug') . '" /></a></div>'; }
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ msgstr ""
|
||||||
"Project-Id-Version: friendica\n"
|
"Project-Id-Version: friendica\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
||||||
"PO-Revision-Date: 2014-09-10 10:27+0000\n"
|
"PO-Revision-Date: 2017-09-20 06:07+0000\n"
|
||||||
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
||||||
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
|
|
@ -5,14 +5,14 @@
|
||||||
* Version: 1.0
|
* Version: 1.0
|
||||||
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
|
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
|
||||||
*/
|
*/
|
||||||
|
use Friendica\Core\Addon;
|
||||||
|
|
||||||
function calc_install() {
|
function calc_install() {
|
||||||
register_hook('app_menu', 'addon/calc/calc.php', 'calc_app_menu');
|
Addon::registerHook('app_menu', 'addon/calc/calc.php', 'calc_app_menu');
|
||||||
}
|
}
|
||||||
|
|
||||||
function calc_uninstall() {
|
function calc_uninstall() {
|
||||||
unregister_hook('app_menu', 'addon/calc/calc.php', 'calc_app_menu');
|
Addon::unregisterHook('app_menu', 'addon/calc/calc.php', 'calc_app_menu');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,34 +1,17 @@
|
||||||
Community Home
|
Community Home
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
This plugin overwrites the default home page shown to not logged users.
|
This addon overwrites the default home page shown to anonymous users.
|
||||||
On sidebar there are the login form, last ten users (if they have
|
On the sidebar there are the login form, last ten users (if they chose
|
||||||
choosed to be in site directory), last ten public photos and last ten
|
to be in the site directory), last ten public photos and last ten
|
||||||
"likes" sent by a site user or about a site user's item
|
"likes" sent by a site user or about a site user's item.
|
||||||
|
|
||||||
In main content is shown the community stream. This plugin doesn't
|
In the main content is shown the community stream. This addon doesn't
|
||||||
honour your community page visibility site setting: the community
|
honor your community page visibility site setting: the community
|
||||||
stream is shown also if you have choose to not show the community page.
|
stream is shown also if you have choose to not show the community page.
|
||||||
|
|
||||||
If 'home.html' is found in your friendica root, its content is inserted
|
If 'home.html' is found in your friendica root, its content is inserted
|
||||||
before community stream
|
before community stream
|
||||||
|
|
||||||
Each elements can be show or not. At the moment, there is no admin page
|
By default no features are enabled, you can edit this addon's settings
|
||||||
for settings, so this settings must be added to yout .htconfig.php
|
through the admin panel.
|
||||||
|
|
||||||
|
|
||||||
$a->config['communityhome']['showcommunitystream'] = true;
|
|
||||||
$a->config['communityhome']['showlastlike'] = true;
|
|
||||||
$a->config['communityhome']['showlastphotos'] = true;
|
|
||||||
$a->config['communityhome']['showactiveusers'] = true;
|
|
||||||
$a->config['communityhome']['showlastusers'] = true;
|
|
||||||
|
|
||||||
If you don't want to show something, set it to false.
|
|
||||||
|
|
||||||
Note:
|
|
||||||
-----
|
|
||||||
|
|
||||||
- Default is "false". With no settings in .htconfig.php, nothing is
|
|
||||||
shown, except login form and content of 'home.html'
|
|
||||||
|
|
||||||
- Active users query can be heavy for db, and on some system don't work
|
|
|
@ -41,3 +41,8 @@ aside #likes { margin: 0px; padding: 0px; list-style: none; }
|
||||||
|
|
||||||
aside #div_id_remember { overflow: auto; width: 100%; padding-top:120px;}
|
aside #div_id_remember { overflow: auto; width: 100%; padding-top:120px;}
|
||||||
#login_openid input { width: 160px; }
|
#login_openid input { width: 160px; }
|
||||||
|
|
||||||
|
/* frio fix */
|
||||||
|
body.mod-home .navbar.navbar-fixed-top ul.nav.navbar-nav #nav-login {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
|
@ -1,67 +1,114 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Name: Community home
|
* Name: Community home
|
||||||
* Description: Show last community activity in homepage
|
* Description: Show last community activity in homepage
|
||||||
* Version: 2.0
|
* Version: 2.0
|
||||||
* Author: Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
|
* Author: Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
|
||||||
|
* Status: Unsupported
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use Friendica\App;
|
||||||
|
use Friendica\Core\Addon;
|
||||||
|
use Friendica\Core\Config;
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\Module\Login;
|
||||||
|
|
||||||
require_once('mod/community.php');
|
require_once 'mod/community.php';
|
||||||
|
|
||||||
|
function communityhome_install()
|
||||||
function communityhome_install() {
|
{
|
||||||
register_hook('home_content', 'addon/communityhome/communityhome.php', 'communityhome_home');
|
Addon::registerHook('home_content', 'addon/communityhome/communityhome.php', 'communityhome_home');
|
||||||
logger("installed communityhome");
|
logger("installed communityhome");
|
||||||
}
|
}
|
||||||
|
|
||||||
function communityhome_uninstall() {
|
function communityhome_uninstall()
|
||||||
unregister_hook('home_content', 'addon/communityhome/communityhome.php', 'communityhome_home');
|
{
|
||||||
|
Addon::unregisterHook('home_content', 'addon/communityhome/communityhome.php', 'communityhome_home');
|
||||||
logger("removed communityhome");
|
logger("removed communityhome");
|
||||||
}
|
}
|
||||||
|
|
||||||
function communityhome_home(&$a, &$o){
|
function communityhome_getopts()
|
||||||
// custom css
|
{
|
||||||
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="'.$a->get_baseurl().'/addon/communityhome/communityhome.css" media="all" />';
|
return [
|
||||||
|
'hidelogin' => L10n::t('Hide login form'),
|
||||||
|
'showlastusers' => L10n::t('Show last new users'),
|
||||||
|
'showlastphotos' => L10n::t('Show last photos'),
|
||||||
|
'showlastlike' => L10n::t('Show last liked items'),
|
||||||
|
'showcommunitystream' => L10n::t('Show community stream')
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
if (!get_config('communityhome','hidelogin')){
|
function communityhome_addon_admin(App $a, &$o)
|
||||||
$aside = array(
|
{
|
||||||
'$tab_1' => t('Login'),
|
$tpl = get_markup_template('settings.tpl', 'addon/communityhome/');
|
||||||
'$tab_2' => t('OpenID'),
|
|
||||||
'$noOid' => get_config('system','no_openid'),
|
$opts = communityhome_getopts();
|
||||||
);
|
$ctx = [
|
||||||
|
'$submit' => L10n::t("Submit"),
|
||||||
|
'$fields' => [],
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($opts as $k => $v) {
|
||||||
|
$ctx['fields'][] = ['communityhome_' . $k, $v, Config::get('communityhome', $k)];
|
||||||
|
}
|
||||||
|
$o = replace_macros($tpl, $ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
function communityhome_addon_admin_post(App $a)
|
||||||
|
{
|
||||||
|
if (x($_POST, 'communityhome-submit')) {
|
||||||
|
$opts = communityhome_getopts();
|
||||||
|
foreach ($opts as $k => $v) {
|
||||||
|
Config::set('communityhome', $k, x($_POST, 'communityhome_' . $k));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function communityhome_home(App $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 = [
|
||||||
|
'$tab_1' => L10n::t('Login'),
|
||||||
|
'$tab_2' => L10n::t('OpenID'),
|
||||||
|
'$noOid' => Config::get('system', 'no_openid'),
|
||||||
|
];
|
||||||
|
|
||||||
// login form
|
// login form
|
||||||
$aside['$login_title'] = t('Login');
|
$aside['$login_title'] = L10n::t('Login');
|
||||||
$aside['$login_form'] = login(($a->config['register_policy'] == REGISTER_CLOSED) ? false : true);
|
$aside['$login_form'] = Login::form($a->query_string, $a->config['register_policy'] == REGISTER_CLOSED ? false : true);
|
||||||
} else
|
} else {
|
||||||
$aside = array(
|
$aside = [
|
||||||
//'$tab_1' => t('Login'),
|
//'$tab_1' => L10n::t('Login'),
|
||||||
//'$tab_2' => t('OpenID'),
|
//'$tab_2' => L10n::t('OpenID'),
|
||||||
//'$noOid' => get_config('system','no_openid'),
|
//'$noOid' => Config::get('system','no_openid'),
|
||||||
);
|
];
|
||||||
|
}
|
||||||
|
|
||||||
// last 12 users
|
// last 12 users
|
||||||
if (get_config('communityhome','showlastusers')===true){
|
if (Config::get('communityhome', 'showlastusers')) {
|
||||||
$aside['$lastusers_title'] = t('Latest users');
|
$aside['$lastusers_title'] = L10n::t('Latest users');
|
||||||
$aside['$lastusers_items'] = array();
|
$aside['$lastusers_items'] = [];
|
||||||
$sql_extra = "";
|
$sql_extra = "";
|
||||||
$publish = (get_config('system','publish_all') ? '' : " AND `publish` = 1 " );
|
$publish = (Config::get('system', 'publish_all') ? '' : " AND `publish` = 1 " );
|
||||||
$order = " ORDER BY `register_date` DESC ";
|
$order = " ORDER BY `register_date` DESC ";
|
||||||
|
|
||||||
$r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname`
|
$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 ",
|
WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $sql_extra $order LIMIT %d, %d ",
|
||||||
0,
|
0,
|
||||||
12
|
12
|
||||||
);
|
);
|
||||||
# $tpl = file_get_contents( dirname(__file__).'/directory_item.tpl');
|
# $tpl = file_get_contents( dirname(__file__).'/directory_item.tpl');
|
||||||
$tpl = get_markup_template( 'directory_item.tpl', 'addon/communityhome/' );
|
$tpl = get_markup_template('directory_item.tpl', 'addon/communityhome/');
|
||||||
if(count($r)) {
|
if (count($r)) {
|
||||||
$photo = 'thumb';
|
$photo = 'thumb';
|
||||||
foreach($r as $rr) {
|
foreach ($r as $rr) {
|
||||||
$profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']);
|
$profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']);
|
||||||
$entry = replace_macros($tpl,array(
|
$entry = replace_macros($tpl, [
|
||||||
'$id' => $rr['id'],
|
'$id' => $rr['id'],
|
||||||
'$profile_link' => $profile_link,
|
'$profile_link' => $profile_link,
|
||||||
'$photo' => $a->get_cached_avatar_image($rr[$photo]),
|
'$photo' => $a->get_cached_avatar_image($rr[$photo]),
|
||||||
|
@ -71,45 +118,13 @@ function communityhome_home(&$a, &$o){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 12 most active users (by posts and contacts)
|
|
||||||
// this query don't work on some mysql versions
|
|
||||||
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`,`con`.`uid` FROM `con` LEFT OUTER JOIN `ite` ON `con`.`uid`=`ite`.`uid`
|
|
||||||
) AS `uni`, `user`, `profile`
|
|
||||||
WHERE `uni`.`uid`=`user`.`uid`
|
|
||||||
AND `uni`.`uid`=`profile`.`uid` AND `profile`.`publish`=1
|
|
||||||
GROUP BY `uid`
|
|
||||||
ORDER BY `items` DESC,`contacts` DESC
|
|
||||||
LIMIT 0,10");
|
|
||||||
if($r && count($r)) {
|
|
||||||
$aside['$activeusers_title'] = t('Most active users');
|
|
||||||
$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,array(
|
|
||||||
'$id' => $rr['id'],
|
|
||||||
'$profile_link' => $profile_link,
|
|
||||||
'$photo' => $rr[$photo],
|
|
||||||
'$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
|
// last 12 photos
|
||||||
if (get_config('communityhome','showlastphotos')===true){
|
if (Config::get('communityhome', 'showlastphotos')) {
|
||||||
$aside['$photos_title'] = t('Latest photos');
|
$aside['$photos_title'] = L10n::t('Latest photos');
|
||||||
$aside['$photos_items'] = array();
|
$aside['$photos_items'] = [];
|
||||||
$r = q("SELECT `photo`.`id`, `photo`.`resource-id`, `photo`.`scale`, `photo`.`desc`, `user`.`nickname`, `user`.`username` FROM
|
$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`
|
(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')
|
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`
|
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`,
|
INNER JOIN `photo` ON `photo`.`resource-id`=`t1`.`resource-id` AND `photo`.`scale` = `t1`.`maxscale`,
|
||||||
|
@ -119,19 +134,19 @@ function communityhome_home(&$a, &$o){
|
||||||
AND `user`.`hidewall` = 0
|
AND `user`.`hidewall` = 0
|
||||||
ORDER BY `photo`.`edited` DESC
|
ORDER BY `photo`.`edited` DESC
|
||||||
LIMIT 0, 12",
|
LIMIT 0, 12",
|
||||||
dbesc(t('Contact Photos')),
|
dbesc(L10n::t('Contact Photos')),
|
||||||
dbesc(t('Profile Photos'))
|
dbesc(L10n::t('Profile Photos'))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
if(count($r)) {
|
if (count($r)) {
|
||||||
# $tpl = file_get_contents( dirname(__file__).'/directory_item.tpl');
|
# $tpl = file_get_contents( dirname(__file__).'/directory_item.tpl');
|
||||||
$tpl = get_markup_template( 'directory_item.tpl', 'addon/communityhome/' );
|
$tpl = get_markup_template('directory_item.tpl', 'addon/communityhome/');
|
||||||
foreach($r as $rr) {
|
foreach ($r as $rr) {
|
||||||
$photo_page = $a->get_baseurl() . '/photos/' . $rr['nickname'] . '/image/' . $rr['resource-id'];
|
$photo_page = $a->get_baseurl() . '/photos/' . $rr['nickname'] . '/image/' . $rr['resource-id'];
|
||||||
$photo_url = $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['scale'] .'.jpg';
|
$photo_url = $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['scale'] . '.jpg';
|
||||||
|
|
||||||
$entry = replace_macros($tpl,array(
|
$entry = replace_macros($tpl, [
|
||||||
'$id' => $rr['id'],
|
'$id' => $rr['id'],
|
||||||
'$profile_link' => $photo_page,
|
'$profile_link' => $photo_page,
|
||||||
'$photo' => $photo_url,
|
'$photo' => $photo_url,
|
||||||
|
@ -144,48 +159,49 @@ function communityhome_home(&$a, &$o){
|
||||||
}
|
}
|
||||||
|
|
||||||
// last 10 liked items
|
// last 10 liked items
|
||||||
if (get_config('communityhome','showlastlike')===true){
|
if (Config::get('communityhome', 'showlastlike')) {
|
||||||
$aside['$like_title'] = t('Latest likes');
|
$aside['$like_title'] = L10n::t('Latest likes');
|
||||||
$aside['$like_items'] = array();
|
$aside['$like_items'] = [];
|
||||||
$r = q("SELECT `T1`.`created`, `T1`.`liker`, `T1`.`liker-link`, `item`.* FROM
|
$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`
|
(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
|
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%%'
|
WHERE `T1`.`liker-link` LIKE '%s%%' OR `item`.`author-link` LIKE '%s%%'
|
||||||
GROUP BY `uri`
|
GROUP BY `uri`
|
||||||
ORDER BY `T1`.`created` DESC
|
ORDER BY `T1`.`created` DESC
|
||||||
LIMIT 0,10",
|
LIMIT 0,10",
|
||||||
$a->get_baseurl(),$a->get_baseurl()
|
$a->get_baseurl(),
|
||||||
);
|
$a->get_baseurl()
|
||||||
|
);
|
||||||
|
|
||||||
foreach ($r as $rr) {
|
foreach ($r as $rr) {
|
||||||
$author = '<a href="' . $rr['liker-link'] . '">' . $rr['liker'] . '</a>';
|
$author = '<a href="' . $rr['liker-link'] . '">' . $rr['liker'] . '</a>';
|
||||||
$objauthor = '<a href="' . $rr['author-link'] . '">' . $rr['author-name'] . '</a>';
|
$objauthor = '<a href="' . $rr['author-link'] . '">' . $rr['author-name'] . '</a>';
|
||||||
|
|
||||||
//var_dump($rr['verb'],$rr['object-type']); killme();
|
//var_dump($rr['verb'],$rr['object-type']); killme();
|
||||||
switch($rr['verb']){
|
switch ($rr['verb']) {
|
||||||
case 'http://activitystrea.ms/schema/1.0/post':
|
case 'http://activitystrea.ms/schema/1.0/post':
|
||||||
switch ($rr['object-type']){
|
switch ($rr['object-type']) {
|
||||||
case 'http://activitystrea.ms/schema/1.0/event':
|
case 'http://activitystrea.ms/schema/1.0/event':
|
||||||
$post_type = t('event');
|
$post_type = L10n::t('event');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$post_type = t('status');
|
$post_type = L10n::t('status');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if ($rr['resource-id']){
|
if ($rr['resource-id']) {
|
||||||
$post_type = t('photo');
|
$post_type = L10n::t('photo');
|
||||||
$m=array(); preg_match("/\[url=([^]]*)\]/", $rr['body'], $m);
|
$m = [];
|
||||||
|
preg_match("/\[url=([^]]*)\]/", $rr['body'], $m);
|
||||||
$rr['plink'] = $m[1];
|
$rr['plink'] = $m[1];
|
||||||
} else {
|
} else {
|
||||||
$post_type = t('status');
|
$post_type = L10n::t('status');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$plink = '<a href="' . $rr['plink'] . '">' . $post_type . '</a>';
|
$plink = '<a href="' . $rr['plink'] . '">' . $post_type . '</a>';
|
||||||
|
|
||||||
$aside['$like_items'][] = sprintf( t('%1$s likes %2$s\'s %3$s'), $author, $objauthor, $plink);
|
$aside['$like_items'][] = L10n::t('%1$s likes %2$s\'s %3$s', $author, $objauthor, $plink);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -193,19 +209,16 @@ function communityhome_home(&$a, &$o){
|
||||||
$tpl = get_markup_template('communityhome.tpl', 'addon/communityhome/');
|
$tpl = get_markup_template('communityhome.tpl', 'addon/communityhome/');
|
||||||
$a->page['aside'] = replace_macros($tpl, $aside);
|
$a->page['aside'] = replace_macros($tpl, $aside);
|
||||||
|
|
||||||
$o = '<h1>' . ((x($a->config,'sitename')) ? sprintf( t("Welcome to %s") ,$a->config['sitename']) : "" ) . '</h1>';
|
$o = '<h1>' . ((x($a->config, 'sitename')) ? L10n::t("Welcome to %s", $a->config['sitename']) : "" ) . '</h1>';
|
||||||
|
|
||||||
if(file_exists('home.html'))
|
if (file_exists('home.html')) $o = file_get_contents('home.html');
|
||||||
$o = file_get_contents('home.html');
|
|
||||||
|
|
||||||
if (get_config('communityhome','showcommunitystream')===true){
|
if (Config::get('communityhome', 'showcommunitystream')) {
|
||||||
$oldset = get_config('system','community_page_style');
|
$oldset = Config::get('system', 'community_page_style');
|
||||||
if ($oldset == CP_NO_COMMUNITY_PAGE)
|
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);
|
$o .= community_content($a, 1);
|
||||||
|
|
||||||
if ($oldset == CP_NO_COMMUNITY_PAGE)
|
if ($oldset == CP_NO_COMMUNITY_PAGE) Config::set('system', 'community_page_style', $oldset);
|
||||||
set_config('system','community_page_style', $oldset);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ msgstr ""
|
||||||
"Project-Id-Version: friendica\n"
|
"Project-Id-Version: friendica\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
|
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
|
||||||
"PO-Revision-Date: 2014-09-10 10:30+0000\n"
|
"PO-Revision-Date: 2017-09-20 06:07+0000\n"
|
||||||
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
||||||
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
|
|
@ -15,9 +15,9 @@
|
||||||
$("#tab_1").removeClass("active");
|
$("#tab_1").removeClass("active");
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{{if $noOid}}
|
{{if $noOid}}
|
||||||
|
@ -41,15 +41,6 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
|
||||||
{{if $activeusers_title}}
|
|
||||||
<h3>{{$activeusers_title}}</h3>
|
|
||||||
<div class='items-wrapper'>
|
|
||||||
{{foreach $activeusers_items as $i}}
|
|
||||||
{{$i}}
|
|
||||||
{{/foreach}}
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{if $photos_title}}
|
{{if $photos_title}}
|
||||||
<h3>{{$photos_title}}</h3>
|
<h3>{{$photos_title}}</h3>
|
||||||
<div class='items-wrapper'>
|
<div class='items-wrapper'>
|
||||||
|
|
|
@ -5,13 +5,14 @@
|
||||||
* Version: 1.0
|
* Version: 1.0
|
||||||
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
|
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
|
||||||
*/
|
*/
|
||||||
|
use Friendica\Core\Addon;
|
||||||
|
|
||||||
function convert_install() {
|
function convert_install() {
|
||||||
register_hook('app_menu', 'addon/convert/convert.php', 'convert_app_menu');
|
Addon::registerHook('app_menu', 'addon/convert/convert.php', 'convert_app_menu');
|
||||||
}
|
}
|
||||||
|
|
||||||
function convert_uninstall() {
|
function convert_uninstall() {
|
||||||
unregister_hook('app_menu', 'addon/convert/convert.php', 'convert_app_menu');
|
Addon::unregisterHook('app_menu', 'addon/convert/convert.php', 'convert_app_menu');
|
||||||
}
|
}
|
||||||
|
|
||||||
function convert_app_menu($a,&$b) {
|
function convert_app_menu($a,&$b) {
|
||||||
|
|
|
@ -9,9 +9,15 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once('include/network.php');
|
require_once 'mod/proxy.php';
|
||||||
require_once("mod/proxy.php");
|
require_once 'include/text.php';
|
||||||
require_once('include/text.php');
|
|
||||||
|
use Friendica\Core\Addon;
|
||||||
|
use Friendica\Core\Cache;
|
||||||
|
use Friendica\Core\Config;
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\Core\PConfig;
|
||||||
|
use Friendica\Util\Network;
|
||||||
|
|
||||||
// get the weather data from OpenWeatherMap
|
// get the weather data from OpenWeatherMap
|
||||||
function getWeather( $loc, $units='metric', $lang='en', $appid='', $cachetime=0) {
|
function getWeather( $loc, $units='metric', $lang='en', $appid='', $cachetime=0) {
|
||||||
|
@ -26,9 +32,9 @@ function getWeather( $loc, $units='metric', $lang='en', $appid='', $cachetime=0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
$res = new SimpleXMLElement(fetch_url($url));
|
$res = new SimpleXMLElement(Network::fetchUrl($url));
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
info(t('Error fetching weather data.\nError was: '.$e->getMessage()));
|
info(L10n::t('Error fetching weather data.\nError was: '.$e->getMessage()));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ((string)$res->temperature['unit']==='metric') {
|
if ((string)$res->temperature['unit']==='metric') {
|
||||||
|
@ -61,16 +67,17 @@ function getWeather( $loc, $units='metric', $lang='en', $appid='', $cachetime=0)
|
||||||
return $r;
|
return $r;
|
||||||
}
|
}
|
||||||
|
|
||||||
function curweather_install() {
|
function curweather_install()
|
||||||
register_hook('network_mod_init', 'addon/curweather/curweather.php', 'curweather_network_mod_init');
|
{
|
||||||
register_hook('plugin_settings', 'addon/curweather/curweather.php', 'curweather_plugin_settings');
|
Addon::registerHook('network_mod_init', 'addon/curweather/curweather.php', 'curweather_network_mod_init');
|
||||||
register_hook('plugin_settings_post', 'addon/curweather/curweather.php', 'curweather_plugin_settings_post');
|
Addon::registerHook('addon_settings', 'addon/curweather/curweather.php', 'curweather_addon_settings');
|
||||||
|
Addon::registerHook('addon_settings_post', 'addon/curweather/curweather.php', 'curweather_addon_settings_post');
|
||||||
}
|
}
|
||||||
|
|
||||||
function curweather_uninstall() {
|
function curweather_uninstall() {
|
||||||
unregister_hook('network_mod_init', 'addon/curweather/curweather.php', 'curweather_network_mod_init');
|
Addon::unregisterHook('network_mod_init', 'addon/curweather/curweather.php', 'curweather_network_mod_init');
|
||||||
unregister_hook('plugin_settings', 'addon/curweather/curweather.php', 'curweather_plugin_settings');
|
Addon::unregisterHook('addon_settings', 'addon/curweather/curweather.php', 'curweather_addon_settings');
|
||||||
unregister_hook('plugin_settings_post', 'addon/curweather/curweather.php', 'curweather_plugin_settings_post');
|
Addon::unregisterHook('addon_settings_post', 'addon/curweather/curweather.php', 'curweather_addon_settings_post');
|
||||||
}
|
}
|
||||||
|
|
||||||
function curweather_network_mod_init(&$fk_app,&$b) {
|
function curweather_network_mod_init(&$fk_app,&$b) {
|
||||||
|
@ -107,28 +114,28 @@ function curweather_network_mod_init(&$fk_app,&$b) {
|
||||||
|
|
||||||
if ($ok) {
|
if ($ok) {
|
||||||
$t = get_markup_template("widget.tpl", "addon/curweather/" );
|
$t = get_markup_template("widget.tpl", "addon/curweather/" );
|
||||||
$curweather = replace_macros ($t, array(
|
$curweather = replace_macros ($t, [
|
||||||
'$title' => t("Current Weather"),
|
'$title' => L10n::t("Current Weather"),
|
||||||
'$icon' => proxy_url('http://openweathermap.org/img/w/'.$res['icon'].'.png'),
|
'$icon' => proxy_url('http://openweathermap.org/img/w/'.$res['icon'].'.png'),
|
||||||
'$city' => $res['city'],
|
'$city' => $res['city'],
|
||||||
'$lon' => $res['lon'],
|
'$lon' => $res['lon'],
|
||||||
'$lat' => $res['lat'],
|
'$lat' => $res['lat'],
|
||||||
'$description' => $res['descripion'],
|
'$description' => $res['descripion'],
|
||||||
'$temp' => $res['temperature'],
|
'$temp' => $res['temperature'],
|
||||||
'$relhumidity' => array('caption'=>t('Relative Humidity'), 'val'=>$res['humidity']),
|
'$relhumidity' => ['caption'=>L10n::t('Relative Humidity'), 'val'=>$res['humidity']],
|
||||||
'$pressure' => array('caption'=>t('Pressure'), 'val'=>$res['pressure']),
|
'$pressure' => ['caption'=>L10n::t('Pressure'), 'val'=>$res['pressure']],
|
||||||
'$wind' => array('caption'=>t('Wind'), 'val'=> $res['wind']),
|
'$wind' => ['caption'=>L10n::t('Wind'), 'val'=> $res['wind']],
|
||||||
'$lastupdate' => t('Last Updated').': '.$res['update'].'UTC',
|
'$lastupdate' => L10n::t('Last Updated').': '.$res['update'].'UTC',
|
||||||
'$databy' => t('Data by'),
|
'$databy' => L10n::t('Data by'),
|
||||||
'$showonmap' => t('Show on map')
|
'$showonmap' => L10n::t('Show on map')
|
||||||
));
|
]);
|
||||||
} else {
|
} else {
|
||||||
$t = get_markup_template('widget-error.tpl', 'addon/curweather/');
|
$t = get_markup_template('widget-error.tpl', 'addon/curweather/');
|
||||||
$curweather = replace_macros( $t, array(
|
$curweather = replace_macros( $t, [
|
||||||
'$problem' => t('There was a problem accessing the weather data. But have a look'),
|
'$problem' => L10n::t('There was a problem accessing the weather data. But have a look'),
|
||||||
'$rpt' => $rpt,
|
'$rpt' => $rpt,
|
||||||
'$atOWM' => t('at OpenWeatherMap')
|
'$atOWM' => L10n::t('at OpenWeatherMap')
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fk_app->page['aside'] = $curweather.$fk_app->page['aside'];
|
$fk_app->page['aside'] = $curweather.$fk_app->page['aside'];
|
||||||
|
@ -136,29 +143,29 @@ function curweather_network_mod_init(&$fk_app,&$b) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function curweather_plugin_settings_post($a,$post) {
|
function curweather_addon_settings_post($a,$post) {
|
||||||
if(! local_user() || (! x($_POST,'curweather-settings-submit')))
|
if(! local_user() || (! x($_POST,'curweather-settings-submit')))
|
||||||
return;
|
return;
|
||||||
set_pconfig(local_user(),'curweather','curweather_loc',trim($_POST['curweather_loc']));
|
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_enable',intval($_POST['curweather_enable']));
|
||||||
set_pconfig(local_user(),'curweather','curweather_units',trim($_POST['curweather_units']));
|
set_pconfig(local_user(),'curweather','curweather_units',trim($_POST['curweather_units']));
|
||||||
|
|
||||||
info( t('Current Weather settings updated.') . EOL);
|
info(L10n::t('Current Weather settings updated.') . EOL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function curweather_plugin_settings(&$a,&$s) {
|
function curweather_addon_settings(&$a,&$s) {
|
||||||
|
|
||||||
if(! local_user())
|
if(! local_user())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Get the current state of our config variable */
|
/* Get the current state of our config variable */
|
||||||
|
|
||||||
$curweather_loc = get_pconfig(local_user(), 'curweather', 'curweather_loc');
|
$curweather_loc = PConfig::get(local_user(), 'curweather', 'curweather_loc');
|
||||||
$curweather_units = get_pconfig(local_user(), 'curweather', 'curweather_units');
|
$curweather_units = PConfig::get(local_user(), 'curweather', 'curweather_units');
|
||||||
$appid = get_config('curweather','appid');
|
$appid = Config::get('curweather','appid');
|
||||||
if ($appid=="") {
|
if ($appid=="") {
|
||||||
$noappidtext = t('No APPID found, please contact your admin to obtain one.');
|
$noappidtext = L10n::t('No APPID found, please contact your admin to obtain one.');
|
||||||
} else {
|
} else {
|
||||||
$noappidtext = '';
|
$noappidtext = '';
|
||||||
}
|
}
|
||||||
|
@ -167,38 +174,38 @@ function curweather_plugin_settings(&$a,&$s) {
|
||||||
|
|
||||||
// load template and replace the macros
|
// load template and replace the macros
|
||||||
$t = get_markup_template("settings.tpl", "addon/curweather/" );
|
$t = get_markup_template("settings.tpl", "addon/curweather/" );
|
||||||
$s = replace_macros ($t, array(
|
$s = replace_macros ($t, [
|
||||||
'$submit' => t('Save Settings'),
|
'$submit' => L10n::t('Save Settings'),
|
||||||
'$header' => t('Current Weather').' '.t('Settings'),
|
'$header' => L10n::t('Current Weather').' '.L10n::t('Settings'),
|
||||||
'$noappidtext' => $noappidtext,
|
'$noappidtext' => $noappidtext,
|
||||||
'$info' => t('Enter either the name of your location or the zip code.'),
|
'$info' => L10n::t('Enter either the name of your location or the zip code.'),
|
||||||
'$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_loc' => [ 'curweather_loc', L10n::t('Your Location'), $curweather_loc, L10n::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')),
|
'$curweather_units' => [ 'curweather_units', L10n::t('Units'), $curweather_units, L10n::t('select if the temperature should be displayed in °C or °F'), ['metric'=>'°C', 'imperial'=>'°F']],
|
||||||
'$enabled' => array( 'curweather_enable', t('Show weather data'), $enable, '')
|
'$enabled' => [ 'curweather_enable', L10n::t('Show weather data'), $enable, '']
|
||||||
));
|
]);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
// Config stuff for the admin panel to let the admin of the node set a APPID
|
// Config stuff for the admin panel to let the admin of the node set a APPID
|
||||||
// for accessing the API of openweathermap
|
// for accessing the API of openweathermap
|
||||||
function curweather_plugin_admin_post (&$a) {
|
function curweather_addon_admin_post (&$a) {
|
||||||
if(! is_site_admin())
|
if(! is_site_admin())
|
||||||
return;
|
return;
|
||||||
if ($_POST['curweather-submit']) {
|
if ($_POST['curweather-submit']) {
|
||||||
set_config('curweather','appid',trim($_POST['appid']));
|
Config::set('curweather','appid',trim($_POST['appid']));
|
||||||
set_config('curweather','cachetime',trim($_POST['cachetime']));
|
Config::set('curweather','cachetime',trim($_POST['cachetime']));
|
||||||
info( t('Curweather settings saved.'.EOL));
|
info(L10n::t('Curweather settings saved.'.EOL));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function curweather_plugin_admin (&$a, &$o) {
|
function curweather_addon_admin (&$a, &$o) {
|
||||||
if(! is_site_admin())
|
if(! is_site_admin())
|
||||||
return;
|
return;
|
||||||
$appid = get_config('curweather','appid');
|
$appid = get_config('curweather','appid');
|
||||||
$cachetime = get_config('curweather','cachetime');
|
$cachetime = get_config('curweather','cachetime');
|
||||||
$t = get_markup_template("admin.tpl", "addon/curweather/" );
|
$t = get_markup_template("admin.tpl", "addon/curweather/" );
|
||||||
$o = replace_macros ($t, array(
|
$o = replace_macros ($t, [
|
||||||
'$submit' => t('Save Settings'),
|
'$submit' => L10n::t('Save Settings'),
|
||||||
'$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'))),
|
'$cachetime' => ['cachetime', L10n::t('Caching Interval'), $cachetime, L10n::t('For how long should the weather data be cached? Choose according your OpenWeatherMap account type.'), ['0'=>L10n::t('no cache'), '300'=>'5 '.L10n::t('minutes'), '900'=>'15 '.L10n::t('minutes'), '1800'=>'30 '.L10n::t('minutes'), '3600'=>'60 '.L10n::t('minutes')]],
|
||||||
'$appid' => array('appid', t('Your APPID'), $appid, t('Your API key provided by OpenWeatherMap'))
|
'$appid' => ['appid', L10n::t('Your APPID'), $appid, L10n::t('Your API key provided by OpenWeatherMap')]
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ msgstr ""
|
||||||
"Project-Id-Version: friendica\n"
|
"Project-Id-Version: friendica\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2016-09-25 17:17+0200\n"
|
"POT-Creation-Date: 2016-09-25 17:17+0200\n"
|
||||||
"PO-Revision-Date: 2016-11-22 06:43+0000\n"
|
"PO-Revision-Date: 2017-09-20 06:07+0000\n"
|
||||||
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>\n"
|
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>\n"
|
||||||
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
|
|
@ -27,8 +27,8 @@ CalDAV device compatibility:
|
||||||
- aCal (http://andrew.mcmillan.net.nz/projects/aCal) works, available in F-Droid and Google Play
|
- 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
|
- 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.
|
After activating, serveral tables in the database have to be created. The admin-interface of the addon will try to do this automatically.
|
||||||
In case of errors, the SQL-statement to create the tables manually are shown in the admin-interface.
|
In case of errors, the SQL-statement to create the tables manually are shown in the admin-interface.
|
||||||
|
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ MIT License
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Author of this plugin (the parts that are not part of the libraries above):
|
Author of this addon (the parts that are not part of the libraries above):
|
||||||
Tobias Hößl
|
Tobias Hößl
|
||||||
http://friendica.hoessl.eu/profile/cato
|
http://friendica.hoessl.eu/profile/cato
|
||||||
http://www.hoessl.eu/
|
http://www.hoessl.eu/
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* Changed: The Sabre_VObject library now spawned into it's own project!
|
* Changed: The Sabre_VObject library now spawned into it's own project!
|
||||||
* New feature: Support for caldav notifications!
|
* New feature: Support for caldav notifications!
|
||||||
* Changed: Responsibility for dealing with the calendar-query is now
|
* Changed: Responsibility for dealing with the calendar-query is now
|
||||||
moved from the CalDAV plugin to the CalDAV backends. This allows for
|
moved from the CalDAV addon to the CalDAV backends. This allows for
|
||||||
heavy optimizations.
|
heavy optimizations.
|
||||||
* Changed: The CalDAV PDO backend is now a lot faster for common
|
* Changed: The CalDAV PDO backend is now a lot faster for common
|
||||||
calendar queries.
|
calendar queries.
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
receiving "text/x-vcard; charset=utf-8" for a contenttype.
|
receiving "text/x-vcard; charset=utf-8" for a contenttype.
|
||||||
* Added: Sabre_DAV_Client now throws more specific exceptions in cases
|
* Added: Sabre_DAV_Client now throws more specific exceptions in cases
|
||||||
where we already has an exception class.
|
where we already has an exception class.
|
||||||
* Added: Sabre_DAV_PartialUpdate. This plugin allows you to use the
|
* Added: Sabre_DAV_PartialUpdate. This addon allows you to use the
|
||||||
PATCH method to update parts of a file.
|
PATCH method to update parts of a file.
|
||||||
* Added: Tons of timezone name mappings for Microsoft Exchange.
|
* Added: Tons of timezone name mappings for Microsoft Exchange.
|
||||||
* Added: Support for an 'exception' event.
|
* Added: Support for an 'exception' event.
|
||||||
|
@ -69,13 +69,13 @@
|
||||||
* Fixed: Issue 112: Stronger validation of iCalendar objects. Now making
|
* Fixed: Issue 112: Stronger validation of iCalendar objects. Now making
|
||||||
sure every iCalendar object only contains 1 component, and disallowing
|
sure every iCalendar object only contains 1 component, and disallowing
|
||||||
vcards, forcing every component to have a UID.
|
vcards, forcing every component to have a UID.
|
||||||
* Fixed: Basic validation for vcards in the CardDAV plugin.
|
* Fixed: Basic validation for vcards in the CardDAV addon.
|
||||||
* Fixed: Issue 213: Workaround for an Evolution bug, that prevented it
|
* Fixed: Issue 213: Workaround for an Evolution bug, that prevented it
|
||||||
from updating events.
|
from updating events.
|
||||||
* Fixed: Issue 211: A time-limit query on a non-relative alarm trigger in
|
* Fixed: Issue 211: A time-limit query on a non-relative alarm trigger in
|
||||||
a recurring event could result in an endless loop.
|
a recurring event could result in an endless loop.
|
||||||
* Fixed: All uri fields are now a maximum of 200 characters. The Bynari
|
* Fixed: All uri fields are now a maximum of 200 characters. The Bynari
|
||||||
outlook plugin used much longer strings so this should improve
|
outlook addon used much longer strings so this should improve
|
||||||
compatibility.
|
compatibility.
|
||||||
* Fixed: Added a workaround for a bug in KDE 4.8.2 contact syncing. See
|
* Fixed: Added a workaround for a bug in KDE 4.8.2 contact syncing. See
|
||||||
https://bugs.kde.org/show_bug.cgi?id=300047
|
https://bugs.kde.org/show_bug.cgi?id=300047
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
COUNT= parameter in the RRULE property.
|
COUNT= parameter in the RRULE property.
|
||||||
* Added: Support for time-range filters on VALARM components.
|
* Added: Support for time-range filters on VALARM components.
|
||||||
* Fixed: Correctly filtering all-day events.
|
* Fixed: Correctly filtering all-day events.
|
||||||
* Fixed: Sending back correct mimetypes from the browser plugin (thanks
|
* Fixed: Sending back correct mimetypes from the browser addon (thanks
|
||||||
Jürgen).
|
Jürgen).
|
||||||
* Fixed: Issue 195: Sabre_CardDAV pear package had an incorrect dependency.
|
* Fixed: Issue 195: Sabre_CardDAV pear package had an incorrect dependency.
|
||||||
* Fixed: Calendardata would be destroyed when performing a MOVE request.
|
* Fixed: Calendardata would be destroyed when performing a MOVE request.
|
||||||
|
@ -134,8 +134,8 @@
|
||||||
* BC Break: Default Principals PDO backend now needs a new field in the
|
* BC Break: Default Principals PDO backend now needs a new field in the
|
||||||
'principals' table. See the website for details.
|
'principals' table. See the website for details.
|
||||||
* Added: Ability to create new calendars and addressbooks from within the
|
* Added: Ability to create new calendars and addressbooks from within the
|
||||||
browser plugin.
|
browser addon.
|
||||||
* Added: Browser plugin: icons for various nodes.
|
* Added: Browser addon: icons for various nodes.
|
||||||
* Added: Support for FREEBUSY reports!
|
* Added: Support for FREEBUSY reports!
|
||||||
* Added: Support for creating principals with admin-level privileges.
|
* Added: Support for creating principals with admin-level privileges.
|
||||||
* Added: Possibility to let server send out invitation emails on behalf of
|
* Added: Possibility to let server send out invitation emails on behalf of
|
||||||
|
@ -143,11 +143,11 @@
|
||||||
* Changed: beforeCreateFile event now passes data argument by reference.
|
* Changed: beforeCreateFile event now passes data argument by reference.
|
||||||
* Changed: The 'propertyMap' property from Sabre_VObject_Reader, must now
|
* Changed: The 'propertyMap' property from Sabre_VObject_Reader, must now
|
||||||
be specified in Sabre_VObject_Property::$classMap.
|
be specified in Sabre_VObject_Property::$classMap.
|
||||||
* Added: Ability for plugins to tell the ACL plugin which principal
|
* Added: Ability for addons to tell the ACL addon which principal
|
||||||
plugins are searchable.
|
addons are searchable.
|
||||||
* Added: [DAVACL] Per-node overriding of supported privileges. This allows
|
* Added: [DAVACL] Per-node overriding of supported privileges. This allows
|
||||||
for custom privileges where needed.
|
for custom privileges where needed.
|
||||||
* Added: [DAVACL] Public 'principalSearch' method on the DAVACL plugin,
|
* Added: [DAVACL] Public 'principalSearch' method on the DAVACL addon,
|
||||||
which allows for easy searching for principals, based on their
|
which allows for easy searching for principals, based on their
|
||||||
properties.
|
properties.
|
||||||
* Added: Sabre_VObject_Component::getComponents() to return a list of only
|
* Added: Sabre_VObject_Component::getComponents() to return a list of only
|
||||||
|
@ -231,8 +231,8 @@
|
||||||
* Fixed: VObject properties are now always encoded before components.
|
* Fixed: VObject properties are now always encoded before components.
|
||||||
* Fixed: Sabre_DAVACL had issues with multiple levels of privilege
|
* Fixed: Sabre_DAVACL had issues with multiple levels of privilege
|
||||||
aggregration.
|
aggregration.
|
||||||
* Changed: Added 'GuessContentType' plugin to fileserver.php example.
|
* Changed: Added 'GuessContentType' addon to fileserver.php example.
|
||||||
* Fixed: The Browser plugin will now trigger the correct events when
|
* Fixed: The Browser addon will now trigger the correct events when
|
||||||
creating files.
|
creating files.
|
||||||
* Fixed: The ICSExportPlugin now considers ACL's.
|
* Fixed: The ICSExportPlugin now considers ACL's.
|
||||||
* Added: Made it optional to supply carddata from an Addressbook backend
|
* Added: Made it optional to supply carddata from an Addressbook backend
|
||||||
|
@ -251,7 +251,7 @@
|
||||||
files to be locked at the same time.
|
files to be locked at the same time.
|
||||||
|
|
||||||
1.5.4-stable (2011-10-28)
|
1.5.4-stable (2011-10-28)
|
||||||
* Fixed: GuessContentType plugin now supports mixed case file extensions.
|
* Fixed: GuessContentType addon now supports mixed case file extensions.
|
||||||
* Fixed: DATE-TIME encoding was wrong in VObject. (we used 'DATETIME').
|
* Fixed: DATE-TIME encoding was wrong in VObject. (we used 'DATETIME').
|
||||||
* Changed: Sending back HTTP 204 after a PUT request on an existing resource
|
* Changed: Sending back HTTP 204 after a PUT request on an existing resource
|
||||||
instead of HTTP 200. This should fix Evolution CardDAV client
|
instead of HTTP 200. This should fix Evolution CardDAV client
|
||||||
|
@ -283,7 +283,7 @@
|
||||||
* Fixed: Issue 140: Not returning 201 Created if an event cancelled the
|
* Fixed: Issue 140: Not returning 201 Created if an event cancelled the
|
||||||
creation of a file.
|
creation of a file.
|
||||||
* Fixed: Issue 150: Faster URLUtil::encodePath() implementation.
|
* Fixed: Issue 150: Faster URLUtil::encodePath() implementation.
|
||||||
* Fixed: Issue 144: Browser plugin could interfere with
|
* Fixed: Issue 144: Browser addon could interfere with
|
||||||
TemporaryFileFilterPlugin if it was loaded first.
|
TemporaryFileFilterPlugin if it was loaded first.
|
||||||
* Added: It's not possible to specify more 'alternate uris' in principal
|
* Added: It's not possible to specify more 'alternate uris' in principal
|
||||||
backends.
|
backends.
|
||||||
|
@ -314,7 +314,7 @@
|
||||||
* Added: Clark-notation parser to XML utility.
|
* Added: Clark-notation parser to XML utility.
|
||||||
* Added: unset() support to VObject components.
|
* Added: unset() support to VObject components.
|
||||||
* Fixed: Refactored CalDAV property fetching to be faster and simpler.
|
* Fixed: Refactored CalDAV property fetching to be faster and simpler.
|
||||||
* Added: Central string-matcher for CalDAV and CardDAV plugins.
|
* Added: Central string-matcher for CalDAV and CardDAV addons.
|
||||||
* Added: i;unicode-casemap support
|
* Added: i;unicode-casemap support
|
||||||
* Fixed: VObject bug: wouldn't parse parameters if they weren't specified
|
* Fixed: VObject bug: wouldn't parse parameters if they weren't specified
|
||||||
in uppercase.
|
in uppercase.
|
||||||
|
@ -322,7 +322,7 @@
|
||||||
* Fixed: VObject bug: Parameters with no value are now correctly parsed.
|
* Fixed: VObject bug: Parameters with no value are now correctly parsed.
|
||||||
* Changed: If calendars don't specify which components they allow, 'all'
|
* Changed: If calendars don't specify which components they allow, 'all'
|
||||||
components are assumed (e.g.: VEVENT, VTODO, VJOURNAL).
|
components are assumed (e.g.: VEVENT, VTODO, VJOURNAL).
|
||||||
* Changed: Browser plugin now uses POST variable 'sabreAction' instead of
|
* Changed: Browser addon now uses POST variable 'sabreAction' instead of
|
||||||
'action' to reduce the chance of collisions.
|
'action' to reduce the chance of collisions.
|
||||||
|
|
||||||
1.4.4-stable (2011-07-07)
|
1.4.4-stable (2011-07-07)
|
||||||
|
@ -388,7 +388,7 @@
|
||||||
* Added: Ability to automatically generate full .ics feeds off calendars.
|
* Added: Ability to automatically generate full .ics feeds off calendars.
|
||||||
To use: Add the Sabre_CalDAV_ICSExportPlugin, and add ?export to your
|
To use: Add the Sabre_CalDAV_ICSExportPlugin, and add ?export to your
|
||||||
calendar url.
|
calendar url.
|
||||||
* Added: Plugins can now specify a pluginname, for easy access using
|
* Added: Plugins can now specify a addonname, for easy access using
|
||||||
Sabre_DAV_Server::getPlugin().
|
Sabre_DAV_Server::getPlugin().
|
||||||
* Added: beforeGetProperties event.
|
* Added: beforeGetProperties event.
|
||||||
* Added: updateProperties event.
|
* Added: updateProperties event.
|
||||||
|
@ -428,7 +428,7 @@
|
||||||
break, so if you implement Sabre_DAV_ICollection directly, add the method.
|
break, so if you implement Sabre_DAV_ICollection directly, add the method.
|
||||||
* Changed: Almost all HTTP method implementations now take a uri argument,
|
* Changed: Almost all HTTP method implementations now take a uri argument,
|
||||||
including events. This allows for internal rerouting of certain calls.
|
including events. This allows for internal rerouting of certain calls.
|
||||||
If you have custom plugins, make sure they use this argument. If they
|
If you have custom addons, make sure they use this argument. If they
|
||||||
don't, they will likely still work, but it might get in the way of
|
don't, they will likely still work, but it might get in the way of
|
||||||
future changes.
|
future changes.
|
||||||
* Changed: All getETag methods MUST now surround the etag with
|
* Changed: All getETag methods MUST now surround the etag with
|
||||||
|
@ -441,7 +441,7 @@
|
||||||
instead.
|
instead.
|
||||||
* Removed: Sabre_DAV_IDirectory interface, use Sabre_DAV_ICollection
|
* Removed: Sabre_DAV_IDirectory interface, use Sabre_DAV_ICollection
|
||||||
instead.
|
instead.
|
||||||
* Added: Browser plugin now uses {DAV:}displayname if this property is
|
* Added: Browser addon now uses {DAV:}displayname if this property is
|
||||||
available.
|
available.
|
||||||
* Added: Cache layer in the ObjectTree.
|
* Added: Cache layer in the ObjectTree.
|
||||||
* Added: Tree classes now have a delete and getChildren method.
|
* Added: Tree classes now have a delete and getChildren method.
|
||||||
|
@ -488,7 +488,7 @@
|
||||||
* Updated: Small improvements to example files.
|
* Updated: Small improvements to example files.
|
||||||
|
|
||||||
1.2.0 (2010-05-24)
|
1.2.0 (2010-05-24)
|
||||||
* Fixed: Browser plugin now displays international characters.
|
* Fixed: Browser addon now displays international characters.
|
||||||
* Changed: More properties in CalDAV classes are now protected instead of
|
* Changed: More properties in CalDAV classes are now protected instead of
|
||||||
private.
|
private.
|
||||||
|
|
||||||
|
@ -530,7 +530,7 @@
|
||||||
* Update: Complete rewrite of property updating. Now easier to use and
|
* Update: Complete rewrite of property updating. Now easier to use and
|
||||||
atomic.
|
atomic.
|
||||||
* Fixed: Issue 16, automatically adding trailing / to baseUri.
|
* Fixed: Issue 16, automatically adding trailing / to baseUri.
|
||||||
* Added: text/plain is used for .txt files in GuessContentType plugin.
|
* Added: text/plain is used for .txt files in GuessContentType addon.
|
||||||
* Added: support for principal-property-search and
|
* Added: support for principal-property-search and
|
||||||
principal-search-property-set reports.
|
principal-search-property-set reports.
|
||||||
* Added: Issue 31: Hiding exception information by default. Can be turned
|
* Added: Issue 31: Hiding exception information by default. Can be turned
|
||||||
|
@ -603,10 +603,10 @@
|
||||||
this.
|
this.
|
||||||
* Added: PDO authentication backend.
|
* Added: PDO authentication backend.
|
||||||
* Added: Example sql for auth, caldav, locks for sqlite.
|
* Added: Example sql for auth, caldav, locks for sqlite.
|
||||||
* Added: Sabre_DAV_Browser_GuessContentType plugin
|
* Added: Sabre_DAV_Browser_GuessContentType addon
|
||||||
* Changed: Authentication plugin refactored, making it possible to
|
* Changed: Authentication addon refactored, making it possible to
|
||||||
implement non-digest authentication.
|
implement non-digest authentication.
|
||||||
* Fixed: Better error display in browser plugin.
|
* Fixed: Better error display in browser addon.
|
||||||
* Added: Support for {DAV:}supported-report-set
|
* Added: Support for {DAV:}supported-report-set
|
||||||
* Added: XML utility class with helper functions for the WebDAV protocol.
|
* Added: XML utility class with helper functions for the WebDAV protocol.
|
||||||
* Added: Tons of unittests
|
* Added: Tons of unittests
|
||||||
|
@ -706,15 +706,15 @@
|
||||||
Before, execution would be stopped by anything loosely evaluating to
|
Before, execution would be stopped by anything loosely evaluating to
|
||||||
false.
|
false.
|
||||||
* Changed: the getPropertiesForPath method now takes a different set of
|
* Changed: the getPropertiesForPath method now takes a different set of
|
||||||
arguments, and returns a different response. This allows plugin
|
arguments, and returns a different response. This allows addon
|
||||||
developers to return statuses for properties other than 200 and 404. The
|
developers to return statuses for properties other than 200 and 404. The
|
||||||
hrefs are now also always calculated relative to the baseUri, and not
|
hrefs are now also always calculated relative to the baseUri, and not
|
||||||
the uri of the request.
|
the uri of the request.
|
||||||
* Changed: generatePropFindResponse is renamed to generateMultiStatus, and
|
* Changed: generatePropFindResponse is renamed to generateMultiStatus, and
|
||||||
now takes a list of properties similar to the response of
|
now takes a list of properties similar to the response of
|
||||||
getPropertiesForPath. This was also needed to improve flexibility for
|
getPropertiesForPath. This was also needed to improve flexibility for
|
||||||
plugin development.
|
addon development.
|
||||||
* Changed: Auth plugins are no longer included. They were not yet stable
|
* Changed: Auth addons are no longer included. They were not yet stable
|
||||||
quality, so they will probably be reintroduced in a later version.
|
quality, so they will probably be reintroduced in a later version.
|
||||||
* Changed: PROPPATCH also used generateMultiStatus now.
|
* Changed: PROPPATCH also used generateMultiStatus now.
|
||||||
* Removed: unknownProperties event. This is replaced by the
|
* Removed: unknownProperties event. This is replaced by the
|
||||||
|
@ -732,7 +732,7 @@
|
||||||
* Fixed: Copy and Move could fail in the root directory. This is now
|
* Fixed: Copy and Move could fail in the root directory. This is now
|
||||||
fixed.
|
fixed.
|
||||||
* Added: Plugins can now be retrieved by their classname. This is useful
|
* Added: Plugins can now be retrieved by their classname. This is useful
|
||||||
for inter-plugin communication.
|
for inter-addon communication.
|
||||||
* Added: The Auth backend can now return usernames and user-id's.
|
* Added: The Auth backend can now return usernames and user-id's.
|
||||||
* Added: The Auth backend got a getUsers method
|
* Added: The Auth backend got a getUsers method
|
||||||
* Added: Sabre_DAV_FSExt_Directory now returns quota info
|
* Added: Sabre_DAV_FSExt_Directory now returns quota info
|
||||||
|
@ -741,7 +741,7 @@
|
||||||
* Fixed: UNLOCK bug. Unlock didn't work at all
|
* Fixed: UNLOCK bug. Unlock didn't work at all
|
||||||
|
|
||||||
0.12-beta (2009-09-10)
|
0.12-beta (2009-09-10)
|
||||||
* Updated: Browser plugin now shows multiple {DAV:}resourcetype values
|
* Updated: Browser addon now shows multiple {DAV:}resourcetype values
|
||||||
if available.
|
if available.
|
||||||
* Added: Experimental PDO backend for Locks Manager
|
* Added: Experimental PDO backend for Locks Manager
|
||||||
* Fixed: Sending Content-Length: 0 for every empty response. This
|
* Fixed: Sending Content-Length: 0 for every empty response. This
|
||||||
|
@ -766,7 +766,7 @@
|
||||||
* Added: Ability to choose to use auth-int, auth or both for HTTP Digest
|
* Added: Ability to choose to use auth-int, auth or both for HTTP Digest
|
||||||
authentication. (Issue 11)
|
authentication. (Issue 11)
|
||||||
* Changed: Made more methods in Sabre_DAV_Server public.
|
* Changed: Made more methods in Sabre_DAV_Server public.
|
||||||
* Fixed: TemporaryFileFilter plugin now intercepts HTTP LOCK requests
|
* Fixed: TemporaryFileFilter addon now intercepts HTTP LOCK requests
|
||||||
to non-existent files. (Issue 12)
|
to non-existent files. (Issue 12)
|
||||||
* Added: Central list of defined xml namespace prefixes. This can reduce
|
* Added: Central list of defined xml namespace prefixes. This can reduce
|
||||||
Bandwidth and legibility for xml bodies with user-defined namespaces.
|
Bandwidth and legibility for xml bodies with user-defined namespaces.
|
||||||
|
@ -779,8 +779,8 @@
|
||||||
and IDirectory objects. If you created your own Tree objects,
|
and IDirectory objects. If you created your own Tree objects,
|
||||||
this will most likely break in this release.
|
this will most likely break in this release.
|
||||||
* Changed: Moved all the Locking logic from the Tree and Server classes
|
* Changed: Moved all the Locking logic from the Tree and Server classes
|
||||||
into a separate plugin.
|
into a separate addon.
|
||||||
* Changed: TemporaryFileFilter is now a plugin.
|
* Changed: TemporaryFileFilter is now a addon.
|
||||||
* Added: Comes with an autoloader script. This can be used instead of
|
* Added: Comes with an autoloader script. This can be used instead of
|
||||||
the includer script, and is preferred by some people.
|
the includer script, and is preferred by some people.
|
||||||
* Added: AWS Authentication class.
|
* Added: AWS Authentication class.
|
||||||
|
@ -790,7 +790,7 @@
|
||||||
priority. This is for example needed to ensure that the Authentication
|
priority. This is for example needed to ensure that the Authentication
|
||||||
Plugin is used before any other Plugin.
|
Plugin is used before any other Plugin.
|
||||||
* Added: 22 new tests.
|
* Added: 22 new tests.
|
||||||
* Added: Users-manager plugin for .htdigest files. Experimental and
|
* Added: Users-manager addon for .htdigest files. Experimental and
|
||||||
subject to change.
|
subject to change.
|
||||||
* Added: RFC 2324 HTTP 418 status code
|
* Added: RFC 2324 HTTP 418 status code
|
||||||
* Fixed: Exclusive locks could in some cases be picked up as shared locks
|
* Fixed: Exclusive locks could in some cases be picked up as shared locks
|
||||||
|
@ -801,7 +801,7 @@
|
||||||
* Changed: Renamed all exceptions! This is a compatibility break. Every
|
* Changed: Renamed all exceptions! This is a compatibility break. Every
|
||||||
Exception now follows Sabre_DAV_Exception_FileNotFound convention
|
Exception now follows Sabre_DAV_Exception_FileNotFound convention
|
||||||
instead of Sabre_DAV_FileNotFoundException.
|
instead of Sabre_DAV_FileNotFoundException.
|
||||||
* Added: Browser plugin now allows uploading and creating directories
|
* Added: Browser addon now allows uploading and creating directories
|
||||||
straight from the browser.
|
straight from the browser.
|
||||||
* Added: 12 more unittests
|
* Added: 12 more unittests
|
||||||
* Fixed: Locking bug, which became prevalent on Windows Vista.
|
* Fixed: Locking bug, which became prevalent on Windows Vista.
|
||||||
|
@ -815,14 +815,14 @@
|
||||||
* Added: support for {DAV:}supportedlock.
|
* Added: support for {DAV:}supportedlock.
|
||||||
* Added: support for {DAV:}lockdiscovery.
|
* Added: support for {DAV:}lockdiscovery.
|
||||||
* Added: 6 new tests.
|
* Added: 6 new tests.
|
||||||
* Added: New plugin system.
|
* Added: New addon system.
|
||||||
* Added: Simple HTML directory plugin, for browser access.
|
* Added: Simple HTML directory addon, for browser access.
|
||||||
* Added: Server class now sends back standard pre-condition error xml
|
* Added: Server class now sends back standard pre-condition error xml
|
||||||
bodies. This was new since RFC4918.
|
bodies. This was new since RFC4918.
|
||||||
* Added: Sabre_DAV_Tree_Aggregrate, which can 'host' multiple Tree objects
|
* Added: Sabre_DAV_Tree_Aggregrate, which can 'host' multiple Tree objects
|
||||||
into one.
|
into one.
|
||||||
* Added: simple basis for HTTP REPORT method. This method is not used yet,
|
* Added: simple basis for HTTP REPORT method. This method is not used yet,
|
||||||
but can be used by plugins to add reports.
|
but can be used by addons to add reports.
|
||||||
* Changed: ->getSize is only called for files, no longer for collections.
|
* Changed: ->getSize is only called for files, no longer for collections.
|
||||||
r303
|
r303
|
||||||
* Changed: Sabre_DAV_FilterTree is now Sabre_DAV_Tree_Filter
|
* Changed: Sabre_DAV_FilterTree is now Sabre_DAV_Tree_Filter
|
||||||
|
|
|
@ -5,7 +5,7 @@ use Sabre\VObject;
|
||||||
/**
|
/**
|
||||||
* ICS Exporter
|
* ICS Exporter
|
||||||
*
|
*
|
||||||
* This plugin adds the ability to export entire calendars as .ics files.
|
* This addon adds the ability to export entire calendars as .ics files.
|
||||||
* This is useful for clients that don't support CalDAV yet. They often do
|
* This is useful for clients that don't support CalDAV yet. They often do
|
||||||
* support ics files.
|
* support ics files.
|
||||||
*
|
*
|
||||||
|
@ -25,7 +25,7 @@ class Sabre_CalDAV_ICSExportPlugin extends Sabre_DAV_ServerPlugin {
|
||||||
private $server;
|
private $server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the plugin and registers event handlers
|
* Initializes the addon and registers event handlers
|
||||||
*
|
*
|
||||||
* @param Sabre_DAV_Server $server
|
* @param Sabre_DAV_Server $server
|
||||||
* @return void
|
* @return void
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* This node represents a list of notifications.
|
* This node represents a list of notifications.
|
||||||
*
|
*
|
||||||
* It provides no additional functionality, but you must implement this
|
* It provides no additional functionality, but you must implement this
|
||||||
* interface to allow the Notifications plugin to mark the collection
|
* interface to allow the Notifications addon to mark the collection
|
||||||
* as a notifications collection.
|
* as a notifications collection.
|
||||||
*
|
*
|
||||||
* This collection should only return Sabre_CalDAV_Notifications_INode nodes as
|
* This collection should only return Sabre_CalDAV_Notifications_INode nodes as
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* This node represents a list of notifications.
|
* This node represents a list of notifications.
|
||||||
*
|
*
|
||||||
* It provides no additional functionality, but you must implement this
|
* It provides no additional functionality, but you must implement this
|
||||||
* interface to allow the Notifications plugin to mark the collection
|
* interface to allow the Notifications addon to mark the collection
|
||||||
* as a notifications collection.
|
* as a notifications collection.
|
||||||
*
|
*
|
||||||
* This collection should only return Sabre_CalDAV_Notifications_INode nodes as
|
* This collection should only return Sabre_CalDAV_Notifications_INode nodes as
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
use Sabre\VObject;
|
use Sabre\VObject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CalDAV plugin
|
* CalDAV addon
|
||||||
*
|
*
|
||||||
* This plugin provides functionality added by CalDAV (RFC 4791)
|
* This addon provides functionality added by CalDAV (RFC 4791)
|
||||||
* It implements new reports, and the MKCALENDAR method.
|
* It implements new reports, and the MKCALENDAR method.
|
||||||
*
|
*
|
||||||
* @package Sabre
|
* @package Sabre
|
||||||
|
@ -67,7 +67,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use this method to tell the server this plugin defines additional
|
* Use this method to tell the server this addon defines additional
|
||||||
* HTTP methods.
|
* HTTP methods.
|
||||||
*
|
*
|
||||||
* This method is passed a uri. It should only return HTTP methods that are
|
* This method is passed a uri. It should only return HTTP methods that are
|
||||||
|
@ -107,9 +107,9 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a plugin name.
|
* Returns a addon name.
|
||||||
*
|
*
|
||||||
* Using this name other plugins will be able to access other plugins
|
* Using this name other addons will be able to access other addons
|
||||||
* using Sabre_DAV_Server::getPlugin
|
* using Sabre_DAV_Server::getPlugin
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
|
@ -121,7 +121,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of reports this plugin supports.
|
* Returns a list of reports this addon supports.
|
||||||
*
|
*
|
||||||
* This will be used in the {DAV:}supported-report-set property.
|
* This will be used in the {DAV:}supported-report-set property.
|
||||||
* Note that you still need to subscribe to the 'report' event to actually
|
* Note that you still need to subscribe to the 'report' event to actually
|
||||||
|
@ -147,7 +147,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the plugin
|
* Initializes the addon
|
||||||
*
|
*
|
||||||
* @param Sabre_DAV_Server $server
|
* @param Sabre_DAV_Server $server
|
||||||
* @return void
|
* @return void
|
||||||
|
@ -631,7 +631,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
$acl = $this->server->getPlugin('acl');
|
$acl = $this->server->getPlugin('acl');
|
||||||
|
|
||||||
if (!$acl) {
|
if (!$acl) {
|
||||||
throw new Sabre_DAV_Exception('The ACL plugin must be loaded for free-busy queries to work');
|
throw new Sabre_DAV_Exception('The ACL addon must be loaded for free-busy queries to work');
|
||||||
}
|
}
|
||||||
$uri = $this->server->getRequestUri();
|
$uri = $this->server->getRequestUri();
|
||||||
$acl->checkPrivileges($uri,'{' . self::NS_CALDAV . '}read-free-busy');
|
$acl->checkPrivileges($uri,'{' . self::NS_CALDAV . '}read-free-busy');
|
||||||
|
@ -665,7 +665,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
/**
|
/**
|
||||||
* This method is triggered before a file gets updated with new content.
|
* This method is triggered before a file gets updated with new content.
|
||||||
*
|
*
|
||||||
* This plugin uses this method to ensure that CalDAV objects receive
|
* This addon uses this method to ensure that CalDAV objects receive
|
||||||
* valid calendar data.
|
* valid calendar data.
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
|
@ -685,7 +685,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
/**
|
/**
|
||||||
* This method is triggered before a new file is created.
|
* This method is triggered before a new file is created.
|
||||||
*
|
*
|
||||||
* This plugin uses this method to ensure that newly created calendar
|
* This addon uses this method to ensure that newly created calendar
|
||||||
* objects contain valid calendar data.
|
* objects contain valid calendar data.
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
|
@ -1014,7 +1014,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method allows us to intercept the 'mkcalendar' sabreAction. This
|
* This method allows us to intercept the 'mkcalendar' sabreAction. This
|
||||||
* action enables the user to create new calendars from the browser plugin.
|
* action enables the user to create new calendars from the browser addon.
|
||||||
*
|
*
|
||||||
* @param string $uri
|
* @param string $uri
|
||||||
* @param string $action
|
* @param string $action
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
*
|
*
|
||||||
* The outbox is mainly used as an endpoint in the tree for a client to do
|
* The outbox is mainly used as an endpoint in the tree for a client to do
|
||||||
* free-busy requests. This functionality is completely handled by the
|
* free-busy requests. This functionality is completely handled by the
|
||||||
* Scheduling plugin, so this object is actually mostly static.
|
* Scheduling addon, so this object is actually mostly static.
|
||||||
*
|
*
|
||||||
* @package Sabre
|
* @package Sabre
|
||||||
* @subpackage CalDAV
|
* @subpackage CalDAV
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
use Sabre\VObject;
|
use Sabre\VObject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CardDAV plugin
|
* CardDAV addon
|
||||||
*
|
*
|
||||||
* The CardDAV plugin adds CardDAV functionality to the WebDAV server
|
* The CardDAV addon adds CardDAV functionality to the WebDAV server
|
||||||
*
|
*
|
||||||
* @package Sabre
|
* @package Sabre
|
||||||
* @subpackage CardDAV
|
* @subpackage CardDAV
|
||||||
|
@ -41,7 +41,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
protected $server;
|
protected $server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the plugin
|
* Initializes the addon
|
||||||
*
|
*
|
||||||
* @param Sabre_DAV_Server $server
|
* @param Sabre_DAV_Server $server
|
||||||
* @return void
|
* @return void
|
||||||
|
@ -91,7 +91,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of reports this plugin supports.
|
* Returns a list of reports this addon supports.
|
||||||
*
|
*
|
||||||
* This will be used in the {DAV:}supported-report-set property.
|
* This will be used in the {DAV:}supported-report-set property.
|
||||||
* Note that you still need to subscribe to the 'report' event to actually
|
* Note that you still need to subscribe to the 'report' event to actually
|
||||||
|
@ -290,7 +290,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
/**
|
/**
|
||||||
* This method is triggered before a file gets updated with new content.
|
* This method is triggered before a file gets updated with new content.
|
||||||
*
|
*
|
||||||
* This plugin uses this method to ensure that Card nodes receive valid
|
* This addon uses this method to ensure that Card nodes receive valid
|
||||||
* vcard data.
|
* vcard data.
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
|
@ -310,7 +310,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
/**
|
/**
|
||||||
* This method is triggered before a new file is created.
|
* This method is triggered before a new file is created.
|
||||||
*
|
*
|
||||||
* This plugin uses this method to ensure that Card nodes receive valid
|
* This addon uses this method to ensure that Card nodes receive valid
|
||||||
* vcard data.
|
* vcard data.
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
|
@ -671,7 +671,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method allows us to intercept the 'mkcalendar' sabreAction. This
|
* This method allows us to intercept the 'mkcalendar' sabreAction. This
|
||||||
* action enables the user to create new calendars from the browser plugin.
|
* action enables the user to create new calendars from the browser addon.
|
||||||
*
|
*
|
||||||
* @param string $uri
|
* @param string $uri
|
||||||
* @param string $action
|
* @param string $action
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This plugin provides Authentication for a WebDAV server.
|
* This addon provides Authentication for a WebDAV server.
|
||||||
*
|
*
|
||||||
* It relies on a Backend object, which provides user information.
|
* It relies on a Backend object, which provides user information.
|
||||||
*
|
*
|
||||||
|
@ -52,7 +52,7 @@ class Sabre_DAV_Auth_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the plugin. This function is automatically called by the server
|
* Initializes the addon. This function is automatically called by the server
|
||||||
*
|
*
|
||||||
* @param Sabre_DAV_Server $server
|
* @param Sabre_DAV_Server $server
|
||||||
* @return void
|
* @return void
|
||||||
|
@ -65,9 +65,9 @@ class Sabre_DAV_Auth_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a plugin name.
|
* Returns a addon name.
|
||||||
*
|
*
|
||||||
* Using this name other plugins will be able to access other plugins
|
* Using this name other addons will be able to access other addons
|
||||||
* using Sabre_DAV_Server::getPlugin
|
* using Sabre_DAV_Server::getPlugin
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GuessContentType plugin
|
* GuessContentType addon
|
||||||
*
|
*
|
||||||
* A lot of the built-in File objects just return application/octet-stream
|
* A lot of the built-in File objects just return application/octet-stream
|
||||||
* as a content-type by default. This is a problem for some clients, because
|
* as a content-type by default. This is a problem for some clients, because
|
||||||
|
@ -43,7 +43,7 @@ class Sabre_DAV_Browser_GuessContentType extends Sabre_DAV_ServerPlugin {
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the plugin
|
* Initializes the addon
|
||||||
*
|
*
|
||||||
* @param Sabre_DAV_Server $server
|
* @param Sabre_DAV_Server $server
|
||||||
* @return void
|
* @return void
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a simple plugin that will map any GET request for non-files to
|
* This is a simple addon that will map any GET request for non-files to
|
||||||
* PROPFIND allprops-requests.
|
* PROPFIND allprops-requests.
|
||||||
*
|
*
|
||||||
* This should allow easy debugging of PROPFIND
|
* This should allow easy debugging of PROPFIND
|
||||||
|
@ -22,7 +22,7 @@ class Sabre_DAV_Browser_MapGetToPropFind extends Sabre_DAV_ServerPlugin {
|
||||||
protected $server;
|
protected $server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the plugin and subscribes to events
|
* Initializes the addon and subscribes to events
|
||||||
*
|
*
|
||||||
* @param Sabre_DAV_Server $server
|
* @param Sabre_DAV_Server $server
|
||||||
* @return void
|
* @return void
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Browser Plugin
|
* Browser Plugin
|
||||||
*
|
*
|
||||||
* This plugin provides a html representation, so that a WebDAV server may be accessed
|
* This addon provides a html representation, so that a WebDAV server may be accessed
|
||||||
* using a browser.
|
* using a browser.
|
||||||
*
|
*
|
||||||
* The class intercepts GET requests to collection resources and generates a simple
|
* The class intercepts GET requests to collection resources and generates a simple
|
||||||
|
@ -60,7 +60,7 @@ class Sabre_DAV_Browser_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
protected $enablePost = true;
|
protected $enablePost = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* By default the browser plugin will generate a favicon and other images.
|
* By default the browser addon will generate a favicon and other images.
|
||||||
* To turn this off, set this property to false.
|
* To turn this off, set this property to false.
|
||||||
*
|
*
|
||||||
* @var bool
|
* @var bool
|
||||||
|
@ -84,7 +84,7 @@ class Sabre_DAV_Browser_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the plugin and subscribes to events
|
* Initializes the addon and subscribes to events
|
||||||
*
|
*
|
||||||
* @param Sabre_DAV_Server $server
|
* @param Sabre_DAV_Server $server
|
||||||
* @return void
|
* @return void
|
||||||
|
@ -122,7 +122,7 @@ class Sabre_DAV_Browser_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
$node = $this->server->tree->getNodeForPath($uri);
|
$node = $this->server->tree->getNodeForPath($uri);
|
||||||
} catch (Sabre_DAV_Exception_NotFound $e) {
|
} catch (Sabre_DAV_Exception_NotFound $e) {
|
||||||
// We're simply stopping when the file isn't found to not interfere
|
// We're simply stopping when the file isn't found to not interfere
|
||||||
// with other plugins.
|
// with other addons.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ($node instanceof Sabre_DAV_IFile)
|
if ($node instanceof Sabre_DAV_IFile)
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Locking plugin
|
* Locking addon
|
||||||
*
|
*
|
||||||
* This plugin provides locking support to a WebDAV server.
|
* This addon provides locking support to a WebDAV server.
|
||||||
* The easiest way to get started, is by hooking it up as such:
|
* The easiest way to get started, is by hooking it up as such:
|
||||||
*
|
*
|
||||||
* $lockBackend = new Sabre_DAV_Locks_Backend_File('./mylockdb');
|
* $lockBackend = new Sabre_DAV_Locks_Backend_File('./mylockdb');
|
||||||
|
@ -44,7 +44,7 @@ class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the plugin
|
* Initializes the addon
|
||||||
*
|
*
|
||||||
* This method is automatically called by the Server class after addPlugin.
|
* This method is automatically called by the Server class after addPlugin.
|
||||||
*
|
*
|
||||||
|
@ -61,9 +61,9 @@ class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a plugin name.
|
* Returns a addon name.
|
||||||
*
|
*
|
||||||
* Using this name other plugins will be able to access other plugins
|
* Using this name other addons will be able to access other addons
|
||||||
* using Sabre_DAV_Server::getPlugin
|
* using Sabre_DAV_Server::getPlugin
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
|
@ -78,7 +78,7 @@ class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
* This method is called by the Server if the user used an HTTP method
|
* This method is called by the Server if the user used an HTTP method
|
||||||
* the server didn't recognize.
|
* the server didn't recognize.
|
||||||
*
|
*
|
||||||
* This plugin intercepts the LOCK and UNLOCK methods.
|
* This addon intercepts the LOCK and UNLOCK methods.
|
||||||
*
|
*
|
||||||
* @param string $method
|
* @param string $method
|
||||||
* @param string $uri
|
* @param string $uri
|
||||||
|
@ -134,7 +134,7 @@ class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
* This method is called before the logic for any HTTP method is
|
* This method is called before the logic for any HTTP method is
|
||||||
* handled.
|
* handled.
|
||||||
*
|
*
|
||||||
* This plugin uses that feature to intercept access to locked resources.
|
* This addon uses that feature to intercept access to locked resources.
|
||||||
*
|
*
|
||||||
* @param string $method
|
* @param string $method
|
||||||
* @param string $uri
|
* @param string $uri
|
||||||
|
@ -179,7 +179,7 @@ class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use this method to tell the server this plugin defines additional
|
* Use this method to tell the server this addon defines additional
|
||||||
* HTTP methods.
|
* HTTP methods.
|
||||||
*
|
*
|
||||||
* This method is passed a uri. It should only return HTTP methods that are
|
* This method is passed a uri. It should only return HTTP methods that are
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This plugin provides support for RFC4709: Mounting WebDAV servers
|
* This addon provides support for RFC4709: Mounting WebDAV servers
|
||||||
*
|
*
|
||||||
* Simply append ?mount to any collection to generate the davmount response.
|
* Simply append ?mount to any collection to generate the davmount response.
|
||||||
*
|
*
|
||||||
|
@ -20,7 +20,7 @@ class Sabre_DAV_Mount_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
private $server;
|
private $server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the plugin and registers event handles
|
* Initializes the addon and registers event handles
|
||||||
*
|
*
|
||||||
* @param Sabre_DAV_Server $server
|
* @param Sabre_DAV_Server $server
|
||||||
* @return void
|
* @return void
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Partial update plugin (Patch method)
|
* Partial update addon (Patch method)
|
||||||
*
|
*
|
||||||
* This plugin provides a way to modify only part of a target resource
|
* This addon provides a way to modify only part of a target resource
|
||||||
* It may bu used to update a file chunk, upload big a file into smaller
|
* It may bu used to update a file chunk, upload big a file into smaller
|
||||||
* chunks or resume an upload.
|
* chunks or resume an upload.
|
||||||
*
|
*
|
||||||
|
@ -25,7 +25,7 @@ class Sabre_DAV_PartialUpdate_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
protected $server;
|
protected $server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the plugin
|
* Initializes the addon
|
||||||
*
|
*
|
||||||
* This method is automatically called by the Server class after addPlugin.
|
* This method is automatically called by the Server class after addPlugin.
|
||||||
*
|
*
|
||||||
|
@ -40,9 +40,9 @@ class Sabre_DAV_PartialUpdate_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a plugin name.
|
* Returns a addon name.
|
||||||
*
|
*
|
||||||
* Using this name other plugins will be able to access other plugins
|
* Using this name other addons will be able to access other addons
|
||||||
* using Sabre_DAV_Server::getPlugin
|
* using Sabre_DAV_Server::getPlugin
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
|
@ -57,7 +57,7 @@ class Sabre_DAV_PartialUpdate_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
* This method is called by the Server if the user used an HTTP method
|
* This method is called by the Server if the user used an HTTP method
|
||||||
* the server didn't recognize.
|
* the server didn't recognize.
|
||||||
*
|
*
|
||||||
* This plugin intercepts the PATCH methods.
|
* This addon intercepts the PATCH methods.
|
||||||
*
|
*
|
||||||
* @param string $method
|
* @param string $method
|
||||||
* @param string $uri
|
* @param string $uri
|
||||||
|
@ -75,7 +75,7 @@ class Sabre_DAV_PartialUpdate_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use this method to tell the server this plugin defines additional
|
* Use this method to tell the server this addon defines additional
|
||||||
* HTTP methods.
|
* HTTP methods.
|
||||||
*
|
*
|
||||||
* This method is passed a uri. It should only return HTTP methods that are
|
* This method is passed a uri. It should only return HTTP methods that are
|
||||||
|
|
|
@ -60,7 +60,7 @@ class Sabre_DAV_Server {
|
||||||
public $httpRequest;
|
public $httpRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The list of plugins
|
* The list of addons
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
|
@ -324,7 +324,7 @@ class Sabre_DAV_Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a plugin to the server
|
* Adds a addon to the server
|
||||||
*
|
*
|
||||||
* For more information, console the documentation of Sabre_DAV_ServerPlugin
|
* For more information, console the documentation of Sabre_DAV_ServerPlugin
|
||||||
*
|
*
|
||||||
|
@ -339,9 +339,9 @@ class Sabre_DAV_Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an initialized plugin by it's name.
|
* Returns an initialized addon by it's name.
|
||||||
*
|
*
|
||||||
* This function returns null if the plugin was not found.
|
* This function returns null if the addon was not found.
|
||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @return Sabre_DAV_ServerPlugin
|
* @return Sabre_DAV_ServerPlugin
|
||||||
|
@ -361,7 +361,7 @@ class Sabre_DAV_Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all plugins
|
* Returns all addons
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
|
@ -379,7 +379,7 @@ class Sabre_DAV_Server {
|
||||||
* It is possible to control the order of the callbacks through the
|
* It is possible to control the order of the callbacks through the
|
||||||
* priority argument.
|
* priority argument.
|
||||||
*
|
*
|
||||||
* This is for example used to make sure that the authentication plugin
|
* This is for example used to make sure that the authentication addon
|
||||||
* is triggered before anything else. If it's not needed to change this
|
* is triggered before anything else. If it's not needed to change this
|
||||||
* number, it is recommended to ommit.
|
* number, it is recommended to ommit.
|
||||||
*
|
*
|
||||||
|
@ -1050,7 +1050,7 @@ class Sabre_DAV_Server {
|
||||||
$methods[] = 'MKCOL';
|
$methods[] = 'MKCOL';
|
||||||
}
|
}
|
||||||
|
|
||||||
// We're also checking if any of the plugins register any new methods
|
// We're also checking if any of the addons register any new methods
|
||||||
foreach($this->plugins as $plugin) $methods = array_merge($methods, $plugin->getHTTPMethods($uri));
|
foreach($this->plugins as $plugin) $methods = array_merge($methods, $plugin->getHTTPMethods($uri));
|
||||||
array_unique($methods);
|
array_unique($methods);
|
||||||
|
|
||||||
|
@ -1464,7 +1464,7 @@ class Sabre_DAV_Server {
|
||||||
*
|
*
|
||||||
* Currently this is done by HTTP PUT and HTTP LOCK (in the Locks_Plugin).
|
* Currently this is done by HTTP PUT and HTTP LOCK (in the Locks_Plugin).
|
||||||
* It was important to get this done through a centralized function,
|
* It was important to get this done through a centralized function,
|
||||||
* allowing plugins to intercept this using the beforeCreateFile event.
|
* allowing addons to intercept this using the beforeCreateFile event.
|
||||||
*
|
*
|
||||||
* This method will return true if the file was actually created
|
* This method will return true if the file was actually created
|
||||||
*
|
*
|
||||||
|
@ -1654,7 +1654,7 @@ class Sabre_DAV_Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$hasError) {
|
if (!$hasError) {
|
||||||
// Allowing plugins to take care of property updating
|
// Allowing addons to take care of property updating
|
||||||
$hasError = !$this->broadcastEvent('updateProperties',array(
|
$hasError = !$this->broadcastEvent('updateProperties',array(
|
||||||
&$remainingProperties,
|
&$remainingProperties,
|
||||||
&$result,
|
&$result,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The baseclass for all server plugins.
|
* The baseclass for all server addons.
|
||||||
*
|
*
|
||||||
* Plugins can modify or extend the servers behaviour.
|
* Plugins can modify or extend the servers behaviour.
|
||||||
*
|
*
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
abstract class Sabre_DAV_ServerPlugin {
|
abstract class Sabre_DAV_ServerPlugin {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This initializes the plugin.
|
* This initializes the addon.
|
||||||
*
|
*
|
||||||
* This function is called by Sabre_DAV_Server, after
|
* This function is called by Sabre_DAV_Server, after
|
||||||
* addPlugin is called.
|
* addPlugin is called.
|
||||||
|
@ -41,7 +41,7 @@ abstract class Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use this method to tell the server this plugin defines additional
|
* Use this method to tell the server this addon defines additional
|
||||||
* HTTP methods.
|
* HTTP methods.
|
||||||
*
|
*
|
||||||
* This method is passed a uri. It should only return HTTP methods that are
|
* This method is passed a uri. It should only return HTTP methods that are
|
||||||
|
@ -57,9 +57,9 @@ abstract class Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a plugin name.
|
* Returns a addon name.
|
||||||
*
|
*
|
||||||
* Using this name other plugins will be able to access other plugins
|
* Using this name other addons will be able to access other addons
|
||||||
* using Sabre_DAV_Server::getPlugin
|
* using Sabre_DAV_Server::getPlugin
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
|
@ -71,7 +71,7 @@ abstract class Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of reports this plugin supports.
|
* Returns a list of reports this addon supports.
|
||||||
*
|
*
|
||||||
* This will be used in the {DAV:}supported-report-set property.
|
* This will be used in the {DAV:}supported-report-set property.
|
||||||
* Note that you still need to subscribe to the 'report' event to actually
|
* Note that you still need to subscribe to the 'report' event to actually
|
||||||
|
|
|
@ -45,7 +45,7 @@ class Sabre_DAV_TemporaryFileFilterPlugin extends Sabre_DAV_ServerPlugin {
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the directory where this plugin
|
* This is the directory where this addon
|
||||||
* will store it's files.
|
* will store it's files.
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
|
@ -60,7 +60,7 @@ class Sabre_DAV_TemporaryFileFilterPlugin extends Sabre_DAV_ServerPlugin {
|
||||||
private $server;
|
private $server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the plugin.
|
* Creates the addon.
|
||||||
*
|
*
|
||||||
* Make sure you specify a directory for your files. If you don't, we
|
* Make sure you specify a directory for your files. If you don't, we
|
||||||
* will use PHP's directory for session-storage instead, and you might
|
* will use PHP's directory for session-storage instead, and you might
|
||||||
|
@ -77,9 +77,9 @@ class Sabre_DAV_TemporaryFileFilterPlugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize the plugin
|
* Initialize the addon
|
||||||
*
|
*
|
||||||
* This is called automatically be the Server class after this plugin is
|
* This is called automatically be the Server class after this addon is
|
||||||
* added with Sabre_DAV_Server::addPlugin()
|
* added with Sabre_DAV_Server::addPlugin()
|
||||||
*
|
*
|
||||||
* @param Sabre_DAV_Server $server
|
* @param Sabre_DAV_Server $server
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* SabreDAV ACL Plugin
|
* SabreDAV ACL Plugin
|
||||||
*
|
*
|
||||||
* This plugin provides functionality to enforce ACL permissions.
|
* This addon provides functionality to enforce ACL permissions.
|
||||||
* ACL is defined in RFC3744.
|
* ACL is defined in RFC3744.
|
||||||
*
|
*
|
||||||
* In addition it also provides support for the {DAV:}current-user-principal
|
* In addition it also provides support for the {DAV:}current-user-principal
|
||||||
|
@ -81,7 +81,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This string is prepended to the username of the currently logged in
|
* This string is prepended to the username of the currently logged in
|
||||||
* user. This allows the plugin to determine the principal path based on
|
* user. This allows the addon to determine the principal path based on
|
||||||
* the username.
|
* the username.
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
|
@ -111,7 +111,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
public $adminPrincipals = array();
|
public $adminPrincipals = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of features added by this plugin.
|
* Returns a list of features added by this addon.
|
||||||
*
|
*
|
||||||
* This list is used in the response of a HTTP OPTIONS request.
|
* This list is used in the response of a HTTP OPTIONS request.
|
||||||
*
|
*
|
||||||
|
@ -136,9 +136,9 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a plugin name.
|
* Returns a addon name.
|
||||||
*
|
*
|
||||||
* Using this name other plugins will be able to access other plugins
|
* Using this name other addons will be able to access other addons
|
||||||
* using Sabre_DAV_Server::getPlugin
|
* using Sabre_DAV_Server::getPlugin
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
|
@ -150,7 +150,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of reports this plugin supports.
|
* Returns a list of reports this addon supports.
|
||||||
*
|
*
|
||||||
* This will be used in the {DAV:}supported-report-set property.
|
* This will be used in the {DAV:}supported-report-set property.
|
||||||
* Note that you still need to subscribe to the 'report' event to actually
|
* Note that you still need to subscribe to the 'report' event to actually
|
||||||
|
@ -283,7 +283,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the supported privilege structure for this ACL plugin.
|
* Returns the supported privilege structure for this ACL addon.
|
||||||
*
|
*
|
||||||
* See RFC3744 for more details. Currently we default on a simple,
|
* See RFC3744 for more details. Currently we default on a simple,
|
||||||
* standard structure.
|
* standard structure.
|
||||||
|
@ -608,7 +608,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets up the plugin
|
* Sets up the addon
|
||||||
*
|
*
|
||||||
* This method is automatically called by the server class.
|
* This method is automatically called by the server class.
|
||||||
*
|
*
|
||||||
|
@ -1067,7 +1067,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
|
||||||
* there.
|
* there.
|
||||||
*
|
*
|
||||||
* Other rfc's, such as ACL rely on this report, so it made sense to put
|
* Other rfc's, such as ACL rely on this report, so it made sense to put
|
||||||
* it in this plugin.
|
* it in this addon.
|
||||||
*
|
*
|
||||||
* @param DOMElement $dom
|
* @param DOMElement $dom
|
||||||
* @return void
|
* @return void
|
||||||
|
|
|
@ -53,7 +53,7 @@ class Sabre_DAVACL_PrincipalBackend_PDO implements Sabre_DAVACL_IPrincipalBacken
|
||||||
),
|
),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This property is actually used by the CardDAV plugin, where it gets
|
* This property is actually used by the CardDAV addon, where it gets
|
||||||
* mapped to {http://calendarserver.orgi/ns/}me-card.
|
* mapped to {http://calendarserver.orgi/ns/}me-card.
|
||||||
*
|
*
|
||||||
* The reason we don't straight-up use that property, is because
|
* The reason we don't straight-up use that property, is because
|
||||||
|
|
|
@ -9,7 +9,7 @@ For more details check the introductory blog post - http://laktek.com/2008/10/27
|
||||||
You can either clone [this repo](https://github.com/laktek/really-simple-color-picker) or download the latest build as a zip from here - http://github.com/laktek/really-simple-color-picker/zipball/master
|
You can either clone [this repo](https://github.com/laktek/really-simple-color-picker) or download the latest build as a zip from here - http://github.com/laktek/really-simple-color-picker/zipball/master
|
||||||
|
|
||||||
Color Picker requires jQuery 1.2.6 or higher. Make sure to load it before Color Picker (there's no other dependencies!).
|
Color Picker requires jQuery 1.2.6 or higher. Make sure to load it before Color Picker (there's no other dependencies!).
|
||||||
For default styles of the color picker load the CSS file that comes with the plugin.
|
For default styles of the color picker load the CSS file that comes with the addon.
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<script language="javascript" type="text/javascript" src=jquery.min.js"></script>
|
<script language="javascript" type="text/javascript" src=jquery.min.js"></script>
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Friendica\Util\DateTimeFormat;
|
||||||
|
|
||||||
define("DAV_ACL_READ", "{DAV:}read");
|
define("DAV_ACL_READ", "{DAV:}read");
|
||||||
define("DAV_ACL_WRITE", "{DAV:}write");
|
define("DAV_ACL_WRITE", "{DAV:}write");
|
||||||
|
@ -150,7 +151,7 @@ function vcard_source_compile($vcardsource)
|
||||||
*/
|
*/
|
||||||
function wdcal_php2MySqlTime($phpDate)
|
function wdcal_php2MySqlTime($phpDate)
|
||||||
{
|
{
|
||||||
return date("Y-m-d H:i:s", $phpDate);
|
return date(DateTimeFormat::MYSQL, $phpDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -159,7 +160,7 @@ function wdcal_php2MySqlTime($phpDate)
|
||||||
*/
|
*/
|
||||||
function wdcal_mySql2PhpTime($sqlDate)
|
function wdcal_mySql2PhpTime($sqlDate)
|
||||||
{
|
{
|
||||||
$ts = DateTime::createFromFormat("Y-m-d H:i:s", $sqlDate);
|
$ts = DateTime::createFromFormat(DateTimeFormat::MYSQL, $sqlDate);
|
||||||
return $ts->format("U");
|
return $ts->format("U");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Friendica\Util\DateTimeFormat;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -109,15 +110,15 @@ function renderCalDavEntry_data(&$calendar, &$calendarobject)
|
||||||
|
|
||||||
q("INSERT INTO %s%sjqcalendar (`calendar_id`, `calendarobject_id`, `Summary`, `StartTime`, `EndTime`, `IsEditable`, `IsAllDayEvent`, `IsRecurring`, `Color`) VALUES
|
q("INSERT INTO %s%sjqcalendar (`calendar_id`, `calendarobject_id`, `Summary`, `StartTime`, `EndTime`, `IsEditable`, `IsAllDayEvent`, `IsRecurring`, `Color`) VALUES
|
||||||
(%d, %d, '%s', CONVERT_TZ('%s', '$timezoneOffset', @@session.time_zone), CONVERT_TZ('%s', '$timezoneOffset', @@session.time_zone), %d, %d, %d, '%s')",
|
(%d, %d, '%s', CONVERT_TZ('%s', '$timezoneOffset', @@session.time_zone), CONVERT_TZ('%s', '$timezoneOffset', @@session.time_zone), %d, %d, %d, '%s')",
|
||||||
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($calendar["id"]), IntVal($calendarobject["id"]), dbesc($event["summary"]), date("Y-m-d H:i:s", $start),
|
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($calendar["id"]), IntVal($calendarobject["id"]), dbesc($event["summary"]), date(DateTimeFormat::MYSQL, $start),
|
||||||
date("Y-m-d H:i:s", $last_end), 1, $allday, $recurring, dbesc(substr($event["color"], 1))
|
date(DateTimeFormat::MYSQL, $last_end), 1, $allday, $recurring, dbesc(substr($event["color"], 1))
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($alarms as $alarm) {
|
foreach ($alarms as $alarm) {
|
||||||
$alarm = renderCalDavEntry_calcalarm($alarm, $component);
|
$alarm = renderCalDavEntry_calcalarm($alarm, $component);
|
||||||
$notified = ($alarm->getTimestamp() < time() ? 1 : 0);
|
$notified = ($alarm->getTimestamp() < time() ? 1 : 0);
|
||||||
q("INSERT INTO %s%snotifications (`calendar_id`, `calendarobject_id`, `alert_date`, `notified`) VALUES (%d, %d, CONVERT_TZ('%s', '$timezoneOffset', @@session.time_zone), %d)",
|
q("INSERT INTO %s%snotifications (`calendar_id`, `calendarobject_id`, `alert_date`, `notified`) VALUES (%d, %d, CONVERT_TZ('%s', '$timezoneOffset', @@session.time_zone), %d)",
|
||||||
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($calendar["id"]), IntVal($calendarobject["id"]), $alarm->format("Y-m-d H:i:s"), $notified
|
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($calendar["id"]), IntVal($calendarobject["id"]), $alarm->format(DateTimeFormat::MYSQL), $notified
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
|
||||||
class Sabre_CalDAV_Backend_Private extends Sabre_CalDAV_Backend_Common
|
class Sabre_CalDAV_Backend_Private extends Sabre_CalDAV_Backend_Common
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -36,7 +38,7 @@ class Sabre_CalDAV_Backend_Private extends Sabre_CalDAV_Backend_Common
|
||||||
*/
|
*/
|
||||||
public static function getBackendTypeName()
|
public static function getBackendTypeName()
|
||||||
{
|
{
|
||||||
return t("Private Events");
|
return L10n::t("Private Events");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
|
||||||
class Sabre_CardDAV_Backend_Std extends Sabre_CardDAV_Backend_Common
|
class Sabre_CardDAV_Backend_Std extends Sabre_CardDAV_Backend_Common
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -43,7 +45,7 @@ class Sabre_CardDAV_Backend_Std extends Sabre_CardDAV_Backend_Common
|
||||||
*/
|
*/
|
||||||
public static function getBackendTypeName()
|
public static function getBackendTypeName()
|
||||||
{
|
{
|
||||||
return t("Private Addressbooks");
|
return L10n::t("Private Addressbooks");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -141,7 +141,7 @@
|
||||||
|
|
||||||
|
|
||||||
if ($.fn.noSelect == undefined) {
|
if ($.fn.noSelect == undefined) {
|
||||||
$.fn.noSelect = function (p) { //no select plugin by me :-)
|
$.fn.noSelect = function (p) { //no select addon by me :-)
|
||||||
var prevent;
|
var prevent;
|
||||||
if (p == null)
|
if (p == null)
|
||||||
prevent = true;
|
prevent = true;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\Util\DateTimeFormat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param mixed $obj
|
* @param mixed $obj
|
||||||
|
@ -89,7 +89,7 @@ function wdcal_print_feed($base_path = "")
|
||||||
$cs = wdcal_print_feed_getCal($server, DAV_ACL_WRITE);
|
$cs = wdcal_print_feed_getCal($server, DAV_ACL_WRITE);
|
||||||
if ($cs == null) {
|
if ($cs == null) {
|
||||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||||
'Msg' => t('No access')));
|
'Msg' => L10n::t('No access')));
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
@ -101,9 +101,9 @@ function wdcal_print_feed($base_path = "")
|
||||||
else $type = Sabre\VObject\Property\DateTime::LOCALTZ;
|
else $type = Sabre\VObject\Property\DateTime::LOCALTZ;
|
||||||
|
|
||||||
$datetime_start = new Sabre\VObject\Property\DateTime("DTSTART");
|
$datetime_start = new Sabre\VObject\Property\DateTime("DTSTART");
|
||||||
$datetime_start->setDateTime(new DateTime(date("Y-m-d H:i:s", IntVal($_REQUEST["CalendarStartTime"]))), $type);
|
$datetime_start->setDateTime(new DateTime(date(DateTimeFormat::MYSQL, IntVal($_REQUEST["CalendarStartTime"]))), $type);
|
||||||
$datetime_end = new Sabre\VObject\Property\DateTime("DTEND");
|
$datetime_end = new Sabre\VObject\Property\DateTime("DTEND");
|
||||||
$datetime_end->setDateTime(new DateTime(date("Y-m-d H:i:s", IntVal($_REQUEST["CalendarEndTime"]))), $type);
|
$datetime_end->setDateTime(new DateTime(date(DateTimeFormat::MYSQL, IntVal($_REQUEST["CalendarEndTime"]))), $type);
|
||||||
|
|
||||||
$component->add($datetime_start);
|
$component->add($datetime_start);
|
||||||
$component->add($datetime_end);
|
$component->add($datetime_end);
|
||||||
|
@ -163,7 +163,7 @@ function wdcal_print_feed($base_path = "")
|
||||||
$r = q("SELECT `calendarobject_id`, `calendar_id` FROM %s%sjqcalendar WHERE `id`=%d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($_REQUEST["jq_id"]));
|
$r = q("SELECT `calendarobject_id`, `calendar_id` FROM %s%sjqcalendar WHERE `id`=%d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($_REQUEST["jq_id"]));
|
||||||
if (count($r) != 1) {
|
if (count($r) != 1) {
|
||||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||||
'Msg' => t('No access')));
|
'Msg' => L10n::t('No access')));
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
@ -175,7 +175,7 @@ function wdcal_print_feed($base_path = "")
|
||||||
|
|
||||||
if (!$component) {
|
if (!$component) {
|
||||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||||
'Msg' => t('No access')));
|
'Msg' => L10n::t('No access')));
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,9 +183,9 @@ function wdcal_print_feed($base_path = "")
|
||||||
else $type = Sabre\VObject\Property\DateTime::LOCALTZ;
|
else $type = Sabre\VObject\Property\DateTime::LOCALTZ;
|
||||||
|
|
||||||
$datetime_start = new Sabre\VObject\Property\DateTime("DTSTART");
|
$datetime_start = new Sabre\VObject\Property\DateTime("DTSTART");
|
||||||
$datetime_start->setDateTime(new DateTime(date("Y-m-d H:i:s", IntVal($_REQUEST["CalendarStartTime"]))), $type);
|
$datetime_start->setDateTime(new DateTime(date(DateTimeFormat::MYSQL, IntVal($_REQUEST["CalendarStartTime"]))), $type);
|
||||||
$datetime_end = new Sabre\VObject\Property\DateTime("DTEND");
|
$datetime_end = new Sabre\VObject\Property\DateTime("DTEND");
|
||||||
$datetime_end->setDateTime(new DateTime(date("Y-m-d H:i:s", IntVal($_REQUEST["CalendarEndTime"]))), $type);
|
$datetime_end->setDateTime(new DateTime(date(DateTimeFormat::MYSQL, IntVal($_REQUEST["CalendarEndTime"]))), $type);
|
||||||
|
|
||||||
$component->__unset("DTSTART");
|
$component->__unset("DTSTART");
|
||||||
$component->__unset("DTEND");
|
$component->__unset("DTEND");
|
||||||
|
@ -203,7 +203,7 @@ function wdcal_print_feed($base_path = "")
|
||||||
);
|
);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||||
'Msg' => t('No access')));
|
'Msg' => L10n::t('No access')));
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -211,7 +211,7 @@ function wdcal_print_feed($base_path = "")
|
||||||
$r = q("SELECT `calendarobject_id`, `calendar_id` FROM %s%sjqcalendar WHERE `id`=%d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($_REQUEST["jq_id"]));
|
$r = q("SELECT `calendarobject_id`, `calendar_id` FROM %s%sjqcalendar WHERE `id`=%d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($_REQUEST["jq_id"]));
|
||||||
if (count($r) != 1) {
|
if (count($r) != 1) {
|
||||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||||
'Msg' => t('No access')));
|
'Msg' => L10n::t('No access')));
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
@ -226,7 +226,7 @@ function wdcal_print_feed($base_path = "")
|
||||||
);
|
);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||||
'Msg' => t('No access')));
|
'Msg' => L10n::t('No access')));
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\Core\PConfig;
|
||||||
|
|
||||||
abstract class wdcal_local
|
abstract class wdcal_local
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -145,7 +148,7 @@ class wdcal_local_us extends wdcal_local {
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
static function getName() {
|
static function getName() {
|
||||||
return t("U.S. Time Format (mm/dd/YYYY)");
|
return L10n::t("U.S. Time Format (mm/dd/YYYY)");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -240,7 +243,7 @@ class wdcal_local_de extends wdcal_local {
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
static function getName() {
|
static function getName() {
|
||||||
return t("German Time Format (dd.mm.YYYY)");
|
return L10n::t("German Time Format (dd.mm.YYYY)");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\Util\DateTimeFormat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param wdcal_local $localization
|
* @param wdcal_local $localization
|
||||||
* @param string $baseurl
|
* @param string $baseurl
|
||||||
|
@ -27,7 +30,7 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
$vObject = dav_get_current_user_calendarobject($server, $calendar, $obj_uri["uri"], DAV_ACL_WRITE);
|
$vObject = dav_get_current_user_calendarobject($server, $calendar, $obj_uri["uri"], DAV_ACL_WRITE);
|
||||||
$component = dav_get_eventComponent($vObject);
|
$component = dav_get_eventComponent($vObject);
|
||||||
|
|
||||||
if ($component == null) return t('Could not open component for editing');
|
if ($component == null) return L10n::t('Could not open component for editing');
|
||||||
|
|
||||||
/** @var Sabre\VObject\Property\DateTime $dtstart */
|
/** @var Sabre\VObject\Property\DateTime $dtstart */
|
||||||
$dtstart = $component->__get("DTSTART");
|
$dtstart = $component->__get("DTSTART");
|
||||||
|
@ -137,13 +140,13 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
|
|
||||||
$postto = $baseurl . "/dav/wdcal/" . ($uri == 0 ? "new/" : $calendar_id . "/" . $uri . "/edit/");
|
$postto = $baseurl . "/dav/wdcal/" . ($uri == 0 ? "new/" : $calendar_id . "/" . $uri . "/edit/");
|
||||||
|
|
||||||
$out = "<a href='" . $baseurl . "/dav/wdcal/'>" . t("Go back to the calendar") . "</a><br><br>";
|
$out = "<a href='" . $baseurl . "/dav/wdcal/'>" . L10n::t("Go back to the calendar") . "</a><br><br>";
|
||||||
$out .= "<form method='POST' action='$postto'>
|
$out .= "<form method='POST' action='$postto'>
|
||||||
<input type='hidden' name='form_security_token' value='" . get_form_security_token('caledit') . "'>\n";
|
<input type='hidden' name='form_security_token' value='" . get_form_security_token('caledit') . "'>\n";
|
||||||
|
|
||||||
$out .= "<h2>" . t("Event data") . "</h2>";
|
$out .= "<h2>" . L10n::t("Event data") . "</h2>";
|
||||||
|
|
||||||
$out .= "<label for='calendar' class='block'>" . t("Calendar") . ":</label><select id='calendar' name='calendar' size='1'>";
|
$out .= "<label for='calendar' class='block'>" . L10n::t("Calendar") . ":</label><select id='calendar' name='calendar' size='1'>";
|
||||||
$found = false;
|
$found = false;
|
||||||
$cal_col = "aaaaaa";
|
$cal_col = "aaaaaa";
|
||||||
foreach ($calendars as $cal) {
|
foreach ($calendars as $cal) {
|
||||||
|
@ -160,47 +163,47 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
$out .= "</select>";
|
$out .= "</select>";
|
||||||
$out .= " <label class='plain'><input type='checkbox' name='color_override' id='color_override' ";
|
$out .= " <label class='plain'><input type='checkbox' name='color_override' id='color_override' ";
|
||||||
if (!is_null($event["Color"])) $out .= "checked";
|
if (!is_null($event["Color"])) $out .= "checked";
|
||||||
$out .= "> " . t("Special color") . ":</label>";
|
$out .= "> " . L10n::t("Special color") . ":</label>";
|
||||||
$out .= "<span id='cal_color_holder' ";
|
$out .= "<span id='cal_color_holder' ";
|
||||||
if (is_null($event["Color"])) $out .= "style='display: none;'";
|
if (is_null($event["Color"])) $out .= "style='display: none;'";
|
||||||
$out .= "><input name='color' id='cal_color' value='" . (is_null($event["Color"]) ? "#" . $cal_col : escape_tags($event["Color"])) . "'></span>";
|
$out .= "><input name='color' id='cal_color' value='" . (is_null($event["Color"]) ? "#" . $cal_col : escape_tags($event["Color"])) . "'></span>";
|
||||||
$out .= "<br>\n";
|
$out .= "<br>\n";
|
||||||
|
|
||||||
$out .= "<label class='block' for='cal_summary'>" . t("Subject") . ":</label>
|
$out .= "<label class='block' for='cal_summary'>" . L10n::t("Subject") . ":</label>
|
||||||
<input name='summary' id='cal_summary' value=\"" . escape_tags($event["Summary"]) . "\"><br>\n";
|
<input name='summary' id='cal_summary' value=\"" . escape_tags($event["Summary"]) . "\"><br>\n";
|
||||||
$out .= "<label class='block' for='cal_allday'>Is All-Day event:</label><input type='checkbox' name='allday' id='cal_allday' " . ($event["IsAllDayEvent"] ? "checked" : "") . "><br>\n";
|
$out .= "<label class='block' for='cal_allday'>Is All-Day event:</label><input type='checkbox' name='allday' id='cal_allday' " . ($event["IsAllDayEvent"] ? "checked" : "") . "><br>\n";
|
||||||
|
|
||||||
$out .= "<label class='block' for='cal_start_date'>" . t("Starts") . ":</label>";
|
$out .= "<label class='block' for='cal_start_date'>" . L10n::t("Starts") . ":</label>";
|
||||||
$out .= "<input name='start_date' value='" . $localization->dateformat_datepicker_php($event["StartTime"]) . "' id='cal_start_date'>";
|
$out .= "<input name='start_date' value='" . $localization->dateformat_datepicker_php($event["StartTime"]) . "' id='cal_start_date'>";
|
||||||
$out .= "<input name='start_time' value='" . date("H:i", $event["StartTime"]) . "' id='cal_start_time'>";
|
$out .= "<input name='start_time' value='" . date("H:i", $event["StartTime"]) . "' id='cal_start_time'>";
|
||||||
$out .= "<br>\n";
|
$out .= "<br>\n";
|
||||||
|
|
||||||
$out .= "<label class='block' for='cal_end_date'>" . t("Ends") . ":</label>";
|
$out .= "<label class='block' for='cal_end_date'>" . L10n::t("Ends") . ":</label>";
|
||||||
$out .= "<input name='end_date' value='" . $localization->dateformat_datepicker_php($event["EndTime"]) . "' id='cal_end_date'>";
|
$out .= "<input name='end_date' value='" . $localization->dateformat_datepicker_php($event["EndTime"]) . "' id='cal_end_date'>";
|
||||||
$out .= "<input name='end_time' value='" . date("H:i", $event["EndTime"]) . "' id='cal_end_time'>";
|
$out .= "<input name='end_time' value='" . date("H:i", $event["EndTime"]) . "' id='cal_end_time'>";
|
||||||
$out .= "<br>\n";
|
$out .= "<br>\n";
|
||||||
|
|
||||||
$out .= "<label class='block' for='cal_location'>" . t("Location") . ":</label><input name='location' id='cal_location' value=\"" . escape_tags($event["Location"]) . "\"><br>\n";
|
$out .= "<label class='block' for='cal_location'>" . L10n::t("Location") . ":</label><input name='location' id='cal_location' value=\"" . escape_tags($event["Location"]) . "\"><br>\n";
|
||||||
|
|
||||||
$out .= "<label class='block' for='event-desc-textarea'>" . t("Description") . ":</label> <textarea id='event-desc-textarea' name='wdcal_desc' style='vertical-align: top; width: 400px; height: 100px;'>" . escape_tags($event["Description"]) . "</textarea>";
|
$out .= "<label class='block' for='event-desc-textarea'>" . L10n::t("Description") . ":</label> <textarea id='event-desc-textarea' name='wdcal_desc' style='vertical-align: top; width: 400px; height: 100px;'>" . escape_tags($event["Description"]) . "</textarea>";
|
||||||
$out .= "<br style='clear: both;'>";
|
$out .= "<br style='clear: both;'>";
|
||||||
|
|
||||||
$out .= "<h2>" . t("Recurrence") . "</h2>";
|
$out .= "<h2>" . L10n::t("Recurrence") . "</h2>";
|
||||||
|
|
||||||
$out .= "<label class='block' for='rec_frequency'>" . t("Frequency") . ":</label> <select id='rec_frequency' name='rec_frequency' size='1'>";
|
$out .= "<label class='block' for='rec_frequency'>" . L10n::t("Frequency") . ":</label> <select id='rec_frequency' name='rec_frequency' size='1'>";
|
||||||
$out .= "<option value=''>" . t("None") . "</option>\n";
|
$out .= "<option value=''>" . L10n::t("None") . "</option>\n";
|
||||||
$out .= "<option value='daily' ";
|
$out .= "<option value='daily' ";
|
||||||
if ($recurrence && $recurrence->frequency == "daily") $out .= "selected";
|
if ($recurrence && $recurrence->frequency == "daily") $out .= "selected";
|
||||||
$out .= ">" . t("Daily") . "</option>\n";
|
$out .= ">" . L10n::t("Daily") . "</option>\n";
|
||||||
$out .= "<option value='weekly' ";
|
$out .= "<option value='weekly' ";
|
||||||
if ($recurrence && $recurrence->frequency == "weekly") $out .= "selected";
|
if ($recurrence && $recurrence->frequency == "weekly") $out .= "selected";
|
||||||
$out .= ">" . t("Weekly") . "</option>\n";
|
$out .= ">" . L10n::t("Weekly") . "</option>\n";
|
||||||
$out .= "<option value='monthly' ";
|
$out .= "<option value='monthly' ";
|
||||||
if ($recurrence && $recurrence->frequency == "monthly") $out .= "selected";
|
if ($recurrence && $recurrence->frequency == "monthly") $out .= "selected";
|
||||||
$out .= ">" . t("Monthly") . "</option>\n";
|
$out .= ">" . L10n::t("Monthly") . "</option>\n";
|
||||||
$out .= "<option value='yearly' ";
|
$out .= "<option value='yearly' ";
|
||||||
if ($recurrence && $recurrence->frequency == "yearly") $out .= "selected";
|
if ($recurrence && $recurrence->frequency == "yearly") $out .= "selected";
|
||||||
$out .= ">" . t("Yearly") . "</option>\n";
|
$out .= ">" . L10n::t("Yearly") . "</option>\n";
|
||||||
$out .= "</select><br>\n";
|
$out .= "</select><br>\n";
|
||||||
$out .= "<div id='rec_details'>";
|
$out .= "<div id='rec_details'>";
|
||||||
|
|
||||||
|
@ -211,15 +214,15 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
$select .= ">$i</option>\n";
|
$select .= ">$i</option>\n";
|
||||||
}
|
}
|
||||||
$select .= "</select>";
|
$select .= "</select>";
|
||||||
$time = "<span class='rec_daily'>" . t("days") . "</span>";
|
$time = "<span class='rec_daily'>" . L10n::t("days") . "</span>";
|
||||||
$time .= "<span class='rec_weekly'>" . t("weeks") . "</span>";
|
$time .= "<span class='rec_weekly'>" . L10n::t("weeks") . "</span>";
|
||||||
$time .= "<span class='rec_monthly'>" . t("months") . "</span>";
|
$time .= "<span class='rec_monthly'>" . L10n::t("months") . "</span>";
|
||||||
$time .= "<span class='rec_yearly'>" . t("years") . "</span>";
|
$time .= "<span class='rec_yearly'>" . L10n::t("years") . "</span>";
|
||||||
$out .= "<label class='block'>" . t("Interval") . ":</label> " . str_replace(array("%select%", "%time%"), array($select, $time), t("All %select% %time%")) . "<br>";
|
$out .= "<label class='block'>" . L10n::t("Interval") . ":</label> " . str_replace(array("%select%", "%time%"), array($select, $time), L10n::t("All %select% %time%")) . "<br>";
|
||||||
|
|
||||||
|
|
||||||
$out .= "<div class='rec_daily'>";
|
$out .= "<div class='rec_daily'>";
|
||||||
$out .= "<label class='block'>" . t("Days") . ":</label>";
|
$out .= "<label class='block'>" . L10n::t("Days") . ":</label>";
|
||||||
if ($recurrence && $recurrence->byDay) {
|
if ($recurrence && $recurrence->byDay) {
|
||||||
$byday = $recurrence->byDay;
|
$byday = $recurrence->byDay;
|
||||||
} else {
|
} else {
|
||||||
|
@ -228,36 +231,36 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
if ($localization->getFirstDayOfWeek() == 0) {
|
if ($localization->getFirstDayOfWeek() == 0) {
|
||||||
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='SU' ";
|
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='SU' ";
|
||||||
if (in_array("SU", $byday)) $out .= "checked";
|
if (in_array("SU", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Sunday") . "</label> ";
|
$out .= ">" . L10n::t("Sunday") . "</label> ";
|
||||||
}
|
}
|
||||||
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='MO' ";
|
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='MO' ";
|
||||||
if (in_array("MO", $byday)) $out .= "checked";
|
if (in_array("MO", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Monday") . "</label> ";
|
$out .= ">" . L10n::t("Monday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='TU' ";
|
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='TU' ";
|
||||||
if (in_array("TU", $byday)) $out .= "checked";
|
if (in_array("TU", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Tuesday") . "</label> ";
|
$out .= ">" . L10n::t("Tuesday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='WE' ";
|
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='WE' ";
|
||||||
if (in_array("WE", $byday)) $out .= "checked";
|
if (in_array("WE", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Wednesday") . "</label> ";
|
$out .= ">" . L10n::t("Wednesday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='TH' ";
|
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='TH' ";
|
||||||
if (in_array("TH", $byday)) $out .= "checked";
|
if (in_array("TH", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Thursday") . "</label> ";
|
$out .= ">" . L10n::t("Thursday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='FR' ";
|
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='FR' ";
|
||||||
if (in_array("FR", $byday)) $out .= "checked";
|
if (in_array("FR", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Friday") . "</label> ";
|
$out .= ">" . L10n::t("Friday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='SA' ";
|
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='SA' ";
|
||||||
if (in_array("SA", $byday)) $out .= "checked";
|
if (in_array("SA", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Saturday") . "</label> ";
|
$out .= ">" . L10n::t("Saturday") . "</label> ";
|
||||||
if ($localization->getFirstDayOfWeek() != 0) {
|
if ($localization->getFirstDayOfWeek() != 0) {
|
||||||
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='SU' ";
|
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='SU' ";
|
||||||
if (in_array("SU", $byday)) $out .= "checked";
|
if (in_array("SU", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Sunday") . "</label> ";
|
$out .= ">" . L10n::t("Sunday") . "</label> ";
|
||||||
}
|
}
|
||||||
$out .= "</div>";
|
$out .= "</div>";
|
||||||
|
|
||||||
|
|
||||||
$out .= "<div class='rec_weekly'>";
|
$out .= "<div class='rec_weekly'>";
|
||||||
$out .= "<label class='block'>" . t("Days") . ":</label>";
|
$out .= "<label class='block'>" . L10n::t("Days") . ":</label>";
|
||||||
if ($recurrence && $recurrence->byDay) {
|
if ($recurrence && $recurrence->byDay) {
|
||||||
$byday = $recurrence->byDay;
|
$byday = $recurrence->byDay;
|
||||||
} else {
|
} else {
|
||||||
|
@ -267,34 +270,34 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
if ($localization->getFirstDayOfWeek() == 0) {
|
if ($localization->getFirstDayOfWeek() == 0) {
|
||||||
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='SU' ";
|
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='SU' ";
|
||||||
if (in_array("SU", $byday)) $out .= "checked";
|
if (in_array("SU", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Sunday") . "</label> ";
|
$out .= ">" . L10n::t("Sunday") . "</label> ";
|
||||||
}
|
}
|
||||||
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='MO' ";
|
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='MO' ";
|
||||||
if (in_array("MO", $byday)) $out .= "checked";
|
if (in_array("MO", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Monday") . "</label> ";
|
$out .= ">" . L10n::t("Monday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='TU' ";
|
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='TU' ";
|
||||||
if (in_array("TU", $byday)) $out .= "checked";
|
if (in_array("TU", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Tuesday") . "</label> ";
|
$out .= ">" . L10n::t("Tuesday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='WE' ";
|
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='WE' ";
|
||||||
if (in_array("WE", $byday)) $out .= "checked";
|
if (in_array("WE", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Wednesday") . "</label> ";
|
$out .= ">" . L10n::t("Wednesday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='TH' ";
|
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='TH' ";
|
||||||
if (in_array("TH", $byday)) $out .= "checked";
|
if (in_array("TH", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Thursday") . "</label> ";
|
$out .= ">" . L10n::t("Thursday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='FR' ";
|
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='FR' ";
|
||||||
if (in_array("FR", $byday)) $out .= "checked";
|
if (in_array("FR", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Friday") . "</label> ";
|
$out .= ">" . L10n::t("Friday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='SA' ";
|
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='SA' ";
|
||||||
if (in_array("SA", $byday)) $out .= "checked";
|
if (in_array("SA", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Saturday") . "</label> ";
|
$out .= ">" . L10n::t("Saturday") . "</label> ";
|
||||||
if ($localization->getFirstDayOfWeek() != 0) {
|
if ($localization->getFirstDayOfWeek() != 0) {
|
||||||
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='SU' ";
|
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='SU' ";
|
||||||
if (in_array("SU", $byday)) $out .= "checked";
|
if (in_array("SU", $byday)) $out .= "checked";
|
||||||
$out .= ">" . t("Sunday") . "</label> ";
|
$out .= ">" . L10n::t("Sunday") . "</label> ";
|
||||||
}
|
}
|
||||||
$out .= "<br>";
|
$out .= "<br>";
|
||||||
|
|
||||||
$out .= "<label class='block'>" . t("First day of week:") . "</label>";
|
$out .= "<label class='block'>" . L10n::t("First day of week:") . "</label>";
|
||||||
if ($recurrence && $recurrence->weekStart != "") $wkst = $recurrence->weekStart;
|
if ($recurrence && $recurrence->weekStart != "") $wkst = $recurrence->weekStart;
|
||||||
else {
|
else {
|
||||||
if ($localization->getFirstDayOfWeek() == 0) $wkst = "SU";
|
if ($localization->getFirstDayOfWeek() == 0) $wkst = "SU";
|
||||||
|
@ -302,10 +305,10 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
}
|
}
|
||||||
$out .= "<label class='plain'><input type='radio' name='rec_weekly_wkst' value='SU' ";
|
$out .= "<label class='plain'><input type='radio' name='rec_weekly_wkst' value='SU' ";
|
||||||
if ($wkst == "SU") $out .= "checked";
|
if ($wkst == "SU") $out .= "checked";
|
||||||
$out .= ">" . t("Sunday") . "</label> ";
|
$out .= ">" . L10n::t("Sunday") . "</label> ";
|
||||||
$out .= "<label class='plain'><input type='radio' name='rec_weekly_wkst' value='MO' ";
|
$out .= "<label class='plain'><input type='radio' name='rec_weekly_wkst' value='MO' ";
|
||||||
if ($wkst == "MO") $out .= "checked";
|
if ($wkst == "MO") $out .= "checked";
|
||||||
$out .= ">" . t("Monday") . "</label><br>\n";
|
$out .= ">" . L10n::t("Monday") . "</label><br>\n";
|
||||||
|
|
||||||
$out .= "</div>";
|
$out .= "</div>";
|
||||||
|
|
||||||
|
@ -347,20 +350,20 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
$out .= "<div class='rec_monthly'>";
|
$out .= "<div class='rec_monthly'>";
|
||||||
$out .= "<label class='block' for='rec_monthly_day'>" . t("Day of month") . ":</label>";
|
$out .= "<label class='block' for='rec_monthly_day'>" . L10n::t("Day of month") . ":</label>";
|
||||||
$out .= "<select id='rec_monthly_day' name='rec_monthly_day' size='1'>";
|
$out .= "<select id='rec_monthly_day' name='rec_monthly_day' size='1'>";
|
||||||
$out .= "<option value='bymonthday' ";
|
$out .= "<option value='bymonthday' ";
|
||||||
if ($monthly_rule == "bymonthday") $out .= "selected";
|
if ($monthly_rule == "bymonthday") $out .= "selected";
|
||||||
$out .= ">" . t("#num#th of each month") . "</option>\n";
|
$out .= ">" . L10n::t("#num#th of each month") . "</option>\n";
|
||||||
$out .= "<option value='bymonthday_neg' ";
|
$out .= "<option value='bymonthday_neg' ";
|
||||||
if ($monthly_rule == "bymonthday_neg") $out .= "selected";
|
if ($monthly_rule == "bymonthday_neg") $out .= "selected";
|
||||||
$out .= ">" . t("#num#th-last of each month") . "</option>\n";
|
$out .= ">" . L10n::t("#num#th-last of each month") . "</option>\n";
|
||||||
$out .= "<option value='byday' ";
|
$out .= "<option value='byday' ";
|
||||||
if ($monthly_rule == "byday") $out .= "selected";
|
if ($monthly_rule == "byday") $out .= "selected";
|
||||||
$out .= ">" . t("#num#th #wkday# of each month") . "</option>\n";
|
$out .= ">" . L10n::t("#num#th #wkday# of each month") . "</option>\n";
|
||||||
$out .= "<option value='byday_neg' ";
|
$out .= "<option value='byday_neg' ";
|
||||||
if ($monthly_rule == "byday_neg") $out .= "selected";
|
if ($monthly_rule == "byday_neg") $out .= "selected";
|
||||||
$out .= ">" . t("#num#th-last #wkday# of each month") . "</option>\n";
|
$out .= ">" . L10n::t("#num#th-last #wkday# of each month") . "</option>\n";
|
||||||
$out .= "</select>";
|
$out .= "</select>";
|
||||||
$out .= "</div>\n";
|
$out .= "</div>\n";
|
||||||
|
|
||||||
|
@ -369,21 +372,21 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
$out .= "<div class='rec_yearly'>";
|
$out .= "<div class='rec_yearly'>";
|
||||||
$out .= "<label class='block'>" . t("Month") . ":</label> <span class='rec_month_name'>#month#</span><br>\n";
|
$out .= "<label class='block'>" . L10n::t("Month") . ":</label> <span class='rec_month_name'>#month#</span><br>\n";
|
||||||
$out .= "<label class='block' for='rec_yearly_day'>" . t("Day of month") . ":</label>";
|
$out .= "<label class='block' for='rec_yearly_day'>" . L10n::t("Day of month") . ":</label>";
|
||||||
$out .= "<select id='rec_yearly_day' name='rec_yearly_day' size='1'>";
|
$out .= "<select id='rec_yearly_day' name='rec_yearly_day' size='1'>";
|
||||||
$out .= "<option value='bymonthday' ";
|
$out .= "<option value='bymonthday' ";
|
||||||
if ($monthly_rule == "bymonthday") $out .= "selected";
|
if ($monthly_rule == "bymonthday") $out .= "selected";
|
||||||
$out .= ">" . t("#num#th of the given month") . "</option>\n";
|
$out .= ">" . L10n::t("#num#th of the given month") . "</option>\n";
|
||||||
$out .= "<option value='bymonthday_neg' ";
|
$out .= "<option value='bymonthday_neg' ";
|
||||||
if ($monthly_rule == "bymonthday_neg") $out .= "selected";
|
if ($monthly_rule == "bymonthday_neg") $out .= "selected";
|
||||||
$out .= ">" . t("#num#th-last of the given month") . "</option>\n";
|
$out .= ">" . L10n::t("#num#th-last of the given month") . "</option>\n";
|
||||||
$out .= "<option value='byday' ";
|
$out .= "<option value='byday' ";
|
||||||
if ($monthly_rule == "byday") $out .= "selected";
|
if ($monthly_rule == "byday") $out .= "selected";
|
||||||
$out .= ">" . t("#num#th #wkday# of the given month") . "</option>\n";
|
$out .= ">" . L10n::t("#num#th #wkday# of the given month") . "</option>\n";
|
||||||
$out .= "<option value='byday_neg' ";
|
$out .= "<option value='byday_neg' ";
|
||||||
if ($monthly_rule == "byday_neg") $out .= "selected";
|
if ($monthly_rule == "byday_neg") $out .= "selected";
|
||||||
$out .= ">" . t("#num#th-last #wkday# of the given month") . "</option>\n";
|
$out .= ">" . L10n::t("#num#th-last #wkday# of the given month") . "</option>\n";
|
||||||
$out .= "</select>";
|
$out .= "</select>";
|
||||||
$out .= "</div>\n";
|
$out .= "</div>\n";
|
||||||
|
|
||||||
|
@ -410,26 +413,26 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
$rule_until_date = time();
|
$rule_until_date = time();
|
||||||
$rule_until_count = 1;
|
$rule_until_count = 1;
|
||||||
}
|
}
|
||||||
$out .= "<label class='block' for='rec_until_type'>" . t("Repeat until") . ":</label> ";
|
$out .= "<label class='block' for='rec_until_type'>" . L10n::t("Repeat until") . ":</label> ";
|
||||||
$out .= "<select name='rec_until_type' id='rec_until_type' size='1'>";
|
$out .= "<select name='rec_until_type' id='rec_until_type' size='1'>";
|
||||||
$out .= "<option value='infinite' ";
|
$out .= "<option value='infinite' ";
|
||||||
if ($rule_type == "infinite") $out .= "selected";
|
if ($rule_type == "infinite") $out .= "selected";
|
||||||
$out .= ">" . t("Infinite") . "</option>\n";
|
$out .= ">" . L10n::t("Infinite") . "</option>\n";
|
||||||
$out .= "<option value='date' ";
|
$out .= "<option value='date' ";
|
||||||
if ($rule_type == "date") $out .= "selected";
|
if ($rule_type == "date") $out .= "selected";
|
||||||
$out .= ">" . t("Until the following date") . ":</option>\n";
|
$out .= ">" . L10n::t("Until the following date") . ":</option>\n";
|
||||||
$out .= "<option value='count' ";
|
$out .= "<option value='count' ";
|
||||||
if ($rule_type == "count") $out .= "selected";
|
if ($rule_type == "count") $out .= "selected";
|
||||||
$out .= ">" . t("Number of times") . ":</option>\n";
|
$out .= ">" . L10n::t("Number of times") . ":</option>\n";
|
||||||
$out .= "</select>";
|
$out .= "</select>";
|
||||||
|
|
||||||
$out .= "<input name='rec_until_date' value='" . $localization->dateformat_datepicker_php($rule_until_date) . "' id='rec_until_date'>";
|
$out .= "<input name='rec_until_date' value='" . $localization->dateformat_datepicker_php($rule_until_date) . "' id='rec_until_date'>";
|
||||||
$out .= "<input name='rec_until_count' value='$rule_until_count' id='rec_until_count'><br>";
|
$out .= "<input name='rec_until_count' value='$rule_until_count' id='rec_until_count'><br>";
|
||||||
|
|
||||||
$out .= "<label class='block'>" . t("Exceptions") . ":</label><div class='rec_exceptions'>";
|
$out .= "<label class='block'>" . L10n::t("Exceptions") . ":</label><div class='rec_exceptions'>";
|
||||||
$out .= "<div class='rec_exceptions_none' ";
|
$out .= "<div class='rec_exceptions_none' ";
|
||||||
if (count($recurrentce_exdates) > 0) $out .= "style='display: none;'";
|
if (count($recurrentce_exdates) > 0) $out .= "style='display: none;'";
|
||||||
$out .= ">" . t("none") . "</div>";
|
$out .= ">" . L10n::t("none") . "</div>";
|
||||||
$out .= "<div class='rec_exceptions_holder' ";
|
$out .= "<div class='rec_exceptions_holder' ";
|
||||||
if (count($recurrentce_exdates) == 0) $out .= "style='display: none;'";
|
if (count($recurrentce_exdates) == 0) $out .= "style='display: none;'";
|
||||||
$out .= ">";
|
$out .= ">";
|
||||||
|
@ -446,7 +449,7 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
|
|
||||||
$out .= "</div><br>";
|
$out .= "</div><br>";
|
||||||
|
|
||||||
$out .= "<h2>" . t("Notification") . "</h2>";
|
$out .= "<h2>" . L10n::t("Notification") . "</h2>";
|
||||||
|
|
||||||
if (!$notifications) $notifications = array();
|
if (!$notifications) $notifications = array();
|
||||||
$notifications["new"] = array(
|
$notifications["new"] = array(
|
||||||
|
@ -463,33 +466,33 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
||||||
|
|
||||||
$out .= "<div class='noti_holder' ";
|
$out .= "<div class='noti_holder' ";
|
||||||
if (!is_numeric($index) && $index == "new") $out .= "style='display: none;' id='noti_new_row'";
|
if (!is_numeric($index) && $index == "new") $out .= "style='display: none;' id='noti_new_row'";
|
||||||
$out .= "><label class='block' for='noti_type_" . $index . "'>" . t("Notify by") . ":</label>";
|
$out .= "><label class='block' for='noti_type_" . $index . "'>" . L10n::t("Notify by") . ":</label>";
|
||||||
$out .= "<select name='noti_type[$index]' size='1' id='noti_type_" . $index . "'>";
|
$out .= "<select name='noti_type[$index]' size='1' id='noti_type_" . $index . "'>";
|
||||||
$out .= "<option value=''>- " . t("Remove") . " -</option>\n";
|
$out .= "<option value=''>- " . L10n::t("Remove") . " -</option>\n";
|
||||||
$out .= "<option value='email' "; if (!$unparsable && $noti["action"] == "email") $out .= "selected"; $out .= ">" . t("E-Mail") . "</option>\n";
|
$out .= "<option value='email' "; if (!$unparsable && $noti["action"] == "email") $out .= "selected"; $out .= ">" . L10n::t("E-Mail") . "</option>\n";
|
||||||
$out .= "<option value='display' "; if (!$unparsable && $noti["action"] == "display") $out .= "selected"; $out .= ">" . t("On Friendica / Display") . "</option>\n";
|
$out .= "<option value='display' "; if (!$unparsable && $noti["action"] == "display") $out .= "selected"; $out .= ">" . L10n::t("On Friendica / Display") . "</option>\n";
|
||||||
//$out .= "<option value='other' "; if ($unparsable) $out .= "selected"; $out .= ">- " . t("other (leave it untouched)") . " -</option>\n"; // @TODO
|
//$out .= "<option value='other' "; if ($unparsable) $out .= "selected"; $out .= ">- " . L10n::t("other (leave it untouched)") . " -</option>\n"; // @TODO
|
||||||
$out .= "</select><br>";
|
$out .= "</select><br>";
|
||||||
|
|
||||||
$out .= "<label class='block'>" . t("Time") . ":</label>";
|
$out .= "<label class='block'>" . L10n::t("Time") . ":</label>";
|
||||||
$out .= "<input name='noti_value[$index]' size='5' style='width: 5em;' value='" . $noti["trigger_value"] . "'>";
|
$out .= "<input name='noti_value[$index]' size='5' style='width: 5em;' value='" . $noti["trigger_value"] . "'>";
|
||||||
|
|
||||||
$out .= "<select name='noti_unit[$index]' size='1'>";
|
$out .= "<select name='noti_unit[$index]' size='1'>";
|
||||||
$out .= "<option value='H' "; if ($noti["trigger_unit"] == "hour") $out .= "selected"; $out .= ">" . t("Hours") . "</option>\n";
|
$out .= "<option value='H' "; if ($noti["trigger_unit"] == "hour") $out .= "selected"; $out .= ">" . L10n::t("Hours") . "</option>\n";
|
||||||
$out .= "<option value='M' "; if ($noti["trigger_unit"] == "minute") $out .= "selected"; $out .= ">" . t("Minutes") . "</option>\n";
|
$out .= "<option value='M' "; if ($noti["trigger_unit"] == "minute") $out .= "selected"; $out .= ">" . L10n::t("Minutes") . "</option>\n";
|
||||||
$out .= "<option value='S' "; if ($noti["trigger_unit"] == "second") $out .= "selected"; $out .= ">" . t("Seconds") . "</option>\n";
|
$out .= "<option value='S' "; if ($noti["trigger_unit"] == "second") $out .= "selected"; $out .= ">" . L10n::t("Seconds") . "</option>\n";
|
||||||
$out .= "<option value='D' "; if ($noti["trigger_unit"] == "day") $out .= "selected"; $out .= ">" . t("Days") . "</option>\n";
|
$out .= "<option value='D' "; if ($noti["trigger_unit"] == "day") $out .= "selected"; $out .= ">" . L10n::t("Days") . "</option>\n";
|
||||||
$out .= "<option value='W' "; if ($noti["trigger_unit"] == "week") $out .= "selected"; $out .= ">" . t("Weeks") . "</option>\n";
|
$out .= "<option value='W' "; if ($noti["trigger_unit"] == "week") $out .= "selected"; $out .= ">" . L10n::t("Weeks") . "</option>\n";
|
||||||
$out .= "</select>";
|
$out .= "</select>";
|
||||||
|
|
||||||
$out .= " <label class='plain'>" . t("before the") . " <select name='noti_ref[$index]' size='1'>";
|
$out .= " <label class='plain'>" . L10n::t("before the") . " <select name='noti_ref[$index]' size='1'>";
|
||||||
$out .= "<option value='start' "; if ($noti["rel"] == "start") $out .= "selected"; $out .= ">" . t("start of the event") . "</option>\n";
|
$out .= "<option value='start' "; if ($noti["rel"] == "start") $out .= "selected"; $out .= ">" . L10n::t("start of the event") . "</option>\n";
|
||||||
$out .= "<option value='end' "; if ($noti["rel"] == "end") $out .= "selected"; $out .= ">" . t("end of the event") . "</option>\n";
|
$out .= "<option value='end' "; if ($noti["rel"] == "end") $out .= "selected"; $out .= ">" . L10n::t("end of the event") . "</option>\n";
|
||||||
$out .= "</select></label>\n";
|
$out .= "</select></label>\n";
|
||||||
|
|
||||||
$out .= "</div>";
|
$out .= "</div>";
|
||||||
}
|
}
|
||||||
$out .= "<input type='hidden' name='new_alarm' id='new_alarm' value='0'><div id='new_alarm_adder'><a href='#'>" . t("Add a notification") . "</a></div>";
|
$out .= "<input type='hidden' name='new_alarm' id='new_alarm' value='0'><div id='new_alarm_adder'><a href='#'>" . L10n::t("Add a notification") . "</a></div>";
|
||||||
|
|
||||||
$out .= "<script>\$(function() {
|
$out .= "<script>\$(function() {
|
||||||
wdcal_edit_init('" . $localization->dateformat_datepicker_js() . "', '${baseurl}/dav/');
|
wdcal_edit_init('" . $localization->dateformat_datepicker_js() . "', '${baseurl}/dav/');
|
||||||
|
@ -518,9 +521,9 @@ function wdcal_set_component_date(&$component, &$localization)
|
||||||
$type = Sabre\VObject\Property\DateTime::LOCALTZ;
|
$type = Sabre\VObject\Property\DateTime::LOCALTZ;
|
||||||
}
|
}
|
||||||
$datetime_start = new Sabre\VObject\Property\DateTime("DTSTART");
|
$datetime_start = new Sabre\VObject\Property\DateTime("DTSTART");
|
||||||
$datetime_start->setDateTime(new DateTime(date("Y-m-d H:i:s", $ts_start)), $type);
|
$datetime_start->setDateTime(new DateTime(date(DateTimeFormat::MYSQL, $ts_start)), $type);
|
||||||
$datetime_end = new Sabre\VObject\Property\DateTime("DTEND");
|
$datetime_end = new Sabre\VObject\Property\DateTime("DTEND");
|
||||||
$datetime_end->setDateTime(new DateTime(date("Y-m-d H:i:s", $ts_end)), $type);
|
$datetime_end->setDateTime(new DateTime(date(DateTimeFormat::MYSQL, $ts_end)), $type);
|
||||||
|
|
||||||
$component->__unset("DTSTART");
|
$component->__unset("DTSTART");
|
||||||
$component->__unset("DTEND");
|
$component->__unset("DTEND");
|
||||||
|
@ -596,7 +599,7 @@ function wdcal_set_component_recurrence(&$component, &$localization)
|
||||||
$date = $localization->date_local2timestamp($_REQUEST["rec_until_date"]);
|
$date = $localization->date_local2timestamp($_REQUEST["rec_until_date"]);
|
||||||
$part_until = ";UNTIL=" . date("Ymd", $date);
|
$part_until = ";UNTIL=" . date("Ymd", $date);
|
||||||
$datetime_until = new Sabre\VObject\Property\DateTime("UNTIL");
|
$datetime_until = new Sabre\VObject\Property\DateTime("UNTIL");
|
||||||
$datetime_until->setDateTime(new DateTime(date("Y-m-d H:i:s", $date)), Sabre\VObject\Property\DateTime::DATE);
|
$datetime_until->setDateTime(new DateTime(date(DateTimeFormat::MYSQL, $date)), Sabre\VObject\Property\DateTime::DATE);
|
||||||
break;
|
break;
|
||||||
case "count":
|
case "count":
|
||||||
$part_until = ";COUNT=" . IntVal($_REQUEST["rec_until_count"]);
|
$part_until = ";COUNT=" . IntVal($_REQUEST["rec_until_count"]);
|
||||||
|
@ -643,7 +646,7 @@ function wdcal_set_component_recurrence(&$component, &$localization)
|
||||||
if (isset($_REQUEST["rec_exceptions"])) {
|
if (isset($_REQUEST["rec_exceptions"])) {
|
||||||
$arr = array();
|
$arr = array();
|
||||||
foreach ($_REQUEST["rec_exceptions"] as $except) {
|
foreach ($_REQUEST["rec_exceptions"] as $except) {
|
||||||
$arr[] = new DateTime(date("Y-m-d H:i:s", $except));
|
$arr[] = new DateTime(date(DateTimeFormat::MYSQL, $except));
|
||||||
}
|
}
|
||||||
/** @var Sabre\VObject\Property\MultiDateTime $prop */
|
/** @var Sabre\VObject\Property\MultiDateTime $prop */
|
||||||
$prop = Sabre\VObject\Property::create("EXDATE");
|
$prop = Sabre\VObject\Property::create("EXDATE");
|
||||||
|
@ -684,7 +687,7 @@ function wdcal_set_component_alerts(&$component, &$localization, $summary, $dtst
|
||||||
"#date#", "#name",
|
"#date#", "#name",
|
||||||
), array(
|
), array(
|
||||||
$localization->date_timestamp2local($dtstart), $summary,
|
$localization->date_timestamp2local($dtstart), $summary,
|
||||||
), t("The event #name# will start at #date"));
|
), L10n::t("The event #name# will start at #date"));
|
||||||
|
|
||||||
$alarm->add(new Sabre\VObject\Property("ACTION", "EMAIL"));
|
$alarm->add(new Sabre\VObject\Property("ACTION", "EMAIL"));
|
||||||
$alarm->add(new Sabre\VObject\Property("SUMMARY", $summary));
|
$alarm->add(new Sabre\VObject\Property("SUMMARY", $summary));
|
||||||
|
@ -693,7 +696,7 @@ function wdcal_set_component_alerts(&$component, &$localization, $summary, $dtst
|
||||||
break;
|
break;
|
||||||
case "display":
|
case "display":
|
||||||
$alarm->add(new Sabre\VObject\Property("ACTION", "DISPLAY"));
|
$alarm->add(new Sabre\VObject\Property("ACTION", "DISPLAY"));
|
||||||
$text = str_replace("#name#", $summary, t("#name# is about to begin."));
|
$text = str_replace("#name#", $summary, L10n::t("#name# is about to begin."));
|
||||||
$alarm->add(new Sabre\VObject\Property("DESCRIPTION", $text));
|
$alarm->add(new Sabre\VObject\Property("DESCRIPTION", $text));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -735,7 +738,7 @@ function wdcal_postEditPage($uri, $uid = 0, $timezone = "", $goaway_url = "")
|
||||||
$vObject = dav_get_current_user_calendarobject($server, $calendar, $obj_uri, DAV_ACL_WRITE);
|
$vObject = dav_get_current_user_calendarobject($server, $calendar, $obj_uri, DAV_ACL_WRITE);
|
||||||
$component = dav_get_eventComponent($vObject);
|
$component = dav_get_eventComponent($vObject);
|
||||||
|
|
||||||
if ($component == null) return array("ok" => false, "msg" => t('Could not open component for editing'));
|
if ($component == null) return array("ok" => false, "msg" => L10n::t('Could not open component for editing'));
|
||||||
} else {
|
} else {
|
||||||
$calendar = dav_get_current_user_calendar_by_id($server, $_REQUEST["calendar"], DAV_ACL_WRITE);
|
$calendar = dav_get_current_user_calendar_by_id($server, $_REQUEST["calendar"], DAV_ACL_WRITE);
|
||||||
$vObject = dav_create_empty_vevent();
|
$vObject = dav_create_empty_vevent();
|
||||||
|
@ -766,7 +769,7 @@ function wdcal_postEditPage($uri, $uid = 0, $timezone = "", $goaway_url = "")
|
||||||
$obj = $calendar->getChild($obj_uri);
|
$obj = $calendar->getChild($obj_uri);
|
||||||
$obj->put($data);
|
$obj->put($data);
|
||||||
}
|
}
|
||||||
return array("ok" => false, "msg" => t("Saved"));
|
return array("ok" => false, "msg" => L10n::t("Saved"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue