Adding sonata-project/exporter

1.10.x
Julio Montoya 12 years ago
parent 3835730dcb
commit 2e87df7be8
  1. 3
      composer.json
  2. 2
      vendor/autoload.php
  3. 1
      vendor/composer/autoload_namespaces.php
  4. 10
      vendor/composer/autoload_real.php
  5. 914
      vendor/composer/installed.json
  6. 7
      vendor/guzzle/guzzle/CHANGELOG.md
  7. 2
      vendor/guzzle/guzzle/src/Guzzle/Common/Version.php
  8. 3
      vendor/guzzle/guzzle/src/Guzzle/Http/ReadLimitEntityBody.php
  9. 4
      vendor/guzzle/guzzle/src/Guzzle/Stream/Stream.php
  10. 4
      vendor/patchwork/utf8/CHANGELOG.md
  11. 7
      vendor/patchwork/utf8/class/Patchwork/Utf8/Bootup.php
  12. 5
      vendor/sabre/vobject/.travis.yml
  13. 13
      vendor/sabre/vobject/ChangeLog.md
  14. 2
      vendor/sabre/vobject/README.md
  15. 47
      vendor/sabre/vobject/bin/fetch_tz_data.php
  16. 2
      vendor/sabre/vobject/doc/usage_2.md
  17. 2
      vendor/sabre/vobject/doc/usage_3.md
  18. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Cli.php
  19. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Component.php
  20. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Component/VAlarm.php
  21. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Component/VCalendar.php
  22. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Component/VCard.php
  23. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Component/VEvent.php
  24. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Component/VFreeBusy.php
  25. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Component/VJournal.php
  26. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Component/VTimeZone.php
  27. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Component/VTodo.php
  28. 2
      vendor/sabre/vobject/lib/Sabre/VObject/DateTimeParser.php
  29. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Document.php
  30. 2
      vendor/sabre/vobject/lib/Sabre/VObject/ElementList.php
  31. 2
      vendor/sabre/vobject/lib/Sabre/VObject/EofException.php
  32. 2
      vendor/sabre/vobject/lib/Sabre/VObject/FreeBusyGenerator.php
  33. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Node.php
  34. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Parameter.php
  35. 2
      vendor/sabre/vobject/lib/Sabre/VObject/ParseException.php
  36. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Parser/Json.php
  37. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Parser/MimeDir.php
  38. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Parser/Parser.php
  39. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property.php
  40. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/Binary.php
  41. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/Boolean.php
  42. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/FlatText.php
  43. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/Float.php
  44. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/ICalendar/CalAddress.php
  45. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/ICalendar/Date.php
  46. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/ICalendar/DateTime.php
  47. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/ICalendar/Duration.php
  48. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/ICalendar/Period.php
  49. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/ICalendar/Recur.php
  50. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/Integer.php
  51. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/Text.php
  52. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/Time.php
  53. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/Unknown.php
  54. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/Uri.php
  55. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/UtcOffset.php
  56. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/VCard/Date.php
  57. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/VCard/DateAndOrTime.php
  58. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/VCard/DateTime.php
  59. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/VCard/LanguageTag.php
  60. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Property/VCard/TimeStamp.php
  61. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Reader.php
  62. 2
      vendor/sabre/vobject/lib/Sabre/VObject/RecurrenceIterator.php
  63. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Splitter/ICalendar.php
  64. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Splitter/SplitterInterface.php
  65. 2
      vendor/sabre/vobject/lib/Sabre/VObject/Splitter/VCard.php
  66. 2
      vendor/sabre/vobject/lib/Sabre/VObject/StringUtil.php
  67. 2
      vendor/sabre/vobject/lib/Sabre/VObject/TimeZoneUtil.php
  68. 2
      vendor/sabre/vobject/lib/Sabre/VObject/UUIDUtil.php
  69. 2
      vendor/sabre/vobject/lib/Sabre/VObject/VCardConverter.php
  70. 4
      vendor/sabre/vobject/lib/Sabre/VObject/Version.php
  71. 2
      vendor/sabre/vobject/lib/Sabre/VObject/includes.php
  72. 2
      vendor/sabre/vobject/lib/Sabre/VObject/timezonedata/exchangezones.php
  73. 2
      vendor/sabre/vobject/lib/Sabre/VObject/timezonedata/lotuszones.php
  74. 2
      vendor/sabre/vobject/lib/Sabre/VObject/timezonedata/php-compat.php
  75. 5
      vendor/sabre/vobject/lib/Sabre/VObject/timezonedata/windowszones.php
  76. 31
      vendor/sabre/vobject/tests/Sabre/VObject/CliTest.php
  77. 2
      vendor/sabre/vobject/tests/Sabre/VObject/Property/VCard/DateAndOrTimeTest.php
  78. 58
      vendor/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorByMonthInDailyTest.php
  79. 51
      vendor/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorFifthTuesdayProblemTest.php
  80. 62
      vendor/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorIncorrectExpandTest.php
  81. 97
      vendor/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorInfiniteLoopProblemTest.php
  82. 30
      vendor/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorMinusOneProblemTest.php
  83. 63
      vendor/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorMissingOverriddenTest.php
  84. 1452
      vendor/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorTest.php
  85. 39
      vendor/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorUntilRespectsTimezoneTest.ics
  86. 55
      vendor/sabre/vobject/tests/Sabre/VObject/RecurrenceIteratorUntilRespectsTimezoneTest.php
  87. 4
      vendor/sabre/vobject/tests/Sabre/VObject/TimeZoneUtilTest.php

