mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-10-11 09:23:01 +00:00
Merge branch '3.6-rc'
This commit is contained in:
commit
39dd3dffe0
733 changed files with 10943 additions and 8237 deletions
|
@ -27,8 +27,8 @@ CalDAV device compatibility:
|
|||
- aCal (http://andrew.mcmillan.net.nz/projects/aCal) works, available in F-Droid and Google Play
|
||||
- CalDAV-Sync (http://dmfs.org/caldav/) works, non-free
|
||||
|
||||
Installation
|
||||
After activating, serveral tables in the database have to be created. The admin-interface of the plugin will try to do this automatically.
|
||||
## Installation
|
||||
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.
|
||||
|
||||
|
||||
|
@ -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
|
||||
http://friendica.hoessl.eu/profile/cato
|
||||
http://www.hoessl.eu/
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* Changed: The Sabre_VObject library now spawned into it's own project!
|
||||
* New feature: Support for caldav notifications!
|
||||
* 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.
|
||||
* Changed: The CalDAV PDO backend is now a lot faster for common
|
||||
calendar queries.
|
||||
|
@ -27,7 +27,7 @@
|
|||
receiving "text/x-vcard; charset=utf-8" for a contenttype.
|
||||
* Added: Sabre_DAV_Client now throws more specific exceptions in cases
|
||||
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.
|
||||
* Added: Tons of timezone name mappings for Microsoft Exchange.
|
||||
* Added: Support for an 'exception' event.
|
||||
|
@ -69,13 +69,13 @@
|
|||
* Fixed: Issue 112: Stronger validation of iCalendar objects. Now making
|
||||
sure every iCalendar object only contains 1 component, and disallowing
|
||||
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
|
||||
from updating events.
|
||||
* Fixed: Issue 211: A time-limit query on a non-relative alarm trigger in
|
||||
a recurring event could result in an endless loop.
|
||||
* 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.
|
||||
* Fixed: Added a workaround for a bug in KDE 4.8.2 contact syncing. See
|
||||
https://bugs.kde.org/show_bug.cgi?id=300047
|
||||
|
@ -109,7 +109,7 @@
|
|||
COUNT= parameter in the RRULE property.
|
||||
* Added: Support for time-range filters on VALARM components.
|
||||
* 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).
|
||||
* Fixed: Issue 195: Sabre_CardDAV pear package had an incorrect dependency.
|
||||
* 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
|
||||
'principals' table. See the website for details.
|
||||
* Added: Ability to create new calendars and addressbooks from within the
|
||||
browser plugin.
|
||||
* Added: Browser plugin: icons for various nodes.
|
||||
browser addon.
|
||||
* Added: Browser addon: icons for various nodes.
|
||||
* Added: Support for FREEBUSY reports!
|
||||
* Added: Support for creating principals with admin-level privileges.
|
||||
* 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: The 'propertyMap' property from Sabre_VObject_Reader, must now
|
||||
be specified in Sabre_VObject_Property::$classMap.
|
||||
* Added: Ability for plugins to tell the ACL plugin which principal
|
||||
plugins are searchable.
|
||||
* Added: Ability for addons to tell the ACL addon which principal
|
||||
addons are searchable.
|
||||
* Added: [DAVACL] Per-node overriding of supported privileges. This allows
|
||||
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
|
||||
properties.
|
||||
* 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: Sabre_DAVACL had issues with multiple levels of privilege
|
||||
aggregration.
|
||||
* Changed: Added 'GuessContentType' plugin to fileserver.php example.
|
||||
* Fixed: The Browser plugin will now trigger the correct events when
|
||||
* Changed: Added 'GuessContentType' addon to fileserver.php example.
|
||||
* Fixed: The Browser addon will now trigger the correct events when
|
||||
creating files.
|
||||
* Fixed: The ICSExportPlugin now considers ACL's.
|
||||
* Added: Made it optional to supply carddata from an Addressbook backend
|
||||
|
@ -251,7 +251,7 @@
|
|||
files to be locked at the same time.
|
||||
|
||||
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').
|
||||
* Changed: Sending back HTTP 204 after a PUT request on an existing resource
|
||||
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
|
||||
creation of a file.
|
||||
* 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.
|
||||
* Added: It's not possible to specify more 'alternate uris' in principal
|
||||
backends.
|
||||
|
@ -314,7 +314,7 @@
|
|||
* Added: Clark-notation parser to XML utility.
|
||||
* Added: unset() support to VObject components.
|
||||
* 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
|
||||
* Fixed: VObject bug: wouldn't parse parameters if they weren't specified
|
||||
in uppercase.
|
||||
|
@ -322,7 +322,7 @@
|
|||
* Fixed: VObject bug: Parameters with no value are now correctly parsed.
|
||||
* Changed: If calendars don't specify which components they allow, 'all'
|
||||
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.
|
||||
|
||||
1.4.4-stable (2011-07-07)
|
||||
|
@ -388,7 +388,7 @@
|
|||
* Added: Ability to automatically generate full .ics feeds off calendars.
|
||||
To use: Add the Sabre_CalDAV_ICSExportPlugin, and add ?export to your
|
||||
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().
|
||||
* Added: beforeGetProperties event.
|
||||
* Added: updateProperties event.
|
||||
|
@ -428,7 +428,7 @@
|
|||
break, so if you implement Sabre_DAV_ICollection directly, add the method.
|
||||
* Changed: Almost all HTTP method implementations now take a uri argument,
|
||||
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
|
||||
future changes.
|
||||
* Changed: All getETag methods MUST now surround the etag with
|
||||
|
@ -441,7 +441,7 @@
|
|||
instead.
|
||||
* Removed: Sabre_DAV_IDirectory interface, use Sabre_DAV_ICollection
|
||||
instead.
|
||||
* Added: Browser plugin now uses {DAV:}displayname if this property is
|
||||
* Added: Browser addon now uses {DAV:}displayname if this property is
|
||||
available.
|
||||
* Added: Cache layer in the ObjectTree.
|
||||
* Added: Tree classes now have a delete and getChildren method.
|
||||
|
@ -488,7 +488,7 @@
|
|||
* Updated: Small improvements to example files.
|
||||
|
||||
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
|
||||
private.
|
||||
|
||||
|
@ -530,7 +530,7 @@
|
|||
* Update: Complete rewrite of property updating. Now easier to use and
|
||||
atomic.
|
||||
* 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
|
||||
principal-search-property-set reports.
|
||||
* Added: Issue 31: Hiding exception information by default. Can be turned
|
||||
|
@ -603,10 +603,10 @@
|
|||
this.
|
||||
* Added: PDO authentication backend.
|
||||
* Added: Example sql for auth, caldav, locks for sqlite.
|
||||
* Added: Sabre_DAV_Browser_GuessContentType plugin
|
||||
* Changed: Authentication plugin refactored, making it possible to
|
||||
* Added: Sabre_DAV_Browser_GuessContentType addon
|
||||
* Changed: Authentication addon refactored, making it possible to
|
||||
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: XML utility class with helper functions for the WebDAV protocol.
|
||||
* Added: Tons of unittests
|
||||
|
@ -706,15 +706,15 @@
|
|||
Before, execution would be stopped by anything loosely evaluating to
|
||||
false.
|
||||
* 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
|
||||
hrefs are now also always calculated relative to the baseUri, and not
|
||||
the uri of the request.
|
||||
* Changed: generatePropFindResponse is renamed to generateMultiStatus, and
|
||||
now takes a list of properties similar to the response of
|
||||
getPropertiesForPath. This was also needed to improve flexibility for
|
||||
plugin development.
|
||||
* Changed: Auth plugins are no longer included. They were not yet stable
|
||||
addon development.
|
||||
* Changed: Auth addons are no longer included. They were not yet stable
|
||||
quality, so they will probably be reintroduced in a later version.
|
||||
* Changed: PROPPATCH also used generateMultiStatus now.
|
||||
* 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.
|
||||
* 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 got a getUsers method
|
||||
* Added: Sabre_DAV_FSExt_Directory now returns quota info
|
||||
|
@ -741,7 +741,7 @@
|
|||
* Fixed: UNLOCK bug. Unlock didn't work at all
|
||||
|
||||
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.
|
||||
* Added: Experimental PDO backend for Locks Manager
|
||||
* 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
|
||||
authentication. (Issue 11)
|
||||
* 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)
|
||||
* Added: Central list of defined xml namespace prefixes. This can reduce
|
||||
Bandwidth and legibility for xml bodies with user-defined namespaces.
|
||||
|
@ -779,8 +779,8 @@
|
|||
and IDirectory objects. If you created your own Tree objects,
|
||||
this will most likely break in this release.
|
||||
* Changed: Moved all the Locking logic from the Tree and Server classes
|
||||
into a separate plugin.
|
||||
* Changed: TemporaryFileFilter is now a plugin.
|
||||
into a separate addon.
|
||||
* Changed: TemporaryFileFilter is now a addon.
|
||||
* Added: Comes with an autoloader script. This can be used instead of
|
||||
the includer script, and is preferred by some people.
|
||||
* Added: AWS Authentication class.
|
||||
|
@ -790,7 +790,7 @@
|
|||
priority. This is for example needed to ensure that the Authentication
|
||||
Plugin is used before any other Plugin.
|
||||
* 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.
|
||||
* Added: RFC 2324 HTTP 418 status code
|
||||
* 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
|
||||
Exception now follows Sabre_DAV_Exception_FileNotFound convention
|
||||
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.
|
||||
* Added: 12 more unittests
|
||||
* Fixed: Locking bug, which became prevalent on Windows Vista.
|
||||
|
@ -815,14 +815,14 @@
|
|||
* Added: support for {DAV:}supportedlock.
|
||||
* Added: support for {DAV:}lockdiscovery.
|
||||
* Added: 6 new tests.
|
||||
* Added: New plugin system.
|
||||
* Added: Simple HTML directory plugin, for browser access.
|
||||
* Added: New addon system.
|
||||
* Added: Simple HTML directory addon, for browser access.
|
||||
* Added: Server class now sends back standard pre-condition error xml
|
||||
bodies. This was new since RFC4918.
|
||||
* Added: Sabre_DAV_Tree_Aggregrate, which can 'host' multiple Tree objects
|
||||
into one.
|
||||
* 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.
|
||||
r303
|
||||
* Changed: Sabre_DAV_FilterTree is now Sabre_DAV_Tree_Filter
|
||||
|
|
|
@ -5,7 +5,7 @@ use Sabre\VObject;
|
|||
/**
|
||||
* 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
|
||||
* support ics files.
|
||||
*
|
||||
|
@ -25,7 +25,7 @@ class Sabre_CalDAV_ICSExportPlugin extends Sabre_DAV_ServerPlugin {
|
|||
private $server;
|
||||
|
||||
/**
|
||||
* Initializes the plugin and registers event handlers
|
||||
* Initializes the addon and registers event handlers
|
||||
*
|
||||
* @param Sabre_DAV_Server $server
|
||||
* @return void
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* This node represents a list of notifications.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This collection should only return Sabre_CalDAV_Notifications_INode nodes as
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* This node represents a list of notifications.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This collection should only return Sabre_CalDAV_Notifications_INode nodes as
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
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.
|
||||
*
|
||||
* @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.
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* @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.
|
||||
* 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
|
||||
* @return void
|
||||
|
@ -631,7 +631,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
|||
$acl = $this->server->getPlugin('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();
|
||||
$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 plugin uses this method to ensure that CalDAV objects receive
|
||||
* This addon uses this method to ensure that CalDAV objects receive
|
||||
* valid calendar data.
|
||||
*
|
||||
* @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 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.
|
||||
*
|
||||
* @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
|
||||
* 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 $action
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* 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
|
||||
* Scheduling plugin, so this object is actually mostly static.
|
||||
* Scheduling addon, so this object is actually mostly static.
|
||||
*
|
||||
* @package Sabre
|
||||
* @subpackage CalDAV
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
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
|
||||
* @subpackage CardDAV
|
||||
|
@ -41,7 +41,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
|
|||
protected $server;
|
||||
|
||||
/**
|
||||
* Initializes the plugin
|
||||
* Initializes the addon
|
||||
*
|
||||
* @param Sabre_DAV_Server $server
|
||||
* @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.
|
||||
* 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 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.
|
||||
*
|
||||
* @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 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.
|
||||
*
|
||||
* @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
|
||||
* 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 $action
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?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.
|
||||
*
|
||||
|
@ -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
|
||||
* @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
|
||||
*
|
||||
* @return string
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* GuessContentType plugin
|
||||
* GuessContentType addon
|
||||
*
|
||||
* 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
|
||||
|
@ -43,7 +43,7 @@ class Sabre_DAV_Browser_GuessContentType extends Sabre_DAV_ServerPlugin {
|
|||
);
|
||||
|
||||
/**
|
||||
* Initializes the plugin
|
||||
* Initializes the addon
|
||||
*
|
||||
* @param Sabre_DAV_Server $server
|
||||
* @return void
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?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.
|
||||
*
|
||||
* This should allow easy debugging of PROPFIND
|
||||
|
@ -22,7 +22,7 @@ class Sabre_DAV_Browser_MapGetToPropFind extends Sabre_DAV_ServerPlugin {
|
|||
protected $server;
|
||||
|
||||
/**
|
||||
* Initializes the plugin and subscribes to events
|
||||
* Initializes the addon and subscribes to events
|
||||
*
|
||||
* @param Sabre_DAV_Server $server
|
||||
* @return void
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/**
|
||||
* 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.
|
||||
*
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
* @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
|
||||
* @return void
|
||||
|
@ -122,7 +122,7 @@ class Sabre_DAV_Browser_Plugin extends Sabre_DAV_ServerPlugin {
|
|||
$node = $this->server->tree->getNodeForPath($uri);
|
||||
} catch (Sabre_DAV_Exception_NotFound $e) {
|
||||
// We're simply stopping when the file isn't found to not interfere
|
||||
// with other plugins.
|
||||
// with other addons.
|
||||
return;
|
||||
}
|
||||
if ($node instanceof Sabre_DAV_IFile)
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?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:
|
||||
*
|
||||
* $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.
|
||||
*
|
||||
|
@ -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
|
||||
*
|
||||
* @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
|
||||
* 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 $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
|
||||
* 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 $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.
|
||||
*
|
||||
* This method is passed a uri. It should only return HTTP methods that are
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?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.
|
||||
*
|
||||
|
@ -20,7 +20,7 @@ class Sabre_DAV_Mount_Plugin extends Sabre_DAV_ServerPlugin {
|
|||
private $server;
|
||||
|
||||
/**
|
||||
* Initializes the plugin and registers event handles
|
||||
* Initializes the addon and registers event handles
|
||||
*
|
||||
* @param Sabre_DAV_Server $server
|
||||
* @return void
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?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
|
||||
* chunks or resume an upload.
|
||||
*
|
||||
|
@ -25,7 +25,7 @@ class Sabre_DAV_PartialUpdate_Plugin extends Sabre_DAV_ServerPlugin {
|
|||
protected $server;
|
||||
|
||||
/**
|
||||
* Initializes the plugin
|
||||
* Initializes the addon
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* @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
|
||||
* the server didn't recognize.
|
||||
*
|
||||
* This plugin intercepts the PATCH methods.
|
||||
* This addon intercepts the PATCH methods.
|
||||
*
|
||||
* @param string $method
|
||||
* @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.
|
||||
*
|
||||
* This method is passed a uri. It should only return HTTP methods that are
|
||||
|
|
|
@ -60,7 +60,7 @@ class Sabre_DAV_Server {
|
|||
public $httpRequest;
|
||||
|
||||
/**
|
||||
* The list of plugins
|
||||
* The list of addons
|
||||
*
|
||||
* @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
|
||||
*
|
||||
|
@ -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
|
||||
* @return Sabre_DAV_ServerPlugin
|
||||
|
@ -361,7 +361,7 @@ class Sabre_DAV_Server {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns all plugins
|
||||
* Returns all addons
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
|
@ -379,7 +379,7 @@ class Sabre_DAV_Server {
|
|||
* It is possible to control the order of the callbacks through the
|
||||
* 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
|
||||
* number, it is recommended to ommit.
|
||||
*
|
||||
|
@ -1050,7 +1050,7 @@ class Sabre_DAV_Server {
|
|||
$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));
|
||||
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).
|
||||
* 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
|
||||
*
|
||||
|
@ -1654,7 +1654,7 @@ class Sabre_DAV_Server {
|
|||
}
|
||||
|
||||
if (!$hasError) {
|
||||
// Allowing plugins to take care of property updating
|
||||
// Allowing addons to take care of property updating
|
||||
$hasError = !$this->broadcastEvent('updateProperties',array(
|
||||
&$remainingProperties,
|
||||
&$result,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* The baseclass for all server plugins.
|
||||
* The baseclass for all server addons.
|
||||
*
|
||||
* Plugins can modify or extend the servers behaviour.
|
||||
*
|
||||
|
@ -14,7 +14,7 @@
|
|||
abstract class Sabre_DAV_ServerPlugin {
|
||||
|
||||
/**
|
||||
* This initializes the plugin.
|
||||
* This initializes the addon.
|
||||
*
|
||||
* This function is called by Sabre_DAV_Server, after
|
||||
* 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.
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* @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.
|
||||
* 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.
|
||||
*
|
||||
* @var string
|
||||
|
@ -60,7 +60,7 @@ class Sabre_DAV_TemporaryFileFilterPlugin extends Sabre_DAV_ServerPlugin {
|
|||
private $server;
|
||||
|
||||
/**
|
||||
* Creates the plugin.
|
||||
* Creates the addon.
|
||||
*
|
||||
* 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
|
||||
|
@ -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()
|
||||
*
|
||||
* @param Sabre_DAV_Server $server
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/**
|
||||
* SabreDAV ACL Plugin
|
||||
*
|
||||
* This plugin provides functionality to enforce ACL permissions.
|
||||
* This addon provides functionality to enforce ACL permissions.
|
||||
* ACL is defined in RFC3744.
|
||||
*
|
||||
* 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
|
||||
* 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.
|
||||
*
|
||||
* @var string
|
||||
|
@ -111,7 +111,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
|
|||
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.
|
||||
*
|
||||
|
@ -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
|
||||
*
|
||||
* @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.
|
||||
* 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,
|
||||
* 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.
|
||||
*
|
||||
|
@ -1067,7 +1067,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
|
|||
* there.
|
||||
*
|
||||
* 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
|
||||
* @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.
|
||||
*
|
||||
* 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
|
||||
|
||||
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
|
||||
<script language="javascript" type="text/javascript" src=jquery.min.js"></script>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
|
||||
define("DAV_ACL_READ", "{DAV:}read");
|
||||
define("DAV_ACL_WRITE", "{DAV:}write");
|
||||
|
@ -150,7 +151,7 @@ function vcard_source_compile($vcardsource)
|
|||
*/
|
||||
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)
|
||||
{
|
||||
$ts = DateTime::createFromFormat("Y-m-d H:i:s", $sqlDate);
|
||||
$ts = DateTime::createFromFormat(DateTimeFormat::MYSQL, $sqlDate);
|
||||
return $ts->format("U");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?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
|
||||
(%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),
|
||||
date("Y-m-d H:i:s", $last_end), 1, $allday, $recurring, dbesc(substr($event["color"], 1))
|
||||
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($calendar["id"]), IntVal($calendarobject["id"]), dbesc($event["summary"]), date(DateTimeFormat::MYSQL, $start),
|
||||
date(DateTimeFormat::MYSQL, $last_end), 1, $allday, $recurring, dbesc(substr($event["color"], 1))
|
||||
);
|
||||
|
||||
foreach ($alarms as $alarm) {
|
||||
$alarm = renderCalDavEntry_calcalarm($alarm, $component);
|
||||
$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)",
|
||||
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
|
||||
|
||||
use Friendica\Core\L10n;
|
||||
|
||||
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()
|
||||
{
|
||||
return t("Private Events");
|
||||
return L10n::t("Private Events");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Core\L10n;
|
||||
|
||||
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()
|
||||
{
|
||||
return t("Private Addressbooks");
|
||||
return L10n::t("Private Addressbooks");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -141,7 +141,7 @@
|
|||
|
||||
|
||||
if ($.fn.noSelect == undefined) {
|
||||
$.fn.noSelect = function (p) { //no select plugin by me :-)
|
||||
$.fn.noSelect = function (p) { //no select addon by me :-)
|
||||
var prevent;
|
||||
if (p == null)
|
||||
prevent = true;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
|
||||
|
||||
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
|
||||
/**
|
||||
* @param mixed $obj
|
||||
|
@ -89,7 +89,7 @@ function wdcal_print_feed($base_path = "")
|
|||
$cs = wdcal_print_feed_getCal($server, DAV_ACL_WRITE);
|
||||
if ($cs == null) {
|
||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||
'Msg' => t('No access')));
|
||||
'Msg' => L10n::t('No access')));
|
||||
killme();
|
||||
}
|
||||
try {
|
||||
|
@ -101,9 +101,9 @@ function wdcal_print_feed($base_path = "")
|
|||
else $type = Sabre\VObject\Property\DateTime::LOCALTZ;
|
||||
|
||||
$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->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_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"]));
|
||||
if (count($r) != 1) {
|
||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||
'Msg' => t('No access')));
|
||||
'Msg' => L10n::t('No access')));
|
||||
killme();
|
||||
}
|
||||
try {
|
||||
|
@ -175,7 +175,7 @@ function wdcal_print_feed($base_path = "")
|
|||
|
||||
if (!$component) {
|
||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||
'Msg' => t('No access')));
|
||||
'Msg' => L10n::t('No access')));
|
||||
killme();
|
||||
}
|
||||
|
||||
|
@ -183,9 +183,9 @@ function wdcal_print_feed($base_path = "")
|
|||
else $type = Sabre\VObject\Property\DateTime::LOCALTZ;
|
||||
|
||||
$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->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("DTEND");
|
||||
|
@ -203,7 +203,7 @@ function wdcal_print_feed($base_path = "")
|
|||
);
|
||||
} catch (Exception $e) {
|
||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||
'Msg' => t('No access')));
|
||||
'Msg' => L10n::t('No access')));
|
||||
killme();
|
||||
}
|
||||
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"]));
|
||||
if (count($r) != 1) {
|
||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||
'Msg' => t('No access')));
|
||||
'Msg' => L10n::t('No access')));
|
||||
killme();
|
||||
}
|
||||
try {
|
||||
|
@ -226,7 +226,7 @@ function wdcal_print_feed($base_path = "")
|
|||
);
|
||||
} catch (Exception $e) {
|
||||
echo wdcal_jsonp_encode(array('IsSuccess' => false,
|
||||
'Msg' => t('No access')));
|
||||
'Msg' => L10n::t('No access')));
|
||||
killme();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\PConfig;
|
||||
|
||||
abstract class wdcal_local
|
||||
{
|
||||
|
||||
|
@ -145,7 +148,7 @@ class wdcal_local_us extends wdcal_local {
|
|||
* @return string
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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
|
||||
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
|
||||
/**
|
||||
* @param wdcal_local $localization
|
||||
* @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);
|
||||
$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 */
|
||||
$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/");
|
||||
|
||||
$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'>
|
||||
<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;
|
||||
$cal_col = "aaaaaa";
|
||||
foreach ($calendars as $cal) {
|
||||
|
@ -160,47 +163,47 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
|||
$out .= "</select>";
|
||||
$out .= " <label class='plain'><input type='checkbox' name='color_override' id='color_override' ";
|
||||
if (!is_null($event["Color"])) $out .= "checked";
|
||||
$out .= "> " . t("Special color") . ":</label>";
|
||||
$out .= "> " . L10n::t("Special color") . ":</label>";
|
||||
$out .= "<span id='cal_color_holder' ";
|
||||
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 .= "<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";
|
||||
$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_time' value='" . date("H:i", $event["StartTime"]) . "' id='cal_start_time'>";
|
||||
$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_time' value='" . date("H:i", $event["EndTime"]) . "' id='cal_end_time'>";
|
||||
$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 .= "<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 .= "<option value=''>" . t("None") . "</option>\n";
|
||||
$out .= "<label class='block' for='rec_frequency'>" . L10n::t("Frequency") . ":</label> <select id='rec_frequency' name='rec_frequency' size='1'>";
|
||||
$out .= "<option value=''>" . L10n::t("None") . "</option>\n";
|
||||
$out .= "<option value='daily' ";
|
||||
if ($recurrence && $recurrence->frequency == "daily") $out .= "selected";
|
||||
$out .= ">" . t("Daily") . "</option>\n";
|
||||
$out .= ">" . L10n::t("Daily") . "</option>\n";
|
||||
$out .= "<option value='weekly' ";
|
||||
if ($recurrence && $recurrence->frequency == "weekly") $out .= "selected";
|
||||
$out .= ">" . t("Weekly") . "</option>\n";
|
||||
$out .= ">" . L10n::t("Weekly") . "</option>\n";
|
||||
$out .= "<option value='monthly' ";
|
||||
if ($recurrence && $recurrence->frequency == "monthly") $out .= "selected";
|
||||
$out .= ">" . t("Monthly") . "</option>\n";
|
||||
$out .= ">" . L10n::t("Monthly") . "</option>\n";
|
||||
$out .= "<option value='yearly' ";
|
||||
if ($recurrence && $recurrence->frequency == "yearly") $out .= "selected";
|
||||
$out .= ">" . t("Yearly") . "</option>\n";
|
||||
$out .= ">" . L10n::t("Yearly") . "</option>\n";
|
||||
$out .= "</select><br>\n";
|
||||
$out .= "<div id='rec_details'>";
|
||||
|
||||
|
@ -211,15 +214,15 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
|||
$select .= ">$i</option>\n";
|
||||
}
|
||||
$select .= "</select>";
|
||||
$time = "<span class='rec_daily'>" . t("days") . "</span>";
|
||||
$time .= "<span class='rec_weekly'>" . t("weeks") . "</span>";
|
||||
$time .= "<span class='rec_monthly'>" . t("months") . "</span>";
|
||||
$time .= "<span class='rec_yearly'>" . t("years") . "</span>";
|
||||
$out .= "<label class='block'>" . t("Interval") . ":</label> " . str_replace(array("%select%", "%time%"), array($select, $time), t("All %select% %time%")) . "<br>";
|
||||
$time = "<span class='rec_daily'>" . L10n::t("days") . "</span>";
|
||||
$time .= "<span class='rec_weekly'>" . L10n::t("weeks") . "</span>";
|
||||
$time .= "<span class='rec_monthly'>" . L10n::t("months") . "</span>";
|
||||
$time .= "<span class='rec_yearly'>" . L10n::t("years") . "</span>";
|
||||
$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 .= "<label class='block'>" . t("Days") . ":</label>";
|
||||
$out .= "<label class='block'>" . L10n::t("Days") . ":</label>";
|
||||
if ($recurrence && $recurrence->byDay) {
|
||||
$byday = $recurrence->byDay;
|
||||
} else {
|
||||
|
@ -228,36 +231,36 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
|||
if ($localization->getFirstDayOfWeek() == 0) {
|
||||
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='SU' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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' ";
|
||||
if (in_array("SA", $byday)) $out .= "checked";
|
||||
$out .= ">" . t("Saturday") . "</label> ";
|
||||
$out .= ">" . L10n::t("Saturday") . "</label> ";
|
||||
if ($localization->getFirstDayOfWeek() != 0) {
|
||||
$out .= "<label class='plain'><input class='rec_daily_byday' type='checkbox' name='rec_daily_byday[]' value='SU' ";
|
||||
if (in_array("SU", $byday)) $out .= "checked";
|
||||
$out .= ">" . t("Sunday") . "</label> ";
|
||||
$out .= ">" . L10n::t("Sunday") . "</label> ";
|
||||
}
|
||||
$out .= "</div>";
|
||||
|
||||
|
||||
$out .= "<div class='rec_weekly'>";
|
||||
$out .= "<label class='block'>" . t("Days") . ":</label>";
|
||||
$out .= "<label class='block'>" . L10n::t("Days") . ":</label>";
|
||||
if ($recurrence && $recurrence->byDay) {
|
||||
$byday = $recurrence->byDay;
|
||||
} else {
|
||||
|
@ -267,34 +270,34 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
|||
if ($localization->getFirstDayOfWeek() == 0) {
|
||||
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='SU' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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' ";
|
||||
if (in_array("SA", $byday)) $out .= "checked";
|
||||
$out .= ">" . t("Saturday") . "</label> ";
|
||||
$out .= ">" . L10n::t("Saturday") . "</label> ";
|
||||
if ($localization->getFirstDayOfWeek() != 0) {
|
||||
$out .= "<label class='plain'><input class='rec_weekly_byday' type='checkbox' name='rec_weekly_byday[]' value='SU' ";
|
||||
if (in_array("SU", $byday)) $out .= "checked";
|
||||
$out .= ">" . t("Sunday") . "</label> ";
|
||||
$out .= ">" . L10n::t("Sunday") . "</label> ";
|
||||
}
|
||||
$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;
|
||||
else {
|
||||
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' ";
|
||||
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' ";
|
||||
if ($wkst == "MO") $out .= "checked";
|
||||
$out .= ">" . t("Monday") . "</label><br>\n";
|
||||
$out .= ">" . L10n::t("Monday") . "</label><br>\n";
|
||||
|
||||
$out .= "</div>";
|
||||
|
||||
|
@ -347,20 +350,20 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
|||
}
|
||||
|
||||
$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 .= "<option value='bymonthday' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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 .= "</div>\n";
|
||||
|
||||
|
@ -369,21 +372,21 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
|||
}
|
||||
|
||||
$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' for='rec_yearly_day'>" . t("Day of month") . ":</label>";
|
||||
$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'>" . L10n::t("Day of month") . ":</label>";
|
||||
$out .= "<select id='rec_yearly_day' name='rec_yearly_day' size='1'>";
|
||||
$out .= "<option value='bymonthday' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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' ";
|
||||
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 .= "</div>\n";
|
||||
|
||||
|
@ -410,26 +413,26 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
|||
$rule_until_date = time();
|
||||
$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 .= "<option value='infinite' ";
|
||||
if ($rule_type == "infinite") $out .= "selected";
|
||||
$out .= ">" . t("Infinite") . "</option>\n";
|
||||
$out .= ">" . L10n::t("Infinite") . "</option>\n";
|
||||
$out .= "<option value='date' ";
|
||||
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' ";
|
||||
if ($rule_type == "count") $out .= "selected";
|
||||
$out .= ">" . t("Number of times") . ":</option>\n";
|
||||
$out .= ">" . L10n::t("Number of times") . ":</option>\n";
|
||||
$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_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' ";
|
||||
if (count($recurrentce_exdates) > 0) $out .= "style='display: none;'";
|
||||
$out .= ">" . t("none") . "</div>";
|
||||
$out .= ">" . L10n::t("none") . "</div>";
|
||||
$out .= "<div class='rec_exceptions_holder' ";
|
||||
if (count($recurrentce_exdates) == 0) $out .= "style='display: none;'";
|
||||
$out .= ">";
|
||||
|
@ -446,7 +449,7 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
|||
|
||||
$out .= "</div><br>";
|
||||
|
||||
$out .= "<h2>" . t("Notification") . "</h2>";
|
||||
$out .= "<h2>" . L10n::t("Notification") . "</h2>";
|
||||
|
||||
if (!$notifications) $notifications = array();
|
||||
$notifications["new"] = array(
|
||||
|
@ -463,33 +466,33 @@ function wdcal_getEditPage_str(&$localization, $baseurl, $calendar_id, $uri)
|
|||
|
||||
$out .= "<div class='noti_holder' ";
|
||||
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 .= "<option value=''>- " . t("Remove") . " -</option>\n";
|
||||
$out .= "<option value='email' "; if (!$unparsable && $noti["action"] == "email") $out .= "selected"; $out .= ">" . 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='other' "; if ($unparsable) $out .= "selected"; $out .= ">- " . t("other (leave it untouched)") . " -</option>\n"; // @TODO
|
||||
$out .= "<option value=''>- " . L10n::t("Remove") . " -</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 .= ">" . L10n::t("On Friendica / Display") . "</option>\n";
|
||||
//$out .= "<option value='other' "; if ($unparsable) $out .= "selected"; $out .= ">- " . L10n::t("other (leave it untouched)") . " -</option>\n"; // @TODO
|
||||
$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 .= "<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='M' "; if ($noti["trigger_unit"] == "minute") $out .= "selected"; $out .= ">" . t("Minutes") . "</option>\n";
|
||||
$out .= "<option value='S' "; if ($noti["trigger_unit"] == "second") $out .= "selected"; $out .= ">" . t("Seconds") . "</option>\n";
|
||||
$out .= "<option value='D' "; if ($noti["trigger_unit"] == "day") $out .= "selected"; $out .= ">" . t("Days") . "</option>\n";
|
||||
$out .= "<option value='W' "; if ($noti["trigger_unit"] == "week") $out .= "selected"; $out .= ">" . t("Weeks") . "</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 .= ">" . L10n::t("Minutes") . "</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 .= ">" . L10n::t("Days") . "</option>\n";
|
||||
$out .= "<option value='W' "; if ($noti["trigger_unit"] == "week") $out .= "selected"; $out .= ">" . L10n::t("Weeks") . "</option>\n";
|
||||
$out .= "</select>";
|
||||
|
||||
$out .= " <label class='plain'>" . 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='end' "; if ($noti["rel"] == "end") $out .= "selected"; $out .= ">" . t("end of the event") . "</option>\n";
|
||||
$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 .= ">" . L10n::t("start 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 .= "</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() {
|
||||
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;
|
||||
}
|
||||
$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->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("DTEND");
|
||||
|
@ -596,7 +599,7 @@ function wdcal_set_component_recurrence(&$component, &$localization)
|
|||
$date = $localization->date_local2timestamp($_REQUEST["rec_until_date"]);
|
||||
$part_until = ";UNTIL=" . date("Ymd", $date);
|
||||
$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;
|
||||
case "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"])) {
|
||||
$arr = array();
|
||||
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 */
|
||||
$prop = Sabre\VObject\Property::create("EXDATE");
|
||||
|
@ -684,7 +687,7 @@ function wdcal_set_component_alerts(&$component, &$localization, $summary, $dtst
|
|||
"#date#", "#name",
|
||||
), array(
|
||||
$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("SUMMARY", $summary));
|
||||
|
@ -693,7 +696,7 @@ function wdcal_set_component_alerts(&$component, &$localization, $summary, $dtst
|
|||
break;
|
||||
case "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));
|
||||
break;
|
||||
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);
|
||||
$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 {
|
||||
$calendar = dav_get_current_user_calendar_by_id($server, $_REQUEST["calendar"], DAV_ACL_WRITE);
|
||||
$vObject = dav_create_empty_vevent();
|
||||
|
@ -766,7 +769,7 @@ function wdcal_postEditPage($uri, $uid = 0, $timezone = "", $goaway_url = "")
|
|||
$obj = $calendar->getChild($obj_uri);
|
||||
$obj->put($data);
|
||||
}
|
||||
return array("ok" => false, "msg" => t("Saved"));
|
||||
return array("ok" => false, "msg" => L10n::t("Saved"));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Core\L10n;
|
||||
|
||||
$a = get_app();
|
||||
$uri = parse_url($a->get_baseurl());
|
||||
$path = "/";
|
||||
|
@ -202,11 +204,11 @@ function wdcal_create_std_calendars_get_statements($user_id, $withcheck = true)
|
|||
{
|
||||
$stms = array();
|
||||
$a = get_app();
|
||||
$uris = array(
|
||||
'private' => t("Private Calendar"),
|
||||
CALDAV_FRIENDICA_MINE => t("Friendica Events: Mine"),
|
||||
CALDAV_FRIENDICA_CONTACTS => t("Friendica Events: Contacts"),
|
||||
);
|
||||
$uris = [
|
||||
'private' => L10n::t("Private Calendar"),
|
||||
CALDAV_FRIENDICA_MINE => L10n::t("Friendica Events: Mine"),
|
||||
CALDAV_FRIENDICA_CONTACTS => L10n::t("Friendica Events: Contacts"),
|
||||
];
|
||||
foreach ($uris as $uri => $name) {
|
||||
$cals = q("SELECT * FROM %s%scalendars WHERE `namespace` = %d AND `namespace_id` = %d AND `uri` = '%s'",
|
||||
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, CALDAV_NAMESPACE_PRIVATE, IntVal($user_id), dbesc($uri));
|
||||
|
@ -244,10 +246,10 @@ function wdcal_create_std_addressbooks_get_statements($user_id, $withcheck = tru
|
|||
{
|
||||
$stms = array();
|
||||
$a = get_app();
|
||||
$uris = array(
|
||||
'private' => t("Private Addresses"),
|
||||
CARDDAV_FRIENDICA_CONTACT => t("Friendica Contacts"),
|
||||
);
|
||||
$uris = [
|
||||
'private' => L10n::t("Private Addresses"),
|
||||
CARDDAV_FRIENDICA_CONTACT => L10n::t("Friendica Contacts"),
|
||||
];
|
||||
foreach ($uris as $uri => $name) {
|
||||
$cals = q("SELECT * FROM %s%saddressbooks WHERE `namespace` = %d AND `namespace_id` = %d AND `uri` = '%s'",
|
||||
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, CALDAV_NAMESPACE_PRIVATE, IntVal($user_id), dbesc($uri));
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
|
||||
class Sabre_CalDAV_Backend_Friendica extends Sabre_CalDAV_Backend_Virtual
|
||||
{
|
||||
|
||||
|
@ -33,7 +36,7 @@ class Sabre_CalDAV_Backend_Friendica extends Sabre_CalDAV_Backend_Virtual
|
|||
* @return string
|
||||
*/
|
||||
public static function getBackendTypeName() {
|
||||
return t("Friendica-Native events");
|
||||
return L10n::t("Friendica-Native events");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -65,8 +68,8 @@ class Sabre_CalDAV_Backend_Friendica extends Sabre_CalDAV_Backend_Virtual
|
|||
$component = dav_get_eventComponent($vevent);
|
||||
|
||||
if ($row["adjust"]) {
|
||||
$start = datetime_convert('UTC', date_default_timezone_get(), $row["start"]);
|
||||
$finish = datetime_convert('UTC', date_default_timezone_get(), $row["finish"]);
|
||||
$start = DateTimeFormat::local($row["start"]);
|
||||
$finish = DateTimeFormat::local($row["finish"]);
|
||||
} else {
|
||||
$start = $row["start"];
|
||||
$finish = $row["finish"];
|
||||
|
@ -85,9 +88,9 @@ class Sabre_CalDAV_Backend_Friendica extends Sabre_CalDAV_Backend_Virtual
|
|||
$type = ($allday ? Sabre\VObject\Property\DateTime::DATE : Sabre\VObject\Property\DateTime::LOCALTZ);
|
||||
|
||||
$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->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->add($datetime_start);
|
||||
$component->add($datetime_end);
|
||||
|
@ -113,8 +116,8 @@ class Sabre_CalDAV_Backend_Friendica extends Sabre_CalDAV_Backend_Virtual
|
|||
private function jqcal2wdcal($row, $calendar, $base_path)
|
||||
{
|
||||
if ($row["adjust"]) {
|
||||
$start = datetime_convert('UTC', date_default_timezone_get(), $row["start"]);
|
||||
$finish = datetime_convert('UTC', date_default_timezone_get(), $row["finish"]);
|
||||
$start = DateTimeFormat::local($row["start"]);
|
||||
$finish = DateTimeFormat::local($row["finish"]);
|
||||
} else {
|
||||
$start = $row["start"];
|
||||
$finish = $row["finish"];
|
||||
|
@ -172,11 +175,11 @@ class Sabre_CalDAV_Backend_Friendica extends Sabre_CalDAV_Backend_Virtual
|
|||
}
|
||||
|
||||
if ($date_from != "") {
|
||||
if (is_numeric($date_from)) $sql_where .= " AND `finish` >= '" . date("Y-m-d H:i:s", $date_from) . "'";
|
||||
if (is_numeric($date_from)) $sql_where .= " AND `finish` >= '" . date(DateTimeFormat::MYSQL, $date_from) . "'";
|
||||
else $sql_where .= " AND `finish` >= '" . dbesc($date_from) . "'";
|
||||
}
|
||||
if ($date_to != "") {
|
||||
if (is_numeric($date_to)) $sql_where .= " AND `start` <= '" . date("Y-m-d H:i:s", $date_to) . "'";
|
||||
if (is_numeric($date_to)) $sql_where .= " AND `start` <= '" . date(DateTimeFormat::MYSQL, $date_to) . "'";
|
||||
else $sql_where .= " AND `start` <= '" . dbesc($date_to) . "'";
|
||||
}
|
||||
$ret = array();
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Core\L10n;
|
||||
|
||||
class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
|
||||
{
|
||||
|
||||
|
@ -33,7 +35,7 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
|
|||
* @return string
|
||||
*/
|
||||
public static function getBackendTypeName() {
|
||||
return t("Friendica-Contacts");
|
||||
return L10n::t("Friendica-Contacts");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -56,8 +58,8 @@ class Sabre_CardDAV_Backend_Friendica extends Sabre_CardDAV_Backend_Virtual
|
|||
'id' => $books[0]["id"],
|
||||
'uri' => "friendica",
|
||||
'principaluri' => $principalUri,
|
||||
'{DAV:}displayname' => t("Friendica-Contacts"),
|
||||
'{' . Sabre_CardDAV_Plugin::NS_CARDDAV . '}addressbook-description' => t("Your Friendica-Contacts"),
|
||||
'{DAV:}displayname' => L10n::t("Friendica-Contacts"),
|
||||
'{' . Sabre_CardDAV_Plugin::NS_CARDDAV . '}addressbook-description' => L10n::t("Your Friendica-Contacts"),
|
||||
'{http://calendarserver.org/ns/}getctag' => $ctag,
|
||||
'{' . Sabre_CardDAV_Plugin::NS_CARDDAV . '}supported-address-data' =>
|
||||
new Sabre_CardDAV_Property_SupportedAddressData(),
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Core\Config;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\PConfig;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -96,7 +99,7 @@ function wdcal_import_user_ics($calendar_id) {
|
|||
if (!isset($imported[$uid])) $imported[$uid] = "";
|
||||
$imported[$uid] .= $c->serialize();
|
||||
} catch (Exception $e) {
|
||||
notice(t("Something went wrong when trying to import the file. Sorry. Maybe some events were imported anyway."));
|
||||
notice(L10n::t("Something went wrong when trying to import the file. Sorry. Maybe some events were imported anyway."));
|
||||
}
|
||||
|
||||
if (isset($_REQUEST["overwrite"])) {
|
||||
|
@ -128,28 +131,28 @@ function wdcal_import_user_ics($calendar_id) {
|
|||
$calendar->createFile("import-" . $i . ".ics", $str);
|
||||
$i++;
|
||||
} catch (Exception $e) {
|
||||
notice(t("Something went wrong when trying to import the file. Sorry."));
|
||||
notice(L10n::t("Something went wrong when trying to import the file. Sorry."));
|
||||
}
|
||||
|
||||
$o = t("The ICS-File has been imported.");
|
||||
$o = L10n::t("The ICS-File has been imported.");
|
||||
} catch (Exception $e) {
|
||||
notice(t("Something went wrong when trying to import the file. Sorry. Maybe some events were imported anyway."));
|
||||
notice(L10n::t("Something went wrong when trying to import the file. Sorry. Maybe some events were imported anyway."));
|
||||
} else {
|
||||
notice(t("No file was uploaded."));
|
||||
notice(L10n::t("No file was uploaded."));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$o .= "<a href='" . $a->get_baseurl() . "/dav/wdcal/'>" . t("Go back to the calendar") . "</a><br><br>";
|
||||
$o .= "<a href='" . $a->get_baseurl() . "/dav/wdcal/'>" . L10n::t("Go back to the calendar") . "</a><br><br>";
|
||||
|
||||
$num = q("SELECT COUNT(*) num FROM %s%scalendarobjects WHERE `calendar_id` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $calendar_id);
|
||||
|
||||
$o .= "<h2>" . t("Import a ICS-file") . "</h2>";
|
||||
$o .= "<h2>" . L10n::t("Import a ICS-file") . "</h2>";
|
||||
$o .= '<form method="POST" action="' . $a->get_baseurl() . '/dav/wdcal/' . $calendar_id . '/ics-import/" enctype="multipart/form-data">';
|
||||
$o .= "<input type='hidden' name='form_security_token' value='" . get_form_security_token('icsimport') . "'>\n";
|
||||
$o .= "<label for='ics_file'>" . t("ICS-File") . "</label><input type='file' name='ics_file' id='ics_file'><br>\n";
|
||||
if ($num[0]["num"] > 0) $o .= "<label for='overwrite'>" . str_replace("#num#", $num[0]["num"], t("Overwrite all #num# existing events")) . "</label> <input name='overwrite' id='overwrite' type='checkbox'><br>\n";
|
||||
$o .= "<input type='submit' name='save' value='" . t("Upload") . "'>";
|
||||
$o .= "<label for='ics_file'>" . L10n::t("ICS-File") . "</label><input type='file' name='ics_file' id='ics_file'><br>\n";
|
||||
if ($num[0]["num"] > 0) $o .= "<label for='overwrite'>" . str_replace("#num#", $num[0]["num"], L10n::t("Overwrite all #num# existing events")) . "</label> <input name='overwrite' id='overwrite' type='checkbox'><br>\n";
|
||||
$o .= "<input type='submit' name='save' value='" . L10n::t("Upload") . "'>";
|
||||
$o .= '</form>';
|
||||
|
||||
return $o;
|
||||
|
@ -222,14 +225,14 @@ function wdcal_printCalendar($calendars, $calendars_selected, $data_feed_url, $v
|
|||
|
||||
$x .= '<div class="ctoolbar">
|
||||
<div class="fbutton faddbtn" style="float: right;">
|
||||
<div><a href="' . $a->get_baseurl() . '/dav/settings/"><span>' . t("Settings") . ' / ' . t("Help") . '</span></a></div>
|
||||
<div><a href="' . $a->get_baseurl() . '/dav/settings/"><span>' . L10n::t("Settings") . ' / ' . L10n::t("Help") . '</span></a></div>
|
||||
</div>
|
||||
<div class="fbutton addcal">
|
||||
<div><a href="' . $a->get_baseurl() . '/dav/wdcal/new/" class="addcal">' . t("New event") . '</a></div>
|
||||
<div><a href="' . $a->get_baseurl() . '/dav/wdcal/new/" class="addcal">' . L10n::t("New event") . '</a></div>
|
||||
</div>
|
||||
<div class="btnseparator"></div>
|
||||
<div class="fbutton showtodaybtn">
|
||||
<div><span class="showtoday">' . t("Today") . '</span></div>
|
||||
<div><span class="showtoday">' . L10n::t("Today") . '</span></div>
|
||||
</div>
|
||||
<div class="btnseparator"></div>
|
||||
|
||||
|
@ -238,37 +241,37 @@ function wdcal_printCalendar($calendars, $calendars_selected, $data_feed_url, $v
|
|||
|
||||
if ($view == "day") $x .= 'fcurrent';
|
||||
|
||||
$x .= '">' . t("Day") . '</span></div>
|
||||
$x .= '">' . L10n::t("Day") . '</span></div>
|
||||
</div>
|
||||
<div class="fbutton showweekbtn ';
|
||||
|
||||
if ($view == "week") $x .= "fcurrent";
|
||||
|
||||
$x .= '">
|
||||
<div><span title="Week" class="showweekview">' . t("Week") . '</span></div>
|
||||
<div><span title="Week" class="showweekview">' . L10n::t("Week") . '</span></div>
|
||||
</div>
|
||||
<div class="showmonthbtn fbutton ';
|
||||
|
||||
if ($view == "month") $x .= 'fcurrent';
|
||||
|
||||
$x .= '">
|
||||
<div><span title="Month" class="showmonthview">' . t("Month") . '</span></div>
|
||||
<div><span title="Month" class="showmonthview">' . L10n::t("Month") . '</span></div>
|
||||
|
||||
</div>
|
||||
<div class="btnseparator"></div>
|
||||
<div class="fbutton showreflashbtn">
|
||||
<div><span class="showdayflash">' . t("Reload") . '</span></div>
|
||||
<div><span class="showdayflash">' . L10n::t("Reload") . '</span></div>
|
||||
</div>
|
||||
<div class="btnseparator"></div>
|
||||
<div title="' . t("Previous") . '" class="fbutton sfprevbtn">
|
||||
<div title="' . L10n::t("Previous") . '" class="fbutton sfprevbtn">
|
||||
<span class="fprev"></span>
|
||||
</div>
|
||||
<div title="' . t("Next") . '" class="fbutton sfnextbtn">
|
||||
<div title="' . L10n::t("Next") . '" class="fbutton sfnextbtn">
|
||||
<span class="fnext"></span>
|
||||
</div>
|
||||
<div class="fshowdatep fbutton" style="white-space: nowrap; position: relative;">
|
||||
<input name="txtshow" class="hdtxtshow" style="position: absolute; bottom: 0; left: 0; width: 0; height: 0; border: 0; padding: 0; margin: 0;">
|
||||
<span class="txtdatetimeshow">' . t("Date") . '</span>
|
||||
<span class="txtdatetimeshow">' . L10n::t("Date") . '</span>
|
||||
</div>
|
||||
<div style="float: right;">
|
||||
<div class="clear"></div>
|
||||
|
@ -310,8 +313,8 @@ function wdcal_getDetailPage($calendar_id, $calendarobject_id)
|
|||
|
||||
$details = $obj;
|
||||
} catch (Exception $e) {
|
||||
info(t("Error") . ": " . $e);
|
||||
goaway($a->get_baseurl() . "/dav/wdcal/");
|
||||
info(L10n::t("Error") . ": " . $e);
|
||||
goaway('dav/wdcal/');
|
||||
}
|
||||
|
||||
return print_r($details, true);
|
||||
|
@ -351,14 +354,14 @@ function wdcal_getSettingsPage(&$a)
|
|||
{
|
||||
|
||||
if (!local_user()) {
|
||||
notice(t('Permission denied.') . EOL);
|
||||
notice(L10n::t('Permission denied.') . EOL);
|
||||
return '';
|
||||
}
|
||||
|
||||
if (isset($_REQUEST["save"])) {
|
||||
check_form_security_token_redirectOnErr('/dav/settings/', 'calprop');
|
||||
set_pconfig($a->user["uid"], "dav", "dateformat", $_REQUEST["wdcal_date_format"]);
|
||||
info(t('The new values have been saved.'));
|
||||
PConfig::set($a->user["uid"], "dav", "dateformat", $_REQUEST["wdcal_date_format"]);
|
||||
info(L10n::t('The new values have been saved.'));
|
||||
}
|
||||
|
||||
if (isset($_REQUEST["save_cals"])) {
|
||||
|
@ -377,7 +380,7 @@ function wdcal_getSettingsPage(&$a)
|
|||
if ($change_sql != "") {
|
||||
q("UPDATE %s%scalendars SET `ctag` = `ctag` + 1 $change_sql WHERE `id` = %d AND `namespace_id` = %d AND `namespace_id` = %d",
|
||||
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $cal["id"], CALDAV_NAMESPACE_PRIVATE, IntVal($a->user["uid"]));
|
||||
info(t('The calendar has been updated.'));
|
||||
info(L10n::t('The calendar has been updated.'));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -390,7 +393,7 @@ function wdcal_getSettingsPage(&$a)
|
|||
CALDAV_SQL_DB, CALDAV_SQL_PREFIX, CALDAV_NAMESPACE_PRIVATE, IntVal($a->user["uid"]), $neworder, dbesc(strtolower(substr($_REQUEST["color"]["new"], 1))),
|
||||
dbesc($_REQUEST["name"]["new"]), dbesc($a->timezone), dbesc($_REQUEST["uri"]["new"])
|
||||
);
|
||||
info(t('The new calendar has been created.'));
|
||||
info(L10n::t('The new calendar has been created.'));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -414,20 +417,20 @@ function wdcal_getSettingsPage(&$a)
|
|||
q("DELETE FROM %s%scalendars WHERE `id` = %s", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($_REQUEST["remove_cal"]));
|
||||
q("UPDATE %s%scalendars SET `ctag` = `ctag` + 1 WHERE `id` = " . CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $newcal[0]["id"]);
|
||||
|
||||
info(t('The calendar has been deleted.'));
|
||||
info(L10n::t('The calendar has been deleted.'));
|
||||
}
|
||||
|
||||
$o = "";
|
||||
|
||||
$o .= "<a href='" . $a->get_baseurl() . "/dav/wdcal/'>" . t("Go back to the calendar") . "</a><br><br>";
|
||||
$o .= "<a href='" . $a->get_baseurl() . "/dav/wdcal/'>" . L10n::t("Go back to the calendar") . "</a><br><br>";
|
||||
|
||||
$o .= '<h3>' . t('Calendar Settings') . '</h3>';
|
||||
$o .= '<h3>' . L10n::t('Calendar Settings') . '</h3>';
|
||||
|
||||
$current_format = wdcal_local::getInstanceByUser($a->user["uid"]);
|
||||
$o .= '<form method="POST" action="' . $a->get_baseurl() . '/dav/settings/">';
|
||||
$o .= "<input type='hidden' name='form_security_token' value='" . get_form_security_token('calprop') . "'>\n";
|
||||
|
||||
$o .= '<label for="wdcal_date_format">' . t('Date format') . ':</label><select name="wdcal_date_format" id="wdcal_date_format" size="1">';
|
||||
$o .= '<label for="wdcal_date_format">' . L10n::t('Date format') . ':</label><select name="wdcal_date_format" id="wdcal_date_format" size="1">';
|
||||
$classes = wdcal_local::getInstanceClasses();
|
||||
foreach ($classes as $c) {
|
||||
$o .= '<option value="' . $c::getID() . '" ';
|
||||
|
@ -436,13 +439,13 @@ function wdcal_getSettingsPage(&$a)
|
|||
}
|
||||
$o .= '</select><br>';
|
||||
|
||||
$o .= '<label for="wdcal_time_zone">' . t('Time zone') . ':</label><input id="wdcal_time_zone" value="' . $a->timezone . '" disabled><br>';
|
||||
$o .= '<label for="wdcal_time_zone">' . L10n::t('Time zone') . ':</label><input id="wdcal_time_zone" value="' . $a->timezone . '" disabled><br>';
|
||||
|
||||
$o .= '<input type="submit" name="save" value="' . t('Save') . '">';
|
||||
$o .= '<input type="submit" name="save" value="' . L10n::t('Save') . '">';
|
||||
$o .= '</form>';
|
||||
|
||||
|
||||
$o .= '<br><br><h3>' . t('Calendars') . '</h3>';
|
||||
$o .= '<br><br><h3>' . L10n::t('Calendars') . '</h3>';
|
||||
$o .= '<form method="POST" action="' . $a->get_baseurl() . '/dav/settings/">';
|
||||
$o .= "<input type='hidden' name='form_security_token' value='" . get_form_security_token('calprop') . "'>\n";
|
||||
$o .= "<table><tr><th>Type</th><th>Color</th><th>Name</th><th>URI (for CalDAV)</th><th>ICS</th></tr>";
|
||||
|
@ -484,8 +487,8 @@ function wdcal_getSettingsPage(&$a)
|
|||
$o .= "</tr>\n";
|
||||
|
||||
$o .= "</table>";
|
||||
$o .= "<div style='text-align: center;'>[<a href='#' class='calendar_add_caller'>" . t("Create a new calendar") . "</a>]</div>";
|
||||
$o .= '<input type="submit" name="save_cals" value="' . t('Save') . '">';
|
||||
$o .= "<div style='text-align: center;'>[<a href='#' class='calendar_add_caller'>" . L10n::t("Create a new calendar") . "</a>]</div>";
|
||||
$o .= '<input type="submit" name="save_cals" value="' . L10n::t('Save') . '">';
|
||||
$o .= '</form>';
|
||||
$baseurl = $a->get_baseurl();
|
||||
$o .= "<script>\$(function() {
|
||||
|
@ -493,22 +496,22 @@ function wdcal_getSettingsPage(&$a)
|
|||
});</script>";
|
||||
|
||||
|
||||
$o .= "<br><h3>" . t("Limitations") . "</h3>";
|
||||
$o .= "<br><h3>" . L10n::t("Limitations") . "</h3>";
|
||||
|
||||
$o .= "- The native friendica events are embedded as read-only, half-transparent in the calendar.<br>";
|
||||
|
||||
$o .= "<br><h3>" . t("Warning") . "</h3>";
|
||||
$o .= "<br><h3>" . L10n::t("Warning") . "</h3>";
|
||||
|
||||
$o .= "This plugin still is in a very early stage of development. Expect major bugs!<br>";
|
||||
$o .= "This addon still is in a very early stage of development. Expect major bugs!<br>";
|
||||
|
||||
$o .= "<br><h3>" . t("Synchronization (iPhone, Thunderbird Lightning, Android, ...)") . "</h3>";
|
||||
$o .= "<br><h3>" . L10n::t("Synchronization (iPhone, Thunderbird Lightning, Android, ...)") . "</h3>";
|
||||
|
||||
$o .= 'This plugin enables synchronization of your dates and contacts with CalDAV- and CardDAV-enabled programs or devices.<br>
|
||||
$o .= 'This addon enables synchronization of your dates and contacts with CalDAV- and CardDAV-enabled programs or devices.<br>
|
||||
As an example, the instructions how to set up two-way synchronization with an iPhone/iPodTouch are provided below.<br>
|
||||
Unfortunately, Android does not have native support for CalDAV or CardDAV, so an app has to be installed.<br>
|
||||
On desktops, the Lightning-extension to Mozilla Thunderbird should be able to use this plugin as a backend.<br><br>';
|
||||
On desktops, the Lightning-extension to Mozilla Thunderbird should be able to use this addon as a backend.<br><br>';
|
||||
|
||||
$o .= '<h4>' . t('Synchronizing this calendar with the iPhone') . '</h4>';
|
||||
$o .= '<h4>' . L10n::t('Synchronizing this calendar with the iPhone') . '</h4>';
|
||||
|
||||
$o .= "<ul>
|
||||
<li>Go to the settings</li>
|
||||
|
@ -519,7 +522,7 @@ function wdcal_getSettingsPage(&$a)
|
|||
<li><b>Server:</b> " . $a->get_baseurl() . "/dav/ / <b>Username/Password:</b> <em>the same as your friendica-login</em></li>
|
||||
</ul>";
|
||||
|
||||
$o .= '<h4>' . t('Synchronizing your Friendica-Contacts with the iPhone') . '</h4>';
|
||||
$o .= '<h4>' . L10n::t('Synchronizing your Friendica-Contacts with the iPhone') . '</h4>';
|
||||
|
||||
$o .= "<ul>
|
||||
<li>Go to the settings</li>
|
||||
|
|
|
@ -1,22 +1,27 @@
|
|||
<?php
|
||||
|
||||
use Friendica\Core\Addon;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Module\Login;
|
||||
use Friendica\Util\Emailer;
|
||||
|
||||
require_once('include/security.php');
|
||||
|
||||
function dav_install()
|
||||
{
|
||||
register_hook('event_created', 'addon/dav/dav.php', 'dav_event_created_hook');
|
||||
register_hook('event_updated', 'addon/dav/dav.php', 'dav_event_updated_hook');
|
||||
register_hook('profile_tabs', 'addon/dav/dav.php', 'dav_profile_tabs_hook');
|
||||
register_hook('cron', 'addon/dav/dav.php', 'dav_cron');
|
||||
Addon::registerHook('event_created', 'addon/dav/dav.php', 'dav_event_created_hook');
|
||||
Addon::registerHook('event_updated', 'addon/dav/dav.php', 'dav_event_updated_hook');
|
||||
Addon::registerHook('profile_tabs', 'addon/dav/dav.php', 'dav_profile_tabs_hook');
|
||||
Addon::registerHook('cron', 'addon/dav/dav.php', 'dav_cron');
|
||||
}
|
||||
|
||||
|
||||
function dav_uninstall()
|
||||
{
|
||||
unregister_hook('event_created', 'addon/dav/dav.php', 'dav_event_created_hook');
|
||||
unregister_hook('event_updated', 'addon/dav/dav.php', 'dav_event_updated_hook');
|
||||
unregister_hook('profile_tabs', 'addon/dav/dav.php', 'dav_profile_tabs_hook');
|
||||
unregister_hook('cron', 'addon/dav/dav.php', 'dav_cron');
|
||||
Addon::unregisterHook('event_created', 'addon/dav/dav.php', 'dav_event_created_hook');
|
||||
Addon::unregisterHook('event_updated', 'addon/dav/dav.php', 'dav_event_updated_hook');
|
||||
Addon::unregisterHook('profile_tabs', 'addon/dav/dav.php', 'dav_profile_tabs_hook');
|
||||
Addon::unregisterHook('cron', 'addon/dav/dav.php', 'dav_cron');
|
||||
}
|
||||
|
||||
|
||||
|
@ -199,7 +204,7 @@ function dav_content()
|
|||
}
|
||||
}
|
||||
} catch (DAVVersionMismatchException $e) {
|
||||
$x = t("The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this.");
|
||||
$x = L10n::t("The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this.");
|
||||
}
|
||||
return $x;
|
||||
}
|
||||
|
@ -235,12 +240,12 @@ function dav_event_updated_hook(&$a, &$b)
|
|||
*/
|
||||
function dav_profile_tabs_hook(&$a, &$b)
|
||||
{
|
||||
$b["tabs"][] = array(
|
||||
"label" => t('Calendar'),
|
||||
$b["tabs"][] = [
|
||||
"label" => L10n::t('Calendar'),
|
||||
"url" => $a->get_baseurl() . "/dav/wdcal/",
|
||||
"sel" => "",
|
||||
"title" => t('Extended calendar with CalDAV-support'),
|
||||
);
|
||||
"title" => L10n::t('Extended calendar with CalDAV-support'),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
@ -277,10 +282,10 @@ function dav_cron(&$a, &$b)
|
|||
$text_html = str_replace($find, $repl, "Hi %to%!<br>\n<br>\nThe event \"%event%\" is about to begin:<br>\n<a href='" . "%url%" . "'>%url%</a>");
|
||||
$params = array(
|
||||
'fromName' => FRIENDICA_PLATFORM,
|
||||
'fromEmail' => t('noreply') . '@' . $a->get_hostname(),
|
||||
'replyTo' => t('noreply') . '@' . $a->get_hostname(),
|
||||
'fromEmail' => L10n::t('noreply') . '@' . $a->get_hostname(),
|
||||
'replyTo' => L10n::t('noreply') . '@' . $a->get_hostname(),
|
||||
'toEmail' => $user["email"],
|
||||
'messageSubject' => t("Notification: " . $event[0]["Summary"]),
|
||||
'messageSubject' => L10n::t("Notification: " . $event[0]["Summary"]),
|
||||
'htmlVersion' => $text_html,
|
||||
'textVersion' => $text_text,
|
||||
'additionalMailHeader' => "",
|
||||
|
@ -299,24 +304,24 @@ function dav_cron(&$a, &$b)
|
|||
* @param App $a
|
||||
* @param null|object $o
|
||||
*/
|
||||
function dav_plugin_admin_post(&$a = null, &$o = null)
|
||||
function dav_addon_admin_post(&$a = null, &$o = null)
|
||||
{
|
||||
check_form_security_token_redirectOnErr('/admin/plugins/dav', 'dav_admin_save');
|
||||
check_form_security_token_redirectOnErr('/admin/addons/dav', 'dav_admin_save');
|
||||
|
||||
dav_include_files();
|
||||
require_once(__DIR__ . "/database-init.inc.php");
|
||||
|
||||
if (isset($_REQUEST["install"])) {
|
||||
$errs = dav_create_tables();
|
||||
if (count($errs) == 0) info(t('The database tables have been installed.') . EOL);
|
||||
else notice(t("An error occurred during the installation.") . EOL);
|
||||
if (count($errs) == 0) info(L10n::t('The database tables have been installed.') . EOL);
|
||||
else notice(L10n::t("An error occurred during the installation.") . EOL);
|
||||
}
|
||||
if (isset($_REQUEST["upgrade"])) {
|
||||
$errs = dav_upgrade_tables();
|
||||
if (count($errs) == 0) {
|
||||
renderAllCalDavEntries();
|
||||
info(t('The database tables have been updated.') . EOL);
|
||||
} else notice(t("An error occurred during the update.") . EOL);
|
||||
info(L10n::t('The database tables have been updated.') . EOL);
|
||||
} else notice(L10n::t("An error occurred during the update.") . EOL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -324,7 +329,7 @@ function dav_plugin_admin_post(&$a = null, &$o = null)
|
|||
* @param App $a
|
||||
* @param string $o
|
||||
*/
|
||||
function dav_plugin_admin(&$a, &$o)
|
||||
function dav_addon_admin(&$a, &$o)
|
||||
{
|
||||
dav_include_files();
|
||||
require_once(__DIR__ . "/database-init.inc.php");
|
||||
|
@ -332,31 +337,31 @@ function dav_plugin_admin(&$a, &$o)
|
|||
$dbstatus = dav_check_tables();
|
||||
|
||||
$o = '<input type="hidden" name="form_security_token" value="' . get_form_security_token("dav_admin_save") . '">';
|
||||
$o .= '<i>' . t("No system-wide settings yet.") . '</i><br><br>';
|
||||
$o .= '<i>' . L10n::t("No system-wide settings yet.") . '</i><br><br>';
|
||||
|
||||
|
||||
$o .= '<h3>' . t('Database status') . '</h3>';
|
||||
$o .= '<h3>' . L10n::t('Database status') . '</h3>';
|
||||
switch ($dbstatus) {
|
||||
case 0:
|
||||
$o .= t('Installed');
|
||||
$o .= L10n::t('Installed');
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
$o .= "<strong>" . t('Upgrade needed') . "</strong><br>" . t("Please back up all calendar data (the tables beginning with dav_*) before proceeding. While all calendar events <i>should</i> be converted to the new database structure, it's always safe to have a backup. Below, you can have a look at the database-queries that will be made when pressing the 'update'-button.") . "<br><br><input type='submit' name='upgrade' value='" . t('Upgrade') . "'>";
|
||||
$o .= "<strong>" . L10n::t('Upgrade needed') . "</strong><br>" . L10n::t("Please back up all calendar data (the tables beginning with dav_*) before proceeding. While all calendar events <i>should</i> be converted to the new database structure, it's always safe to have a backup. Below, you can have a look at the database-queries that will be made when pressing the 'update'-button.") . "<br><br><input type='submit' name='upgrade' value='" . L10n::t('Upgrade') . "'>";
|
||||
break;
|
||||
case -1:
|
||||
$o .= t('Not installed') . "<br><br><input type='submit' name='install' value='" . t('Install') . "'>";
|
||||
$o .= L10n::t('Not installed') . "<br><br><input type='submit' name='install' value='" . L10n::t('Install') . "'>";
|
||||
break;
|
||||
case -2:
|
||||
default:
|
||||
$o .= t('Unknown') . "<br><br>" . t("Something really went wrong. I cannot recover from this state automatically, sorry. Please go to the database backend, back up the data, and delete all tables beginning with 'dav_' manually. Afterwards, this installation routine should be able to reinitialize the tables automatically.");
|
||||
$o .= L10n::t('Unknown') . "<br><br>" . L10n::t("Something really went wrong. I cannot recover from this state automatically, sorry. Please go to the database backend, back up the data, and delete all tables beginning with 'dav_' manually. Afterwards, this installation routine should be able to reinitialize the tables automatically.");
|
||||
break;
|
||||
}
|
||||
$o .= "<br><br>";
|
||||
|
||||
$o .= "<h3>" . t("Troubleshooting") . "</h3>";
|
||||
$o .= "<h4>" . t("Manual creation of the database tables:") . "</h4>";
|
||||
$o .= "<a href='#' onClick='\$(\"#sqlstatements\").show(); return false;'>" . t("Show SQL-statements") . "</a><blockquote style='display: none;' id='sqlstatements'><pre>";
|
||||
$o .= "<h3>" . L10n::t("Troubleshooting") . "</h3>";
|
||||
$o .= "<h4>" . L10n::t("Manual creation of the database tables:") . "</h4>";
|
||||
$o .= "<a href='#' onClick='\$(\"#sqlstatements\").show(); return false;'>" . L10n::t("Show SQL-statements") . "</a><blockquote style='display: none;' id='sqlstatements'><pre>";
|
||||
switch ($dbstatus) {
|
||||
case 1: case 2:
|
||||
$tables = dav_get_update_statements($dbstatus);
|
||||
|
|
2
dav/jqueryui/jquery.ui.datepicker-de.js
vendored
2
dav/jqueryui/jquery.ui.datepicker-de.js
vendored
|
@ -1,4 +1,4 @@
|
|||
/* German initialisation for the jQuery UI date picker plugin. */
|
||||
/* German initialisation for the jQuery UI date picker addon. */
|
||||
/* Written by Milian Wolff (mail@milianw.de). */
|
||||
jQuery(function($){
|
||||
$.datepicker.regional['de'] = {
|
||||
|
|
|
@ -183,7 +183,7 @@ msgstr ""
|
|||
|
||||
#: friendica/main.php:202
|
||||
msgid ""
|
||||
"The current version of this plugin has not been set up correctly. Please "
|
||||
"The current version of this addon has not been set up correctly. Please "
|
||||
"contact the system administrator of your installation of friendica to fix "
|
||||
"this."
|
||||
msgstr ""
|
||||
|
|
|
@ -40,7 +40,7 @@ $a->strings["Warning"] = "Avís";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Syncronització (iPhone, Thunderbird Lightning, Android, ...)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "Sncronitzant aquest calendari amb el iPhone";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sincronitzant els teus contactes a Friendica amb el iPhone";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["Calendar"] = "Calendari";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "Calendari ampliat amb suport CalDAV";
|
||||
$a->strings["noreply"] = "no contestar";
|
||||
|
|
|
@ -185,7 +185,7 @@ msgstr "Synchronizovat Vaše Friendica kontakty s iPhone"
|
|||
|
||||
#: friendica/main.php:202
|
||||
msgid ""
|
||||
"The current version of this plugin has not been set up correctly. Please "
|
||||
"The current version of this addon has not been set up correctly. Please "
|
||||
"contact the system administrator of your installation of friendica to fix "
|
||||
"this."
|
||||
msgstr "Stávající verze tohoto rozšíření nebyla správně nastavena. Prosím, kontaktujte administrátora webu, ať to opraví."
|
||||
|
|
|
@ -45,7 +45,7 @@ $a->strings["Warning"] = "Omezení";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Synchronizace (iPhone, Thunderbird Lightning, Android, ...)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "Synchronizovat tento kalendář s iPhone";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Synchronizovat Vaše Friendica kontakty s iPhone";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Stávající verze tohoto rozšíření nebyla správně nastavena. Prosím, kontaktujte administrátora webu, ať to opraví.";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Stávající verze tohoto rozšíření nebyla správně nastavena. Prosím, kontaktujte administrátora webu, ať to opraví.";
|
||||
$a->strings["Calendar"] = "Kalendář";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "Rozšířený kalendář s podporou CalDAV";
|
||||
$a->strings["noreply"] = "bez odpovědi";
|
||||
|
|
|
@ -185,7 +185,7 @@ msgstr "Friendica-Kontakte mit dem iPhone synchronisieren"
|
|||
|
||||
#: friendica/main.php:202
|
||||
msgid ""
|
||||
"The current version of this plugin has not been set up correctly. Please "
|
||||
"The current version of this addon has not been set up correctly. Please "
|
||||
"contact the system administrator of your installation of friendica to fix "
|
||||
"this."
|
||||
msgstr "Die aktuelle Version dieses Plugins wurde nicht korrekt eingestellt. Bitte kontaktiere den System-Administrator deiner Friendica Installation um den Fehler zu beheben."
|
||||
|
|
|
@ -45,7 +45,7 @@ $a->strings["Warning"] = "Warnung";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Synchronisation (iPhone, Thunderbird Lightning, Android, ...)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "Diesen Kalender mit dem iPhone synchronisieren";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Friendica-Kontakte mit dem iPhone synchronisieren";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Die aktuelle Version dieses Plugins wurde nicht korrekt eingestellt. Bitte kontaktiere den System-Administrator deiner Friendica Installation um den Fehler zu beheben.";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Die aktuelle Version dieses Plugins wurde nicht korrekt eingestellt. Bitte kontaktiere den System-Administrator deiner Friendica Installation um den Fehler zu beheben.";
|
||||
$a->strings["Calendar"] = "Kalender";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "Erweiterter Kalender mit CalDAV Unterstützung.";
|
||||
$a->strings["noreply"] = "noreply";
|
||||
|
|
|
@ -40,7 +40,7 @@ $a->strings["Warning"] = "Averto";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sinkronigo (iPhone, Thunderbird Lightning, Android, ...)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "Sinkronigi tiun kalendaron kun la iPhone";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sinkronigi viajn Friendica kontaktojn kun la iPhone";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["Calendar"] = "Kalendaro";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "Etendita kalendaro kun CalDAV subteno";
|
||||
$a->strings["noreply"] = "nerespondi";
|
||||
|
|
|
@ -186,10 +186,10 @@ msgstr "Sincronizar sus contactos de Friendica con el iPhone"
|
|||
|
||||
#: friendica/main.php:202
|
||||
msgid ""
|
||||
"The current version of this plugin has not been set up correctly. Please "
|
||||
"The current version of this addon has not been set up correctly. Please "
|
||||
"contact the system administrator of your installation of friendica to fix "
|
||||
"this."
|
||||
msgstr "La versión actual de este plugin no se ha instalado correctamente. Por favor contacte con el administrador del sistema de su instalación de Friendica para resolver esto."
|
||||
msgstr "La versión actual de este addon no se ha instalado correctamente. Por favor contacte con el administrador del sistema de su instalación de Friendica para resolver esto."
|
||||
|
||||
#: friendica/main.php:239 common/wdcal_edit.inc.php:146
|
||||
msgid "Calendar"
|
||||
|
|
|
@ -45,7 +45,7 @@ $a->strings["Warning"] = "Advertencia";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sincronización (iPhone, Thunderbird Lightning, Android, ...)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "Sincronizar este calendario con el iPhone";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sincronizar sus contactos de Friendica con el iPhone";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La versión actual de este plugin no se ha instalado correctamente. Por favor contacte con el administrador del sistema de su instalación de Friendica para resolver esto.";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La versión actual de este addon no se ha instalado correctamente. Por favor contacte con el administrador del sistema de su instalación de Friendica para resolver esto.";
|
||||
$a->strings["Calendar"] = "Calendario";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "Estendido el calendario con soporte CalDAV";
|
||||
$a->strings["noreply"] = "no responder";
|
||||
|
|
|
@ -40,7 +40,7 @@ $a->strings["Warning"] = "Avertissement";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Synchronisation (Iphone, Thunderbird Lightning, Android, ...)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "Synchronisation avec l'Iphone en cours";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Synchronisation de vos contacts Friendica avec l'Iphone en cours";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La version actuelle de cette extension n'a pas été configurée correctement. Merci de contacter votre administrateur Friendica pour régler ce problème. ";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La version actuelle de cette extension n'a pas été configurée correctement. Merci de contacter votre administrateur Friendica pour régler ce problème. ";
|
||||
$a->strings["Calendar"] = "Calendrier";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "Calendrier étendu avec support CalDAV";
|
||||
$a->strings["noreply"] = "noreply";
|
||||
|
|
|
@ -40,7 +40,7 @@ $a->strings["Warning"] = "";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["Calendar"] = "";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "";
|
||||
$a->strings["noreply"] = "ekki svara";
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
#
|
||||
#
|
||||
# Translators:
|
||||
# fabrixxm <fabrix.xm@gmail.com>, 2014
|
||||
# fabrixxm <fabrix.xm@gmail.com>, 2014,2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-02-27 05:01-0500\n"
|
||||
"PO-Revision-Date: 2015-12-14 11:10+0000\n"
|
||||
"PO-Revision-Date: 2018-03-19 13:21+0000\n"
|
||||
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -185,10 +185,10 @@ msgstr "Sincronizzare i tuoi contatti di Friendica con l'iPhone"
|
|||
|
||||
#: friendica/main.php:202
|
||||
msgid ""
|
||||
"The current version of this plugin has not been set up correctly. Please "
|
||||
"The current version of this addon has not been set up correctly. Please "
|
||||
"contact the system administrator of your installation of friendica to fix "
|
||||
"this."
|
||||
msgstr "La versione corrente di questo plugin non è stata configurata correttamente. Contatta l'amministratore."
|
||||
msgstr "La versione corrente di questo componente aggiuntivo non è stata configurata correttamente. Contatta l'amministratore."
|
||||
|
||||
#: friendica/main.php:239 common/wdcal_edit.inc.php:146
|
||||
msgid "Calendar"
|
||||
|
|
|
@ -45,7 +45,7 @@ $a->strings["Warning"] = "Attenzione";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sincronizzazione (iPhone, Thunderbird Lightning, Android, ...)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "Sincronizzare questo calendario con l'iPhone";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sincronizzare i tuoi contatti di Friendica con l'iPhone";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La versione corrente di questo plugin non è stata configurata correttamente. Contatta l'amministratore.";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La versione corrente di questo componente aggiuntivo non è stata configurata correttamente. Contatta l'amministratore.";
|
||||
$a->strings["Calendar"] = "Calendario";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "Calendario esteso con supporto CalDAV";
|
||||
$a->strings["noreply"] = "nonrispondere";
|
||||
|
|
|
@ -40,7 +40,7 @@ $a->strings["Warning"] = "";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["Calendar"] = "";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "";
|
||||
$a->strings["noreply"] = "ikke svar";
|
||||
|
|
|
@ -40,7 +40,7 @@ $a->strings["Warning"] = "Ostrzeżenie";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Synchronizacja (iPhone, Thunderbird Lightning, Android, ...)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "Zsynchronizuj kalendarz z iPhone";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Zsynchronizuj kontakty friendica z iPhone";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["Calendar"] = "Kalendarz";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "";
|
||||
$a->strings["noreply"] = "brak odpowiedzi";
|
||||
|
|
|
@ -40,7 +40,7 @@ $a->strings["Warning"] = "Aviso";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sincronização (iPhone, Thunderbird Lightning, Android, ...)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "Sincronização desta agenda com o iPhone";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sincronização dos seus contatos Friendica com o iPhone";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["Calendar"] = "Agenda";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "";
|
||||
$a->strings["noreply"] = "naoresponda";
|
||||
|
|
|
@ -184,7 +184,7 @@ msgstr "Sincronizați contactele Friendica cu iPhone"
|
|||
|
||||
#: friendica/main.php:202
|
||||
msgid ""
|
||||
"The current version of this plugin has not been set up correctly. Please "
|
||||
"The current version of this addon has not been set up correctly. Please "
|
||||
"contact the system administrator of your installation of friendica to fix "
|
||||
"this."
|
||||
msgstr "Versiunea curentă a acestui modul nu a fost corect configurată. Vă rugăm să contactați administratorul de sistem al aplicației dvs. friendica, pentru a corecta această situație."
|
||||
|
|
|
@ -45,7 +45,7 @@ $a->strings["Warning"] = "Atenție";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sincronizare (iPhone, Thunderbird Lightning, Android, ...)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "Sincronizați acest calendar cu iPhone";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sincronizați contactele Friendica cu iPhone";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Versiunea curentă a acestui modul nu a fost corect configurată. Vă rugăm să contactați administratorul de sistem al aplicației dvs. friendica, pentru a corecta această situație.";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Versiunea curentă a acestui modul nu a fost corect configurată. Vă rugăm să contactați administratorul de sistem al aplicației dvs. friendica, pentru a corecta această situație.";
|
||||
$a->strings["Calendar"] = "Calendar";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "Calendar extins cu suport-CalDAV";
|
||||
$a->strings["noreply"] = "nu-răspunde";
|
||||
|
|
|
@ -40,7 +40,7 @@ $a->strings["Warning"] = "";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";
|
||||
$a->strings["Calendar"] = "";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "";
|
||||
$a->strings["noreply"] = "без ответа";
|
||||
|
|
|
@ -40,7 +40,7 @@ $a->strings["Warning"] = "警告";
|
|||
$a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "同步(iPhone,Thunderbird Lightning, 案桌,等)";
|
||||
$a->strings["Synchronizing this calendar with the iPhone"] = "正在把这个日历跟iPhone同步";
|
||||
$a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "正在把您的Friendica熟人跟iPhone同步";
|
||||
$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "现有的插件没安装好。请跟系统管理您的friendica安装联系为维修。";
|
||||
$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "现有的插件没安装好。请跟系统管理您的friendica安装联系为维修。";
|
||||
$a->strings["Calendar"] = "日历";
|
||||
$a->strings["Extended calendar with CalDAV-support"] = "增能日历跟CalDAV支持";
|
||||
$a->strings["noreply"] = "noreply";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue