| @@ -0,0 +1,45 @@ | |||
| <?xml version='1.0' encoding='utf-8'?> | |||
| <widget id="de.probuddy.live" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> | |||
| <name>ProBuddy</name> | |||
| <description> | |||
| Professionelles Kurstermin Management | |||
| </description> | |||
| <author email="dev@cordova.apache.org" href="http://cordova.io"> | |||
| TBuddy UG | |||
| </author> | |||
| <content src="index.html" /> | |||
| <plugin name="cordova-plugin-whitelist" spec="1" /> | |||
| <access origin="*" /> | |||
| <allow-intent href="http://*/*" /> | |||
| <allow-intent href="https://*/*" /> | |||
| <allow-intent href="tel:*" /> | |||
| <allow-intent href="sms:*" /> | |||
| <allow-intent href="mailto:*" /> | |||
| <allow-intent href="geo:*" /> | |||
| <allow-intent href="*" /> | |||
| <allow-navigation href="https://www.probuddy.de/*" /> | |||
| <allow-navigation href="https://app.probuddy.de/*" /> | |||
| <allow-navigation href="*" /> | |||
| <platform name="android"> | |||
| <allow-intent href="market:*" /> | |||
| <icon src="res/icon/android/icon-36-ldpi.png" density="ldpi" /> | |||
| <icon src="res/icon/android/icon-48-mdpi.png" density="mdpi" /> | |||
| <icon src="res/icon/android/icon-72-hdpi.png" density="hdpi" /> | |||
| <icon src="res/icon/android/icon-96-xhdpi.png" density="xhdpi" /> | |||
| </platform> | |||
| <platform name="ios"> | |||
| <allow-intent href="itms:*" /> | |||
| <allow-intent href="itms-apps:*" /> | |||
| </platform> | |||
| <plugin name="cordova-plugin-dialogs" spec="^2.0.1" /> | |||
| <plugin name="cordova-plugin-network-information" spec="^2.0.1" /> | |||
| <plugin name="org.apache.cordova.plugin.cache" spec="https://github.com/tiltshiftfocus/cordova-plugin-cache.git" /> | |||
| <plugin name="cordova-plugin-x-socialsharing" spec="^5.4.3"> | |||
| <variable name="ANDROID_SUPPORT_V4_VERSION" value="24.1.1+" /> | |||
| </plugin> | |||
| <plugin name="cordova-plugin-camera" spec="^4.0.3" /> | |||
| <plugin name="cordova-plugin-remote-injection" spec="^0.5.2" /> | |||
| <plugin name="onesignal-cordova-plugin" spec="2.4.6" /> | |||
| <plugin name="cordova-plugin-device" spec="^2.0.2" /> | |||
| <engine name="android" spec="^7.1.4" /> | |||
| </widget> | |||
| @@ -0,0 +1,115 @@ | |||
| /* | |||
| * Licensed to the Apache Software Foundation (ASF) under one | |||
| * or more contributor license agreements. See the NOTICE file | |||
| * distributed with this work for additional information | |||
| * regarding copyright ownership. The ASF licenses this file | |||
| * to you under the Apache License, Version 2.0 (the | |||
| * "License"); you may not use this file except in compliance | |||
| * with the License. You may obtain a copy of the License at | |||
| * | |||
| * http://www.apache.org/licenses/LICENSE-2.0 | |||
| * | |||
| * Unless required by applicable law or agreed to in writing, | |||
| * software distributed under the License is distributed on an | |||
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
| * KIND, either express or implied. See the License for the | |||
| * specific language governing permissions and limitations | |||
| * under the License. | |||
| */ | |||
| * { | |||
| -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */ | |||
| } | |||
| body { | |||
| -webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */ | |||
| -webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */ | |||
| -webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */ | |||
| background-color:#E4E4E4; | |||
| background-image:linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%); | |||
| background-image:-webkit-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%); | |||
| background-image:-ms-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%); | |||
| background-image:-webkit-gradient( | |||
| linear, | |||
| left top, | |||
| left bottom, | |||
| color-stop(0, #A7A7A7), | |||
| color-stop(0.51, #E4E4E4) | |||
| ); | |||
| background-attachment:fixed; | |||
| font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif; | |||
| font-size:12px; | |||
| height:100%; | |||
| margin:0px; | |||
| padding:0px; | |||
| text-transform:uppercase; | |||
| width:100%; | |||
| } | |||
| /* Portrait layout (default) */ | |||
| .app { | |||
| background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */ | |||
| position:absolute; /* position in the center of the screen */ | |||
| left:50%; | |||
| top:50%; | |||
| height:50px; /* text area height */ | |||
| width:225px; /* text area width */ | |||
| text-align:center; | |||
| padding:180px 0px 0px 0px; /* image height is 200px (bottom 20px are overlapped with text) */ | |||
| margin:-115px 0px 0px -112px; /* offset vertical: half of image height and text area height */ | |||
| /* offset horizontal: half of text area width */ | |||
| } | |||
| /* Landscape layout (with min-width) */ | |||
| @media screen and (min-aspect-ratio: 1/1) and (min-width:400px) { | |||
| .app { | |||
| background-position:left center; | |||
| padding:75px 0px 75px 170px; /* padding-top + padding-bottom + text area = image height */ | |||
| margin:-90px 0px 0px -198px; /* offset vertical: half of image height */ | |||
| /* offset horizontal: half of image width and text area width */ | |||
| } | |||
| } | |||
| h1 { | |||
| font-size:24px; | |||
| font-weight:normal; | |||
| margin:0px; | |||
| overflow:visible; | |||
| padding:0px; | |||
| text-align:center; | |||
| } | |||
| .event { | |||
| border-radius:4px; | |||
| -webkit-border-radius:4px; | |||
| color:#FFFFFF; | |||
| font-size:12px; | |||
| margin:0px 30px; | |||
| padding:2px 0px; | |||
| } | |||
| .event.listening { | |||
| background-color:#333333; | |||
| display:block; | |||
| } | |||
| .event.received { | |||
| background-color:#4B946A; | |||
| display:none; | |||
| } | |||
| @keyframes fade { | |||
| from { opacity: 1.0; } | |||
| 50% { opacity: 0.4; } | |||
| to { opacity: 1.0; } | |||
| } | |||
| @-webkit-keyframes fade { | |||
| from { opacity: 1.0; } | |||
| 50% { opacity: 0.4; } | |||
| to { opacity: 1.0; } | |||
| } | |||
| .blink { | |||
| animation:fade 3000ms infinite; | |||
| -webkit-animation:fade 3000ms infinite; | |||
| } | |||
| @@ -0,0 +1,29 @@ | |||
| <!DOCTYPE html> | |||
| <html> | |||
| <head> | |||
| <meta http-equiv='Content-Type' content='text/html;charset=UTF-8' /> | |||
| <!-- | |||
| <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src * data: content:;"> | |||
| --> | |||
| <meta name="format-detection" content="telephone=no"> | |||
| <meta name="msapplication-tap-highlight" content="no"> | |||
| <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> | |||
| <link rel="stylesheet" type="text/css" href="css/index.css"> | |||
| <title>ProBuddy</title> | |||
| </head> | |||
| <body> | |||
| <script type="text/javascript" src="cordova.js"></script> | |||
| <script type="text/javascript" src="js/index.js"></script> | |||
| <div id="offline-info" | |||
| style="display: none"> | |||
| <strong>SERVER ANTWORTET NICHT</strong> | |||
| <br /> | |||
| BITTE STELLEN SIE SICHER DASS SIE MIT DEM INTERNET VERBUNDEN SIND! | |||
| <br /> | |||
| <button type="button" | |||
| onclick="javascript:window.location.reload()"> | |||
| ERNEUT VERSUCHEN | |||
| </button> | |||
| </div> | |||
| </body> | |||
| </html> | |||
| @@ -0,0 +1,42 @@ | |||
| var app = { | |||
| // Application Constructor | |||
| initialize: function() | |||
| { | |||
| document.addEventListener('deviceready', this.onDeviceReady.bind(this), false); | |||
| }, | |||
| // deviceready Event Handler | |||
| // | |||
| // Bind any cordova events here. Common events are: | |||
| // 'pause', 'resume', etc. | |||
| onDeviceReady: function() | |||
| { | |||
| if (navigator.connection.type == Connection.NONE) | |||
| { | |||
| //navigator.notification.alert('An internet connection is required to continue'); | |||
| document.getElementById( 'offline-info' ).style.display = 'block'; | |||
| } | |||
| else | |||
| { | |||
| document.getElementById( 'offline-info' ).style.display = 'none'; | |||
| window.location="https://app.probuddy.de/?fromCordova=true"; | |||
| /* | |||
| window.cache.clear( | |||
| function() | |||
| { | |||
| //window.location="https://www.probuddy.de"; | |||
| //window.location="http://192.168.178.25:1340/?fromCordova=true"; | |||
| window.location="https://app.probuddy.de/?fromCordova=true"; | |||
| }, | |||
| function() | |||
| { | |||
| navigator.notification.alert("Cache cannot be cleared" ); | |||
| } | |||
| ); | |||
| window.cache.cleartemp(); | |||
| */ | |||
| } | |||
| } | |||
| }; | |||
| app.initialize(); | |||
| @@ -0,0 +1,16 @@ | |||
| <?php | |||
| /******************************************************************************** | |||
| * (c)1337 aheadware.com - All rights reserved | |||
| ********************************************************************************/ | |||
| require_once __DIR__ . '/../../server/server/config/boot_global.php'; | |||
| require_once __DIR__ . '/../../server/server/config/boot_local.php'; | |||
| try | |||
| { | |||
| $app = new TB_Server_Core_App(); | |||
| $app->run(); | |||
| } | |||
| catch ( Exception $e ) | |||
| { | |||
| TB_Server_Utils_Log::get()->log( $e ); | |||
| } | |||
| @@ -0,0 +1,2 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig> | |||
| @@ -0,0 +1,16 @@ | |||
| <?php | |||
| /******************************************************************************** | |||
| * (c)1337 aheadware.com - All rights reserved | |||
| ********************************************************************************/ | |||
| require_once __DIR__ . '/../../server/server/config/boot_global.php'; | |||
| require_once __DIR__ . '/../../server/server/config/boot_local.php'; | |||
| try | |||
| { | |||
| $jobProcessor = new TB_Server_Core_JobProcessor(); | |||
| $jobProcessor->process(); | |||
| } | |||
| catch ( Exception $e ) | |||
| { | |||
| TB_Server_Utils_Log::get()->log( $e ); | |||
| } | |||
| @@ -0,0 +1,5 @@ | |||
| /*! | |||
| * ClockPicker v0.0.7 for Bootstrap (http://weareoutman.github.io/clockpicker/) | |||
| * Copyright 2014 Wang Shenwei. | |||
| * Licensed under MIT (https://github.com/weareoutman/clockpicker/blob/gh-pages/LICENSE) | |||
| */.clockpicker .input-group-addon{cursor:pointer}.clockpicker-moving{cursor:move}.clockpicker-align-left.popover>.arrow{left:25px}.clockpicker-align-top.popover>.arrow{top:17px}.clockpicker-align-right.popover>.arrow{left:auto;right:25px}.clockpicker-align-bottom.popover>.arrow{top:auto;bottom:6px}.clockpicker-popover .popover-title{background-color:#fff;color:#999;font-size:24px;font-weight:700;line-height:30px;text-align:center}.clockpicker-popover .popover-title span{cursor:pointer}.clockpicker-popover .popover-content{background-color:#f8f8f8;padding:12px}.popover-content:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.clockpicker-plate{background-color:#fff;border:1px solid #ccc;border-radius:50%;width:200px;height:200px;overflow:visible;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.clockpicker-canvas,.clockpicker-dial{width:200px;height:200px;position:absolute;left:-1px;top:-1px}.clockpicker-minutes{visibility:hidden}.clockpicker-tick{border-radius:50%;color:#666;line-height:26px;text-align:center;width:26px;height:26px;position:absolute;cursor:pointer}.clockpicker-tick.active,.clockpicker-tick:hover{background-color:#c0e5f7;background-color:rgba(0,149,221,.25)}.clockpicker-button{background-image:none;background-color:#fff;border-width:1px 0 0;border-top-left-radius:0;border-top-right-radius:0;margin:0;padding:10px 0}.clockpicker-button:hover{background-image:none;background-color:#ebebeb}.clockpicker-button:focus{outline:0!important}.clockpicker-dial{-webkit-transition:-webkit-transform 350ms,opacity 350ms;-moz-transition:-moz-transform 350ms,opacity 350ms;-ms-transition:-ms-transform 350ms,opacity 350ms;-o-transition:-o-transform 350ms,opacity 350ms;transition:transform 350ms,opacity 350ms}.clockpicker-dial-out{opacity:0}.clockpicker-hours.clockpicker-dial-out{-webkit-transform:scale(1.2,1.2);-moz-transform:scale(1.2,1.2);-ms-transform:scale(1.2,1.2);-o-transform:scale(1.2,1.2);transform:scale(1.2,1.2)}.clockpicker-minutes.clockpicker-dial-out{-webkit-transform:scale(.8,.8);-moz-transform:scale(.8,.8);-ms-transform:scale(.8,.8);-o-transform:scale(.8,.8);transform:scale(.8,.8)}.clockpicker-canvas{-webkit-transition:opacity 175ms;-moz-transition:opacity 175ms;-ms-transition:opacity 175ms;-o-transition:opacity 175ms;transition:opacity 175ms}.clockpicker-canvas-out{opacity:.25}.clockpicker-canvas-bearing,.clockpicker-canvas-fg{stroke:none;fill:#0095dd}.clockpicker-canvas-bg{stroke:none;fill:#c0e5f7}.clockpicker-canvas-bg-trans{fill:rgba(0,149,221,.25)}.clockpicker-canvas line{stroke:#0095dd;stroke-width:1;stroke-linecap:round}.clockpicker-button.am-button{margin:1px;padding:5px;border:1px solid rgba(0,0,0,.2);border-radius:4px}.clockpicker-button.pm-button{margin:1px 1px 1px 136px;padding:5px;border:1px solid rgba(0,0,0,.2);border-radius:4px} | |||
| @@ -0,0 +1,2 @@ | |||
| /* https://github.com/vmitsaras/js-offcanvas */ | |||
| .c-offcanvas{transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;position:fixed;min-height:100%;max-height:none;top:0;display:block;background:#fff;overflow-x:hidden;overflow-y:auto}.c-offcanvas,.c-offcanvas-bg.c-offcanvas-bg--push,.c-offcanvas-bg.c-offcanvas-bg--reveal,.c-offcanvas-content-wrap{transition:transform .3s cubic-bezier(.4,0,.6,1)}.c-offcanvas.is-open{transform:translate3d(0,0,0);visibility:visible}.c-offcanvas--opening{transition-timing-function:cubic-bezier(.4,0,.6,1)}.c-offcanvas.is-closed{max-height:100%;overflow:hidden;visibility:hidden;box-shadow:none}.c-offcanvas--overlay{z-index:1080}.c-offcanvas-bg{position:fixed;top:0;height:100%;width:100%;z-index:1079;left:-100%;background-color:transparent;transition:background-color .4s cubic-bezier(.23,1,.32,1) 0s}.c-offcanvas-bg.is-animating,.c-offcanvas-bg.is-open{left:0;background-color:rgba(0,0,0,.68);visibility:visible}.c-offcanvas-bg.is-closed{visibility:hidden}.c-offcanvas-bg--closing.is-animating{background:0 0}.c-offcanvas--left{height:100%;width:17em;transform:translate3d(-17em,0,0)}.c-offcanvas--right{height:100%;width:17em;right:0;transform:translate3d(17em,0,0)}.c-offcanvas--bottom,.c-offcanvas--top{left:0;right:0;height:12.5em;min-height:auto;width:100%}.c-offcanvas--top{top:0;transform:translate3d(0,-12.5em,0)}.c-offcanvas--bottom{top:auto;bottom:0;transform:translate3d(0,12.5em,0)}.c-offcanvas-content-wrap--reveal.c-offcanvas-content-wrap--left.is-open{transform:translate3d(17em,0,0)}.c-offcanvas-content-wrap--reveal.c-offcanvas-content-wrap--right.is-open{transform:translate3d(-17em,0,0)}.c-offcanvas--reveal{z-index:0;transform:translate3d(0,0,0)}.c-offcanvas-bg.c-offcanvas-bg--reveal.c-offcanvas-bg--left.is-open{transform:translate3d(17em,0,0)}.c-offcanvas-bg.c-offcanvas-bg--reveal.c-offcanvas-bg--right.is-open{transform:translate3d(-17em,0,0)}.c-offcanvas--push{z-index:6}.c-offcanvas--push--opening{transition-timing-function:cubic-bezier(0,0,.2,1)}.c-offcanvas-content-wrap{z-index:3}.c-offcanvas-content-wrap--push.c-offcanvas-content-wrap--left.is-open{transform:translate3d(17em,0,0)}.c-offcanvas-content-wrap--push.c-offcanvas-content-wrap--right.is-open{transform:translate3d(-17em,0,0)}.c-offcanvas-bg.c-offcanvas-bg--push.c-offcanvas-bg--left.is-open{transform:translate3d(17em,0,0)}.c-offcanvas-bg.c-offcanvas-bg--push.c-offcanvas-bg--right.is-open{transform:translate3d(-17em,0,0)} | |||
| @@ -0,0 +1,210 @@ | |||
| .notiny-container * { | |||
| margin: 0; | |||
| padding: 0; | |||
| box-sizing: border-box; | |||
| } | |||
| .notiny-container { | |||
| position: fixed; | |||
| z-index: 9999; | |||
| } | |||
| .notiny-container-fluid-top .notiny-base, | |||
| .notiny-container-fluid-bottom .notiny-base { | |||
| width: 100%; | |||
| border-radius: 0; | |||
| } | |||
| .notiny-container-fluid-top .notiny-base { | |||
| margin-top: 0; | |||
| } | |||
| .notiny-container-fluid-bottom .notiny-base { | |||
| margin-bottom: 0; | |||
| } | |||
| .notiny-img { | |||
| display: none; | |||
| } | |||
| /* Animations */ | |||
| @-webkit-keyframes notiny-animation-hide { | |||
| 0% { | |||
| -webkit-transform: scale(1, 1); | |||
| transform: scale(1, 1); | |||
| } | |||
| 20% { | |||
| opacity: 1; | |||
| } | |||
| 30% { | |||
| -webkit-transform: scale(1.2, 1.2); | |||
| transform: scale(1.2, 1.2); | |||
| } | |||
| 90% { | |||
| } | |||
| 100% { | |||
| opacity: 0; | |||
| -webkit-filter: blur(4px); | |||
| filter: blur(4px); | |||
| -webkit-transform: scale(1, 1); | |||
| transform: scale(1, 1); | |||
| } | |||
| } | |||
| @keyframes notiny-animation-hide { | |||
| 0% { | |||
| -webkit-transform: scale(1, 1); | |||
| transform: scale(1, 1); | |||
| } | |||
| 20% { | |||
| opacity: 1; | |||
| } | |||
| 30% { | |||
| -webkit-transform: scale(1.2, 1.2); | |||
| transform: scale(1.2, 1.2); | |||
| } | |||
| 90% { | |||
| } | |||
| 100% { | |||
| opacity: 0; | |||
| -webkit-filter: blur(4px); | |||
| filter: blur(4px); | |||
| -webkit-transform: scale(1, 1); | |||
| transform: scale(1, 1); | |||
| } | |||
| } | |||
| @-webkit-keyframes notiny-animation-show { | |||
| 0% { | |||
| opacity: 0; | |||
| -webkit-transform: scale(1, 1); | |||
| transform: scale(1, 1); | |||
| -webkit-filter: blur(4px); | |||
| filter: blur(4px); | |||
| } | |||
| 15% { | |||
| opacity: 1; | |||
| } | |||
| 50% { | |||
| -webkit-transform: scale(1.2, 1.2); | |||
| transform: scale(1.2, 1.2); | |||
| } | |||
| 90% { | |||
| -webkit-filter: blur(0px); | |||
| filter: blur(0px); | |||
| } | |||
| 100% { | |||
| -webkit-transform: scale(1, 1); | |||
| transform: scale(1, 1); | |||
| } | |||
| } | |||
| @keyframes notiny-animation-show { | |||
| 0% { | |||
| opacity: 0; | |||
| -webkit-transform: scale(1, 1); | |||
| transform: scale(1, 1); | |||
| -webkit-filter: blur(4px); | |||
| filter: blur(4px); | |||
| } | |||
| 15% { | |||
| opacity: 1; | |||
| } | |||
| 50% { | |||
| -webkit-transform: scale(1.2, 1.2); | |||
| transform: scale(1.2, 1.2); | |||
| } | |||
| 90% { | |||
| -webkit-filter: blur(0px); | |||
| filter: blur(0px); | |||
| } | |||
| 100% { | |||
| -webkit-transform: scale(1, 1); | |||
| transform: scale(1, 1); | |||
| } | |||
| } | |||
| @-webkit-keyframes notiny-animation-hover { | |||
| 0% { | |||
| -webkit-transform: scale(1, 1); | |||
| transform: scale(1, 1); | |||
| } | |||
| 100% { | |||
| -webkit-transform: scale(1.1, 1.1); | |||
| transform: scale(1.1, 1.1); | |||
| } | |||
| } | |||
| @keyframes notiny-animation-hover { | |||
| 0% { | |||
| -webkit-transform: scale(1, 1); | |||
| transform: scale(1, 1); | |||
| } | |||
| 100% { | |||
| -webkit-transform: scale(1.1, 1.1); | |||
| transform: scale(1.1, 1.1); | |||
| } | |||
| } | |||
| /* Default themes */ | |||
| .notiny-theme-dark { | |||
| background-color: #202020; | |||
| color: #f5f5f5; | |||
| } | |||
| .notiny-theme-light { | |||
| background-color: #f0f0f0; | |||
| color: #202020; | |||
| } | |||
| .notiny-default-vars { | |||
| padding: 3px 3px; | |||
| margin: 2px 0px; | |||
| border-radius: 2px; | |||
| min-height: 32px; | |||
| max-width: 100vw; | |||
| } | |||
| .notiny-default-vars .notiny-img { | |||
| display: block; | |||
| border-radius: 2px; | |||
| width: 32px; | |||
| height: 32px; | |||
| float: left; | |||
| } | |||
| .notiny-default-vars .notiny-text { | |||
| font-size: 16px; | |||
| padding: 8px 5px 6px 5px; | |||
| display: block; | |||
| overflow: hidden; | |||
| white-space: nowrap; | |||
| text-overflow: ellipsis; | |||
| text-align: center; | |||
| } | |||
| .notiny-default-vars .notiny-with-img .notiny-text { | |||
| padding-left: 6px; | |||
| } | |||
| @@ -0,0 +1,14 @@ | |||
| <?xml version="1.0" standalone="no"?> | |||
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |||
| <svg xmlns="http://www.w3.org/2000/svg"> | |||
| <metadata>Generated by Fontastic.me</metadata> | |||
| <defs> | |||
| <font id="slick" horiz-adv-x="512"> | |||
| <font-face font-family="slick" units-per-em="512" ascent="480" descent="-32"/> | |||
| <missing-glyph horiz-adv-x="512" /> | |||
| <glyph unicode="→" d="M241 113l130 130c4 4 6 8 6 13 0 5-2 9-6 13l-130 130c-3 3-7 5-12 5-5 0-10-2-13-5l-29-30c-4-3-6-7-6-12 0-5 2-10 6-13l87-88-87-88c-4-3-6-8-6-13 0-5 2-9 6-12l29-30c3-3 8-5 13-5 5 0 9 2 12 5z m234 143c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/> | |||
| <glyph unicode="←" d="M296 113l29 30c4 3 6 7 6 12 0 5-2 10-6 13l-87 88 87 88c4 3 6 8 6 13 0 5-2 9-6 12l-29 30c-3 3-8 5-13 5-5 0-9-2-12-5l-130-130c-4-4-6-8-6-13 0-5 2-9 6-13l130-130c3-3 7-5 12-5 5 0 10 2 13 5z m179 143c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/> | |||
| <glyph unicode="•" d="M475 256c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/> | |||
| <glyph unicode="a" d="M475 439l0-128c0-5-1-9-5-13-4-4-8-5-13-5l-128 0c-8 0-13 3-17 11-3 7-2 14 4 20l40 39c-28 26-62 39-100 39-20 0-39-4-57-11-18-8-33-18-46-32-14-13-24-28-32-46-7-18-11-37-11-57 0-20 4-39 11-57 8-18 18-33 32-46 13-14 28-24 46-32 18-7 37-11 57-11 23 0 44 5 64 15 20 9 38 23 51 42 2 1 4 3 7 3 3 0 5-1 7-3l39-39c2-2 3-3 3-6 0-2-1-4-2-6-21-25-46-45-76-59-29-14-60-20-93-20-30 0-58 5-85 17-27 12-51 27-70 47-20 19-35 43-47 70-12 27-17 55-17 85 0 30 5 58 17 85 12 27 27 51 47 70 19 20 43 35 70 47 27 12 55 17 85 17 28 0 55-5 81-15 26-11 50-26 70-45l37 37c6 6 12 7 20 4 8-4 11-9 11-17z"/> | |||
| </font></defs></svg> | |||
| @@ -0,0 +1,15 @@ | |||
| #RewriteEngine on | |||
| #RewriteRule (.*)\.ical $1.php | |||
| RewriteEngine On | |||
| # Some hosts may require you to use the `RewriteBase` directive. | |||
| # If you need to use the `RewriteBase` directive, it should be the | |||
| # absolute physical path to the directory that contains this htaccess file. | |||
| # | |||
| # RewriteBase / | |||
| RewriteCond %{REQUEST_FILENAME} !-d | |||
| RewriteCond %{REQUEST_FILENAME} !-f | |||
| #RewriteRule ^ index.php [QSA,L] | |||
| RewriteRule (.*)\.ics probuddy.php [QSA,L] | |||
| @@ -0,0 +1,17 @@ | |||
| #!/usr/bin/env sh | |||
| dir=$(d=${0%[/\\]*}; cd "$d"; cd "../vendor/phpunit/phpunit" && pwd) | |||
| # See if we are running in Cygwin by checking for cygpath program | |||
| if command -v 'cygpath' >/dev/null 2>&1; then | |||
| # Cygwin paths start with /cygdrive/ which will break windows PHP, | |||
| # so we need to translate the dir path to windows format. However | |||
| # we could be using cygwin PHP which does not require this, so we | |||
| # test if the path to PHP starts with /cygdrive/ rather than /usr/bin | |||
| if [[ $(which php) == /cygdrive/* ]]; then | |||
| dir=$(cygpath -m "$dir"); | |||
| fi | |||
| fi | |||
| dir=$(echo $dir | sed 's/ /\ /g') | |||
| "${dir}/phpunit" "$@" | |||
| @@ -0,0 +1,4 @@ | |||
| @ECHO OFF | |||
| setlocal DISABLEDELAYEDEXPANSION | |||
| SET BIN_TARGET=%~dp0/../vendor/phpunit/phpunit/phpunit | |||
| php "%BIN_TARGET%" %* | |||
| @@ -0,0 +1,15 @@ | |||
| #RewriteEngine on | |||
| #RewriteRule (.*)\.ical $1.php | |||
| RewriteEngine On | |||
| # Some hosts may require you to use the `RewriteBase` directive. | |||
| # If you need to use the `RewriteBase` directive, it should be the | |||
| # absolute physical path to the directory that contains this htaccess file. | |||
| # | |||
| # RewriteBase / | |||
| RewriteCond %{REQUEST_FILENAME} !-d | |||
| RewriteCond %{REQUEST_FILENAME} !-f | |||
| #RewriteRule ^ index.php [QSA,L] | |||
| RewriteRule (.*)\.ics probuddy.php [QSA,L] | |||
| @@ -0,0 +1,119 @@ | |||
| <?php | |||
| /******************************************************************************** | |||
| * (c)1337 aheadware.com - All rights reserved | |||
| ********************************************************************************/ | |||
| require_once __DIR__ . '/../../../server/server/config/boot_global.php'; | |||
| require_once __DIR__ . '/../../../server/server/config/boot_local.php'; | |||
| require_once __DIR__ .'/vendor/autoload.php'; | |||
| // Retrieve teamId and profileId | |||
| $relIds = explode( "/", trim( $_SERVER["REQUEST_URI"], "/" ) ); | |||
| $profileId = 0; | |||
| if ( !is_array( $relIds ) || 1 > count( $relIds ) ) die ( "EOF" ); | |||
| $returnJson = false; | |||
| if ( array_key_exists( 'format', $_GET ) && 'json' === $_GET[ 'format' ] ) | |||
| { | |||
| $returnJson = true; | |||
| } | |||
| $profileId = NULL; | |||
| $publicId = $relIds[ 1 ]; | |||
| $apps = array(); | |||
| $calendarId = ''; | |||
| $calenderName = ''; | |||
| // Profile OR Group ??? | |||
| if ( 4 === strlen( $publicId ) ) | |||
| { | |||
| // Group | |||
| $team = TB_Shared_Ent_TeamData_Team::getByPublicId( $publicId ); | |||
| if ( !isset( $team ) ) die ( "EOF" ); | |||
| $calendarId = 'probuddy-' . $publicId; | |||
| $calenderName = 'ProBuddy: Gruppentermine ' . $team->display_name; | |||
| // Last 30 days | |||
| $daysInPast = 30; | |||
| $daysInFuture = 365; | |||
| $nowDt = TB_Server_Utils_Helper::getUTCNowDateTime(); | |||
| $fromDt = $nowDt->sub( DateInterval::createFromDateString( $daysInPast .' days' ) ); | |||
| $nowDt = TB_Server_Utils_Helper::getUTCNowDateTime(); | |||
| $untilDt = $nowDt->add( DateInterval::createFromDateString( $daysInFuture .' days' ) ); | |||
| $apps = TB_Shared_Ent_TeamData_Appointment::getByTeamIdAndTimespan( $team->id, $fromDt, $untilDt ); | |||
| } | |||
| else | |||
| { | |||
| // Profile | |||
| /** @var TB_Shared_Ent_TeamData_Profile $profile */ | |||
| $profile = TB_Shared_Ent_TeamData_Profile::getByPublicId( $publicId ); | |||
| if ( !isset( $profile ) ) die("EOF"); | |||
| $calendarId = 'probuddy-' . $publicId; | |||
| $calenderName = 'ProBuddy: Deine Termine'; | |||
| // Get appointments filetered by profile id | |||
| $apps = TB_Shared_Ent_TeamData_Appointment::getAcceptedByProfile( $profile->id, true ); | |||
| } | |||
| // set default timezone (PHP 5.4) | |||
| date_default_timezone_set('Europe/Berlin'); | |||
| // Allow cors | |||
| if ( true === $returnJson ) | |||
| { | |||
| $jsonApps = array(); | |||
| /** @var TB_Shared_Ent_TeamData_Appointment $app */ | |||
| foreach( $apps as $app ) | |||
| { | |||
| array_push( $jsonApps, $app->asArray() ); | |||
| } | |||
| $jsonStruct = array( | |||
| "name" => $calenderName, | |||
| "appointments" => $jsonApps | |||
| ); | |||
| header("Access-Control-Allow-Origin: *"); | |||
| header('Content-Type: application/json'); | |||
| echo json_encode( $jsonStruct ); | |||
| } | |||
| else | |||
| { | |||
| // 1. Create new calendar | |||
| $vCalendar = new \Eluceo\iCal\Component\Calendar($calendarId); | |||
| $vCalendar->setName( $calenderName ); | |||
| $vCalendar->setDescription( $calenderName ); | |||
| /** @var TB_Shared_Ent_TeamData_Appointment $app */ | |||
| foreach( $apps as $app ) | |||
| { | |||
| $vEvent = new \Eluceo\iCal\Component\Event(); | |||
| $vEvent->setDtStart( $app->start_dt ); | |||
| $vEvent->setDtEnd( $app->end_dt ); | |||
| $vEvent->setNoTime(false); | |||
| $vEvent->setSummary( $app->subject ); | |||
| $vEvent->setLocation( $app->location ); | |||
| $vEvent->setDescription( $app->comment ); | |||
| // 3. Add event to calendar | |||
| $vCalendar->addComponent($vEvent); | |||
| } | |||
| // 4. Set headers | |||
| header("Access-Control-Allow-Origin: *"); | |||
| header('Content-Type: text/calendar; charset=utf-8'); | |||
| header('Content-Disposition: attachment; filename="' . $calendarId . '.ics"'); | |||
| // 5. Output | |||
| echo $vCalendar->render(); | |||
| } | |||
| @@ -0,0 +1,172 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal; | |||
| use Eluceo\iCal\Util\ComponentUtil; | |||
| /** | |||
| * Abstract Calender Component. | |||
| */ | |||
| abstract class Component | |||
| { | |||
| /** | |||
| * Array of Components. | |||
| * | |||
| * @var Component[] | |||
| */ | |||
| protected $components = array(); | |||
| /** | |||
| * The order in which the components will be rendered during build. | |||
| * | |||
| * Not defined components will be appended at the end. | |||
| * | |||
| * @var array | |||
| */ | |||
| private $componentsBuildOrder = array('VTIMEZONE', 'DAYLIGHT', 'STANDARD'); | |||
| /** | |||
| * The type of the concrete Component. | |||
| * | |||
| * @abstract | |||
| * | |||
| * @return string | |||
| */ | |||
| abstract public function getType(); | |||
| /** | |||
| * Building the PropertyBag. | |||
| * | |||
| * @abstract | |||
| * | |||
| * @return PropertyBag | |||
| */ | |||
| abstract public function buildPropertyBag(); | |||
| /** | |||
| * Adds a Component. | |||
| * | |||
| * If $key is given, the component at $key will be replaced else the component will be append. | |||
| * | |||
| * @param Component $component The Component that will be added | |||
| * @param null $key The key of the Component | |||
| */ | |||
| public function addComponent(Component $component, $key = null) | |||
| { | |||
| if (null == $key) { | |||
| $this->components[] = $component; | |||
| } else { | |||
| $this->components[$key] = $component; | |||
| } | |||
| } | |||
| /** | |||
| * Renders an array containing the lines of the iCal file. | |||
| * | |||
| * @return array | |||
| */ | |||
| public function build() | |||
| { | |||
| $lines = array(); | |||
| $lines[] = sprintf('BEGIN:%s', $this->getType()); | |||
| /** @var $property Property */ | |||
| foreach ($this->buildPropertyBag() as $property) { | |||
| foreach ($property->toLines() as $l) { | |||
| $lines[] = $l; | |||
| } | |||
| } | |||
| $this->buildComponents($lines); | |||
| $lines[] = sprintf('END:%s', $this->getType()); | |||
| $ret = array(); | |||
| foreach ($lines as $line) { | |||
| foreach (ComponentUtil::fold($line) as $l) { | |||
| $ret[] = $l; | |||
| } | |||
| } | |||
| return $ret; | |||
| } | |||
| /** | |||
| * Renders the output. | |||
| * | |||
| * @return string | |||
| */ | |||
| public function render() | |||
| { | |||
| return implode("\r\n", $this->build()); | |||
| } | |||
| /** | |||
| * Renders the output when treating the class as a string. | |||
| * | |||
| * @return string | |||
| */ | |||
| public function __toString() | |||
| { | |||
| return $this->render(); | |||
| } | |||
| /** | |||
| * @param $lines | |||
| * | |||
| * @return array | |||
| */ | |||
| private function buildComponents(array &$lines) | |||
| { | |||
| $componentsByType = array(); | |||
| /** @var $component Component */ | |||
| foreach ($this->components as $component) { | |||
| $type = $component->getType(); | |||
| if (!isset($componentsByType[$type])) { | |||
| $componentsByType[$type] = array(); | |||
| } | |||
| $componentsByType[$type][] = $component; | |||
| } | |||
| // render ordered components | |||
| foreach ($this->componentsBuildOrder as $type) { | |||
| if (!isset($componentsByType[$type])) { | |||
| continue; | |||
| } | |||
| foreach ($componentsByType[$type] as $component) { | |||
| $this->addComponentLines($lines, $component); | |||
| } | |||
| unset($componentsByType[$type]); | |||
| } | |||
| // render all other | |||
| foreach ($componentsByType as $components) { | |||
| foreach ($components as $component) { | |||
| $this->addComponentLines($lines, $component); | |||
| } | |||
| } | |||
| } | |||
| /** | |||
| * @param array $lines | |||
| * @param Component $component | |||
| */ | |||
| private function addComponentLines(array &$lines, Component $component) | |||
| { | |||
| foreach ($component->build() as $l) { | |||
| $lines[] = $l; | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,151 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Component; | |||
| use Eluceo\iCal\Component; | |||
| use Eluceo\iCal\PropertyBag; | |||
| use Eluceo\iCal\Property; | |||
| /** | |||
| * Implementation of the VALARM component. | |||
| */ | |||
| class Alarm extends Component | |||
| { | |||
| /** | |||
| * Alarm ACTION property. | |||
| * | |||
| * According to RFC 5545: 3.8.6.1. Action | |||
| * | |||
| * @link http://tools.ietf.org/html/rfc5545#section-3.8.6.1 | |||
| */ | |||
| const ACTION_AUDIO = 'AUDIO'; | |||
| const ACTION_DISPLAY = 'DISPLAY'; | |||
| const ACTION_EMAIL = 'EMAIL'; | |||
| protected $action; | |||
| protected $repeat; | |||
| protected $duration; | |||
| protected $description; | |||
| protected $attendee; | |||
| protected $trigger; | |||
| public function getType() | |||
| { | |||
| return 'VALARM'; | |||
| } | |||
| public function getAction() | |||
| { | |||
| return $this->action; | |||
| } | |||
| public function getRepeat() | |||
| { | |||
| return $this->repeat; | |||
| } | |||
| public function getDuration() | |||
| { | |||
| return $this->duration; | |||
| } | |||
| public function getDescription() | |||
| { | |||
| return $this->description; | |||
| } | |||
| public function getAttendee() | |||
| { | |||
| return $this->attendee; | |||
| } | |||
| public function getTrigger() | |||
| { | |||
| return $this->trigger; | |||
| } | |||
| public function setAction($action) | |||
| { | |||
| $this->action = $action; | |||
| return $this; | |||
| } | |||
| public function setRepeat($repeat) | |||
| { | |||
| $this->repeat = $repeat; | |||
| return $this; | |||
| } | |||
| public function setDuration($duration) | |||
| { | |||
| $this->duration = $duration; | |||
| return $this; | |||
| } | |||
| public function setDescription($description) | |||
| { | |||
| $this->description = $description; | |||
| return $this; | |||
| } | |||
| public function setAttendee($attendee) | |||
| { | |||
| $this->attendee = $attendee; | |||
| return $this; | |||
| } | |||
| public function setTrigger($trigger) | |||
| { | |||
| $this->trigger = $trigger; | |||
| return $this; | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function buildPropertyBag() | |||
| { | |||
| $propertyBag = new PropertyBag(); | |||
| if (null != $this->trigger) { | |||
| $propertyBag->set('TRIGGER', $this->trigger); | |||
| } | |||
| if (null != $this->action) { | |||
| $propertyBag->set('ACTION', $this->action); | |||
| } | |||
| if (null != $this->repeat) { | |||
| $propertyBag->set('REPEAT', $this->repeat); | |||
| } | |||
| if (null != $this->duration) { | |||
| $propertyBag->set('DURATION', $this->duration); | |||
| } | |||
| if (null != $this->description) { | |||
| $propertyBag->set('DESCRIPTION', $this->description); | |||
| } | |||
| if (null != $this->attendee) { | |||
| $propertyBag->set('ATTENDEE', $this->attendee); | |||
| } | |||
| return $propertyBag; | |||
| } | |||
| } | |||
| @@ -0,0 +1,323 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Component; | |||
| use Eluceo\iCal\Component; | |||
| use Eluceo\iCal\PropertyBag; | |||
| class Calendar extends Component | |||
| { | |||
| /** | |||
| * Methods for calendar components. | |||
| * | |||
| * According to RFP 5545: 3.7.2. Method | |||
| * | |||
| * @link http://tools.ietf.org/html/rfc5545#section-3.7.2 | |||
| * | |||
| * And then according to RFC 2446: 3 APPLICATION PROTOCOL ELEMENTS | |||
| * @link https://www.ietf.org/rfc/rfc2446.txt | |||
| */ | |||
| const METHOD_PUBLISH = 'PUBLISH'; | |||
| const METHOD_REQUEST = 'REQUEST'; | |||
| const METHOD_REPLY = 'REPLY'; | |||
| const METHOD_ADD = 'ADD'; | |||
| const METHOD_CANCEL = 'CANCEL'; | |||
| const METHOD_REFRESH = 'REFRESH'; | |||
| const METHOD_COUNTER = 'COUNTER'; | |||
| const METHOD_DECLINECOUNTER = 'DECLINECOUNTER'; | |||
| /** | |||
| * This property defines the calendar scale used for the calendar information specified in the iCalendar object. | |||
| * | |||
| * According to RFC 5545: 3.7.1. Calendar Scale | |||
| * | |||
| * @link http://tools.ietf.org/html/rfc5545#section-3.7 | |||
| */ | |||
| const CALSCALE_GREGORIAN = 'GREGORIAN'; | |||
| /** | |||
| * The Product Identifier. | |||
| * | |||
| * According to RFC 2445: 4.7.3 Product Identifier | |||
| * | |||
| * This property specifies the identifier for the product that created the Calendar object. | |||
| * | |||
| * @link http://www.ietf.org/rfc/rfc2445.txt | |||
| * | |||
| * @var string | |||
| */ | |||
| protected $prodId = null; | |||
| protected $method = null; | |||
| protected $name = null; | |||
| protected $description = null; | |||
| protected $timezone = null; | |||
| /** | |||
| * This property defines the calendar scale used for the | |||
| * calendar information specified in the iCalendar object. | |||
| * | |||
| * Also identifies the calendar type of a non-Gregorian recurring appointment. | |||
| * | |||
| * @var string | |||
| * | |||
| * @see http://tools.ietf.org/html/rfc5545#section-3.7 | |||
| * @see http://msdn.microsoft.com/en-us/library/ee237520(v=exchg.80).aspx | |||
| */ | |||
| protected $calendarScale = null; | |||
| /** | |||
| * Specifies whether or not the iCalendar file only contains one appointment. | |||
| * | |||
| * @var bool | |||
| * | |||
| * @see http://msdn.microsoft.com/en-us/library/ee203486(v=exchg.80).aspx | |||
| */ | |||
| protected $forceInspectOrOpen = false; | |||
| /** | |||
| * Specifies a globally unique identifier for the calendar. | |||
| * | |||
| * @var string | |||
| * | |||
| * @see http://msdn.microsoft.com/en-us/library/ee179588(v=exchg.80).aspx | |||
| */ | |||
| protected $calId = null; | |||
| /** | |||
| * Specifies a suggested iCalendar file download frequency for clients and | |||
| * servers with sync capabilities. | |||
| * | |||
| * @var string | |||
| * | |||
| * @see http://msdn.microsoft.com/en-us/library/ee178699(v=exchg.80).aspx | |||
| */ | |||
| protected $publishedTTL = 'P1W'; | |||
| /** | |||
| * Specifies a color for the calendar in calendar for Apple/Outlook. | |||
| * | |||
| * @var string | |||
| * | |||
| * @see http://msdn.microsoft.com/en-us/library/ee179588(v=exchg.80).aspx | |||
| */ | |||
| protected $calendarColor = null; | |||
| public function __construct($prodId) | |||
| { | |||
| if (empty($prodId)) { | |||
| throw new \UnexpectedValueException('PRODID cannot be empty'); | |||
| } | |||
| $this->prodId = $prodId; | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function getType() | |||
| { | |||
| return 'VCALENDAR'; | |||
| } | |||
| /** | |||
| * @param $method | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setMethod($method) | |||
| { | |||
| $this->method = $method; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $name | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setName($name) | |||
| { | |||
| $this->name = $name; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $description | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setDescription($description) | |||
| { | |||
| $this->description = $description; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $timezone | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setTimezone($timezone) | |||
| { | |||
| $this->timezone = $timezone; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $calendarColor | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setCalendarColor($calendarColor) | |||
| { | |||
| $this->calendarColor = $calendarColor; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $calendarScale | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setCalendarScale($calendarScale) | |||
| { | |||
| $this->calendarScale = $calendarScale; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param bool $forceInspectOrOpen | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setForceInspectOrOpen($forceInspectOrOpen) | |||
| { | |||
| $this->forceInspectOrOpen = $forceInspectOrOpen; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param string $calId | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setCalId($calId) | |||
| { | |||
| $this->calId = $calId; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param string $ttl | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setPublishedTTL($ttl) | |||
| { | |||
| $this->publishedTTL = $ttl; | |||
| return $this; | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function buildPropertyBag() | |||
| { | |||
| $propertyBag = new PropertyBag(); | |||
| $propertyBag->set('VERSION', '2.0'); | |||
| $propertyBag->set('PRODID', $this->prodId); | |||
| if ($this->method) { | |||
| $propertyBag->set('METHOD', $this->method); | |||
| } | |||
| if ($this->calendarColor) { | |||
| $propertyBag->set('X-APPLE-CALENDAR-COLOR', $this->calendarColor); | |||
| $propertyBag->set('X-OUTLOOK-COLOR', $this->calendarColor); | |||
| $propertyBag->set('X-FUNAMBOL-COLOR', $this->calendarColor); | |||
| } | |||
| if ($this->calendarScale) { | |||
| $propertyBag->set('CALSCALE', $this->calendarScale); | |||
| $propertyBag->set('X-MICROSOFT-CALSCALE', $this->calendarScale); | |||
| } | |||
| if ($this->name) { | |||
| $propertyBag->set('X-WR-CALNAME', $this->name); | |||
| } | |||
| if ($this->description) { | |||
| $propertyBag->set('X-WR-CALDESC', $this->description); | |||
| } | |||
| if ($this->timezone) { | |||
| if ($this->timezone instanceof Timezone) { | |||
| $propertyBag->set('X-WR-TIMEZONE', $this->timezone->getZoneIdentifier()); | |||
| $this->addComponent($this->timezone); | |||
| } else { | |||
| $propertyBag->set('X-WR-TIMEZONE', $this->timezone); | |||
| $this->addComponent(new Timezone($this->timezone)); | |||
| } | |||
| } | |||
| if ($this->forceInspectOrOpen) { | |||
| $propertyBag->set('X-MS-OLK-FORCEINSPECTOROPEN', $this->forceInspectOrOpen); | |||
| } | |||
| if ($this->calId) { | |||
| $propertyBag->set('X-WR-RELCALID', $this->calId); | |||
| } | |||
| if ($this->publishedTTL) { | |||
| $propertyBag->set('X-PUBLISHED-TTL', $this->publishedTTL); | |||
| } | |||
| return $propertyBag; | |||
| } | |||
| /** | |||
| * Adds an Event to the Calendar. | |||
| * | |||
| * Wrapper for addComponent() | |||
| * | |||
| * @see Eluceo\iCal::addComponent | |||
| * @deprecated Please, use public method addComponent() from abstract Component class | |||
| * | |||
| * @param Event $event | |||
| */ | |||
| public function addEvent(Event $event) | |||
| { | |||
| $this->addComponent($event); | |||
| } | |||
| /** | |||
| * @return null|string | |||
| */ | |||
| public function getProdId() | |||
| { | |||
| return $this->prodId; | |||
| } | |||
| public function getMethod() | |||
| { | |||
| return $this->method; | |||
| } | |||
| } | |||
| @@ -0,0 +1,854 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Component; | |||
| use Eluceo\iCal\Component; | |||
| use Eluceo\iCal\Property; | |||
| use Eluceo\iCal\Property\DateTimeProperty; | |||
| use Eluceo\iCal\Property\Event\Attendees; | |||
| use Eluceo\iCal\Property\Event\Geo; | |||
| use Eluceo\iCal\Property\Event\Organizer; | |||
| use Eluceo\iCal\Property\Event\RecurrenceRule; | |||
| use Eluceo\iCal\Property\Event\Description; | |||
| use Eluceo\iCal\Property\RawStringValue; | |||
| use Eluceo\iCal\PropertyBag; | |||
| use Eluceo\iCal\Property\Event\RecurrenceId; | |||
| use Eluceo\iCal\Property\DateTimesProperty; | |||
| /** | |||
| * Implementation of the EVENT component. | |||
| */ | |||
| class Event extends Component | |||
| { | |||
| const TIME_TRANSPARENCY_OPAQUE = 'OPAQUE'; | |||
| const TIME_TRANSPARENCY_TRANSPARENT = 'TRANSPARENT'; | |||
| const STATUS_TENTATIVE = 'TENTATIVE'; | |||
| const STATUS_CONFIRMED = 'CONFIRMED'; | |||
| const STATUS_CANCELLED = 'CANCELLED'; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $uniqueId; | |||
| /** | |||
| * The property indicates the date/time that the instance of | |||
| * the iCalendar object was created. | |||
| * | |||
| * The value MUST be specified in the UTC time format. | |||
| * | |||
| * @var \DateTime | |||
| */ | |||
| protected $dtStamp; | |||
| /** | |||
| * @var \DateTime | |||
| */ | |||
| protected $dtStart; | |||
| /** | |||
| * Preferentially chosen over the duration if both are set. | |||
| * | |||
| * @var \DateTime | |||
| */ | |||
| protected $dtEnd; | |||
| /** | |||
| * @var \DateInterval | |||
| */ | |||
| protected $duration; | |||
| /** | |||
| * @var bool | |||
| */ | |||
| protected $noTime = false; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $url; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $location; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $locationTitle; | |||
| /** | |||
| * @var Geo | |||
| */ | |||
| protected $locationGeo; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $summary; | |||
| /** | |||
| * @var Organizer | |||
| */ | |||
| protected $organizer; | |||
| /** | |||
| * @see http://www.ietf.org/rfc/rfc2445.txt 4.8.2.7 Time Transparency | |||
| * | |||
| * @var string | |||
| */ | |||
| protected $transparency = self::TIME_TRANSPARENCY_OPAQUE; | |||
| /** | |||
| * If set to true the timezone will be added to the event. | |||
| * | |||
| * @var bool | |||
| */ | |||
| protected $useTimezone = false; | |||
| /** | |||
| * @var int | |||
| */ | |||
| protected $sequence = 0; | |||
| /** | |||
| * @var Attendees | |||
| */ | |||
| protected $attendees; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $description; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $descriptionHTML; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $status; | |||
| /** | |||
| * @var RecurrenceRule | |||
| */ | |||
| protected $recurrenceRule; | |||
| /** | |||
| * @var array | |||
| */ | |||
| protected $recurrenceRules = array(); | |||
| /** | |||
| * This property specifies the date and time that the calendar | |||
| * information was created. | |||
| * | |||
| * The value MUST be specified in the UTC time format. | |||
| * | |||
| * @var \DateTime | |||
| */ | |||
| protected $created; | |||
| /** | |||
| * The property specifies the date and time that the information | |||
| * associated with the calendar component was last revised. | |||
| * | |||
| * The value MUST be specified in the UTC time format. | |||
| * | |||
| * @var \DateTime | |||
| */ | |||
| protected $modified; | |||
| /** | |||
| * Indicates if the UTC time should be used or not. | |||
| * | |||
| * @var bool | |||
| */ | |||
| protected $useUtc = true; | |||
| /** | |||
| * @var bool | |||
| */ | |||
| protected $cancelled; | |||
| /** | |||
| * This property is used to specify categories or subtypes | |||
| * of the calendar component. The categories are useful in searching | |||
| * for a calendar component of a particular type and category. | |||
| * | |||
| * @see https://tools.ietf.org/html/rfc5545#section-3.8.1.2 | |||
| * | |||
| * @var array | |||
| */ | |||
| protected $categories; | |||
| /** | |||
| * https://tools.ietf.org/html/rfc5545#section-3.8.1.3. | |||
| * | |||
| * @var bool | |||
| */ | |||
| protected $isPrivate = false; | |||
| /** | |||
| * Dates to be excluded from a series of events. | |||
| * | |||
| * @var \DateTime[] | |||
| */ | |||
| protected $exDates = array(); | |||
| /** | |||
| * @var RecurrenceId | |||
| */ | |||
| protected $recurrenceId; | |||
| public function __construct($uniqueId = null) | |||
| { | |||
| if (null == $uniqueId) { | |||
| $uniqueId = uniqid(); | |||
| } | |||
| $this->uniqueId = $uniqueId; | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function getType() | |||
| { | |||
| return 'VEVENT'; | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function buildPropertyBag() | |||
| { | |||
| $propertyBag = new PropertyBag(); | |||
| // mandatory information | |||
| $propertyBag->set('UID', $this->uniqueId); | |||
| $propertyBag->add(new DateTimeProperty('DTSTART', $this->dtStart, $this->noTime, $this->useTimezone, $this->useUtc)); | |||
| $propertyBag->set('SEQUENCE', $this->sequence); | |||
| $propertyBag->set('TRANSP', $this->transparency); | |||
| if ($this->status) { | |||
| $propertyBag->set('STATUS', $this->status); | |||
| } | |||
| // An event can have a 'dtend' or 'duration', but not both. | |||
| if (null != $this->dtEnd) { | |||
| if($this->noTime === true) { | |||
| $this->dtEnd->add(new \DateInterval('P1D')); | |||
| } | |||
| $propertyBag->add(new DateTimeProperty('DTEND', $this->dtEnd, $this->noTime, $this->useTimezone, $this->useUtc)); | |||
| } elseif (null != $this->duration) { | |||
| $propertyBag->set('DURATION', $this->duration->format('P%dDT%hH%iM%sS')); | |||
| } | |||
| // optional information | |||
| if (null != $this->url) { | |||
| $propertyBag->set('URL', $this->url); | |||
| } | |||
| if (null != $this->location) { | |||
| $propertyBag->set('LOCATION', $this->location); | |||
| if (null != $this->locationGeo) { | |||
| $propertyBag->add( | |||
| new Property( | |||
| 'X-APPLE-STRUCTURED-LOCATION', | |||
| new RawStringValue('geo:' . $this->locationGeo->getGeoLocationAsString(',')), | |||
| array( | |||
| 'VALUE' => 'URI', | |||
| 'X-ADDRESS' => $this->location, | |||
| 'X-APPLE-RADIUS' => 49, | |||
| 'X-TITLE' => $this->locationTitle, | |||
| ) | |||
| ) | |||
| ); | |||
| } | |||
| } | |||
| if (null != $this->locationGeo) { | |||
| $propertyBag->add($this->locationGeo); | |||
| } | |||
| if (null != $this->summary) { | |||
| $propertyBag->set('SUMMARY', $this->summary); | |||
| } | |||
| if (null != $this->attendees) { | |||
| $propertyBag->add($this->attendees); | |||
| } | |||
| $propertyBag->set('CLASS', $this->isPrivate ? 'PRIVATE' : 'PUBLIC'); | |||
| if (null != $this->description) { | |||
| $propertyBag->set('DESCRIPTION', new Description($this->description)); | |||
| } | |||
| if (null != $this->descriptionHTML) { | |||
| $propertyBag->add( | |||
| new Property( | |||
| 'X-ALT-DESC', | |||
| $this->descriptionHTML, | |||
| array( | |||
| 'FMTTYPE' => 'text/html', | |||
| ) | |||
| ) | |||
| ); | |||
| } | |||
| if (null != $this->recurrenceRule) { | |||
| $propertyBag->set('RRULE', $this->recurrenceRule); | |||
| } | |||
| foreach ($this->recurrenceRules as $recurrenceRule) { | |||
| $propertyBag->set('RRULE', $recurrenceRule); | |||
| } | |||
| if (null != $this->recurrenceId) { | |||
| $this->recurrenceId->applyTimeSettings($this->noTime, $this->useTimezone, $this->useUtc); | |||
| $propertyBag->add($this->recurrenceId); | |||
| } | |||
| if (!empty($this->exDates)) { | |||
| $propertyBag->add(new DateTimesProperty('EXDATE', $this->exDates, $this->noTime, $this->useTimezone, $this->useUtc)); | |||
| } | |||
| if ($this->cancelled) { | |||
| $propertyBag->set('STATUS', 'CANCELLED'); | |||
| } | |||
| if (null != $this->organizer) { | |||
| $propertyBag->add($this->organizer); | |||
| } | |||
| if ($this->noTime) { | |||
| $propertyBag->set('X-MICROSOFT-CDO-ALLDAYEVENT', 'TRUE'); | |||
| } | |||
| if (null != $this->categories) { | |||
| $propertyBag->set('CATEGORIES', $this->categories); | |||
| } | |||
| $propertyBag->add( | |||
| new DateTimeProperty('DTSTAMP', $this->dtStamp ?: new \DateTime(), false, false, true) | |||
| ); | |||
| if ($this->created) { | |||
| $propertyBag->add(new DateTimeProperty('CREATED', $this->created, false, false, true)); | |||
| } | |||
| if ($this->modified) { | |||
| $propertyBag->add(new DateTimeProperty('LAST-MODIFIED', $this->modified, false, false, true)); | |||
| } | |||
| return $propertyBag; | |||
| } | |||
| /** | |||
| * @param $dtEnd | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setDtEnd($dtEnd) | |||
| { | |||
| $this->dtEnd = $dtEnd; | |||
| return $this; | |||
| } | |||
| public function getDtEnd() | |||
| { | |||
| return $this->dtEnd; | |||
| } | |||
| public function setDtStart($dtStart) | |||
| { | |||
| $this->dtStart = $dtStart; | |||
| return $this; | |||
| } | |||
| public function getDtStart() | |||
| { | |||
| return $this->dtStart; | |||
| } | |||
| /** | |||
| * @param $dtStamp | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setDtStamp($dtStamp) | |||
| { | |||
| $this->dtStamp = $dtStamp; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $duration | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setDuration($duration) | |||
| { | |||
| $this->duration = $duration; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param string $location | |||
| * @param string $title | |||
| * @param Geo|string $geo | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setLocation($location, $title = '', $geo = null) | |||
| { | |||
| if (is_scalar($geo)) { | |||
| $geo = Geo::fromString($geo); | |||
| } else if (!is_null($geo) && !$geo instanceof Geo) { | |||
| $className = get_class($geo); | |||
| throw new \InvalidArgumentException( | |||
| "The parameter 'geo' must be a string or an instance of \\Eluceo\\iCal\\Property\\Event\\Geo" | |||
| . " but an instance of {$className} was given." | |||
| ); | |||
| } | |||
| $this->location = $location; | |||
| $this->locationTitle = $title; | |||
| $this->locationGeo = $geo; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param Geo $geoProperty | |||
| * @return $this | |||
| */ | |||
| public function setGeoLocation(Geo $geoProperty) | |||
| { | |||
| $this->locationGeo = $geoProperty; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $noTime | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setNoTime($noTime) | |||
| { | |||
| $this->noTime = $noTime; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param int $sequence | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setSequence($sequence) | |||
| { | |||
| $this->sequence = $sequence; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return int | |||
| */ | |||
| public function getSequence() | |||
| { | |||
| return $this->sequence; | |||
| } | |||
| /** | |||
| * @param Organizer $organizer | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setOrganizer(Organizer $organizer) | |||
| { | |||
| $this->organizer = $organizer; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $summary | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setSummary($summary) | |||
| { | |||
| $this->summary = $summary; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $uniqueId | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setUniqueId($uniqueId) | |||
| { | |||
| $this->uniqueId = $uniqueId; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getUniqueId() | |||
| { | |||
| return $this->uniqueId; | |||
| } | |||
| /** | |||
| * @param $url | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setUrl($url) | |||
| { | |||
| $this->url = $url; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $useTimezone | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setUseTimezone($useTimezone) | |||
| { | |||
| $this->useTimezone = $useTimezone; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return bool | |||
| */ | |||
| public function getUseTimezone() | |||
| { | |||
| return $this->useTimezone; | |||
| } | |||
| /** | |||
| * @param Attendees $attendees | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setAttendees(Attendees $attendees) | |||
| { | |||
| $this->attendees = $attendees; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param string $attendee | |||
| * @param array $params | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function addAttendee($attendee, $params = array()) | |||
| { | |||
| if (!isset($this->attendees)) { | |||
| $this->attendees = new Attendees(); | |||
| } | |||
| $this->attendees->add($attendee, $params); | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return Attendees | |||
| */ | |||
| public function getAttendees() | |||
| { | |||
| return $this->attendees; | |||
| } | |||
| /** | |||
| * @param $description | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setDescription($description) | |||
| { | |||
| $this->description = $description; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $descriptionHTML | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setDescriptionHTML($descriptionHTML) | |||
| { | |||
| $this->descriptionHTML = $descriptionHTML; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param bool $useUtc | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setUseUtc($useUtc = true) | |||
| { | |||
| $this->useUtc = $useUtc; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getDescription() | |||
| { | |||
| return $this->description; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getDescriptionHTML() | |||
| { | |||
| return $this->descriptionHTML; | |||
| } | |||
| /** | |||
| * @param $status | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setCancelled($status) | |||
| { | |||
| $this->cancelled = (bool)$status; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $transparency | |||
| * | |||
| * @return $this | |||
| * | |||
| * @throws \InvalidArgumentException | |||
| */ | |||
| public function setTimeTransparency($transparency) | |||
| { | |||
| $transparency = strtoupper($transparency); | |||
| if ($transparency === self::TIME_TRANSPARENCY_OPAQUE | |||
| || $transparency === self::TIME_TRANSPARENCY_TRANSPARENT | |||
| ) { | |||
| $this->transparency = $transparency; | |||
| } else { | |||
| throw new \InvalidArgumentException('Invalid value for transparancy'); | |||
| } | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $status | |||
| * | |||
| * @return $this | |||
| * | |||
| * @throws \InvalidArgumentException | |||
| */ | |||
| public function setStatus($status) | |||
| { | |||
| $status = strtoupper($status); | |||
| if ($status == self::STATUS_CANCELLED | |||
| || $status == self::STATUS_CONFIRMED | |||
| || $status == self::STATUS_TENTATIVE | |||
| ) { | |||
| $this->status = $status; | |||
| } else { | |||
| throw new \InvalidArgumentException('Invalid value for status'); | |||
| } | |||
| return $this; | |||
| } | |||
| /** | |||
| * @deprecated Deprecated since version 0.11.0, to be removed in 1.0. Use addRecurrenceRule instead. | |||
| * | |||
| * @param RecurrenceRule $recurrenceRule | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setRecurrenceRule(RecurrenceRule $recurrenceRule) | |||
| { | |||
| @trigger_error('setRecurrenceRule() is deprecated since version 0.11.0 and will be removed in 1.0. Use addRecurrenceRule instead.', E_USER_DEPRECATED); | |||
| $this->recurrenceRule = $recurrenceRule; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @deprecated Deprecated since version 0.11.0, to be removed in 1.0. Use getRecurrenceRules instead. | |||
| * | |||
| * @return RecurrenceRule | |||
| */ | |||
| public function getRecurrenceRule() | |||
| { | |||
| @trigger_error('getRecurrenceRule() is deprecated since version 0.11.0 and will be removed in 1.0. Use getRecurrenceRules instead.', E_USER_DEPRECATED); | |||
| return $this->recurrenceRule; | |||
| } | |||
| /** | |||
| * @param RecurrenceRule $recurrenceRule | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function addRecurrenceRule(RecurrenceRule $recurrenceRule) | |||
| { | |||
| $this->recurrenceRules[] = $recurrenceRule; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return array | |||
| */ | |||
| public function getRecurrenceRules() | |||
| { | |||
| return $this->recurrenceRules; | |||
| } | |||
| /** | |||
| * @param $dtStamp | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setCreated($dtStamp) | |||
| { | |||
| $this->created = $dtStamp; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $dtStamp | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setModified($dtStamp) | |||
| { | |||
| $this->modified = $dtStamp; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $categories | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setCategories($categories) | |||
| { | |||
| $this->categories = $categories; | |||
| return $this; | |||
| } | |||
| /** | |||
| * Sets the event privacy. | |||
| * | |||
| * @param bool $flag | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setIsPrivate($flag) | |||
| { | |||
| $this->isPrivate = (bool)$flag; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param \DateTime $dateTime | |||
| * | |||
| * @return \Eluceo\iCal\Component\Event | |||
| */ | |||
| public function addExDate(\DateTime $dateTime) | |||
| { | |||
| $this->exDates[] = $dateTime; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return \DateTime[] | |||
| */ | |||
| public function getExDates() | |||
| { | |||
| return $this->exDates; | |||
| } | |||
| /** | |||
| * @param \DateTime[] | |||
| * | |||
| * @return \Eluceo\iCal\Component\Event | |||
| */ | |||
| public function setExDates(array $exDates) | |||
| { | |||
| $this->exDates = $exDates; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return \Eluceo\iCal\Property\Event\RecurrenceId | |||
| */ | |||
| public function getRecurrenceId() | |||
| { | |||
| return $this->recurrenceId; | |||
| } | |||
| /** | |||
| * @param RecurrenceId $recurrenceId | |||
| * | |||
| * @return \Eluceo\iCal\Component\Event | |||
| */ | |||
| public function setRecurrenceId(RecurrenceId $recurrenceId) | |||
| { | |||
| $this->recurrenceId = $recurrenceId; | |||
| return $this; | |||
| } | |||
| } | |||
| @@ -0,0 +1,57 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Component; | |||
| use Eluceo\iCal\Component; | |||
| use Eluceo\iCal\PropertyBag; | |||
| /** | |||
| * Implementation of the TIMEZONE component. | |||
| */ | |||
| class Timezone extends Component | |||
| { | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $timezone; | |||
| public function __construct($timezone) | |||
| { | |||
| $this->timezone = $timezone; | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function getType() | |||
| { | |||
| return 'VTIMEZONE'; | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function buildPropertyBag() | |||
| { | |||
| $propertyBag = new PropertyBag(); | |||
| $propertyBag->set('TZID', $this->timezone); | |||
| $propertyBag->set('X-LIC-LOCATION', $this->timezone); | |||
| return $propertyBag; | |||
| } | |||
| public function getZoneIdentifier() | |||
| { | |||
| return $this->timezone; | |||
| } | |||
| } | |||
| @@ -0,0 +1,215 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Component; | |||
| use Eluceo\iCal\Component; | |||
| use Eluceo\iCal\PropertyBag; | |||
| use Eluceo\iCal\Property\Event\RecurrenceRule; | |||
| /** | |||
| * Implementation of Standard Time and Daylight Saving Time observances (or rules) | |||
| * which define the TIMEZONE component. | |||
| */ | |||
| class TimezoneRule extends Component | |||
| { | |||
| const TYPE_DAYLIGHT = 'DAYLIGHT'; | |||
| const TYPE_STANDARD = 'STANDARD'; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $type; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $tzOffsetFrom; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $tzOffsetTo; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $tzName; | |||
| /** | |||
| * @var \DateTime | |||
| */ | |||
| protected $dtStart; | |||
| /** | |||
| * @var RecurrenceRule | |||
| */ | |||
| protected $recurrenceRule; | |||
| /** | |||
| * create new Timezone Rule object by giving a rule type identifier. | |||
| * | |||
| * @param string $ruleType one of DAYLIGHT or STANDARD | |||
| * | |||
| * @throws \InvalidArgumentException | |||
| */ | |||
| public function __construct($ruleType) | |||
| { | |||
| $ruleType = strtoupper($ruleType); | |||
| if ($ruleType === self::TYPE_DAYLIGHT || $ruleType === self::TYPE_STANDARD) { | |||
| $this->type = $ruleType; | |||
| } else { | |||
| throw new \InvalidArgumentException('Invalid value for timezone rule type'); | |||
| } | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function buildPropertyBag() | |||
| { | |||
| $propertyBag = new PropertyBag(); | |||
| if ($this->getTzName()) { | |||
| $propertyBag->set('TZNAME', $this->getTzName()); | |||
| } | |||
| if ($this->getTzOffsetFrom()) { | |||
| $propertyBag->set('TZOFFSETFROM', $this->getTzOffsetFrom()); | |||
| } | |||
| if ($this->getTzOffsetTo()) { | |||
| $propertyBag->set('TZOFFSETTO', $this->getTzOffsetTo()); | |||
| } | |||
| if ($this->getDtStart()) { | |||
| $propertyBag->set('DTSTART', $this->getDtStart()); | |||
| } | |||
| if ($this->recurrenceRule) { | |||
| $propertyBag->set('RRULE', $this->recurrenceRule); | |||
| } | |||
| return $propertyBag; | |||
| } | |||
| /** | |||
| * @param $offset | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setTzOffsetFrom($offset) | |||
| { | |||
| $this->tzOffsetFrom = $offset; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $offset | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setTzOffsetTo($offset) | |||
| { | |||
| $this->tzOffsetTo = $offset; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $name | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setTzName($name) | |||
| { | |||
| $this->tzName = $name; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param \DateTime $dtStart | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setDtStart(\DateTime $dtStart) | |||
| { | |||
| $this->dtStart = $dtStart; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param RecurrenceRule $recurrenceRule | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setRecurrenceRule(RecurrenceRule $recurrenceRule) | |||
| { | |||
| $this->recurrenceRule = $recurrenceRule; | |||
| return $this; | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function getType() | |||
| { | |||
| return $this->type; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getTzOffsetFrom() | |||
| { | |||
| return $this->tzOffsetFrom; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getTzOffsetTo() | |||
| { | |||
| return $this->tzOffsetTo; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getTzName() | |||
| { | |||
| return $this->tzName; | |||
| } | |||
| /** | |||
| * @return RecurrenceRule | |||
| */ | |||
| public function getRecurrenceRule() | |||
| { | |||
| return $this->recurrenceRule; | |||
| } | |||
| /** | |||
| * @return mixed return string representation of start date or NULL if no date was given | |||
| */ | |||
| public function getDtStart() | |||
| { | |||
| if ($this->dtStart) { | |||
| return $this->dtStart->format('Ymd\THis'); | |||
| } | |||
| return; | |||
| } | |||
| } | |||
| @@ -0,0 +1,108 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal; | |||
| class ParameterBag | |||
| { | |||
| /** | |||
| * The params. | |||
| * | |||
| * @var array | |||
| */ | |||
| protected $params; | |||
| public function __construct($params = array()) | |||
| { | |||
| $this->params = $params; | |||
| } | |||
| /** | |||
| * @param string $name | |||
| * @param mixed $value | |||
| */ | |||
| public function setParam($name, $value) | |||
| { | |||
| $this->params[$name] = $value; | |||
| } | |||
| /** | |||
| * @param $name | |||
| */ | |||
| public function getParam($name) | |||
| { | |||
| if (array_key_exists($name, $this->params)) { | |||
| return $this->params[$name]; | |||
| } | |||
| } | |||
| /** | |||
| * Checks if there are any params. | |||
| * | |||
| * @return bool | |||
| */ | |||
| public function hasParams() | |||
| { | |||
| return count($this->params) > 0; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function toString() | |||
| { | |||
| $line = ''; | |||
| foreach ($this->params as $param => $paramValues) { | |||
| if (!is_array($paramValues)) { | |||
| $paramValues = array($paramValues); | |||
| } | |||
| foreach ($paramValues as $k => $v) { | |||
| $paramValues[$k] = $this->escapeParamValue($v); | |||
| } | |||
| if ('' != $line) { | |||
| $line .= ';'; | |||
| } | |||
| $line .= $param . '=' . implode(',', $paramValues); | |||
| } | |||
| return $line; | |||
| } | |||
| /** | |||
| * Returns an escaped string for a param value. | |||
| * | |||
| * @param string $value | |||
| * | |||
| * @return string | |||
| */ | |||
| public function escapeParamValue($value) | |||
| { | |||
| $count = 0; | |||
| $value = str_replace('\\', '\\\\', $value); | |||
| $value = str_replace('"', '\"', $value, $count); | |||
| $value = str_replace("\n", '\\n', $value); | |||
| if (false !== strpos($value, ';') || false !== strpos($value, ',') || false !== strpos($value, ':') || $count) { | |||
| $value = '"' . $value . '"'; | |||
| } | |||
| return $value; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function __toString() | |||
| { | |||
| return $this->toString(); | |||
| } | |||
| } | |||
| @@ -0,0 +1,148 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal; | |||
| use Eluceo\iCal\Property\ArrayValue; | |||
| use Eluceo\iCal\Property\StringValue; | |||
| use Eluceo\iCal\Property\ValueInterface; | |||
| /** | |||
| * The Property Class represents a property as defined in RFC 2445. | |||
| * | |||
| * The content of a line (unfolded) will be rendered in this class | |||
| */ | |||
| class Property | |||
| { | |||
| /** | |||
| * The value of the Property. | |||
| * | |||
| * @var ValueInterface | |||
| */ | |||
| protected $value; | |||
| /** | |||
| * The params of the Property. | |||
| * | |||
| * @var ParameterBag | |||
| */ | |||
| protected $parameterBag; | |||
| /** | |||
| * @var string | |||
| */ | |||
| protected $name; | |||
| /** | |||
| * @param $name | |||
| * @param $value | |||
| * @param array $params | |||
| */ | |||
| public function __construct($name, $value, $params = array()) | |||
| { | |||
| $this->name = $name; | |||
| $this->setValue($value); | |||
| $this->parameterBag = new ParameterBag($params); | |||
| } | |||
| /** | |||
| * Renders an unfolded line. | |||
| * | |||
| * @return string | |||
| */ | |||
| public function toLine() | |||
| { | |||
| // Property-name | |||
| $line = $this->getName(); | |||
| // Adding params | |||
| //@todo added check for $this->parameterBag because doctrine/orm proxies won't execute constructor - ok? | |||
| if ($this->parameterBag && $this->parameterBag->hasParams()) { | |||
| $line .= ';' . $this->parameterBag->toString(); | |||
| } | |||
| // Property value | |||
| $line .= ':' . $this->value->getEscapedValue(); | |||
| return $line; | |||
| } | |||
| /** | |||
| * Get all unfolded lines. | |||
| * | |||
| * @return array | |||
| */ | |||
| public function toLines() | |||
| { | |||
| return array($this->toLine()); | |||
| } | |||
| /** | |||
| * @param string $name | |||
| * @param mixed $value | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setParam($name, $value) | |||
| { | |||
| $this->parameterBag->setParam($name, $value); | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param $name | |||
| */ | |||
| public function getParam($name) | |||
| { | |||
| return $this->parameterBag->getParam($name); | |||
| } | |||
| /** | |||
| * @param mixed $value | |||
| * | |||
| * @return $this | |||
| * | |||
| * @throws \Exception | |||
| */ | |||
| public function setValue($value) | |||
| { | |||
| if (is_scalar($value)) { | |||
| $this->value = new StringValue($value); | |||
| } elseif (is_array($value)) { | |||
| $this->value = new ArrayValue($value); | |||
| } else { | |||
| if (!$value instanceof ValueInterface) { | |||
| throw new \Exception('The value must implement the ValueInterface.'); | |||
| } else { | |||
| $this->value = $value; | |||
| } | |||
| } | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return mixed | |||
| */ | |||
| public function getValue() | |||
| { | |||
| return $this->value; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getName() | |||
| { | |||
| return $this->name; | |||
| } | |||
| } | |||
| @@ -0,0 +1,43 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property; | |||
| use Eluceo\iCal\Util\PropertyValueUtil; | |||
| class ArrayValue implements ValueInterface | |||
| { | |||
| /** | |||
| * The value. | |||
| * | |||
| * @var array | |||
| */ | |||
| protected $values; | |||
| public function __construct(array $values) | |||
| { | |||
| $this->values = $values; | |||
| } | |||
| public function setValues(array $values) | |||
| { | |||
| $this->values = $values; | |||
| return $this; | |||
| } | |||
| public function getEscapedValue() | |||
| { | |||
| return implode(',', array_map(function ($value) { | |||
| return PropertyValueUtil::escapeValue((string) $value); | |||
| }, $this->values)); | |||
| } | |||
| } | |||
| @@ -0,0 +1,38 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property; | |||
| use Eluceo\iCal\Property; | |||
| use Eluceo\iCal\Util\DateUtil; | |||
| class DateTimeProperty extends Property | |||
| { | |||
| /** | |||
| * @param string $name | |||
| * @param \DateTime $dateTime | |||
| * @param bool $noTime | |||
| * @param bool $useTimezone | |||
| * @param bool $useUtc | |||
| */ | |||
| public function __construct( | |||
| $name, | |||
| \DateTime $dateTime = null, | |||
| $noTime = false, | |||
| $useTimezone = false, | |||
| $useUtc = false | |||
| ) { | |||
| $dateString = DateUtil::getDateString($dateTime, $noTime, $useTimezone, $useUtc); | |||
| $params = DateUtil::getDefaultParams($dateTime, $noTime, $useTimezone); | |||
| parent::__construct($name, $dateString, $params); | |||
| } | |||
| } | |||
| @@ -0,0 +1,41 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property; | |||
| use Eluceo\iCal\Property; | |||
| use Eluceo\iCal\Util\DateUtil; | |||
| class DateTimesProperty extends Property | |||
| { | |||
| /** | |||
| * @param string $name | |||
| * @param \DateTime[] $dateTimes | |||
| * @param bool $noTime | |||
| * @param bool $useTimezone | |||
| * @param bool $useUtc | |||
| */ | |||
| public function __construct( | |||
| $name, | |||
| $dateTimes = array(), | |||
| $noTime = false, | |||
| $useTimezone = false, | |||
| $useUtc = false | |||
| ) { | |||
| $dates = array(); | |||
| foreach ($dateTimes as $dateTime) { | |||
| $dates[] = DateUtil::getDateString($dateTime, $noTime, $useTimezone, $useUtc); | |||
| } | |||
| $params = DateUtil::getDefaultParams($dateTime, $noTime, $useTimezone); | |||
| parent::__construct($name, $dates, $params); | |||
| } | |||
| } | |||
| @@ -0,0 +1,102 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property\Event; | |||
| use Eluceo\iCal\Property; | |||
| class Attendees extends Property | |||
| { | |||
| /** @var Property[] */ | |||
| protected $attendees = array(); | |||
| const PROPERTY_NAME = 'ATTENDEES'; | |||
| public function __construct() | |||
| { | |||
| // Overwrites constructor functionality of Property | |||
| } | |||
| /** | |||
| * @param $value | |||
| * @param array $params | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function add($value, $params = array()) | |||
| { | |||
| $this->attendees[] = new Property('ATTENDEE', $value, $params); | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param Property[] $value | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setValue($value) | |||
| { | |||
| $this->attendees = $value; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return Property[] | |||
| */ | |||
| public function getValue() | |||
| { | |||
| return $this->attendees; | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function toLines() | |||
| { | |||
| $lines = array(); | |||
| foreach ($this->attendees as $attendee) { | |||
| $lines[] = $attendee->toLine(); | |||
| } | |||
| return $lines; | |||
| } | |||
| /** | |||
| * @param string $name | |||
| * @param mixed $value | |||
| * | |||
| * @throws \BadMethodCallException | |||
| */ | |||
| public function setParam($name, $value) | |||
| { | |||
| throw new \BadMethodCallException('Cannot call setParam on Attendees Property'); | |||
| } | |||
| /** | |||
| * @param $name | |||
| * | |||
| * @throws \BadMethodCallException | |||
| */ | |||
| public function getParam($name) | |||
| { | |||
| throw new \BadMethodCallException('Cannot call getParam on Attendees Property'); | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function getName() | |||
| { | |||
| return self::PROPERTY_NAME; | |||
| } | |||
| } | |||
| @@ -0,0 +1,66 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property\Event; | |||
| use Eluceo\iCal\Property\ValueInterface; | |||
| use Eluceo\iCal\Util\PropertyValueUtil; | |||
| /** | |||
| * Class Description | |||
| * Alows new line charectars to be in the description. | |||
| */ | |||
| class Description implements ValueInterface | |||
| { | |||
| /** | |||
| * The value. | |||
| * | |||
| * @var string | |||
| */ | |||
| protected $value; | |||
| public function __construct($value) | |||
| { | |||
| $this->value = $value; | |||
| } | |||
| /** | |||
| * Return the value of the Property as an escaped string. | |||
| * | |||
| * Escape values as per RFC 2445. See http://www.kanzaki.com/docs/ical/text.html | |||
| * | |||
| * @return string | |||
| */ | |||
| public function getEscapedValue() | |||
| { | |||
| return PropertyValueUtil::escapeValue((string) $this->value); | |||
| } | |||
| /** | |||
| * @param string $value | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setValue($value) | |||
| { | |||
| $this->value = $value; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getValue() | |||
| { | |||
| return $this->value; | |||
| } | |||
| } | |||
| @@ -0,0 +1,86 @@ | |||
| <?php | |||
| namespace Eluceo\iCal\Property\Event; | |||
| use Eluceo\iCal\Property; | |||
| /** | |||
| * GEO property | |||
| * | |||
| * @see https://tools.ietf.org/html/rfc5545#section-3.8.1.6 | |||
| */ | |||
| class Geo extends Property | |||
| { | |||
| /** | |||
| * @var float | |||
| */ | |||
| private $latitude; | |||
| /** | |||
| * @var float | |||
| */ | |||
| private $longitude; | |||
| public function __construct($latitude, $longitude) | |||
| { | |||
| $this->latitude = $latitude; | |||
| $this->longitude = $longitude; | |||
| if ($this->latitude < -90 || $this->latitude > 90) { | |||
| throw new \InvalidArgumentException( | |||
| "The geographical latitude must be a value between -90 and 90 degrees. '{$this->latitude}' was given." | |||
| ); | |||
| } | |||
| if ($this->longitude < -180 || $this->longitude > 180) { | |||
| throw new \InvalidArgumentException( | |||
| "The geographical longitude must be a value between -180 and 180 degrees. '{$this->longitude}' was given." | |||
| ); | |||
| } | |||
| parent::__construct('GEO', new Property\RawStringValue($this->getGeoLocationAsString())); | |||
| } | |||
| /** | |||
| * @deprecated This method is used to allow backwards compatibility for Event::setLocation | |||
| * | |||
| * @param string $geoLocationString | |||
| * @return Geo | |||
| */ | |||
| public static function fromString($geoLocationString) | |||
| { | |||
| $geoLocationString = str_replace(',', ';', $geoLocationString); | |||
| $parts = explode(';', $geoLocationString); | |||
| return new static((float) $parts[0], (float) $parts[1]); | |||
| } | |||
| /** | |||
| * Returns the coordinates as a string. | |||
| * | |||
| * @example 37.386013;-122.082932 | |||
| * | |||
| * @param string $separator | |||
| * @return string | |||
| */ | |||
| public function getGeoLocationAsString($separator = ';') | |||
| { | |||
| return number_format($this->latitude, 6) . $separator . number_format($this->longitude, 6); | |||
| } | |||
| /** | |||
| * @return float | |||
| */ | |||
| public function getLatitude() | |||
| { | |||
| return $this->latitude; | |||
| } | |||
| /** | |||
| * @return float | |||
| */ | |||
| public function getLongitude() | |||
| { | |||
| return $this->longitude; | |||
| } | |||
| } | |||
| @@ -0,0 +1,39 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property\Event; | |||
| use Eluceo\iCal\Property; | |||
| /** | |||
| * Class Organizer. | |||
| */ | |||
| class Organizer extends Property | |||
| { | |||
| const PROPERTY_NAME = 'ORGANIZER'; | |||
| /** | |||
| * @param string $value | |||
| * @param array $params | |||
| */ | |||
| public function __construct($value, $params = array()) | |||
| { | |||
| parent::__construct(self::PROPERTY_NAME, $value, $params); | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function getName() | |||
| { | |||
| return self::PROPERTY_NAME; | |||
| } | |||
| } | |||
| @@ -0,0 +1,130 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property\Event; | |||
| use Eluceo\iCal\ParameterBag; | |||
| use Eluceo\iCal\Property; | |||
| use Eluceo\iCal\Util\DateUtil; | |||
| use Eluceo\iCal\Property\ValueInterface; | |||
| /** | |||
| * Implementation of Recurrence Id. | |||
| * | |||
| * @see http://www.ietf.org/rfc/rfc2445.txt 4.8.4.4 Recurrence ID | |||
| */ | |||
| class RecurrenceId extends Property | |||
| { | |||
| const PROPERTY_NAME = 'RECURRENCE-ID'; | |||
| /** | |||
| * The effective range of recurrence instances from the instance | |||
| * specified by the recurrence identifier specified by the property. | |||
| */ | |||
| const RANGE_THISANDPRIOR = 'THISANDPRIOR'; | |||
| const RANGE_THISANDFUTURE = 'THISANDFUTURE'; | |||
| /** | |||
| * The dateTime to identify a particular instance of a recurring event which is getting modified. | |||
| * | |||
| * @var \DateTime | |||
| */ | |||
| protected $dateTime; | |||
| /** | |||
| * Specify the effective range of recurrence instances from the instance. | |||
| * | |||
| * @var string | |||
| */ | |||
| protected $range; | |||
| public function __construct(\DateTime $dateTime = null) | |||
| { | |||
| $this->parameterBag = new ParameterBag(); | |||
| if (isset($dateTime)) { | |||
| $this->dateTime = $dateTime; | |||
| } | |||
| } | |||
| public function applyTimeSettings($noTime = false, $useTimezone = false, $useUtc = false) | |||
| { | |||
| $params = DateUtil::getDefaultParams($this->dateTime, $noTime, $useTimezone, $useUtc); | |||
| foreach ($params as $name => $value) { | |||
| $this->parameterBag->setParam($name, $value); | |||
| } | |||
| if ($this->range) { | |||
| $this->parameterBag->setParam('RANGE', $this->range); | |||
| } | |||
| $this->setValue(DateUtil::getDateString($this->dateTime, $noTime, $useTimezone, $useUtc)); | |||
| } | |||
| /** | |||
| * @return DateTime | |||
| */ | |||
| public function getDatetime() | |||
| { | |||
| return $this->dateTime; | |||
| } | |||
| /** | |||
| * @param \DateTime $dateTime | |||
| * | |||
| * @return \Eluceo\iCal\Property\Event\RecurrenceId | |||
| */ | |||
| public function setDatetime(\DateTime $dateTime) | |||
| { | |||
| $this->dateTime = $dateTime; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getRange() | |||
| { | |||
| return $this->range; | |||
| } | |||
| /** | |||
| * @param string $range | |||
| * | |||
| * @return \Eluceo\iCal\Property\Event\RecurrenceId | |||
| */ | |||
| public function setRange($range) | |||
| { | |||
| $this->range = $range; | |||
| } | |||
| /** | |||
| * Get all unfolded lines. | |||
| * | |||
| * @return array | |||
| */ | |||
| public function toLines() | |||
| { | |||
| if (!$this->value instanceof ValueInterface) { | |||
| throw new \Exception('The value must implement the ValueInterface. Call RecurrenceId::applyTimeSettings() before adding RecurrenceId.'); | |||
| } else { | |||
| return parent::toLines(); | |||
| } | |||
| } | |||
| /** | |||
| * {@inheritdoc} | |||
| */ | |||
| public function getName() | |||
| { | |||
| return self::PROPERTY_NAME; | |||
| } | |||
| } | |||
| @@ -0,0 +1,444 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property\Event; | |||
| use Eluceo\iCal\Property\ValueInterface; | |||
| use Eluceo\iCal\ParameterBag; | |||
| use InvalidArgumentException; | |||
| /** | |||
| * Implementation of Recurrence Rule. | |||
| * | |||
| * @see http://www.ietf.org/rfc/rfc2445.txt 3.3.10. Recurrence Rule | |||
| */ | |||
| class RecurrenceRule implements ValueInterface | |||
| { | |||
| const FREQ_YEARLY = 'YEARLY'; | |||
| const FREQ_MONTHLY = 'MONTHLY'; | |||
| const FREQ_WEEKLY = 'WEEKLY'; | |||
| const FREQ_DAILY = 'DAILY'; | |||
| const FREQ_HOURLY = 'HOURLY'; | |||
| const FREQ_MINUTELY = 'MINUTELY'; | |||
| const FREQ_SECONDLY = 'SECONDLY'; | |||
| const WEEKDAY_SUNDAY = 'SU'; | |||
| const WEEKDAY_MONDAY = 'MO'; | |||
| const WEEKDAY_TUESDAY = 'TU'; | |||
| const WEEKDAY_WEDNESDAY = 'WE'; | |||
| const WEEKDAY_THURSDAY = 'TH'; | |||
| const WEEKDAY_FRIDAY = 'FR'; | |||
| const WEEKDAY_SATURDAY = 'SA'; | |||
| /** | |||
| * The frequency of an Event. | |||
| * | |||
| * @var string | |||
| */ | |||
| protected $freq = self::FREQ_YEARLY; | |||
| /** | |||
| * @var null|int | |||
| */ | |||
| protected $interval = 1; | |||
| /** | |||
| * @var null|int | |||
| */ | |||
| protected $count = null; | |||
| /** | |||
| * @var null|\DateTime | |||
| */ | |||
| protected $until = null; | |||
| /** | |||
| * @var null|string | |||
| */ | |||
| protected $wkst; | |||
| /** | |||
| * @var null|string | |||
| */ | |||
| protected $byMonth; | |||
| /** | |||
| * @var null|string | |||
| */ | |||
| protected $byWeekNo; | |||
| /** | |||
| * @var null|string | |||
| */ | |||
| protected $byYearDay; | |||
| /** | |||
| * @var null|string | |||
| */ | |||
| protected $byMonthDay; | |||
| /** | |||
| * @var null|string | |||
| */ | |||
| protected $byDay; | |||
| /** | |||
| * @var null|string | |||
| */ | |||
| protected $byHour; | |||
| /** | |||
| * @var null|string | |||
| */ | |||
| protected $byMinute; | |||
| /** | |||
| * @var null|string | |||
| */ | |||
| protected $bySecond; | |||
| /** | |||
| * Return the value of the Property as an escaped string. | |||
| * | |||
| * Escape values as per RFC 2445. See http://www.kanzaki.com/docs/ical/text.html | |||
| * | |||
| * @return string | |||
| */ | |||
| public function getEscapedValue() | |||
| { | |||
| return $this->buildParameterBag()->toString(); | |||
| } | |||
| /** | |||
| * @return ParameterBag | |||
| */ | |||
| protected function buildParameterBag() | |||
| { | |||
| $parameterBag = new ParameterBag(); | |||
| $parameterBag->setParam('FREQ', $this->freq); | |||
| if (null !== $this->interval) { | |||
| $parameterBag->setParam('INTERVAL', $this->interval); | |||
| } | |||
| if (null !== $this->count) { | |||
| $parameterBag->setParam('COUNT', $this->count); | |||
| } | |||
| if (null != $this->until) { | |||
| $parameterBag->setParam('UNTIL', $this->until->format('Ymd\THis\Z')); | |||
| } | |||
| if (null !== $this->wkst) { | |||
| $parameterBag->setParam('WKST', $this->wkst); | |||
| } | |||
| if (null !== $this->byMonth) { | |||
| $parameterBag->setParam('BYMONTH', $this->byMonth); | |||
| } | |||
| if (null !== $this->byWeekNo) { | |||
| $parameterBag->setParam('BYWEEKNO', $this->byWeekNo); | |||
| } | |||
| if (null !== $this->byYearDay) { | |||
| $parameterBag->setParam('BYYEARDAY', $this->byYearDay); | |||
| } | |||
| if (null !== $this->byMonthDay) { | |||
| $parameterBag->setParam('BYMONTHDAY', $this->byMonthDay); | |||
| } | |||
| if (null !== $this->byDay) { | |||
| $parameterBag->setParam('BYDAY', $this->byDay); | |||
| } | |||
| if (null !== $this->byHour) { | |||
| $parameterBag->setParam('BYHOUR', $this->byHour); | |||
| } | |||
| if (null !== $this->byMinute) { | |||
| $parameterBag->setParam('BYMINUTE', $this->byMinute); | |||
| } | |||
| if (null !== $this->bySecond) { | |||
| $parameterBag->setParam('BYSECOND', $this->bySecond); | |||
| } | |||
| return $parameterBag; | |||
| } | |||
| /** | |||
| * @param int|null $count | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setCount($count) | |||
| { | |||
| $this->count = $count; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return int|null | |||
| */ | |||
| public function getCount() | |||
| { | |||
| return $this->count; | |||
| } | |||
| /** | |||
| * @param \DateTime|null $until | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setUntil(\DateTime $until = null) | |||
| { | |||
| $this->until = $until; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return \DateTime|null | |||
| */ | |||
| public function getUntil() | |||
| { | |||
| return $this->until; | |||
| } | |||
| /** | |||
| * The FREQ rule part identifies the type of recurrence rule. This | |||
| * rule part MUST be specified in the recurrence rule. Valid values | |||
| * include. | |||
| * | |||
| * SECONDLY, to specify repeating events based on an interval of a second or more; | |||
| * MINUTELY, to specify repeating events based on an interval of a minute or more; | |||
| * HOURLY, to specify repeating events based on an interval of an hour or more; | |||
| * DAILY, to specify repeating events based on an interval of a day or more; | |||
| * WEEKLY, to specify repeating events based on an interval of a week or more; | |||
| * MONTHLY, to specify repeating events based on an interval of a month or more; | |||
| * YEARLY, to specify repeating events based on an interval of a year or more. | |||
| * | |||
| * @param string $freq | |||
| * | |||
| * @return $this | |||
| * | |||
| * @throws \InvalidArgumentException | |||
| */ | |||
| public function setFreq($freq) | |||
| { | |||
| if (@constant('static::FREQ_' . $freq) !== null) { | |||
| $this->freq = $freq; | |||
| } else { | |||
| throw new \InvalidArgumentException("The Frequency {$freq} is not supported."); | |||
| } | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getFreq() | |||
| { | |||
| return $this->freq; | |||
| } | |||
| /** | |||
| * The INTERVAL rule part contains a positive integer representing at | |||
| * which intervals the recurrence rule repeats. | |||
| * | |||
| * @param int|null $interval | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setInterval($interval) | |||
| { | |||
| $this->interval = $interval; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return int|null | |||
| */ | |||
| public function getInterval() | |||
| { | |||
| return $this->interval; | |||
| } | |||
| /** | |||
| * The WKST rule part specifies the day on which the workweek starts. | |||
| * Valid values are MO, TU, WE, TH, FR, SA, and SU. | |||
| * | |||
| * @param string $value | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setWkst($value) | |||
| { | |||
| $this->wkst = $value; | |||
| return $this; | |||
| } | |||
| /** | |||
| * The BYMONTH rule part specifies a COMMA-separated list of months of the year. | |||
| * Valid values are 1 to 12. | |||
| * | |||
| * @param int $month | |||
| * | |||
| * @throws InvalidArgumentException | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setByMonth($month) | |||
| { | |||
| if (!is_integer($month) || $month < 0 || $month > 12) { | |||
| throw new InvalidArgumentException('Invalid value for BYMONTH'); | |||
| } | |||
| $this->byMonth = $month; | |||
| return $this; | |||
| } | |||
| /** | |||
| * The BYWEEKNO rule part specifies a COMMA-separated list of ordinals specifying weeks of the year. | |||
| * Valid values are 1 to 53 or -53 to -1. | |||
| * | |||
| * @param int $value | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setByWeekNo($value) | |||
| { | |||
| $this->byWeekNo = $value; | |||
| return $this; | |||
| } | |||
| /** | |||
| * The BYYEARDAY rule part specifies a COMMA-separated list of days of the year. | |||
| * Valid values are 1 to 366 or -366 to -1. | |||
| * | |||
| * @param int $day | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setByYearDay($day) | |||
| { | |||
| $this->byYearDay = $day; | |||
| return $this; | |||
| } | |||
| /** | |||
| * The BYMONTHDAY rule part specifies a COMMA-separated list of days of the month. | |||
| * Valid values are 1 to 31 or -31 to -1. | |||
| * | |||
| * @param int $day | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setByMonthDay($day) | |||
| { | |||
| $this->byMonthDay = $day; | |||
| return $this; | |||
| } | |||
| /** | |||
| * The BYDAY rule part specifies a COMMA-separated list of days of the week;. | |||
| * | |||
| * SU indicates Sunday; MO indicates Monday; TU indicates Tuesday; | |||
| * WE indicates Wednesday; TH indicates Thursday; FR indicates Friday; and SA indicates Saturday. | |||
| * | |||
| * Each BYDAY value can also be preceded by a positive (+n) or negative (-n) integer. | |||
| * If present, this indicates the nth occurrence of a specific day within the MONTHLY or YEARLY "RRULE". | |||
| * | |||
| * @param string $day | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setByDay($day) | |||
| { | |||
| $this->byDay = $day; | |||
| return $this; | |||
| } | |||
| /** | |||
| * The BYHOUR rule part specifies a COMMA-separated list of hours of the day. | |||
| * Valid values are 0 to 23. | |||
| * | |||
| * @param int $value | |||
| * | |||
| * @return $this | |||
| * | |||
| * @throws \InvalidArgumentException | |||
| */ | |||
| public function setByHour($value) | |||
| { | |||
| if (!is_integer($value) || $value < 0 || $value > 23) { | |||
| throw new \InvalidArgumentException('Invalid value for BYHOUR'); | |||
| } | |||
| $this->byHour = $value; | |||
| return $this; | |||
| } | |||
| /** | |||
| * The BYMINUTE rule part specifies a COMMA-separated list of minutes within an hour. | |||
| * Valid values are 0 to 59. | |||
| * | |||
| * @param int $value | |||
| * | |||
| * @return $this | |||
| * | |||
| * @throws \InvalidArgumentException | |||
| */ | |||
| public function setByMinute($value) | |||
| { | |||
| if (!is_integer($value) || $value < 0 || $value > 59) { | |||
| throw new \InvalidArgumentException('Invalid value for BYMINUTE'); | |||
| } | |||
| $this->byMinute = $value; | |||
| return $this; | |||
| } | |||
| /** | |||
| * The BYSECOND rule part specifies a COMMA-separated list of seconds within a minute. | |||
| * Valid values are 0 to 60. | |||
| * | |||
| * @param int $value | |||
| * | |||
| * @return $this | |||
| * | |||
| * @throws \InvalidArgumentException | |||
| */ | |||
| public function setBySecond($value) | |||
| { | |||
| if (!is_integer($value) || $value < 0 || $value > 60) { | |||
| throw new \InvalidArgumentException('Invalid value for BYSECOND'); | |||
| } | |||
| $this->bySecond = $value; | |||
| return $this; | |||
| } | |||
| } | |||
| @@ -0,0 +1,20 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property; | |||
| class RawStringValue extends StringValue | |||
| { | |||
| public function getEscapedValue() | |||
| { | |||
| return $this->getValue(); | |||
| } | |||
| } | |||
| @@ -0,0 +1,61 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property; | |||
| use Eluceo\iCal\Util\PropertyValueUtil; | |||
| class StringValue implements ValueInterface | |||
| { | |||
| /** | |||
| * The value. | |||
| * | |||
| * @var string | |||
| */ | |||
| protected $value; | |||
| public function __construct($value) | |||
| { | |||
| $this->value = $value; | |||
| } | |||
| /** | |||
| * Return the value of the Property as an escaped string. | |||
| * | |||
| * Escape values as per RFC 2445. See http://www.kanzaki.com/docs/ical/text.html | |||
| * | |||
| * @return string | |||
| */ | |||
| public function getEscapedValue() | |||
| { | |||
| return PropertyValueUtil::escapeValue((string) $this->value); | |||
| } | |||
| /** | |||
| * @param string $value | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function setValue($value) | |||
| { | |||
| $this->value = $value; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @return string | |||
| */ | |||
| public function getValue() | |||
| { | |||
| return $this->value; | |||
| } | |||
| } | |||
| @@ -0,0 +1,24 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Property; | |||
| interface ValueInterface | |||
| { | |||
| /** | |||
| * Return the value of the Property as an escaped string. | |||
| * | |||
| * Escape values as per RFC 2445. See http://www.kanzaki.com/docs/ical/text.html | |||
| * | |||
| * @return string | |||
| */ | |||
| public function getEscapedValue(); | |||
| } | |||
| @@ -0,0 +1,79 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal; | |||
| class PropertyBag implements \IteratorAggregate | |||
| { | |||
| /** | |||
| * @var array | |||
| */ | |||
| protected $elements = array(); | |||
| /** | |||
| * Creates a new Property with $name, $value and $params. | |||
| * | |||
| * @param $name | |||
| * @param $value | |||
| * @param array $params | |||
| * | |||
| * @return $this | |||
| */ | |||
| public function set($name, $value, $params = array()) | |||
| { | |||
| $property = new Property($name, $value, $params); | |||
| $this->elements[] = $property; | |||
| return $this; | |||
| } | |||
| /** | |||
| * @param string $name | |||
| * | |||
| * @return null|Property | |||
| */ | |||
| public function get($name) | |||
| { | |||
| // Searching Property in elements-array | |||
| /** @var $property Property */ | |||
| foreach ($this->elements as $property) { | |||
| if ($property->getName() == $name) { | |||
| return $property; | |||
| } | |||
| } | |||
| } | |||
| /** | |||
| * Adds a Property. If Property already exists an Exception will be thrown. | |||
| * | |||
| * @param Property $property | |||
| * | |||
| * @return $this | |||
| * | |||
| * @throws \Exception | |||
| */ | |||
| public function add(Property $property) | |||
| { | |||
| // Property already exists? | |||
| if (null !== $this->get($property->getName())) { | |||
| throw new \Exception("Property with name '{$property->getName()}' already exists"); | |||
| } | |||
| $this->elements[] = $property; | |||
| return $this; | |||
| } | |||
| public function getIterator() | |||
| { | |||
| return new \ArrayObject($this->elements); | |||
| } | |||
| } | |||
| @@ -0,0 +1,48 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Util; | |||
| class ComponentUtil | |||
| { | |||
| /** | |||
| * Folds a single line. | |||
| * | |||
| * According to RFC 2445, all lines longer than 75 characters will be folded | |||
| * | |||
| * @link http://www.ietf.org/rfc/rfc2445.txt | |||
| * | |||
| * @param $string | |||
| * | |||
| * @return array | |||
| */ | |||
| public static function fold($string) | |||
| { | |||
| $lines = array(); | |||
| $array = preg_split('/(?<!^)(?!$)/u', $string); | |||
| $line = ''; | |||
| $lineNo = 0; | |||
| foreach ($array as $char) { | |||
| $charLen = strlen($char); | |||
| $lineLen = strlen($line); | |||
| if ($lineLen + $charLen > 75) { | |||
| $line = ' ' . $char; | |||
| ++$lineNo; | |||
| } else { | |||
| $line .= $char; | |||
| } | |||
| $lines[$lineNo] = $line; | |||
| } | |||
| return $lines; | |||
| } | |||
| } | |||
| @@ -0,0 +1,69 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Util; | |||
| class DateUtil | |||
| { | |||
| public static function getDefaultParams(\DateTime $dateTime = null, $noTime = false, $useTimezone = false) | |||
| { | |||
| $params = array(); | |||
| if ($useTimezone && $noTime === false) { | |||
| $timeZone = $dateTime->getTimezone()->getName(); | |||
| $params['TZID'] = $timeZone; | |||
| } | |||
| if ($noTime) { | |||
| $params['VALUE'] = 'DATE'; | |||
| } | |||
| return $params; | |||
| } | |||
| /** | |||
| * Returns a formatted date string. | |||
| * | |||
| * @param \DateTime|null $dateTime The DateTime object | |||
| * @param bool $noTime Indicates if the time will be added | |||
| * @param bool $useTimezone | |||
| * @param bool $useUtc | |||
| * | |||
| * @return mixed | |||
| */ | |||
| public static function getDateString(\DateTime $dateTime = null, $noTime = false, $useTimezone = false, $useUtc = false) | |||
| { | |||
| if (empty($dateTime)) { | |||
| $dateTime = new \DateTime(); | |||
| } | |||
| return $dateTime->format(self::getDateFormat($noTime, $useTimezone, $useUtc)); | |||
| } | |||
| /** | |||
| * Returns the date format that can be passed to DateTime::format(). | |||
| * | |||
| * @param bool $noTime Indicates if the time will be added | |||
| * @param bool $useTimezone | |||
| * @param bool $useUtc | |||
| * | |||
| * @return string | |||
| */ | |||
| public static function getDateFormat($noTime = false, $useTimezone = false, $useUtc = false) | |||
| { | |||
| // Do not use UTC time (Z) if timezone support is enabled. | |||
| if ($useTimezone || !$useUtc) { | |||
| return $noTime ? 'Ymd' : 'Ymd\THis'; | |||
| } | |||
| return $noTime ? 'Ymd' : 'Ymd\THis\Z'; | |||
| } | |||
| } | |||
| @@ -0,0 +1,40 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of the eluceo/iCal package. | |||
| * | |||
| * (c) Markus Poerschke <markus@eluceo.de> | |||
| * | |||
| * This source file is subject to the MIT license that is bundled | |||
| * with this source code in the file LICENSE. | |||
| */ | |||
| namespace Eluceo\iCal\Util; | |||
| class PropertyValueUtil | |||
| { | |||
| public static function escapeValue($value) | |||
| { | |||
| $value = self::escapeValueAllowNewLine($value); | |||
| $value = str_replace("\n", '\\n', $value); | |||
| return $value; | |||
| } | |||
| public static function escapeValueAllowNewLine($value) | |||
| { | |||
| $value = str_replace('\\', '\\\\', $value); | |||
| $value = str_replace('"', '\\"', $value); | |||
| $value = str_replace(',', '\\,', $value); | |||
| $value = str_replace(';', '\\;', $value); | |||
| $value = str_replace(array( | |||
| "\x00", "\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", | |||
| "\x08", "\x09", /* \n*/ "\x0B", "\x0C", "\x0D", "\x0E", "\x0F", | |||
| "\x10", "\x11", "\x12", "\x13", "\x14", "\x15", "\x16", "\x17", | |||
| "\x18", "\x19", "\x1A", "\x1B", "\x1C", "\x1D", "\x1E", "\x1F", | |||
| "\x7F", | |||
| ), '', $value); | |||
| return $value; | |||
| } | |||
| } | |||
| @@ -0,0 +1,7 @@ | |||
| <?php | |||
| // autoload.php @generated by Composer | |||
| require_once __DIR__ . '/composer/autoload_real.php'; | |||
| return ComposerAutoloaderInit8bf3ba2461922dfccf813cc2bb488ad6::getLoader(); | |||
| @@ -0,0 +1,445 @@ | |||
| <?php | |||
| /* | |||
| * This file is part of Composer. | |||
| * | |||
| * (c) Nils Adermann <naderman@naderman.de> | |||
| * Jordi Boggiano <j.boggiano@seld.be> | |||
| * | |||
| * For the full copyright and license information, please view the LICENSE | |||
| * file that was distributed with this source code. | |||
| */ | |||
| namespace Composer\Autoload; | |||
| /** | |||
| * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. | |||
| * | |||
| * $loader = new \Composer\Autoload\ClassLoader(); | |||
| * | |||
| * // register classes with namespaces | |||
| * $loader->add('Symfony\Component', __DIR__.'/component'); | |||
| * $loader->add('Symfony', __DIR__.'/framework'); | |||
| * | |||
| * // activate the autoloader | |||
| * $loader->register(); | |||
| * | |||
| * // to enable searching the include path (eg. for PEAR packages) | |||
| * $loader->setUseIncludePath(true); | |||
| * | |||
| * In this example, if you try to use a class in the Symfony\Component | |||
| * namespace or one of its children (Symfony\Component\Console for instance), | |||
| * the autoloader will first look for the class under the component/ | |||
| * directory, and it will then fallback to the framework/ directory if not | |||
| * found before giving up. | |||
| * | |||
| * This class is loosely based on the Symfony UniversalClassLoader. | |||
| * | |||
| * @author Fabien Potencier <fabien@symfony.com> | |||
| * @author Jordi Boggiano <j.boggiano@seld.be> | |||
| * @see http://www.php-fig.org/psr/psr-0/ | |||
| * @see http://www.php-fig.org/psr/psr-4/ | |||
| */ | |||
| class ClassLoader | |||
| { | |||
| // PSR-4 | |||
| private $prefixLengthsPsr4 = array(); | |||
| private $prefixDirsPsr4 = array(); | |||
| private $fallbackDirsPsr4 = array(); | |||
| // PSR-0 | |||
| private $prefixesPsr0 = array(); | |||
| private $fallbackDirsPsr0 = array(); | |||
| private $useIncludePath = false; | |||
| private $classMap = array(); | |||
| private $classMapAuthoritative = false; | |||
| private $missingClasses = array(); | |||
| private $apcuPrefix; | |||
| public function getPrefixes() | |||
| { | |||
| if (!empty($this->prefixesPsr0)) { | |||
| return call_user_func_array('array_merge', $this->prefixesPsr0); | |||
| } | |||
| return array(); | |||
| } | |||
| public function getPrefixesPsr4() | |||
| { | |||
| return $this->prefixDirsPsr4; | |||
| } | |||
| public function getFallbackDirs() | |||
| { | |||
| return $this->fallbackDirsPsr0; | |||
| } | |||
| public function getFallbackDirsPsr4() | |||
| { | |||
| return $this->fallbackDirsPsr4; | |||
| } | |||
| public function getClassMap() | |||
| { | |||
| return $this->classMap; | |||
| } | |||
| /** | |||
| * @param array $classMap Class to filename map | |||
| */ | |||
| public function addClassMap(array $classMap) | |||
| { | |||
| if ($this->classMap) { | |||
| $this->classMap = array_merge($this->classMap, $classMap); | |||
| } else { | |||
| $this->classMap = $classMap; | |||
| } | |||
| } | |||
| /** | |||
| * Registers a set of PSR-0 directories for a given prefix, either | |||
| * appending or prepending to the ones previously set for this prefix. | |||
| * | |||
| * @param string $prefix The prefix | |||
| * @param array|string $paths The PSR-0 root directories | |||
| * @param bool $prepend Whether to prepend the directories | |||
| */ | |||
| public function add($prefix, $paths, $prepend = false) | |||
| { | |||
| if (!$prefix) { | |||
| if ($prepend) { | |||
| $this->fallbackDirsPsr0 = array_merge( | |||
| (array) $paths, | |||
| $this->fallbackDirsPsr0 | |||
| ); | |||
| } else { | |||
| $this->fallbackDirsPsr0 = array_merge( | |||
| $this->fallbackDirsPsr0, | |||
| (array) $paths | |||
| ); | |||
| } | |||
| return; | |||
| } | |||
| $first = $prefix[0]; | |||
| if (!isset($this->prefixesPsr0[$first][$prefix])) { | |||
| $this->prefixesPsr0[$first][$prefix] = (array) $paths; | |||
| return; | |||
| } | |||
| if ($prepend) { | |||
| $this->prefixesPsr0[$first][$prefix] = array_merge( | |||
| (array) $paths, | |||
| $this->prefixesPsr0[$first][$prefix] | |||
| ); | |||
| } else { | |||
| $this->prefixesPsr0[$first][$prefix] = array_merge( | |||
| $this->prefixesPsr0[$first][$prefix], | |||
| (array) $paths | |||
| ); | |||
| } | |||
| } | |||
| /** | |||
| * Registers a set of PSR-4 directories for a given namespace, either | |||
| * appending or prepending to the ones previously set for this namespace. | |||
| * | |||
| * @param string $prefix The prefix/namespace, with trailing '\\' | |||
| * @param array|string $paths The PSR-4 base directories | |||
| * @param bool $prepend Whether to prepend the directories | |||
| * | |||
| * @throws \InvalidArgumentException | |||
| */ | |||
| public function addPsr4($prefix, $paths, $prepend = false) | |||
| { | |||
| if (!$prefix) { | |||
| // Register directories for the root namespace. | |||
| if ($prepend) { | |||
| $this->fallbackDirsPsr4 = array_merge( | |||
| (array) $paths, | |||
| $this->fallbackDirsPsr4 | |||
| ); | |||
| } else { | |||
| $this->fallbackDirsPsr4 = array_merge( | |||
| $this->fallbackDirsPsr4, | |||
| (array) $paths | |||
| ); | |||
| } | |||
| } elseif (!isset($this->prefixDirsPsr4[$prefix])) { | |||
| // Register directories for a new namespace. | |||
| $length = strlen($prefix); | |||
| if ('\\' !== $prefix[$length - 1]) { | |||
| throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); | |||
| } | |||
| $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; | |||
| $this->prefixDirsPsr4[$prefix] = (array) $paths; | |||
| } elseif ($prepend) { | |||
| // Prepend directories for an already registered namespace. | |||
| $this->prefixDirsPsr4[$prefix] = array_merge( | |||
| (array) $paths, | |||
| $this->prefixDirsPsr4[$prefix] | |||
| ); | |||
| } else { | |||
| // Append directories for an already registered namespace. | |||
| $this->prefixDirsPsr4[$prefix] = array_merge( | |||
| $this->prefixDirsPsr4[$prefix], | |||
| (array) $paths | |||
| ); | |||
| } | |||
| } | |||
| /** | |||
| * Registers a set of PSR-0 directories for a given prefix, | |||
| * replacing any others previously set for this prefix. | |||
| * | |||
| * @param string $prefix The prefix | |||
| * @param array|string $paths The PSR-0 base directories | |||
| */ | |||
| public function set($prefix, $paths) | |||
| { | |||
| if (!$prefix) { | |||
| $this->fallbackDirsPsr0 = (array) $paths; | |||
| } else { | |||
| $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; | |||
| } | |||
| } | |||
| /** | |||
| * Registers a set of PSR-4 directories for a given namespace, | |||
| * replacing any others previously set for this namespace. | |||
| * | |||
| * @param string $prefix The prefix/namespace, with trailing '\\' | |||
| * @param array|string $paths The PSR-4 base directories | |||
| * | |||
| * @throws \InvalidArgumentException | |||
| */ | |||
| public function setPsr4($prefix, $paths) | |||
| { | |||
| if (!$prefix) { | |||
| $this->fallbackDirsPsr4 = (array) $paths; | |||
| } else { | |||
| $length = strlen($prefix); | |||
| if ('\\' !== $prefix[$length - 1]) { | |||
| throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); | |||
| } | |||
| $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; | |||
| $this->prefixDirsPsr4[$prefix] = (array) $paths; | |||
| } | |||
| } | |||
| /** | |||
| * Turns on searching the include path for class files. | |||
| * | |||
| * @param bool $useIncludePath | |||
| */ | |||
| public function setUseIncludePath($useIncludePath) | |||
| { | |||
| $this->useIncludePath = $useIncludePath; | |||
| } | |||
| /** | |||
| * Can be used to check if the autoloader uses the include path to check | |||
| * for classes. | |||
| * | |||
| * @return bool | |||
| */ | |||
| public function getUseIncludePath() | |||
| { | |||
| return $this->useIncludePath; | |||
| } | |||
| /** | |||
| * Turns off searching the prefix and fallback directories for classes | |||
| * that have not been registered with the class map. | |||
| * | |||
| * @param bool $classMapAuthoritative | |||
| */ | |||
| public function setClassMapAuthoritative($classMapAuthoritative) | |||
| { | |||
| $this->classMapAuthoritative = $classMapAuthoritative; | |||
| } | |||
| /** | |||
| * Should class lookup fail if not found in the current class map? | |||
| * | |||
| * @return bool | |||
| */ | |||
| public function isClassMapAuthoritative() | |||
| { | |||
| return $this->classMapAuthoritative; | |||
| } | |||
| /** | |||
| * APCu prefix to use to cache found/not-found classes, if the extension is enabled. | |||
| * | |||
| * @param string|null $apcuPrefix | |||
| */ | |||
| public function setApcuPrefix($apcuPrefix) | |||
| { | |||
| $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null; | |||
| } | |||
| /** | |||
| * The APCu prefix in use, or null if APCu caching is not enabled. | |||
| * | |||
| * @return string|null | |||
| */ | |||
| public function getApcuPrefix() | |||
| { | |||
| return $this->apcuPrefix; | |||
| } | |||
| /** | |||
| * Registers this instance as an autoloader. | |||
| * | |||
| * @param bool $prepend Whether to prepend the autoloader or not | |||
| */ | |||
| public function register($prepend = false) | |||
| { | |||
| spl_autoload_register(array($this, 'loadClass'), true, $prepend); | |||
| } | |||
| /** | |||
| * Unregisters this instance as an autoloader. | |||
| */ | |||
| public function unregister() | |||
| { | |||
| spl_autoload_unregister(array($this, 'loadClass')); | |||
| } | |||
| /** | |||
| * Loads the given class or interface. | |||
| * | |||
| * @param string $class The name of the class | |||
| * @return bool|null True if loaded, null otherwise | |||
| */ | |||
| public function loadClass($class) | |||
| { | |||
| if ($file = $this->findFile($class)) { | |||
| includeFile($file); | |||
| return true; | |||
| } | |||
| } | |||
| /** | |||
| * Finds the path to the file where the class is defined. | |||
| * | |||
| * @param string $class The name of the class | |||
| * | |||
| * @return string|false The path if found, false otherwise | |||
| */ | |||
| public function findFile($class) | |||
| { | |||
| // class map lookup | |||
| if (isset($this->classMap[$class])) { | |||
| return $this->classMap[$class]; | |||
| } | |||
| if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { | |||
| return false; | |||
| } | |||
| if (null !== $this->apcuPrefix) { | |||
| $file = apcu_fetch($this->apcuPrefix.$class, $hit); | |||
| if ($hit) { | |||
| return $file; | |||
| } | |||
| } | |||
| $file = $this->findFileWithExtension($class, '.php'); | |||
| // Search for Hack files if we are running on HHVM | |||
| if (false === $file && defined('HHVM_VERSION')) { | |||
| $file = $this->findFileWithExtension($class, '.hh'); | |||
| } | |||
| if (null !== $this->apcuPrefix) { | |||
| apcu_add($this->apcuPrefix.$class, $file); | |||
| } | |||
| if (false === $file) { | |||
| // Remember that this class does not exist. | |||
| $this->missingClasses[$class] = true; | |||
| } | |||
| return $file; | |||
| } | |||
| private function findFileWithExtension($class, $ext) | |||
| { | |||
| // PSR-4 lookup | |||
| $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; | |||
| $first = $class[0]; | |||
| if (isset($this->prefixLengthsPsr4[$first])) { | |||
| $subPath = $class; | |||
| while (false !== $lastPos = strrpos($subPath, '\\')) { | |||
| $subPath = substr($subPath, 0, $lastPos); | |||
| $search = $subPath.'\\'; | |||
| if (isset($this->prefixDirsPsr4[$search])) { | |||
| foreach ($this->prefixDirsPsr4[$search] as $dir) { | |||
| $length = $this->prefixLengthsPsr4[$first][$search]; | |||
| if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { | |||
| return $file; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| // PSR-4 fallback dirs | |||
| foreach ($this->fallbackDirsPsr4 as $dir) { | |||
| if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { | |||
| return $file; | |||
| } | |||
| } | |||
| // PSR-0 lookup | |||
| if (false !== $pos = strrpos($class, '\\')) { | |||
| // namespaced class name | |||
| $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) | |||
| . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); | |||
| } else { | |||
| // PEAR-like class name | |||
| $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; | |||
| } | |||
| if (isset($this->prefixesPsr0[$first])) { | |||
| foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { | |||
| if (0 === strpos($class, $prefix)) { | |||
| foreach ($dirs as $dir) { | |||
| if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { | |||
| return $file; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| // PSR-0 fallback dirs | |||
| foreach ($this->fallbackDirsPsr0 as $dir) { | |||
| if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { | |||
| return $file; | |||
| } | |||
| } | |||
| // PSR-0 include paths. | |||
| if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { | |||
| return $file; | |||
| } | |||
| return false; | |||
| } | |||
| } | |||
| /** | |||
| * Scope isolated include. | |||
| * | |||
| * Prevents access to $this/self from included files. | |||
| */ | |||
| function includeFile($file) | |||
| { | |||
| include $file; | |||
| } | |||
| @@ -0,0 +1,21 @@ | |||
| Copyright (c) Nils Adermann, Jordi Boggiano | |||
| Permission is hereby granted, free of charge, to any person obtaining a copy | |||
| of this software and associated documentation files (the "Software"), to deal | |||
| in the Software without restriction, including without limitation the rights | |||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |||
| copies of the Software, and to permit persons to whom the Software is furnished | |||
| to do so, subject to the following conditions: | |||
| The above copyright notice and this permission notice shall be included in all | |||
| copies or substantial portions of the Software. | |||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |||
| THE SOFTWARE. | |||
| @@ -0,0 +1,451 @@ | |||
| <?php | |||
| // autoload_classmap.php @generated by Composer | |||
| $vendorDir = dirname(dirname(__FILE__)); | |||
| $baseDir = dirname($vendorDir); | |||
| return array( | |||
| 'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php', | |||
| 'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php', | |||
| 'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php', | |||
| 'PHPUnit\\Framework\\Assert' => $vendorDir . '/phpunit/phpunit/src/ForwardCompatibility/Assert.php', | |||
| 'PHPUnit\\Framework\\BaseTestListener' => $vendorDir . '/phpunit/phpunit/src/ForwardCompatibility/BaseTestListener.php', | |||
| 'PHPUnit\\Framework\\TestCase' => $vendorDir . '/phpunit/phpunit/src/ForwardCompatibility/TestCase.php', | |||
| 'PHPUnit\\Framework\\TestListener' => $vendorDir . '/phpunit/phpunit/src/ForwardCompatibility/TestListener.php', | |||
| 'PHPUnit_Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php', | |||
| 'PHPUnit_Extensions_GroupTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php', | |||
| 'PHPUnit_Extensions_PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestCase.php', | |||
| 'PHPUnit_Extensions_PhptTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestSuite.php', | |||
| 'PHPUnit_Extensions_RepeatedTest' => $vendorDir . '/phpunit/phpunit/src/Extensions/RepeatedTest.php', | |||
| 'PHPUnit_Extensions_TestDecorator' => $vendorDir . '/phpunit/phpunit/src/Extensions/TestDecorator.php', | |||
| 'PHPUnit_Extensions_TicketListener' => $vendorDir . '/phpunit/phpunit/src/Extensions/TicketListener.php', | |||
| 'PHPUnit_Framework_Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php', | |||
| 'PHPUnit_Framework_AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/AssertionFailedError.php', | |||
| 'PHPUnit_Framework_BaseTestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/BaseTestListener.php', | |||
| 'PHPUnit_Framework_CodeCoverageException' => $vendorDir . '/phpunit/phpunit/src/Framework/CodeCoverageException.php', | |||
| 'PHPUnit_Framework_Constraint' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint.php', | |||
| 'PHPUnit_Framework_Constraint_And' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/And.php', | |||
| 'PHPUnit_Framework_Constraint_ArrayHasKey' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php', | |||
| 'PHPUnit_Framework_Constraint_ArraySubset' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php', | |||
| 'PHPUnit_Framework_Constraint_Attribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php', | |||
| 'PHPUnit_Framework_Constraint_Callback' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Callback.php', | |||
| 'PHPUnit_Framework_Constraint_ClassHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php', | |||
| 'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php', | |||
| 'PHPUnit_Framework_Constraint_Composite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Composite.php', | |||
| 'PHPUnit_Framework_Constraint_Count' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Count.php', | |||
| 'PHPUnit_Framework_Constraint_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception.php', | |||
| 'PHPUnit_Framework_Constraint_ExceptionCode' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php', | |||
| 'PHPUnit_Framework_Constraint_ExceptionMessage' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php', | |||
| 'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php', | |||
| 'PHPUnit_Framework_Constraint_FileExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php', | |||
| 'PHPUnit_Framework_Constraint_GreaterThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php', | |||
| 'PHPUnit_Framework_Constraint_IsAnything' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php', | |||
| 'PHPUnit_Framework_Constraint_IsEmpty' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php', | |||
| 'PHPUnit_Framework_Constraint_IsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php', | |||
| 'PHPUnit_Framework_Constraint_IsFalse' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php', | |||
| 'PHPUnit_Framework_Constraint_IsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php', | |||
| 'PHPUnit_Framework_Constraint_IsInstanceOf' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php', | |||
| 'PHPUnit_Framework_Constraint_IsJson' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php', | |||
| 'PHPUnit_Framework_Constraint_IsNull' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php', | |||
| 'PHPUnit_Framework_Constraint_IsTrue' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php', | |||
| 'PHPUnit_Framework_Constraint_IsType' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsType.php', | |||
| 'PHPUnit_Framework_Constraint_JsonMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php', | |||
| 'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php', | |||
| 'PHPUnit_Framework_Constraint_LessThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php', | |||
| 'PHPUnit_Framework_Constraint_Not' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Not.php', | |||
| 'PHPUnit_Framework_Constraint_ObjectHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php', | |||
| 'PHPUnit_Framework_Constraint_Or' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Or.php', | |||
| 'PHPUnit_Framework_Constraint_PCREMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php', | |||
| 'PHPUnit_Framework_Constraint_SameSize' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php', | |||
| 'PHPUnit_Framework_Constraint_StringContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php', | |||
| 'PHPUnit_Framework_Constraint_StringEndsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php', | |||
| 'PHPUnit_Framework_Constraint_StringMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringMatches.php', | |||
| 'PHPUnit_Framework_Constraint_StringStartsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php', | |||
| 'PHPUnit_Framework_Constraint_TraversableContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php', | |||
| 'PHPUnit_Framework_Constraint_TraversableContainsOnly' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php', | |||
| 'PHPUnit_Framework_Constraint_Xor' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Xor.php', | |||
| 'PHPUnit_Framework_Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Error.php', | |||
| 'PHPUnit_Framework_Error_Deprecated' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Deprecated.php', | |||
| 'PHPUnit_Framework_Error_Notice' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Notice.php', | |||
| 'PHPUnit_Framework_Error_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Warning.php', | |||
| 'PHPUnit_Framework_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception.php', | |||
| 'PHPUnit_Framework_ExceptionWrapper' => $vendorDir . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php', | |||
| 'PHPUnit_Framework_ExpectationFailedException' => $vendorDir . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php', | |||
| 'PHPUnit_Framework_IncompleteTest' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTest.php', | |||
| 'PHPUnit_Framework_IncompleteTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php', | |||
| 'PHPUnit_Framework_IncompleteTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestError.php', | |||
| 'PHPUnit_Framework_InvalidCoversTargetError' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php', | |||
| 'PHPUnit_Framework_InvalidCoversTargetException' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php', | |||
| 'PHPUnit_Framework_MockObject_BadMethodCallException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_Identity' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_Match' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_Namespace' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php', | |||
| 'PHPUnit_Framework_MockObject_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php', | |||
| 'PHPUnit_Framework_MockObject_Generator' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php', | |||
| 'PHPUnit_Framework_MockObject_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php', | |||
| 'PHPUnit_Framework_MockObject_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php', | |||
| 'PHPUnit_Framework_MockObject_Invocation_Object' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php', | |||
| 'PHPUnit_Framework_MockObject_Invocation_Static' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php', | |||
| 'PHPUnit_Framework_MockObject_Invokable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_MethodName' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_Parameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php', | |||
| 'PHPUnit_Framework_MockObject_MockBuilder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php', | |||
| 'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php', | |||
| 'PHPUnit_Framework_MockObject_RuntimeException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php', | |||
| 'PHPUnit_Framework_MockObject_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_Return' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php', | |||
| 'PHPUnit_Framework_MockObject_Verifiable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php', | |||
| 'PHPUnit_Framework_OutputError' => $vendorDir . '/phpunit/phpunit/src/Framework/OutputError.php', | |||
| 'PHPUnit_Framework_RiskyTest' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTest.php', | |||
| 'PHPUnit_Framework_RiskyTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTestError.php', | |||
| 'PHPUnit_Framework_SelfDescribing' => $vendorDir . '/phpunit/phpunit/src/Framework/SelfDescribing.php', | |||
| 'PHPUnit_Framework_SkippedTest' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTest.php', | |||
| 'PHPUnit_Framework_SkippedTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestCase.php', | |||
| 'PHPUnit_Framework_SkippedTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestError.php', | |||
| 'PHPUnit_Framework_SkippedTestSuiteError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php', | |||
| 'PHPUnit_Framework_SyntheticError' => $vendorDir . '/phpunit/phpunit/src/Framework/SyntheticError.php', | |||
| 'PHPUnit_Framework_Test' => $vendorDir . '/phpunit/phpunit/src/Framework/Test.php', | |||
| 'PHPUnit_Framework_TestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/TestCase.php', | |||
| 'PHPUnit_Framework_TestFailure' => $vendorDir . '/phpunit/phpunit/src/Framework/TestFailure.php', | |||
| 'PHPUnit_Framework_TestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListener.php', | |||
| 'PHPUnit_Framework_TestResult' => $vendorDir . '/phpunit/phpunit/src/Framework/TestResult.php', | |||
| 'PHPUnit_Framework_TestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite.php', | |||
| 'PHPUnit_Framework_TestSuite_DataProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php', | |||
| 'PHPUnit_Framework_UnintentionallyCoveredCodeError' => $vendorDir . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php', | |||
| 'PHPUnit_Framework_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Warning.php', | |||
| 'PHPUnit_Runner_BaseTestRunner' => $vendorDir . '/phpunit/phpunit/src/Runner/BaseTestRunner.php', | |||
| 'PHPUnit_Runner_Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception.php', | |||
| 'PHPUnit_Runner_Filter_Factory' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Factory.php', | |||
| 'PHPUnit_Runner_Filter_GroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group.php', | |||
| 'PHPUnit_Runner_Filter_Group_Exclude' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php', | |||
| 'PHPUnit_Runner_Filter_Group_Include' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Include.php', | |||
| 'PHPUnit_Runner_Filter_Test' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Test.php', | |||
| 'PHPUnit_Runner_StandardTestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php', | |||
| 'PHPUnit_Runner_TestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php', | |||
| 'PHPUnit_Runner_Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php', | |||
| 'PHPUnit_TextUI_Command' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command.php', | |||
| 'PHPUnit_TextUI_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/ResultPrinter.php', | |||
| 'PHPUnit_TextUI_TestRunner' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestRunner.php', | |||
| 'PHPUnit_Util_Blacklist' => $vendorDir . '/phpunit/phpunit/src/Util/Blacklist.php', | |||
| 'PHPUnit_Util_Configuration' => $vendorDir . '/phpunit/phpunit/src/Util/Configuration.php', | |||
| 'PHPUnit_Util_ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Util/ErrorHandler.php', | |||
| 'PHPUnit_Util_Fileloader' => $vendorDir . '/phpunit/phpunit/src/Util/Fileloader.php', | |||
| 'PHPUnit_Util_Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php', | |||
| 'PHPUnit_Util_Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php', | |||
| 'PHPUnit_Util_Getopt' => $vendorDir . '/phpunit/phpunit/src/Util/Getopt.php', | |||
| 'PHPUnit_Util_GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php', | |||
| 'PHPUnit_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php', | |||
| 'PHPUnit_Util_Log_JSON' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JSON.php', | |||
| 'PHPUnit_Util_Log_JUnit' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JUnit.php', | |||
| 'PHPUnit_Util_Log_TAP' => $vendorDir . '/phpunit/phpunit/src/Util/Log/TAP.php', | |||
| 'PHPUnit_Util_PHP' => $vendorDir . '/phpunit/phpunit/src/Util/PHP.php', | |||
| 'PHPUnit_Util_PHP_Default' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Default.php', | |||
| 'PHPUnit_Util_PHP_Windows' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Windows.php', | |||
| 'PHPUnit_Util_Printer' => $vendorDir . '/phpunit/phpunit/src/Util/Printer.php', | |||
| 'PHPUnit_Util_Regex' => $vendorDir . '/phpunit/phpunit/src/Util/Regex.php', | |||
| 'PHPUnit_Util_String' => $vendorDir . '/phpunit/phpunit/src/Util/String.php', | |||
| 'PHPUnit_Util_Test' => $vendorDir . '/phpunit/phpunit/src/Util/Test.php', | |||
| 'PHPUnit_Util_TestDox_NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php', | |||
| 'PHPUnit_Util_TestDox_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php', | |||
| 'PHPUnit_Util_TestDox_ResultPrinter_HTML' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php', | |||
| 'PHPUnit_Util_TestDox_ResultPrinter_Text' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php', | |||
| 'PHPUnit_Util_TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/src/Util/TestSuiteIterator.php', | |||
| 'PHPUnit_Util_Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php', | |||
| 'PHPUnit_Util_XML' => $vendorDir . '/phpunit/phpunit/src/Util/XML.php', | |||
| 'PHP_CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage.php', | |||
| 'PHP_CodeCoverage_Driver' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver.php', | |||
| 'PHP_CodeCoverage_Driver_HHVM' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php', | |||
| 'PHP_CodeCoverage_Driver_PHPDBG' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php', | |||
| 'PHP_CodeCoverage_Driver_Xdebug' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php', | |||
| 'PHP_CodeCoverage_Exception' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception.php', | |||
| 'PHP_CodeCoverage_Exception_UnintentionallyCoveredCode' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php', | |||
| 'PHP_CodeCoverage_Filter' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Filter.php', | |||
| 'PHP_CodeCoverage_Report_Clover' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php', | |||
| 'PHP_CodeCoverage_Report_Crap4j' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php', | |||
| 'PHP_CodeCoverage_Report_Factory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php', | |||
| 'PHP_CodeCoverage_Report_HTML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php', | |||
| 'PHP_CodeCoverage_Report_HTML_Renderer' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php', | |||
| 'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php', | |||
| 'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php', | |||
| 'PHP_CodeCoverage_Report_HTML_Renderer_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php', | |||
| 'PHP_CodeCoverage_Report_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php', | |||
| 'PHP_CodeCoverage_Report_Node_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php', | |||
| 'PHP_CodeCoverage_Report_Node_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php', | |||
| 'PHP_CodeCoverage_Report_Node_Iterator' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php', | |||
| 'PHP_CodeCoverage_Report_PHP' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php', | |||
| 'PHP_CodeCoverage_Report_Text' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php', | |||
| 'PHP_CodeCoverage_Report_XML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php', | |||
| 'PHP_CodeCoverage_Report_XML_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php', | |||
| 'PHP_CodeCoverage_Report_XML_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php', | |||
| 'PHP_CodeCoverage_Report_XML_File_Coverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php', | |||
| 'PHP_CodeCoverage_Report_XML_File_Method' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php', | |||
| 'PHP_CodeCoverage_Report_XML_File_Report' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php', | |||
| 'PHP_CodeCoverage_Report_XML_File_Unit' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php', | |||
| 'PHP_CodeCoverage_Report_XML_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php', | |||
| 'PHP_CodeCoverage_Report_XML_Project' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php', | |||
| 'PHP_CodeCoverage_Report_XML_Tests' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php', | |||
| 'PHP_CodeCoverage_Report_XML_Totals' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php', | |||
| 'PHP_CodeCoverage_Util' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util.php', | |||
| 'PHP_CodeCoverage_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php', | |||
| 'PHP_Timer' => $vendorDir . '/phpunit/php-timer/src/Timer.php', | |||
| 'PHP_Token' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_TokenWithScope' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_TokenWithScopeAndVisibility' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ABSTRACT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_AMPERSAND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_AND_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ARRAY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ARRAY_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_AS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ASYNC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_AT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_AWAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BACKTICK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BAD_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BOOLEAN_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BOOLEAN_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BOOL_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BREAK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CALLABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CARET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CASE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CATCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLASS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLASS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLASS_NAME_CONSTANT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLONE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLOSE_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLOSE_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLOSE_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLOSE_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_COALESCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_COMMA' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_COMPILER_HALT_OFFSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CONCAT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CONST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CONSTANT_ENCAPSED_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CONTINUE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CURLY_OPEN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DEC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DEFAULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DIR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DIV' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DIV_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOC_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOLLAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOUBLE_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOUBLE_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOUBLE_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOUBLE_QUOTES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ELLIPSIS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ELSE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ELSEIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EMPTY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENCAPSED_AND_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDDECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDFOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDFOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDSWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDWHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_END_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENUM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EQUALS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EVAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EXCLAMATION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EXIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EXTENDS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FINAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FINALLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FUNC_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_GLOBAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_GOTO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_HALT_COMPILER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IMPLEMENTS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INCLUDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INCLUDE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INLINE_HTML' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INSTANCEOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INSTEADOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INTERFACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ISSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_GREATER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_NOT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_NOT_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_SMALLER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_Includes' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_JOIN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LAMBDA_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LAMBDA_CP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LAMBDA_OP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LINE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LIST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LOGICAL_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LOGICAL_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LOGICAL_XOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_METHOD_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_MINUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_MINUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_MOD_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_MULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_MUL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NAMESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NEW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NS_SEPARATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NULLSAFE_OBJECT_OPERATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NUM_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OBJECT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OBJECT_OPERATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ONUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OPEN_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OPEN_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OPEN_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OPEN_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OPEN_TAG_WITH_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PERCENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PIPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PLUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PLUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_POW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_POW_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PRINT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PRIVATE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PROTECTED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PUBLIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_QUESTION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_REQUIRE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_REQUIRE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_RETURN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SEMICOLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SHAPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SPACESHIP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_START_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_STATIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_STRING_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_STRING_VARNAME' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SUPER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_Stream' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream.php', | |||
| 'PHP_Token_Stream_CachingFactory' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php', | |||
| 'PHP_Token_THROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TILDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TRAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TRAIT_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TRY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TYPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TYPELIST_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TYPELIST_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_UNSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_UNSET_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_USE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_USE_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_VAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_VARIABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_WHERE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_WHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_ATTRIBUTE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_CATEGORY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_CATEGORY_LABEL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_CHILDREN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_LABEL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_REQUIRED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_TAG_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_TAG_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_TEXT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XOR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_YIELD' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_YIELD_FROM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', | |||
| 'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php', | |||
| 'SebastianBergmann\\Comparator\\Comparator' => $vendorDir . '/sebastian/comparator/src/Comparator.php', | |||
| 'SebastianBergmann\\Comparator\\ComparisonFailure' => $vendorDir . '/sebastian/comparator/src/ComparisonFailure.php', | |||
| 'SebastianBergmann\\Comparator\\DOMNodeComparator' => $vendorDir . '/sebastian/comparator/src/DOMNodeComparator.php', | |||
| 'SebastianBergmann\\Comparator\\DateTimeComparator' => $vendorDir . '/sebastian/comparator/src/DateTimeComparator.php', | |||
| 'SebastianBergmann\\Comparator\\DoubleComparator' => $vendorDir . '/sebastian/comparator/src/DoubleComparator.php', | |||
| 'SebastianBergmann\\Comparator\\ExceptionComparator' => $vendorDir . '/sebastian/comparator/src/ExceptionComparator.php', | |||
| 'SebastianBergmann\\Comparator\\Factory' => $vendorDir . '/sebastian/comparator/src/Factory.php', | |||
| 'SebastianBergmann\\Comparator\\MockObjectComparator' => $vendorDir . '/sebastian/comparator/src/MockObjectComparator.php', | |||
| 'SebastianBergmann\\Comparator\\NumericComparator' => $vendorDir . '/sebastian/comparator/src/NumericComparator.php', | |||
| 'SebastianBergmann\\Comparator\\ObjectComparator' => $vendorDir . '/sebastian/comparator/src/ObjectComparator.php', | |||
| 'SebastianBergmann\\Comparator\\ResourceComparator' => $vendorDir . '/sebastian/comparator/src/ResourceComparator.php', | |||
| 'SebastianBergmann\\Comparator\\ScalarComparator' => $vendorDir . '/sebastian/comparator/src/ScalarComparator.php', | |||
| 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => $vendorDir . '/sebastian/comparator/src/SplObjectStorageComparator.php', | |||
| 'SebastianBergmann\\Comparator\\TypeComparator' => $vendorDir . '/sebastian/comparator/src/TypeComparator.php', | |||
| 'SebastianBergmann\\Diff\\Chunk' => $vendorDir . '/sebastian/diff/src/Chunk.php', | |||
| 'SebastianBergmann\\Diff\\Diff' => $vendorDir . '/sebastian/diff/src/Diff.php', | |||
| 'SebastianBergmann\\Diff\\Differ' => $vendorDir . '/sebastian/diff/src/Differ.php', | |||
| 'SebastianBergmann\\Diff\\LCS\\LongestCommonSubsequence' => $vendorDir . '/sebastian/diff/src/LCS/LongestCommonSubsequence.php', | |||
| 'SebastianBergmann\\Diff\\LCS\\MemoryEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php', | |||
| 'SebastianBergmann\\Diff\\LCS\\TimeEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php', | |||
| 'SebastianBergmann\\Diff\\Line' => $vendorDir . '/sebastian/diff/src/Line.php', | |||
| 'SebastianBergmann\\Diff\\Parser' => $vendorDir . '/sebastian/diff/src/Parser.php', | |||
| 'SebastianBergmann\\Environment\\Console' => $vendorDir . '/sebastian/environment/src/Console.php', | |||
| 'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php', | |||
| 'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php', | |||
| 'SebastianBergmann\\GlobalState\\Blacklist' => $vendorDir . '/sebastian/global-state/src/Blacklist.php', | |||
| 'SebastianBergmann\\GlobalState\\CodeExporter' => $vendorDir . '/sebastian/global-state/src/CodeExporter.php', | |||
| 'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/Exception.php', | |||
| 'SebastianBergmann\\GlobalState\\Restorer' => $vendorDir . '/sebastian/global-state/src/Restorer.php', | |||
| 'SebastianBergmann\\GlobalState\\RuntimeException' => $vendorDir . '/sebastian/global-state/src/RuntimeException.php', | |||
| 'SebastianBergmann\\GlobalState\\Snapshot' => $vendorDir . '/sebastian/global-state/src/Snapshot.php', | |||
| 'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php', | |||
| 'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php', | |||
| 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php', | |||
| 'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php', | |||
| 'Text_Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php', | |||
| ); | |||
| @@ -0,0 +1,11 @@ | |||
| <?php | |||
| // autoload_namespaces.php @generated by Composer | |||
| $vendorDir = dirname(dirname(__FILE__)); | |||
| $baseDir = dirname($vendorDir); | |||
| return array( | |||
| 'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'), | |||
| 'Eluceo\\iCal' => array($baseDir . '/src'), | |||
| ); | |||
| @@ -0,0 +1,13 @@ | |||
| <?php | |||
| // autoload_psr4.php @generated by Composer | |||
| $vendorDir = dirname(dirname(__FILE__)); | |||
| $baseDir = dirname($vendorDir); | |||
| return array( | |||
| 'phpDocumentor\\Reflection\\' => array($vendorDir . '/phpdocumentor/reflection-common/src', $vendorDir . '/phpdocumentor/type-resolver/src', $vendorDir . '/phpdocumentor/reflection-docblock/src'), | |||
| 'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'), | |||
| 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'), | |||
| 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'), | |||
| ); | |||
| @@ -0,0 +1,52 @@ | |||
| <?php | |||
| // autoload_real.php @generated by Composer | |||
| class ComposerAutoloaderInit8bf3ba2461922dfccf813cc2bb488ad6 | |||
| { | |||
| private static $loader; | |||
| public static function loadClassLoader($class) | |||
| { | |||
| if ('Composer\Autoload\ClassLoader' === $class) { | |||
| require __DIR__ . '/ClassLoader.php'; | |||
| } | |||
| } | |||
| public static function getLoader() | |||
| { | |||
| if (null !== self::$loader) { | |||
| return self::$loader; | |||
| } | |||
| spl_autoload_register(array('ComposerAutoloaderInit8bf3ba2461922dfccf813cc2bb488ad6', 'loadClassLoader'), true, true); | |||
| self::$loader = $loader = new \Composer\Autoload\ClassLoader(); | |||
| spl_autoload_unregister(array('ComposerAutoloaderInit8bf3ba2461922dfccf813cc2bb488ad6', 'loadClassLoader')); | |||
| $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); | |||
| if ($useStaticLoader) { | |||
| require_once __DIR__ . '/autoload_static.php'; | |||
| call_user_func(\Composer\Autoload\ComposerStaticInit8bf3ba2461922dfccf813cc2bb488ad6::getInitializer($loader)); | |||
| } else { | |||
| $map = require __DIR__ . '/autoload_namespaces.php'; | |||
| foreach ($map as $namespace => $path) { | |||
| $loader->set($namespace, $path); | |||
| } | |||
| $map = require __DIR__ . '/autoload_psr4.php'; | |||
| foreach ($map as $namespace => $path) { | |||
| $loader->setPsr4($namespace, $path); | |||
| } | |||
| $classMap = require __DIR__ . '/autoload_classmap.php'; | |||
| if ($classMap) { | |||
| $loader->addClassMap($classMap); | |||
| } | |||
| } | |||
| $loader->register(true); | |||
| return $loader; | |||
| } | |||
| } | |||
| @@ -0,0 +1,521 @@ | |||
| <?php | |||
| // autoload_static.php @generated by Composer | |||
| namespace Composer\Autoload; | |||
| class ComposerStaticInit8bf3ba2461922dfccf813cc2bb488ad6 | |||
| { | |||
| public static $prefixLengthsPsr4 = array ( | |||
| 'p' => | |||
| array ( | |||
| 'phpDocumentor\\Reflection\\' => 25, | |||
| ), | |||
| 'W' => | |||
| array ( | |||
| 'Webmozart\\Assert\\' => 17, | |||
| ), | |||
| 'S' => | |||
| array ( | |||
| 'Symfony\\Component\\Yaml\\' => 23, | |||
| ), | |||
| 'D' => | |||
| array ( | |||
| 'Doctrine\\Instantiator\\' => 22, | |||
| ), | |||
| ); | |||
| public static $prefixDirsPsr4 = array ( | |||
| 'phpDocumentor\\Reflection\\' => | |||
| array ( | |||
| 0 => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src', | |||
| 1 => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src', | |||
| 2 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src', | |||
| ), | |||
| 'Webmozart\\Assert\\' => | |||
| array ( | |||
| 0 => __DIR__ . '/..' . '/webmozart/assert/src', | |||
| ), | |||
| 'Symfony\\Component\\Yaml\\' => | |||
| array ( | |||
| 0 => __DIR__ . '/..' . '/symfony/yaml', | |||
| ), | |||
| 'Doctrine\\Instantiator\\' => | |||
| array ( | |||
| 0 => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator', | |||
| ), | |||
| ); | |||
| public static $prefixesPsr0 = array ( | |||
| 'P' => | |||
| array ( | |||
| 'Prophecy\\' => | |||
| array ( | |||
| 0 => __DIR__ . '/..' . '/phpspec/prophecy/src', | |||
| ), | |||
| ), | |||
| 'E' => | |||
| array ( | |||
| 'Eluceo\\iCal' => | |||
| array ( | |||
| 0 => __DIR__ . '/../..' . '/src', | |||
| ), | |||
| ), | |||
| ); | |||
| public static $classMap = array ( | |||
| 'File_Iterator' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Iterator.php', | |||
| 'File_Iterator_Facade' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Facade.php', | |||
| 'File_Iterator_Factory' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Factory.php', | |||
| 'PHPUnit\\Framework\\Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/ForwardCompatibility/Assert.php', | |||
| 'PHPUnit\\Framework\\BaseTestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/ForwardCompatibility/BaseTestListener.php', | |||
| 'PHPUnit\\Framework\\TestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/ForwardCompatibility/TestCase.php', | |||
| 'PHPUnit\\Framework\\TestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/ForwardCompatibility/TestListener.php', | |||
| 'PHPUnit_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Exception.php', | |||
| 'PHPUnit_Extensions_GroupTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php', | |||
| 'PHPUnit_Extensions_PhptTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/PhptTestCase.php', | |||
| 'PHPUnit_Extensions_PhptTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/PhptTestSuite.php', | |||
| 'PHPUnit_Extensions_RepeatedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/RepeatedTest.php', | |||
| 'PHPUnit_Extensions_TestDecorator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/TestDecorator.php', | |||
| 'PHPUnit_Extensions_TicketListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/TicketListener.php', | |||
| 'PHPUnit_Framework_Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert.php', | |||
| 'PHPUnit_Framework_AssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/AssertionFailedError.php', | |||
| 'PHPUnit_Framework_BaseTestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/BaseTestListener.php', | |||
| 'PHPUnit_Framework_CodeCoverageException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/CodeCoverageException.php', | |||
| 'PHPUnit_Framework_Constraint' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint.php', | |||
| 'PHPUnit_Framework_Constraint_And' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/And.php', | |||
| 'PHPUnit_Framework_Constraint_ArrayHasKey' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php', | |||
| 'PHPUnit_Framework_Constraint_ArraySubset' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php', | |||
| 'PHPUnit_Framework_Constraint_Attribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php', | |||
| 'PHPUnit_Framework_Constraint_Callback' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Callback.php', | |||
| 'PHPUnit_Framework_Constraint_ClassHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php', | |||
| 'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php', | |||
| 'PHPUnit_Framework_Constraint_Composite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Composite.php', | |||
| 'PHPUnit_Framework_Constraint_Count' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Count.php', | |||
| 'PHPUnit_Framework_Constraint_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception.php', | |||
| 'PHPUnit_Framework_Constraint_ExceptionCode' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php', | |||
| 'PHPUnit_Framework_Constraint_ExceptionMessage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php', | |||
| 'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php', | |||
| 'PHPUnit_Framework_Constraint_FileExists' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php', | |||
| 'PHPUnit_Framework_Constraint_GreaterThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php', | |||
| 'PHPUnit_Framework_Constraint_IsAnything' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php', | |||
| 'PHPUnit_Framework_Constraint_IsEmpty' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php', | |||
| 'PHPUnit_Framework_Constraint_IsEqual' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php', | |||
| 'PHPUnit_Framework_Constraint_IsFalse' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php', | |||
| 'PHPUnit_Framework_Constraint_IsIdentical' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php', | |||
| 'PHPUnit_Framework_Constraint_IsInstanceOf' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php', | |||
| 'PHPUnit_Framework_Constraint_IsJson' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php', | |||
| 'PHPUnit_Framework_Constraint_IsNull' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php', | |||
| 'PHPUnit_Framework_Constraint_IsTrue' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php', | |||
| 'PHPUnit_Framework_Constraint_IsType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsType.php', | |||
| 'PHPUnit_Framework_Constraint_JsonMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php', | |||
| 'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php', | |||
| 'PHPUnit_Framework_Constraint_LessThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php', | |||
| 'PHPUnit_Framework_Constraint_Not' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Not.php', | |||
| 'PHPUnit_Framework_Constraint_ObjectHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php', | |||
| 'PHPUnit_Framework_Constraint_Or' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Or.php', | |||
| 'PHPUnit_Framework_Constraint_PCREMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php', | |||
| 'PHPUnit_Framework_Constraint_SameSize' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php', | |||
| 'PHPUnit_Framework_Constraint_StringContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php', | |||
| 'PHPUnit_Framework_Constraint_StringEndsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php', | |||
| 'PHPUnit_Framework_Constraint_StringMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringMatches.php', | |||
| 'PHPUnit_Framework_Constraint_StringStartsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php', | |||
| 'PHPUnit_Framework_Constraint_TraversableContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php', | |||
| 'PHPUnit_Framework_Constraint_TraversableContainsOnly' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php', | |||
| 'PHPUnit_Framework_Constraint_Xor' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Xor.php', | |||
| 'PHPUnit_Framework_Error' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error.php', | |||
| 'PHPUnit_Framework_Error_Deprecated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Deprecated.php', | |||
| 'PHPUnit_Framework_Error_Notice' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Notice.php', | |||
| 'PHPUnit_Framework_Error_Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Warning.php', | |||
| 'PHPUnit_Framework_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception.php', | |||
| 'PHPUnit_Framework_ExceptionWrapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php', | |||
| 'PHPUnit_Framework_ExpectationFailedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php', | |||
| 'PHPUnit_Framework_IncompleteTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTest.php', | |||
| 'PHPUnit_Framework_IncompleteTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php', | |||
| 'PHPUnit_Framework_IncompleteTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestError.php', | |||
| 'PHPUnit_Framework_InvalidCoversTargetError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php', | |||
| 'PHPUnit_Framework_InvalidCoversTargetException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php', | |||
| 'PHPUnit_Framework_MockObject_BadMethodCallException' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_Identity' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_Match' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_Namespace' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php', | |||
| 'PHPUnit_Framework_MockObject_Builder_Stub' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php', | |||
| 'PHPUnit_Framework_MockObject_Exception' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php', | |||
| 'PHPUnit_Framework_MockObject_Generator' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php', | |||
| 'PHPUnit_Framework_MockObject_Invocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php', | |||
| 'PHPUnit_Framework_MockObject_InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php', | |||
| 'PHPUnit_Framework_MockObject_Invocation_Object' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php', | |||
| 'PHPUnit_Framework_MockObject_Invocation_Static' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php', | |||
| 'PHPUnit_Framework_MockObject_Invokable' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_Invocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_MethodName' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_Parameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php', | |||
| 'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php', | |||
| 'PHPUnit_Framework_MockObject_MockBuilder' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php', | |||
| 'PHPUnit_Framework_MockObject_MockObject' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php', | |||
| 'PHPUnit_Framework_MockObject_RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php', | |||
| 'PHPUnit_Framework_MockObject_Stub' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_Exception' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_Return' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php', | |||
| 'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php', | |||
| 'PHPUnit_Framework_MockObject_Verifiable' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php', | |||
| 'PHPUnit_Framework_OutputError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/OutputError.php', | |||
| 'PHPUnit_Framework_RiskyTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/RiskyTest.php', | |||
| 'PHPUnit_Framework_RiskyTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/RiskyTestError.php', | |||
| 'PHPUnit_Framework_SelfDescribing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SelfDescribing.php', | |||
| 'PHPUnit_Framework_SkippedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTest.php', | |||
| 'PHPUnit_Framework_SkippedTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestCase.php', | |||
| 'PHPUnit_Framework_SkippedTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestError.php', | |||
| 'PHPUnit_Framework_SkippedTestSuiteError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php', | |||
| 'PHPUnit_Framework_SyntheticError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SyntheticError.php', | |||
| 'PHPUnit_Framework_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Test.php', | |||
| 'PHPUnit_Framework_TestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestCase.php', | |||
| 'PHPUnit_Framework_TestFailure' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestFailure.php', | |||
| 'PHPUnit_Framework_TestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestListener.php', | |||
| 'PHPUnit_Framework_TestResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestResult.php', | |||
| 'PHPUnit_Framework_TestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite.php', | |||
| 'PHPUnit_Framework_TestSuite_DataProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php', | |||
| 'PHPUnit_Framework_UnintentionallyCoveredCodeError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php', | |||
| 'PHPUnit_Framework_Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Warning.php', | |||
| 'PHPUnit_Runner_BaseTestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/BaseTestRunner.php', | |||
| 'PHPUnit_Runner_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception.php', | |||
| 'PHPUnit_Runner_Filter_Factory' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Factory.php', | |||
| 'PHPUnit_Runner_Filter_GroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group.php', | |||
| 'PHPUnit_Runner_Filter_Group_Exclude' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php', | |||
| 'PHPUnit_Runner_Filter_Group_Include' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group/Include.php', | |||
| 'PHPUnit_Runner_Filter_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Test.php', | |||
| 'PHPUnit_Runner_StandardTestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php', | |||
| 'PHPUnit_Runner_TestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php', | |||
| 'PHPUnit_Runner_Version' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Version.php', | |||
| 'PHPUnit_TextUI_Command' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command.php', | |||
| 'PHPUnit_TextUI_ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/ResultPrinter.php', | |||
| 'PHPUnit_TextUI_TestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/TestRunner.php', | |||
| 'PHPUnit_Util_Blacklist' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Blacklist.php', | |||
| 'PHPUnit_Util_Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Configuration.php', | |||
| 'PHPUnit_Util_ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ErrorHandler.php', | |||
| 'PHPUnit_Util_Fileloader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Fileloader.php', | |||
| 'PHPUnit_Util_Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php', | |||
| 'PHPUnit_Util_Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php', | |||
| 'PHPUnit_Util_Getopt' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Getopt.php', | |||
| 'PHPUnit_Util_GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php', | |||
| 'PHPUnit_Util_InvalidArgumentHelper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php', | |||
| 'PHPUnit_Util_Log_JSON' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JSON.php', | |||
| 'PHPUnit_Util_Log_JUnit' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JUnit.php', | |||
| 'PHPUnit_Util_Log_TAP' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/TAP.php', | |||
| 'PHPUnit_Util_PHP' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP.php', | |||
| 'PHPUnit_Util_PHP_Default' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/Default.php', | |||
| 'PHPUnit_Util_PHP_Windows' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/Windows.php', | |||
| 'PHPUnit_Util_Printer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Printer.php', | |||
| 'PHPUnit_Util_Regex' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Regex.php', | |||
| 'PHPUnit_Util_String' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/String.php', | |||
| 'PHPUnit_Util_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Test.php', | |||
| 'PHPUnit_Util_TestDox_NamePrettifier' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php', | |||
| 'PHPUnit_Util_TestDox_ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php', | |||
| 'PHPUnit_Util_TestDox_ResultPrinter_HTML' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php', | |||
| 'PHPUnit_Util_TestDox_ResultPrinter_Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php', | |||
| 'PHPUnit_Util_TestSuiteIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestSuiteIterator.php', | |||
| 'PHPUnit_Util_Type' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Type.php', | |||
| 'PHPUnit_Util_XML' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XML.php', | |||
| 'PHP_CodeCoverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage.php', | |||
| 'PHP_CodeCoverage_Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver.php', | |||
| 'PHP_CodeCoverage_Driver_HHVM' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php', | |||
| 'PHP_CodeCoverage_Driver_PHPDBG' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php', | |||
| 'PHP_CodeCoverage_Driver_Xdebug' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php', | |||
| 'PHP_CodeCoverage_Exception' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Exception.php', | |||
| 'PHP_CodeCoverage_Exception_UnintentionallyCoveredCode' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php', | |||
| 'PHP_CodeCoverage_Filter' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Filter.php', | |||
| 'PHP_CodeCoverage_Report_Clover' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php', | |||
| 'PHP_CodeCoverage_Report_Crap4j' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php', | |||
| 'PHP_CodeCoverage_Report_Factory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php', | |||
| 'PHP_CodeCoverage_Report_HTML' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php', | |||
| 'PHP_CodeCoverage_Report_HTML_Renderer' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php', | |||
| 'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php', | |||
| 'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php', | |||
| 'PHP_CodeCoverage_Report_HTML_Renderer_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php', | |||
| 'PHP_CodeCoverage_Report_Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php', | |||
| 'PHP_CodeCoverage_Report_Node_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php', | |||
| 'PHP_CodeCoverage_Report_Node_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php', | |||
| 'PHP_CodeCoverage_Report_Node_Iterator' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php', | |||
| 'PHP_CodeCoverage_Report_PHP' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php', | |||
| 'PHP_CodeCoverage_Report_Text' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php', | |||
| 'PHP_CodeCoverage_Report_XML' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php', | |||
| 'PHP_CodeCoverage_Report_XML_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php', | |||
| 'PHP_CodeCoverage_Report_XML_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php', | |||
| 'PHP_CodeCoverage_Report_XML_File_Coverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php', | |||
| 'PHP_CodeCoverage_Report_XML_File_Method' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php', | |||
| 'PHP_CodeCoverage_Report_XML_File_Report' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php', | |||
| 'PHP_CodeCoverage_Report_XML_File_Unit' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php', | |||
| 'PHP_CodeCoverage_Report_XML_Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php', | |||
| 'PHP_CodeCoverage_Report_XML_Project' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php', | |||
| 'PHP_CodeCoverage_Report_XML_Tests' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php', | |||
| 'PHP_CodeCoverage_Report_XML_Totals' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php', | |||
| 'PHP_CodeCoverage_Util' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Util.php', | |||
| 'PHP_CodeCoverage_Util_InvalidArgumentHelper' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php', | |||
| 'PHP_Timer' => __DIR__ . '/..' . '/phpunit/php-timer/src/Timer.php', | |||
| 'PHP_Token' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_TokenWithScope' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_TokenWithScopeAndVisibility' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ABSTRACT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_AMPERSAND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_AND_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ARRAY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ARRAY_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_AS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ASYNC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_AT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_AWAIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BACKTICK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BAD_CHARACTER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BOOLEAN_AND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BOOLEAN_OR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BOOL_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_BREAK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CALLABLE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CARET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CASE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CATCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CHARACTER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLASS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLASS_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLASS_NAME_CONSTANT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLONE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLOSE_BRACKET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLOSE_CURLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLOSE_SQUARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CLOSE_TAG' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_COALESCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_COLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_COMMA' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_COMMENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_COMPILER_HALT_OFFSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CONCAT_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CONST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CONSTANT_ENCAPSED_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CONTINUE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_CURLY_OPEN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DEC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DECLARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DEFAULT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DIR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DIV' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DIV_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DNUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOC_COMMENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOLLAR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOUBLE_ARROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOUBLE_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOUBLE_COLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_DOUBLE_QUOTES' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ECHO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ELLIPSIS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ELSE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ELSEIF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EMPTY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENCAPSED_AND_WHITESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDDECLARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDFOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDFOREACH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDIF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDSWITCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENDWHILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_END_HEREDOC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ENUM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EQUALS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EVAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EXCLAMATION_MARK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EXIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_EXTENDS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FINAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FINALLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FOREACH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FUNCTION' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_FUNC_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_GLOBAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_GOTO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_HALT_COMPILER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IMPLEMENTS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INCLUDE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INCLUDE_ONCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INLINE_HTML' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INSTANCEOF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INSTEADOF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INTERFACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_INT_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ISSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_GREATER_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_IDENTICAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_NOT_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_NOT_IDENTICAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_IS_SMALLER_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_Includes' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_JOIN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LAMBDA_ARROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LAMBDA_CP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LAMBDA_OP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LINE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LIST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LNUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LOGICAL_AND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LOGICAL_OR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LOGICAL_XOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_METHOD_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_MINUS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_MINUS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_MOD_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_MULT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_MUL_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NAMESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NEW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NS_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NS_SEPARATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NULLSAFE_OBJECT_OPERATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_NUM_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OBJECT_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OBJECT_OPERATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_ONUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OPEN_BRACKET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OPEN_CURLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OPEN_SQUARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OPEN_TAG' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OPEN_TAG_WITH_ECHO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PERCENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PIPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PLUS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PLUS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_POW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_POW_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PRINT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PRIVATE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PROTECTED' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_PUBLIC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_QUESTION_MARK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_REQUIRE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_REQUIRE_ONCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_RETURN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SEMICOLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SHAPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SL_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SPACESHIP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_START_HEREDOC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_STATIC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_STRING_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_STRING_VARNAME' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SUPER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_SWITCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_Stream' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Stream.php', | |||
| 'PHP_Token_Stream_CachingFactory' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php', | |||
| 'PHP_Token_THROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TILDE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TRAIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TRAIT_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TRY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TYPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TYPELIST_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_TYPELIST_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_UNSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_UNSET_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_USE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_USE_FUNCTION' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_VAR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_VARIABLE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_WHERE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_WHILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_WHITESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_ATTRIBUTE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_CATEGORY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_CATEGORY_LABEL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_CHILDREN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_LABEL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_REQUIRED' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_TAG_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_TAG_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XHP_TEXT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_XOR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_YIELD' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'PHP_Token_YIELD_FROM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', | |||
| 'SebastianBergmann\\Comparator\\ArrayComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ArrayComparator.php', | |||
| 'SebastianBergmann\\Comparator\\Comparator' => __DIR__ . '/..' . '/sebastian/comparator/src/Comparator.php', | |||
| 'SebastianBergmann\\Comparator\\ComparisonFailure' => __DIR__ . '/..' . '/sebastian/comparator/src/ComparisonFailure.php', | |||
| 'SebastianBergmann\\Comparator\\DOMNodeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DOMNodeComparator.php', | |||
| 'SebastianBergmann\\Comparator\\DateTimeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DateTimeComparator.php', | |||
| 'SebastianBergmann\\Comparator\\DoubleComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DoubleComparator.php', | |||
| 'SebastianBergmann\\Comparator\\ExceptionComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ExceptionComparator.php', | |||
| 'SebastianBergmann\\Comparator\\Factory' => __DIR__ . '/..' . '/sebastian/comparator/src/Factory.php', | |||
| 'SebastianBergmann\\Comparator\\MockObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/MockObjectComparator.php', | |||
| 'SebastianBergmann\\Comparator\\NumericComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/NumericComparator.php', | |||
| 'SebastianBergmann\\Comparator\\ObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ObjectComparator.php', | |||
| 'SebastianBergmann\\Comparator\\ResourceComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ResourceComparator.php', | |||
| 'SebastianBergmann\\Comparator\\ScalarComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ScalarComparator.php', | |||
| 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/SplObjectStorageComparator.php', | |||
| 'SebastianBergmann\\Comparator\\TypeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/TypeComparator.php', | |||
| 'SebastianBergmann\\Diff\\Chunk' => __DIR__ . '/..' . '/sebastian/diff/src/Chunk.php', | |||
| 'SebastianBergmann\\Diff\\Diff' => __DIR__ . '/..' . '/sebastian/diff/src/Diff.php', | |||
| 'SebastianBergmann\\Diff\\Differ' => __DIR__ . '/..' . '/sebastian/diff/src/Differ.php', | |||
| 'SebastianBergmann\\Diff\\LCS\\LongestCommonSubsequence' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/LongestCommonSubsequence.php', | |||
| 'SebastianBergmann\\Diff\\LCS\\MemoryEfficientImplementation' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php', | |||
| 'SebastianBergmann\\Diff\\LCS\\TimeEfficientImplementation' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php', | |||
| 'SebastianBergmann\\Diff\\Line' => __DIR__ . '/..' . '/sebastian/diff/src/Line.php', | |||
| 'SebastianBergmann\\Diff\\Parser' => __DIR__ . '/..' . '/sebastian/diff/src/Parser.php', | |||
| 'SebastianBergmann\\Environment\\Console' => __DIR__ . '/..' . '/sebastian/environment/src/Console.php', | |||
| 'SebastianBergmann\\Environment\\Runtime' => __DIR__ . '/..' . '/sebastian/environment/src/Runtime.php', | |||
| 'SebastianBergmann\\Exporter\\Exporter' => __DIR__ . '/..' . '/sebastian/exporter/src/Exporter.php', | |||
| 'SebastianBergmann\\GlobalState\\Blacklist' => __DIR__ . '/..' . '/sebastian/global-state/src/Blacklist.php', | |||
| 'SebastianBergmann\\GlobalState\\CodeExporter' => __DIR__ . '/..' . '/sebastian/global-state/src/CodeExporter.php', | |||
| 'SebastianBergmann\\GlobalState\\Exception' => __DIR__ . '/..' . '/sebastian/global-state/src/Exception.php', | |||
| 'SebastianBergmann\\GlobalState\\Restorer' => __DIR__ . '/..' . '/sebastian/global-state/src/Restorer.php', | |||
| 'SebastianBergmann\\GlobalState\\RuntimeException' => __DIR__ . '/..' . '/sebastian/global-state/src/RuntimeException.php', | |||
| 'SebastianBergmann\\GlobalState\\Snapshot' => __DIR__ . '/..' . '/sebastian/global-state/src/Snapshot.php', | |||
| 'SebastianBergmann\\RecursionContext\\Context' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Context.php', | |||
| 'SebastianBergmann\\RecursionContext\\Exception' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Exception.php', | |||
| 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/recursion-context/src/InvalidArgumentException.php', | |||
| 'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php', | |||
| 'Text_Template' => __DIR__ . '/..' . '/phpunit/php-text-template/src/Template.php', | |||
| ); | |||
| public static function getInitializer(ClassLoader $loader) | |||
| { | |||
| return \Closure::bind(function () use ($loader) { | |||
| $loader->prefixLengthsPsr4 = ComposerStaticInit8bf3ba2461922dfccf813cc2bb488ad6::$prefixLengthsPsr4; | |||
| $loader->prefixDirsPsr4 = ComposerStaticInit8bf3ba2461922dfccf813cc2bb488ad6::$prefixDirsPsr4; | |||
| $loader->prefixesPsr0 = ComposerStaticInit8bf3ba2461922dfccf813cc2bb488ad6::$prefixesPsr0; | |||
| $loader->classMap = ComposerStaticInit8bf3ba2461922dfccf813cc2bb488ad6::$classMap; | |||
| }, null, ClassLoader::class); | |||
| } | |||
| } | |||
| @@ -0,0 +1,5 @@ | |||
| phpunit.xml | |||
| composer.lock | |||
| build | |||
| vendor | |||
| coverage.clover | |||
| @@ -0,0 +1,46 @@ | |||
| before_commands: | |||
| - "composer install --prefer-source" | |||
| tools: | |||
| external_code_coverage: | |||
| timeout: 600 | |||
| php_code_coverage: | |||
| enabled: true | |||
| test_command: ./vendor/bin/phpunit | |||
| php_code_sniffer: | |||
| enabled: true | |||
| config: | |||
| standard: PSR2 | |||
| filter: | |||
| paths: ["src/*", "tests/*"] | |||
| php_cpd: | |||
| enabled: true | |||
| excluded_dirs: ["build/*", "tests", "vendor"] | |||
| php_cs_fixer: | |||
| enabled: true | |||
| config: | |||
| level: all | |||
| filter: | |||
| paths: ["src/*", "tests/*"] | |||
| php_loc: | |||
| enabled: true | |||
| excluded_dirs: ["build", "tests", "vendor"] | |||
| php_mess_detector: | |||
| enabled: true | |||
| config: | |||
| ruleset: phpmd.xml.dist | |||
| design_rules: { eval_expression: false } | |||
| filter: | |||
| paths: ["src/*"] | |||
| php_pdepend: | |||
| enabled: true | |||
| excluded_dirs: ["build", "tests", "vendor"] | |||
| php_analyzer: | |||
| enabled: true | |||
| filter: | |||
| paths: ["src/*", "tests/*"] | |||
| php_hhvm: | |||
| enabled: true | |||
| filter: | |||
| paths: ["src/*", "tests/*"] | |||
| sensiolabs_security_checker: true | |||
| @@ -0,0 +1,14 @@ | |||
| #!/bin/sh | |||
| set -x | |||
| if [ "$TRAVIS_PHP_VERSION" = 'hhvm' ] || [ "$TRAVIS_PHP_VERSION" = 'hhvm-nightly' ] ; then | |||
| curl -sS https://getcomposer.org/installer > composer-installer.php | |||
| hhvm composer-installer.php | |||
| hhvm -v ResourceLimit.SocketDefaultTimeout=30 -v Http.SlowQueryThreshold=30000 composer.phar update --prefer-source | |||
| elif [ "$TRAVIS_PHP_VERSION" = '5.3.3' ] ; then | |||
| composer self-update | |||
| composer update --prefer-source --no-dev | |||
| composer dump-autoload | |||
| else | |||
| composer self-update | |||
| composer update --prefer-source | |||
| fi | |||
| @@ -0,0 +1,22 @@ | |||
| language: php | |||
| php: | |||
| - 5.3.3 | |||
| - 5.3 | |||
| - 5.4 | |||
| - 5.5 | |||
| - 5.6 | |||
| - hhvm | |||
| before_script: | |||
| - ./.travis.install.sh | |||
| - if [ $TRAVIS_PHP_VERSION = '5.6' ]; then PHPUNIT_FLAGS="--coverage-clover coverage.clover"; else PHPUNIT_FLAGS=""; fi | |||
| script: | |||
| - if [ $TRAVIS_PHP_VERSION = '5.3.3' ]; then phpunit; fi | |||
| - if [ $TRAVIS_PHP_VERSION != '5.3.3' ]; then ./vendor/bin/phpunit $PHPUNIT_FLAGS; fi | |||
| - if [ $TRAVIS_PHP_VERSION != '5.3.3' ]; then ./vendor/bin/phpcs --standard=PSR2 ./src/ ./tests/; fi | |||
| - if [[ $TRAVIS_PHP_VERSION != '5.3.3' && $TRAVIS_PHP_VERSION != '5.4.29' && $TRAVIS_PHP_VERSION != '5.5.13' ]]; then php -n ./vendor/bin/athletic -p ./tests/DoctrineTest/InstantiatorPerformance/ -f GroupedFormatter; fi | |||
| after_script: | |||
| - if [ $TRAVIS_PHP_VERSION = '5.6' ]; then wget https://scrutinizer-ci.com/ocular.phar; php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi | |||
| @@ -0,0 +1,35 @@ | |||
| # Contributing | |||
| * Coding standard for the project is [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) | |||
| * The project will follow strict [object calisthenics](http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php) | |||
| * Any contribution must provide tests for additional introduced conditions | |||
| * Any un-confirmed issue needs a failing test case before being accepted | |||
| * Pull requests must be sent from a new hotfix/feature branch, not from `master`. | |||
| ## Installation | |||
| To install the project and run the tests, you need to clone it first: | |||
| ```sh | |||
| $ git clone git://github.com/doctrine/instantiator.git | |||
| ``` | |||
| You will then need to run a composer installation: | |||
| ```sh | |||
| $ cd Instantiator | |||
| $ curl -s https://getcomposer.org/installer | php | |||
| $ php composer.phar update | |||
| ``` | |||
| ## Testing | |||
| The PHPUnit version to be used is the one installed as a dev- dependency via composer: | |||
| ```sh | |||
| $ ./vendor/bin/phpunit | |||
| ``` | |||
| Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement | |||
| won't be merged. | |||
| @@ -0,0 +1,19 @@ | |||
| Copyright (c) 2014 Doctrine Project | |||
| Permission is hereby granted, free of charge, to any person obtaining a copy of | |||
| this software and associated documentation files (the "Software"), to deal in | |||
| the Software without restriction, including without limitation the rights to | |||
| use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies | |||
| of the Software, and to permit persons to whom the Software is furnished to do | |||
| so, subject to the following conditions: | |||
| The above copyright notice and this permission notice shall be included in all | |||
| copies or substantial portions of the Software. | |||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |||
| SOFTWARE. | |||
| @@ -0,0 +1,40 @@ | |||
| # Instantiator | |||
| This library provides a way of avoiding usage of constructors when instantiating PHP classes. | |||
| [](https://travis-ci.org/doctrine/instantiator) | |||
| [](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master) | |||
| [](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master) | |||
| [](https://www.versioneye.com/package/php--doctrine--instantiator) | |||
| [](http://hhvm.h4cc.de/package/doctrine/instantiator) | |||
| [](https://packagist.org/packages/doctrine/instantiator) | |||
| [](https://packagist.org/packages/doctrine/instantiator) | |||
| ## Installation | |||
| The suggested installation method is via [composer](https://getcomposer.org/): | |||
| ```sh | |||
| php composer.phar require "doctrine/instantiator:~1.0.3" | |||
| ``` | |||
| ## Usage | |||
| The instantiator is able to create new instances of any class without using the constructor or any API of the class | |||
| itself: | |||
| ```php | |||
| $instantiator = new \Doctrine\Instantiator\Instantiator(); | |||
| $instance = $instantiator->instantiate('My\\ClassName\\Here'); | |||
| ``` | |||
| ## Contributing | |||
| Please read the [CONTRIBUTING.md](CONTRIBUTING.md) contents if you wish to help out! | |||
| ## Credits | |||
| This library was migrated from [ocramius/instantiator](https://github.com/Ocramius/Instantiator), which | |||
| has been donated to the doctrine organization, and which is now deprecated in favour of this package. | |||
| @@ -0,0 +1,45 @@ | |||
| { | |||
| "name": "doctrine/instantiator", | |||
| "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", | |||
| "type": "library", | |||
| "license": "MIT", | |||
| "homepage": "https://github.com/doctrine/instantiator", | |||
| "keywords": [ | |||
| "instantiate", | |||
| "constructor" | |||
| ], | |||
| "authors": [ | |||
| { | |||
| "name": "Marco Pivetta", | |||
| "email": "ocramius@gmail.com", | |||
| "homepage": "http://ocramius.github.com/" | |||
| } | |||
| ], | |||
| "require": { | |||
| "php": ">=5.3,<8.0-DEV" | |||
| }, | |||
| "require-dev": { | |||
| "ext-phar": "*", | |||
| "ext-pdo": "*", | |||
| "phpunit/phpunit": "~4.0", | |||
| "squizlabs/php_codesniffer": "~2.0", | |||
| "athletic/athletic": "~0.1.8" | |||
| }, | |||
| "autoload": { | |||
| "psr-4": { | |||
| "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" | |||
| } | |||
| }, | |||
| "autoload-dev": { | |||
| "psr-0": { | |||
| "DoctrineTest\\InstantiatorPerformance\\": "tests", | |||
| "DoctrineTest\\InstantiatorTest\\": "tests", | |||
| "DoctrineTest\\InstantiatorTestAsset\\": "tests" | |||
| } | |||
| }, | |||
| "extra": { | |||
| "branch-alias": { | |||
| "dev-master": "1.0.x-dev" | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,27 @@ | |||
| <?xml version="1.0" encoding="UTF-8" ?> | |||
| <ruleset | |||
| name="Instantiator rules" | |||
| xmlns="http://pmd.sf.net/ruleset/1.0.0" | |||
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
| xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" | |||
| xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd" | |||
| > | |||
| <rule ref="rulesets/cleancode.xml"> | |||
| <!-- static access is used for caching purposes --> | |||
| <exclude name="StaticAccess"/> | |||
| </rule> | |||
| <rule ref="rulesets/codesize.xml"/> | |||
| <rule ref="rulesets/controversial.xml"/> | |||
| <rule ref="rulesets/design.xml"/> | |||
| <rule ref="rulesets/naming.xml"/> | |||
| <rule ref="rulesets/unusedcode.xml"/> | |||
| <rule | |||
| name="NPathComplexity" | |||
| message="The {0} {1}() has an NPath complexity of {2}. The configured NPath complexity threshold is {3}." | |||
| class="PHP_PMD_Rule_Design_NpathComplexity" | |||
| > | |||
| <properties> | |||
| <property name="minimum" description="The npath reporting threshold" value="10"/> | |||
| </properties> | |||
| </rule> | |||
| </ruleset> | |||