@ -96,7 +96,8 @@
"zendframework/zend-http": "~2.3",
"zendframework/zend-servicemanager": "~2.3",
"sabre/vobject" : "~3.1",
"patchwork/utf8": "1.1.*"
"patchwork/utf8": "1.1.*",
"sonata-project/exporter": "1.3.3"
},
"require-dev": {
"league/flysystem": "0.3.3",

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit7d601c150b9796f69feaec06e1a01b36::getLoader();
return ComposerAutoloaderInit9dadfafaeffed75d64d8b5cefc6da1f0::getLoader();

@ -87,6 +87,7 @@ return array(
'FranMoreno' => array($vendorDir . '/franmomu/silex-pagerfanta-provider/src'),
'Flint' => array($vendorDir . '/flint/flint/src'),
'FFMpeg' => array($vendorDir . '/php-ffmpeg/php-ffmpeg/src'),
'Exporter' => array($vendorDir . '/sonata-project/exporter/lib'),
'Evenement' => array($vendorDir . '/evenement/evenement/src'),
'Entity' => array($baseDir . '/main/inc'),
'Doctrine\\ORM\\' => array($vendorDir . '/doctrine/orm/lib'),

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit7d601c150b9796f69feaec06e1a01b36
class ComposerAutoloaderInit9dadfafaeffed75d64d8b5cefc6da1f0
{
private static $loader;
@ -19,9 +19,9 @@ class ComposerAutoloaderInit7d601c150b9796f69feaec06e1a01b36
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit7d601c150b9796f69feaec06e1a01b36', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit9dadfafaeffed75d64d8b5cefc6da1f0', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit7d601c150b9796f69feaec06e1a01b36', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit9dadfafaeffed75d64d8b5cefc6da1f0', 'loadClassLoader'));
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
@ -45,14 +45,14 @@ class ComposerAutoloaderInit7d601c150b9796f69feaec06e1a01b36
$includeFiles = require __DIR__ . '/autoload_files.php';
foreach ($includeFiles as $file) {
composerRequire7d601c150b9796f69feaec06e1a01b36($file);
composerRequire9dadfafaeffed75d64d8b5cefc6da1f0($file);
}
return $loader;
}
}
function composerRequire7d601c150b9796f69feaec06e1a01b36($file)
function composerRequire9dadfafaeffed75d64d8b5cefc6da1f0($file)
{
require $file;
}

File diff suppressed because it is too large Load Diff

@ -1,6 +1,13 @@
CHANGELOG
=========
3.9.1 (2014-05-07)
------------------
* Added a fix to ReadLimitEntityBody to ensure it doesn't infinitely loop.
* Added a fix to the stream checksum function so that when the first read
returns a falsey value, it still continues to consume the stream until EOF.
3.9.0 (2014-04-23)
------------------

@ -7,7 +7,7 @@ namespace Guzzle\Common;
*/
class Version
{
const VERSION = '3.9.0';
const VERSION = '3.9.1';
/**
* @var bool Set this value to true to enable warnings for deprecated functionality use. This should be on in your

@ -35,7 +35,8 @@ class ReadLimitEntityBody extends AbstractEntityBodyDecorator
public function isConsumed()
{
return (($this->offset + $this->limit) - $this->body->ftell()) <= 0;
return $this->body->isConsumed() ||
($this->body->ftell() >= $this->offset + $this->limit);
}
/**

@ -100,8 +100,8 @@ class Stream implements StreamInterface
}
$ctx = hash_init($algo);
while ($data = $stream->read(8192)) {
hash_update($ctx, $data);
while (!$stream->feof()) {
hash_update($ctx, $stream->read(8192));
}
$out = hash_final($ctx, (bool) $rawOutput);

@ -1,3 +1,7 @@
## v1.1.22 (2014-04-06)
- fix #19: don't call ini_set() when not required and gain compat with PHP5.6
## v1.1.21 (2014-03-26)
- fix #18 u::wordwrap() now relies on native behavior

@ -54,25 +54,21 @@ class Bootup
if ('utf-8' !== strtolower(mb_internal_encoding()))
{
mb_internal_encoding('UTF-8');
ini_set('mbstring.internal_encoding', 'UTF-8');
}
if ('none' !== strtolower(mb_substitute_character()))
{
mb_substitute_character('none');
ini_set('mbstring.substitute_character', 'none');
}
if (!in_array(strtolower(mb_http_output()), array('pass', '8bit')))
{
mb_http_output('pass');
ini_set('mbstring.http_output', 'pass');
}
if (!in_array(strtolower(mb_language()), array('uni', 'neutral')))
{
mb_language('uni');
ini_set('mbstring.language', 'uni');
}
}
else if (!defined('MB_OVERLOAD_MAIL'))
@ -90,19 +86,16 @@ class Bootup
if ('UTF-8' !== iconv_get_encoding('input_encoding'))
{
iconv_set_encoding('input_encoding', 'UTF-8');
ini_set('iconv.input_encoding', 'UTF-8');
}
if ('UTF-8' !== iconv_get_encoding('internal_encoding'))
{
iconv_set_encoding('internal_encoding', 'UTF-8');
ini_set('iconv.internal_encoding', 'UTF-8');
}
if ('UTF-8' !== iconv_get_encoding('output_encoding'))
{
iconv_set_encoding('output_encoding' , 'UTF-8');
ini_set('iconv.output_encoding', 'UTF-8');
}
}
else if (!defined('ICONV_IMPL'))

@ -3,16 +3,13 @@ php:
- 5.3
- 5.4
- 5.5
- 5.5.9
- 5.5.10
- 5.5.11
- 5.6
- hhvm
- hhvm-nightly
matrix:
allow_failures:
- php: 5.5.10
- php: 5.6
- php: hhvm-nightly
script:

@ -1,6 +1,19 @@
ChangeLog
=========
3.2.2 (2014-05-07)
------------------
* Minor tweak in unittests to make it run on PHP 5.5.12. Json-prettifying
slightly changed which caused the test to fail.
3.2.1 (2014-05-03)
------------------
* Minor tweak to make the unittests run with the latest hhvm on travis.
* Updated timezone definitions.
* Updated copyright links to point to http://sabre.io/
3.2.0 (2014-04-02)
------------------

@ -5,7 +5,7 @@ The VObject library allows you to easily parse and manipulate [iCalendar](https:
and [vCard](https://tools.ietf.org/html/rfc6350) objects using PHP.
The goal of the VObject library is to create a very complete library, with an easy to use API.
This project is a spin-off from [SabreDAV](http://code.google.com/p/sabredav/), where it has
This project is a spin-off from [SabreDAV](http://sabre.io/), where it has
been used for several years. The VObject library has 100% unittest coverage.
Build status

@ -1,47 +0,0 @@
#!/usr/bin/env php
<?php
$windowsZonesUrl = 'http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml';
$outputFile = __DIR__ . '/../lib/Sabre/VObject/timezonedata/windowszones.php';
echo "Fetching timezone map from: " . $windowsZonesUrl, "\n";
$data = file_get_contents($windowsZonesUrl);
$xml = simplexml_load_string($data);
$map = [];
foreach($xml->xpath('//mapZone') as $mapZone) {
$from = (string)$mapZone['other'];
$to = (string)$mapZone['type'];
list($to) = explode(' ', $to, 2);
if (!isset($map[$from])) {
$map[$from] = $to;
}
}
ksort($map);
echo "Writing to: $outputFile\n";
$f = fopen($outputFile,'w');
fwrite($f, "<?php\n\n");
fwrite($f, "/**\n");
fwrite($f, " * Automatically generated timezone file\n");
fwrite($f, " *\n");
fwrite($f, " * Last update: " . date(DATE_W3C) . "\n");
fwrite($f, " * Source: " .$windowsZonesUrl . "\n");
fwrite($f, " *\n");
fwrite($f, " * @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/).\n");
fwrite($f, " * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License\n");
fwrite($f, " */\n");
fwrite($f, "\n");
fwrite($f, "return ");
fwrite($f, var_export($map, true) . ';');
fclose($f);
echo "Done\n";

@ -5,7 +5,7 @@ The VObject library allows you to easily parse and manipulate [iCalendar](https:
and [vCard](https://tools.ietf.org/html/rfc6350) objects using PHP.
The goal of the VObject library is to create a very complete library, with an easy to use API.
This project is a spin-off from [SabreDAV](http://code.google.com/p/sabredav/), where it has
This project is a spin-off from [SabreDAV](http://sabre.io/), where it has
been used for several years. The VObject library has 100% unittest coverage.
Installation

@ -5,7 +5,7 @@ The VObject library allows you to easily parse and manipulate [iCalendar](https:
and [vCard](https://tools.ietf.org/html/rfc6350) objects using PHP.
The goal of the VObject library is to create a very complete library, with an easy to use API.
This project is a spin-off from [SabreDAV](http://code.google.com/p/sabredav/), where it has
This project is a spin-off from [SabreDAV](http://sabre.io/), where it has
been used for several years. The VObject library has 100% unittest coverage.
VObject 3 is the new and improved version of the library.

@ -10,7 +10,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Cli {

@ -10,7 +10,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Component extends Node {

@ -10,7 +10,7 @@ use Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class VAlarm extends VObject\Component {

@ -13,7 +13,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class VCalendar extends VObject\Document {

@ -13,7 +13,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class VCard extends VObject\Document {

@ -10,7 +10,7 @@ use Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class VEvent extends VObject\Component {

@ -12,7 +12,7 @@ use Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class VFreeBusy extends VObject\Component {

@ -11,7 +11,7 @@ use Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class VJournal extends VObject\Component {

@ -12,7 +12,7 @@ use Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class VTimeZone extends VObject\Component {

@ -11,7 +11,7 @@ use Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class VTodo extends VObject\Component {

@ -10,7 +10,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class DateTimeParser {

@ -14,7 +14,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
abstract class Document extends Component {

@ -10,7 +10,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class ElementList implements \Iterator, \Countable, \ArrayAccess {

@ -8,6 +8,6 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class EofException extends ParseException { }

@ -17,7 +17,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class FreeBusyGenerator {

@ -7,7 +7,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
abstract class Node implements \IteratorAggregate, \ArrayAccess, \Countable {

@ -15,7 +15,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Parameter extends Node {

@ -7,6 +7,6 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class ParseException extends \Exception { }

@ -15,7 +15,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Json extends Parser {

@ -19,7 +19,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class MimeDir extends Parser {

@ -9,7 +9,7 @@ namespace Sabre\VObject\Parser;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
abstract class Parser {

@ -10,7 +10,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
abstract class Property extends Node {

@ -18,7 +18,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Binary extends Property {

@ -15,7 +15,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Boolean extends Property {

@ -20,7 +20,7 @@ namespace Sabre\VObject\Property;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class FlatText extends Text {

@ -13,7 +13,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Float extends Property {

@ -12,7 +12,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class CalAddress extends Text {

@ -11,7 +11,7 @@ namespace Sabre\VObject\Property\ICalendar;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Date extends DateTime {

@ -21,7 +21,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class DateTime extends Property {

@ -16,7 +16,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Duration extends Property {

@ -16,7 +16,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Period extends Property {

@ -21,7 +21,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Recur extends Property {

@ -13,7 +13,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Integer extends Property {

@ -15,7 +15,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Text extends Property {

@ -11,7 +11,7 @@ use Sabre\VObject\DateTimeParser;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Time extends Text {

@ -16,7 +16,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Unknown extends Text {

@ -11,7 +11,7 @@ use Sabre\VObject\Property;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Uri extends Property {

@ -9,7 +9,7 @@ namespace Sabre\VObject\Property;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class UtcOffset extends Text {

@ -12,7 +12,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Date extends DateAndOrTime {

@ -15,7 +15,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class DateAndOrTime extends Property {

@ -12,7 +12,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class DateTime extends DateAndOrTime {

@ -12,7 +12,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class LanguageTag extends Property {

@ -13,7 +13,7 @@ use
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class TimeStamp extends Text {

@ -10,7 +10,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Reader {

@ -46,7 +46,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class RecurrenceIterator implements \Iterator {

@ -18,7 +18,7 @@ use
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Dominik Tobschall
* @author Armin Hackmann
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class ICalendar implements SplitterInterface {

@ -13,7 +13,7 @@ namespace Sabre\VObject\Splitter;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Dominik Tobschall
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
interface SplitterInterface {

@ -18,7 +18,7 @@ use
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Dominik Tobschall
* @author Armin Hackmann
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class VCard implements SplitterInterface {

@ -7,7 +7,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class StringUtil {

@ -10,7 +10,7 @@ namespace Sabre\VObject;
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Frank Edelhaeuser (fedel@users.sourceforge.net)
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class TimeZoneUtil {

@ -11,7 +11,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class UUIDUtil {

@ -7,7 +7,7 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class VCardConverter {

@ -7,13 +7,13 @@ namespace Sabre\VObject;
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
class Version {
/**
* Full version number
*/
const VERSION = '3.2.0';
const VERSION = '3.2.2';
}

@ -8,7 +8,7 @@
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
// Begin includes

@ -9,7 +9,7 @@
* http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
return array(
'Universal Coordinated Time' => 'UTC',

@ -5,7 +5,7 @@
* Lotus / Domino
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
return array(
'Dateline' => 'Etc/GMT-12',

@ -7,7 +7,7 @@
* http://evertpot.com/php-5-5-10-timezone-changes/
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
return array(
'CST6CDT' => 'America/Chicago',

@ -3,11 +3,11 @@
/**
* Automatically generated timezone file
*
* Last update: 2013-10-15T12:50:14+02:00
* Last update: 2014-04-30T14:05:46-04:00
* Source: http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml
*
* @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
* @license http://sabre.io/license/ Modified BSD License
*/
return array (
@ -40,7 +40,6 @@ return array (
'Dateline Standard Time' => 'Etc/GMT+12',
'E. Africa Standard Time' => 'Africa/Nairobi',
'E. Australia Standard Time' => 'Australia/Brisbane',
'E. Europe Standard Time' => 'Asia/Nicosia',
'E. South America Standard Time' => 'America/Sao_Paulo',
'Eastern Standard Time' => 'America/New_York',
'Egypt Standard Time' => 'Africa/Cairo',

@ -178,39 +178,18 @@ ICS
rewind($this->cli->stdout);
$version = Version::VERSION;
// PHP 5.5.12 changed the output
$expected = <<<JCARD
[
"vcard",
[
[
"version",
{
},
"text",
"4.0"
],
[
"prodid",
{
},
"text",
"-\/\/Sabre\/\/Sabre VObject $version\/\/EN"
],
[
"fn",
{
},
"text",
"Cowboy Henk"
]
]
]
"versi
JCARD;
$this->assertEquals(
$this->assertStringStartsWith(
$expected,
stream_get_contents($this->cli->stdout)
);

@ -158,7 +158,7 @@ class DateAndOrTimeTest extends \PHPUnit_Framework_TestCase {
$prop = $vcard->createProperty('BDAY', $datetime);
$dt = $prop->getDateTime();
$this->assertEquals($datetime, $dt);
$this->assertEquals('2014-04-02T18:37:00-04:00', $dt->format('c'), "For some reason this one failed. Current default timezone is: " . date_default_timezone_get());
}

@ -1,58 +0,0 @@
<?php
namespace Sabre\VObject;
use
DateTime;
class RecurrenceIteratorByMonthInDailyTest extends \PHPUnit_Framework_TestCase {
/**
* This tests the expansion of dates with DAILY frequency in RRULE with BYMONTH restrictions
*/
function testExpand() {
$ics = <<<ICS
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
BEGIN:VEVENT
TRANSP:OPAQUE
DTEND:20070925T183000Z
UID:uuid
DTSTAMP:19700101T000000Z
LOCATION:
DESCRIPTION:
STATUS:CONFIRMED
SEQUENCE:18
SUMMARY:Stuff
DTSTART:20070925T160000Z
CREATED:20071004T144642Z
RRULE:FREQ=DAILY;BYMONTH=9,10;BYDAY=SU
END:VEVENT
END:VCALENDAR
ICS;
$vcal = Reader::read($ics);
$this->assertInstanceOf('Sabre\\VObject\\Component\\VCalendar', $vcal);
$vcal->expand(new DateTime('2013-09-28'), new DateTime('2014-09-11'));
foreach ($vcal->VEVENT as $event) {
$dates[] = $event->DTSTART->getValue();
}
$expectedDates = array(
"20130929T160000Z",
"20131006T160000Z",
"20131013T160000Z",
"20131020T160000Z",
"20131027T160000Z",
"20140907T160000Z"
);
$this->assertEquals($expectedDates, $dates, 'Recursed dates are restricted by month');
}
}

@ -1,51 +0,0 @@
<?php
namespace Sabre\VObject;
class RecurrenceIteratorFifthTuesdayProblemTest extends \PHPUnit_Framework_TestCase {
/**
* A pretty slow test. Had to be marked as 'medium' for phpunit to not die
* after 1 second. Would be good to optimize later.
*
* @medium
*/
function testGetDTEnd() {
$ics = <<<ICS
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
BEGIN:VEVENT
TRANSP:OPAQUE
DTEND;TZID=America/New_York:20070925T170000
UID:uuid
DTSTAMP:19700101T000000Z
LOCATION:
DESCRIPTION:
STATUS:CONFIRMED
SEQUENCE:18
SUMMARY:Stuff
DTSTART;TZID=America/New_York:20070925T160000
CREATED:20071004T144642Z
RRULE:FREQ=MONTHLY;INTERVAL=1;UNTIL=20071030T035959Z;BYDAY=5TU
END:VEVENT
END:VCALENDAR
ICS;
$vObject = Reader::read($ics);
$it = new RecurrenceIterator($vObject, (string)$vObject->VEVENT->UID);
while($it->valid()) {
$it->next();
}
// If we got here, it means we were successful. The bug that was in the
// system before would fail on the 5th tuesday of the month, if the 5th
// tuesday did not exist.
$this->assertTrue(true);
}
}

@ -1,62 +0,0 @@
<?php
namespace Sabre\VObject;
use
DateTime,
DateTimeZone;
/**
* This is a unittest for Issue #53.
*/
class RecurrenceIteratorIncorrectExpandTest extends \PHPUnit_Framework_TestCase {
function testExpand() {
$input = <<<ICS
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
UID:foo
DTSTART:20130711T050000Z
DTEND:20130711T053000Z
RRULE:FREQ=DAILY;INTERVAL=1;COUNT=2
END:VEVENT
BEGIN:VEVENT
UID:foo
DTSTART:20130719T050000Z
DTEND:20130719T053000Z
RECURRENCE-ID:20130712T050000Z
END:VEVENT
END:VCALENDAR
ICS;
$vcal = Reader::read($input);
$this->assertInstanceOf('Sabre\\VObject\\Component\\VCalendar', $vcal);
$vcal->expand(new DateTime('2011-01-01'), new DateTime('2014-01-01'));
$result = $vcal->serialize();
$output = <<<ICS
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
UID:foo
DTSTART:20130711T050000Z
DTEND:20130711T053000Z
END:VEVENT
BEGIN:VEVENT
UID:foo
DTSTART:20130719T050000Z
DTEND:20130719T053000Z
RECURRENCE-ID:20130712T050000Z
END:VEVENT
END:VCALENDAR
ICS;
$this->assertEquals($output, str_replace("\r", "", $result));
}
}

@ -1,97 +0,0 @@
<?php
namespace Sabre\VObject;
use
DateTime,
DateTimeZone,
Sabre\VObject\Component\VCalendar;
class RecurrenceIteratorInfiniteLoopProblemTest extends \PHPUnit_Framework_TestCase {
public function setUp() {
$this->vcal = new VCalendar();
}
/**
* This bug came from a Fruux customer. This would result in a never-ending
* request.
*/
function testFastForwardTooFar() {
$ev = $this->vcal->createComponent('VEVENT');
$ev->DTSTART = '20090420T180000Z';
$ev->RRULE = 'FREQ=WEEKLY;BYDAY=MO;UNTIL=20090704T205959Z;INTERVAL=1';
$this->assertFalse($ev->isInTimeRange(new DateTime('2012-01-01 12:00:00'),new DateTime('3000-01-01 00:00:00')));
}
/**
* Different bug, also likely an infinite loop.
*/
function testYearlyByMonthLoop() {
$ev = $this->vcal->createComponent('VEVENT');
$ev->UID = 'uuid';
$ev->DTSTART = '20120101T154500';
$ev->DTSTART['TZID'] = 'Europe/Berlin';
$ev->RRULE = 'FREQ=YEARLY;INTERVAL=1;UNTIL=20120203T225959Z;BYMONTH=2;BYSETPOS=1;BYDAY=SU,MO,TU,WE,TH,FR,SA';
$ev->DTEND = '20120101T164500';
$ev->DTEND['TZID'] = 'Europe/Berlin';
// This recurrence rule by itself is a yearly rule that should happen
// every february.
//
// The BYDAY part expands this to every day of the month, but the
// BYSETPOS limits this to only the 1st day of the month. Very crazy
// way to specify this, and could have certainly been a lot easier.
$this->vcal->add($ev);
$it = new RecurrenceIterator($this->vcal,'uuid');
$it->fastForward(new DateTime('2012-01-29 23:00:00', new DateTimeZone('UTC')));
$collect = array();
while($it->valid()) {
$collect[] = $it->getDTSTART();
if ($it->getDTSTART() > new DateTime('2013-02-05 22:59:59', new DateTimeZone('UTC'))) {
break;
}
$it->next();
}
$this->assertEquals(
array(new DateTime('2012-02-01 15:45:00', new DateTimeZone('Europe/Berlin'))),
$collect
);
}
/**
* Something, somewhere produced an ics with an interval set to 0. Because
* this means we increase the current day (or week, month) by 0, this also
* results in an infinite loop.
*
* @expectedException InvalidArgumentException
* @return void
*/
function testZeroInterval() {
$ev = $this->vcal->createComponent('VEVENT');
$ev->UID = 'uuid';
$ev->DTSTART = '20120824T145700Z';
$ev->RRULE = 'FREQ=YEARLY;INTERVAL=0';
$this->vcal->add($ev);
$it = new RecurrenceIterator($this->vcal,'uuid');
$it->fastForward(new DateTime('2013-01-01 23:00:00', new DateTimeZone('UTC')));
// if we got this far.. it means we are no longer infinitely looping
}
}

@ -1,30 +0,0 @@
<?php
namespace Sabre\VObject;
class RecurrenceIteratorMinusOneProblemTest extends \PHPUnit_Framework_TestCase {
function testMinusOne() {
$ics = <<<ICS
BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTAMP:20120314T203127Z
UID:foo
SUMMARY:foo
RRULE:FREQ=YEARLY;UNTIL=20120314
DTSTART;VALUE=DATE:20120315
DTEND;VALUE=DATE:20120316
SEQUENCE:1
END:VEVENT
END:VCALENDAR
ICS;
$vObject = Reader::read($ics);
$it = new RecurrenceIterator($vObject, (string)$vObject->VEVENT->UID);
$this->assertTrue($it->valid());
}
}

@ -1,63 +0,0 @@
<?php
namespace Sabre\VObject;
use
DateTime,
DateTimeZone;
class RecurrenceIteratorMissingOverriddenTest extends \PHPUnit_Framework_TestCase {
function testExpand() {
$input = <<<ICS
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
UID:foo
DTSTART:20130727T120000Z
DURATION:PT1H
RRULE:FREQ=DAILY;COUNT=2
SUMMARY:A
END:VEVENT
BEGIN:VEVENT
RECURRENCE-ID:20130728T120000Z
UID:foo
DTSTART:20140101T120000Z
DURATION:PT1H
SUMMARY:B
END:VEVENT
END:VCALENDAR
ICS;
$vcal = Reader::read($input);
$this->assertInstanceOf('Sabre\\VObject\\Component\\VCalendar', $vcal);
$vcal->expand(new DateTime('2011-01-01'), new DateTime('2015-01-01'));
$result = $vcal->serialize();
$output = <<<ICS
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
UID:foo
DTSTART:20130727T120000Z
DURATION:PT1H
SUMMARY:A
END:VEVENT
BEGIN:VEVENT
RECURRENCE-ID:20130728T120000Z
UID:foo
DTSTART:20140101T120000Z
DURATION:PT1H
SUMMARY:B
END:VEVENT
END:VCALENDAR
ICS;
$this->assertEquals($output, str_replace("\r","",$result));
}
}

File diff suppressed because it is too large Load Diff

@ -1,39 +0,0 @@
BEGIN:VCALENDAR
VERSION:2.0
X-WR-TIMEZONE:America/New_York
PRODID:-//www.churchcommunitybuilder.com//Church Community Builder//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Test Event
BEGIN:VTIMEZONE
TZID:America/New_York
X-LIC-LOCATION:America/New_York
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:10621-1440@ccbchurch.com
DTSTART;TZID=America/New_York:20130923T183000
DTEND;TZID=America/New_York:20130923T203000
DTSTAMP:20131216T170211
RRULE:FREQ=WEEKLY;UNTIL=20131118T183000
CREATED:20130423T161111
DESCRIPTION:Test Event ending November 11, 2013
LAST-MODIFIED:20131126T163428
SEQUENCE:1387231331
SUMMARY:Test
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

@ -1,55 +0,0 @@
<?php
namespace Sabre\VObject;
class RecurrenceIteratorUntilRespectsTimezoneTest extends \PHPUnit_Framework_TestCase {
public function testUntilBeginHasTimezone() {
$filepath = realpath(__DIR__ . "/.");
$event = Reader::read(file_get_contents($filepath . "/RecurrenceIteratorUntilRespectsTimezoneTest.ics"));
$ri = new RecurrenceIterator($event, "10621-1440@ccbchurch.com");
$this->assertEquals("America/New_York", $ri->until->getTimezone()->getName());
}
public function testUntilEndingInZIsUtc()
{
$ics_data = <<<ICS
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//Mac OS X 10.9//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:America/Chicago
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
DTSTART:20070311T020000
TZNAME:CDT
TZOFFSETTO:-0500
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
DTSTART:20071104T020000
TZNAME:CST
TZOFFSETTO:-0600
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20131216T214410Z
UID:D33B6D78-A214-4752-8659-9EE718D5AB8D
RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20131119T065959Z
DTEND;TZID=America/Chicago:20130923T203000
TRANSP:OPAQUE
SUMMARY:Test Financial Peace
DTSTART;TZID=America/Chicago:20130923T183000
DTSTAMP:20131216T215922Z
SEQUENCE:28
END:VEVENT
END:VCALENDAR
ICS;
$event = Reader::read($ics_data);
$ri = new RecurrenceIterator($event, "D33B6D78-A214-4752-8659-9EE718D5AB8D");
$this->assertEquals("UTC", $ri->until->getTimezone()->getName());
}
}

@ -155,7 +155,7 @@ HI;
$tz = TimeZoneUtil::getTimeZone('GMT-0400', null, true);
if (version_compare(PHP_VERSION, '5.5.10', '>=')) {
if (version_compare(PHP_VERSION, '5.5.10', '>=') && !defined('HHVM_VERSION')) {
$ex = new \DateTimeZone('-04:00');
} else {
$ex = new \DateTimeZone('Etc/GMT-4');
@ -304,7 +304,7 @@ END:VCALENDAR
HI;
$tz = TimeZoneUtil::getTimeZone('/freeassociation.sourceforge.net/Tzfile/SystemV/EST5EDT', Reader::read($vobj), true);
if (version_compare(PHP_VERSION, '5.5.10', '>=')) {
if (version_compare(PHP_VERSION, '5.5.10', '>=') && !defined('HHVM_VERSION')) {
$ex = new \DateTimeZone('America/New_York');
} else {
$ex = new \DateTimeZone('EST5EDT');

Loading…
Cancel
Save