mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-27 19:53:36 +00:00
parent
6fdcd7f7e9
commit
287452169b
@ -5,7 +5,7 @@
|
|||||||
* MIT Licensed.
|
* MIT Licensed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var ical = require("ical");
|
var ical = require("./vendor/ical.js");
|
||||||
var moment = require("moment");
|
var moment = require("moment");
|
||||||
|
|
||||||
var CalendarFetcher = function(url, reloadInterval, maximumEntries, maximumNumberOfDays) {
|
var CalendarFetcher = function(url, reloadInterval, maximumEntries, maximumNumberOfDays) {
|
||||||
@ -71,26 +71,8 @@ var CalendarFetcher = function(url, reloadInterval, maximumEntries, maximumNumbe
|
|||||||
|
|
||||||
if (typeof event.rrule != "undefined" && !isFacebookBirthday) {
|
if (typeof event.rrule != "undefined" && !isFacebookBirthday) {
|
||||||
var rule = event.rrule;
|
var rule = event.rrule;
|
||||||
// console.log("Repeating event ...");
|
|
||||||
|
|
||||||
// Check if the timeset is set to this current time.
|
|
||||||
// If so, the RRULE line does not contain any BYHOUR, BYMINUTE, BYSECOND params.
|
|
||||||
// This causes the times of the recurring event to be incorrect.
|
|
||||||
// By adjusting the timeset property, this issue is solved.
|
|
||||||
|
|
||||||
|
|
||||||
if (rule.timeset[0].hour == now.getHours(),
|
|
||||||
rule.timeset[0].minute == now.getMinutes(),
|
|
||||||
rule.timeset[0].second == now.getSeconds()) {
|
|
||||||
|
|
||||||
rule.timeset[0].hour = startDate.format("H");
|
|
||||||
rule.timeset[0].minute = startDate.format("m");
|
|
||||||
rule.timeset[0].second = startDate.format("s");
|
|
||||||
}
|
|
||||||
|
|
||||||
rule.options.dtstart = startDate.toDate();
|
|
||||||
var dates = rule.between(today, future, true, limitFunction);
|
var dates = rule.between(today, future, true, limitFunction);
|
||||||
|
|
||||||
for (var d in dates) {
|
for (var d in dates) {
|
||||||
startDate = moment(new Date(dates[d]));
|
startDate = moment(new Date(dates[d]));
|
||||||
newEvents.push({
|
newEvents.push({
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
var CalendarFetcher = require("./calendarfetcher.js");
|
var CalendarFetcher = require("./calendarfetcher.js");
|
||||||
|
|
||||||
var url = 'http://p35-calendars.icloud.com/published/2/qsud2R2XlRhT3puEVfrzkeSd3X_QSfCMBmpgTsjVqOD2W_fyy0Y-5QskbvWw2jOQB_cPsmcjpGtcg1a3jBQ_QIS2H0XWSxjqCa8LX0dznpE';
|
var url = 'https://calendar.google.com/calendar/ical/pkm1t2uedjbp0uvq1o7oj1jouo%40group.calendar.google.com/private-08ba559f89eec70dd74bbd887d0a3598/basic.ics';
|
||||||
var fetchInterval = 60 * 60 * 1000;
|
var fetchInterval = 60 * 60 * 1000;
|
||||||
var maximumEntries = 10;
|
var maximumEntries = 10;
|
||||||
var maximumNumberOfDays = 365;
|
var maximumNumberOfDays = 365;
|
||||||
|
6
modules/default/calendar/vendor/ical.js/.travis.yml
vendored
Normal file
6
modules/default/calendar/vendor/ical.js/.travis.yml
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
language: node_js
|
||||||
|
node_js:
|
||||||
|
- "0.10"
|
||||||
|
- "0.12"
|
||||||
|
- "4.2"
|
||||||
|
install: npm install
|
178
modules/default/calendar/vendor/ical.js/LICENSE
vendored
Normal file
178
modules/default/calendar/vendor/ical.js/LICENSE
vendored
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
13
modules/default/calendar/vendor/ical.js/NOTICE
vendored
Normal file
13
modules/default/calendar/vendor/ical.js/NOTICE
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Copyright 2012 Peter Braden
|
||||||
|
|
||||||
|
Licensed 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.
|
13
modules/default/calendar/vendor/ical.js/example.js
vendored
Normal file
13
modules/default/calendar/vendor/ical.js/example.js
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
var ical = require('ical')
|
||||||
|
, months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
||||||
|
|
||||||
|
|
||||||
|
ical.fromURL('http://lanyrd.com/topics/nodejs/nodejs.ics', {}, function(err, data){
|
||||||
|
for (var k in data){
|
||||||
|
if (data.hasOwnProperty(k)){
|
||||||
|
var ev = data[k]
|
||||||
|
console.log("Conference", ev.summary, 'is in', ev.location, 'on the', ev.start.getDate(), 'of', months[ev.start.getMonth()] );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
309
modules/default/calendar/vendor/ical.js/ical.js
vendored
Executable file
309
modules/default/calendar/vendor/ical.js/ical.js
vendored
Executable file
@ -0,0 +1,309 @@
|
|||||||
|
(function(name, definition) {
|
||||||
|
|
||||||
|
/****************
|
||||||
|
* A tolerant, minimal icalendar parser
|
||||||
|
* (http://tools.ietf.org/html/rfc5545)
|
||||||
|
*
|
||||||
|
* <peterbraden@peterbraden.co.uk>
|
||||||
|
* **************/
|
||||||
|
|
||||||
|
if (typeof module !== 'undefined') {
|
||||||
|
module.exports = definition();
|
||||||
|
} else if (typeof define === 'function' && typeof define.amd === 'object'){
|
||||||
|
define(definition);
|
||||||
|
} else {
|
||||||
|
this[name] = definition();
|
||||||
|
}
|
||||||
|
|
||||||
|
}('ical', function(){
|
||||||
|
|
||||||
|
// Unescape Text re RFC 4.3.11
|
||||||
|
var text = function(t){
|
||||||
|
t = t || "";
|
||||||
|
return (t
|
||||||
|
.replace(/\\\,/g, ',')
|
||||||
|
.replace(/\\\;/g, ';')
|
||||||
|
.replace(/\\[nN]/g, '\n')
|
||||||
|
.replace(/\\\\/g, '\\')
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
var parseParams = function(p){
|
||||||
|
var out = {}
|
||||||
|
for (var i = 0; i<p.length; i++){
|
||||||
|
if (p[i].indexOf('=') > -1){
|
||||||
|
var segs = p[i].split('=');
|
||||||
|
|
||||||
|
out[segs[0]] = parseValue(segs.slice(1).join('='));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return out || sp
|
||||||
|
}
|
||||||
|
|
||||||
|
var parseValue = function(val){
|
||||||
|
if ('TRUE' === val)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if ('FALSE' === val)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
var number = Number(val);
|
||||||
|
if (!isNaN(number))
|
||||||
|
return number;
|
||||||
|
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
var storeParam = function(name){
|
||||||
|
return function(val, params, curr){
|
||||||
|
var data;
|
||||||
|
if (params && params.length && !(params.length==1 && params[0]==='CHARSET=utf-8')){
|
||||||
|
data = {params:parseParams(params), val:text(val)}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
data = text(val)
|
||||||
|
|
||||||
|
var current = curr[name];
|
||||||
|
if (Array.isArray(current)){
|
||||||
|
current.push(data);
|
||||||
|
return curr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (current != null){
|
||||||
|
curr[name] = [current, data];
|
||||||
|
return curr;
|
||||||
|
}
|
||||||
|
|
||||||
|
curr[name] = data;
|
||||||
|
return curr
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var addTZ = function(dt, name, params){
|
||||||
|
var p = parseParams(params);
|
||||||
|
|
||||||
|
if (params && p){
|
||||||
|
dt[name].tz = p.TZID
|
||||||
|
}
|
||||||
|
|
||||||
|
return dt
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var dateParam = function(name){
|
||||||
|
return function(val, params, curr){
|
||||||
|
|
||||||
|
// Store as string - worst case scenario
|
||||||
|
storeParam(name)(val, undefined, curr)
|
||||||
|
|
||||||
|
if (params && params[0] === "VALUE=DATE") {
|
||||||
|
// Just Date
|
||||||
|
|
||||||
|
var comps = /^(\d{4})(\d{2})(\d{2})$/.exec(val);
|
||||||
|
if (comps !== null) {
|
||||||
|
// No TZ info - assume same timezone as this computer
|
||||||
|
curr[name] = new Date(
|
||||||
|
comps[1],
|
||||||
|
parseInt(comps[2], 10)-1,
|
||||||
|
comps[3]
|
||||||
|
);
|
||||||
|
|
||||||
|
return addTZ(curr, name, params);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//typical RFC date-time format
|
||||||
|
var comps = /^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})(Z)?$/.exec(val);
|
||||||
|
if (comps !== null) {
|
||||||
|
if (comps[7] == 'Z'){ // GMT
|
||||||
|
curr[name] = new Date(Date.UTC(
|
||||||
|
parseInt(comps[1], 10),
|
||||||
|
parseInt(comps[2], 10)-1,
|
||||||
|
parseInt(comps[3], 10),
|
||||||
|
parseInt(comps[4], 10),
|
||||||
|
parseInt(comps[5], 10),
|
||||||
|
parseInt(comps[6], 10 )
|
||||||
|
));
|
||||||
|
// TODO add tz
|
||||||
|
} else {
|
||||||
|
curr[name] = new Date(
|
||||||
|
parseInt(comps[1], 10),
|
||||||
|
parseInt(comps[2], 10)-1,
|
||||||
|
parseInt(comps[3], 10),
|
||||||
|
parseInt(comps[4], 10),
|
||||||
|
parseInt(comps[5], 10),
|
||||||
|
parseInt(comps[6], 10)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return addTZ(curr, name, params)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var geoParam = function(name){
|
||||||
|
return function(val, params, curr){
|
||||||
|
storeParam(val, params, curr)
|
||||||
|
var parts = val.split(';');
|
||||||
|
curr[name] = {lat:Number(parts[0]), lon:Number(parts[1])};
|
||||||
|
return curr
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var categoriesParam = function (name) {
|
||||||
|
var separatorPattern = /\s*,\s*/g;
|
||||||
|
return function (val, params, curr) {
|
||||||
|
storeParam(val, params, curr)
|
||||||
|
if (curr[name] === undefined)
|
||||||
|
curr[name] = val ? val.split(separatorPattern) : []
|
||||||
|
else
|
||||||
|
if (val)
|
||||||
|
curr[name] = curr[name].concat(val.split(separatorPattern))
|
||||||
|
return curr
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var addFBType = function(fb, params){
|
||||||
|
var p = parseParams(params);
|
||||||
|
|
||||||
|
if (params && p){
|
||||||
|
fb.type = p.FBTYPE || "BUSY"
|
||||||
|
}
|
||||||
|
|
||||||
|
return fb;
|
||||||
|
}
|
||||||
|
|
||||||
|
var freebusyParam = function (name) {
|
||||||
|
return function(val, params, curr){
|
||||||
|
var fb = addFBType({}, params);
|
||||||
|
curr[name] = curr[name] || []
|
||||||
|
curr[name].push(fb);
|
||||||
|
|
||||||
|
storeParam(val, params, fb);
|
||||||
|
|
||||||
|
var parts = val.split('/');
|
||||||
|
|
||||||
|
['start', 'end'].forEach(function (name, index) {
|
||||||
|
dateParam(name)(parts[index], params, fb);
|
||||||
|
});
|
||||||
|
|
||||||
|
return curr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
|
||||||
|
|
||||||
|
objectHandlers : {
|
||||||
|
'BEGIN' : function(component, params, curr, stack){
|
||||||
|
stack.push(curr)
|
||||||
|
|
||||||
|
return {type:component, params:params}
|
||||||
|
}
|
||||||
|
|
||||||
|
, 'END' : function(component, params, curr, stack){
|
||||||
|
// prevents the need to search the root of the tree for the VCALENDAR object
|
||||||
|
if (component === "VCALENDAR") {
|
||||||
|
//scan all high level object in curr and drop all strings
|
||||||
|
var key,
|
||||||
|
obj;
|
||||||
|
|
||||||
|
for (key in curr) {
|
||||||
|
if(curr.hasOwnProperty(key)) {
|
||||||
|
obj = curr[key];
|
||||||
|
if (typeof obj === 'string') {
|
||||||
|
delete curr[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return curr
|
||||||
|
}
|
||||||
|
|
||||||
|
var par = stack.pop()
|
||||||
|
|
||||||
|
if (curr.uid)
|
||||||
|
par[curr.uid] = curr
|
||||||
|
else
|
||||||
|
par[Math.random()*100000] = curr // Randomly assign ID : TODO - use true GUID
|
||||||
|
|
||||||
|
return par
|
||||||
|
}
|
||||||
|
|
||||||
|
, 'SUMMARY' : storeParam('summary')
|
||||||
|
, 'DESCRIPTION' : storeParam('description')
|
||||||
|
, 'URL' : storeParam('url')
|
||||||
|
, 'UID' : storeParam('uid')
|
||||||
|
, 'LOCATION' : storeParam('location')
|
||||||
|
, 'DTSTART' : dateParam('start')
|
||||||
|
, 'DTEND' : dateParam('end')
|
||||||
|
,' CLASS' : storeParam('class')
|
||||||
|
, 'TRANSP' : storeParam('transparency')
|
||||||
|
, 'GEO' : geoParam('geo')
|
||||||
|
, 'PERCENT-COMPLETE': storeParam('completion')
|
||||||
|
, 'COMPLETED': dateParam('completed')
|
||||||
|
, 'CATEGORIES': categoriesParam('categories')
|
||||||
|
, 'FREEBUSY': freebusyParam('freebusy')
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
handleObject : function(name, val, params, ctx, stack, line){
|
||||||
|
var self = this
|
||||||
|
|
||||||
|
if(self.objectHandlers[name])
|
||||||
|
return self.objectHandlers[name](val, params, ctx, stack, line)
|
||||||
|
|
||||||
|
//handling custom properties
|
||||||
|
if(name.match(/X\-[\w\-]+/) && stack.length > 0) {
|
||||||
|
//trimming the leading and perform storeParam
|
||||||
|
name = name.substring(2);
|
||||||
|
return (storeParam(name))(val, params, ctx, stack, line);
|
||||||
|
}
|
||||||
|
|
||||||
|
return storeParam(name.toLowerCase())(val, params, ctx);
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
parseICS : function(str){
|
||||||
|
var self = this
|
||||||
|
var lines = str.split(/\r?\n/)
|
||||||
|
var ctx = {}
|
||||||
|
var stack = []
|
||||||
|
|
||||||
|
for (var i = 0, ii = lines.length, l = lines[0]; i<ii; i++, l=lines[i]){
|
||||||
|
//Unfold : RFC#3.1
|
||||||
|
while (lines[i+1] && /[ \t]/.test(lines[i+1][0])) {
|
||||||
|
l += lines[i+1].slice(1)
|
||||||
|
i += 1
|
||||||
|
}
|
||||||
|
|
||||||
|
var kv = l.split(":")
|
||||||
|
|
||||||
|
if (kv.length < 2){
|
||||||
|
// Invalid line - must have k&v
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Although the spec says that vals with colons should be quote wrapped
|
||||||
|
// in practise nobody does, so we assume further colons are part of the
|
||||||
|
// val
|
||||||
|
var value = kv.slice(1).join(":")
|
||||||
|
, kp = kv[0].split(";")
|
||||||
|
, name = kp[0]
|
||||||
|
, params = kp.slice(1)
|
||||||
|
|
||||||
|
ctx = self.handleObject(name, value, params, ctx, stack, l) || {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// type and params are added to the list of items, get rid of them.
|
||||||
|
delete ctx.type
|
||||||
|
delete ctx.params
|
||||||
|
|
||||||
|
return ctx
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}))
|
8
modules/default/calendar/vendor/ical.js/index.js
vendored
Normal file
8
modules/default/calendar/vendor/ical.js/index.js
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
module.exports = require('./ical')
|
||||||
|
|
||||||
|
var node = require('./node-ical')
|
||||||
|
|
||||||
|
// Copy node functions across to exports
|
||||||
|
for (var i in node){
|
||||||
|
module.exports[i] = node[i]
|
||||||
|
}
|
37
modules/default/calendar/vendor/ical.js/node-ical.js
vendored
Normal file
37
modules/default/calendar/vendor/ical.js/node-ical.js
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
var ical = require('./ical')
|
||||||
|
, request = require('request')
|
||||||
|
, fs = require('fs')
|
||||||
|
|
||||||
|
exports.fromURL = function(url, opts, cb){
|
||||||
|
if (!cb)
|
||||||
|
return;
|
||||||
|
request(url, opts, function(err, r, data){
|
||||||
|
if (err)
|
||||||
|
return cb(err, null);
|
||||||
|
cb(undefined, ical.parseICS(data));
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.parseFile = function(filename){
|
||||||
|
return ical.parseICS(fs.readFileSync(filename, 'utf8'))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var rrule = require('rrule').RRule
|
||||||
|
|
||||||
|
ical.objectHandlers['RRULE'] = function(val, params, curr, stack, line){
|
||||||
|
curr.rrule = line;
|
||||||
|
return curr
|
||||||
|
}
|
||||||
|
var originalEnd = ical.objectHandlers['END'];
|
||||||
|
ical.objectHandlers['END'] = function(val, params, curr, stack){
|
||||||
|
if (curr.rrule) {
|
||||||
|
var rule = curr.rrule.replace('RRULE:', '');
|
||||||
|
if (rule.indexOf('DTSTART') === -1) {
|
||||||
|
rule += ';DTSTART=' + curr.start.toISOString().replace(/[-:]/g, '');
|
||||||
|
rule = rule.replace(/\.[0-9]{3}/, '');
|
||||||
|
}
|
||||||
|
curr.rrule = rrule.fromString(rule);
|
||||||
|
}
|
||||||
|
return originalEnd.call(this, val, params, curr, stack);
|
||||||
|
}
|
28
modules/default/calendar/vendor/ical.js/package.json
vendored
Normal file
28
modules/default/calendar/vendor/ical.js/package.json
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"name": "ical",
|
||||||
|
"version": "0.5.0",
|
||||||
|
"main": "index.js",
|
||||||
|
"description": "A tolerant, minimal icalendar parser",
|
||||||
|
"keywords": [
|
||||||
|
"ical",
|
||||||
|
"ics",
|
||||||
|
"calendar"
|
||||||
|
],
|
||||||
|
"homepage": "https://github.com/peterbraden/ical.js",
|
||||||
|
"author": "Peter Braden <peterbraden@peterbraden.co.uk> (peterbraden.co.uk)",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git://github.com/peterbraden/ical.js.git"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"request": "2.68.0",
|
||||||
|
"rrule": "2.0.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"vows": "0.7.0",
|
||||||
|
"underscore": "1.3.0"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"test": "./node_modules/vows/bin/vows ./test/test.js"
|
||||||
|
}
|
||||||
|
}
|
51
modules/default/calendar/vendor/ical.js/readme.md
vendored
Normal file
51
modules/default/calendar/vendor/ical.js/readme.md
vendored
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# ical.js #
|
||||||
|
(Formerly node-ical)
|
||||||
|
|
||||||
|
[](https://travis-ci.org/peterbraden/ical.js)
|
||||||
|
|
||||||
|
A tolerant, minimal icalendar parser for javascript/node
|
||||||
|
(http://tools.ietf.org/html/rfc5545)
|
||||||
|
|
||||||
|
|
||||||
|
## Install - Node.js ##
|
||||||
|
|
||||||
|
ical.js is availble on npm:
|
||||||
|
|
||||||
|
npm install ical
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## API ##
|
||||||
|
|
||||||
|
ical.parseICS(str)
|
||||||
|
|
||||||
|
Parses a string with an ICS File
|
||||||
|
|
||||||
|
var data = ical.parseFile(filename)
|
||||||
|
|
||||||
|
Reads in the specified iCal file, parses it and returns the parsed data
|
||||||
|
|
||||||
|
ical.fromURL(url, options, function(err, data) {} )
|
||||||
|
|
||||||
|
Use the request library to fetch the specified URL (```opts``` gets passed on to the ```request()``` call), and call the function with the result (either an error or the data).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Example 1 - Print list of upcoming node conferences (see example.js)
|
||||||
|
```javascript
|
||||||
|
var ical = require('ical')
|
||||||
|
, months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
||||||
|
|
||||||
|
ical.fromURL('http://lanyrd.com/topics/nodejs/nodejs.ics', {}, function(err, data) {
|
||||||
|
for (var k in data){
|
||||||
|
if (data.hasOwnProperty(k)) {
|
||||||
|
var ev = data[k]
|
||||||
|
console.log("Conference",
|
||||||
|
ev.summary,
|
||||||
|
'is in',
|
||||||
|
ev.location,
|
||||||
|
'on the', ev.start.getDate(), 'of', months[ev.start.getMonth()]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
```
|
393
modules/default/calendar/vendor/ical.js/test/test.js
vendored
Executable file
393
modules/default/calendar/vendor/ical.js/test/test.js
vendored
Executable file
@ -0,0 +1,393 @@
|
|||||||
|
/****
|
||||||
|
* Tests
|
||||||
|
*
|
||||||
|
*
|
||||||
|
***/
|
||||||
|
process.env.TZ = 'America/San_Francisco';
|
||||||
|
var ical = require('../index')
|
||||||
|
|
||||||
|
var vows = require('vows')
|
||||||
|
, assert = require('assert')
|
||||||
|
, _ = require('underscore')
|
||||||
|
|
||||||
|
vows.describe('node-ical').addBatch({
|
||||||
|
'when parsing test1.ics (node conferences schedule from lanyrd.com, modified)': {
|
||||||
|
topic: function () {
|
||||||
|
return ical.parseFile('./test/test1.ics')
|
||||||
|
}
|
||||||
|
|
||||||
|
,'we get 9 events': function (topic) {
|
||||||
|
var events = _.select(_.values(topic), function(x){ return x.type==='VEVENT'})
|
||||||
|
assert.equal (events.length, 9);
|
||||||
|
}
|
||||||
|
|
||||||
|
,'event 47f6e' : {
|
||||||
|
topic: function(events){
|
||||||
|
return _.select(_.values(events),
|
||||||
|
function(x){
|
||||||
|
return x.uid ==='47f6ea3f28af2986a2192fa39a91fa7d60d26b76'})[0]
|
||||||
|
}
|
||||||
|
,'is in fort lauderdale' : function(topic){
|
||||||
|
assert.equal(topic.location, "Fort Lauderdale, United States")
|
||||||
|
}
|
||||||
|
,'starts Tue, 29 Nov 2011' : function(topic){
|
||||||
|
assert.equal(topic.start.toDateString(), new Date(2011,10,29).toDateString())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, 'event 480a' : {
|
||||||
|
topic: function(events){
|
||||||
|
return _.select(_.values(events),
|
||||||
|
function(x){
|
||||||
|
return x.uid ==='480a3ad48af5ed8965241f14920f90524f533c18'})[0]
|
||||||
|
}
|
||||||
|
, 'has a summary (invalid colon handling tolerance)' : function(topic){
|
||||||
|
assert.equal(topic.summary, '[Async]: Everything Express')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, 'event d4c8' :{
|
||||||
|
topic : function(events){
|
||||||
|
return _.select(_.values(events),
|
||||||
|
function(x){
|
||||||
|
return x.uid === 'd4c826dfb701f611416d69b4df81caf9ff80b03a'})[0]
|
||||||
|
}
|
||||||
|
, 'has a start datetime' : function(topic){
|
||||||
|
assert.equal(topic.start.toDateString(), new Date(Date.UTC(2011, 2, 12, 20, 0, 0)).toDateString())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, 'event sdfkf09fsd0 (Invalid Date)' :{
|
||||||
|
topic : function(events){
|
||||||
|
return _.select(_.values(events),
|
||||||
|
function(x){
|
||||||
|
return x.uid === 'sdfkf09fsd0'})[0]
|
||||||
|
}
|
||||||
|
, 'has a start datetime' : function(topic){
|
||||||
|
assert.equal(topic.start, "Next Year")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, 'with test2.ics (testing ical features)' : {
|
||||||
|
topic: function () {
|
||||||
|
return ical.parseFile('./test/test2.ics')
|
||||||
|
}
|
||||||
|
, 'todo item uid4@host1.com' : {
|
||||||
|
topic : function(items){
|
||||||
|
return items['uid4@host1.com']
|
||||||
|
}
|
||||||
|
, 'is a VTODO' : function(topic){
|
||||||
|
assert.equal(topic.type, 'VTODO')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, 'vfreebusy' : {
|
||||||
|
topic: function(events) {
|
||||||
|
return _.select(_.values(events), function(x) {
|
||||||
|
return x.type === 'VFREEBUSY';
|
||||||
|
})[0];
|
||||||
|
}
|
||||||
|
, 'has a URL' : function(topic) {
|
||||||
|
assert.equal(topic.url, 'http://www.host.com/calendar/busytime/jsmith.ifb');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, 'vfreebusy first freebusy' : {
|
||||||
|
topic: function(events) {
|
||||||
|
return _.select(_.values(events), function(x) {
|
||||||
|
return x.type === 'VFREEBUSY';
|
||||||
|
})[0].freebusy[0];
|
||||||
|
}
|
||||||
|
, 'has undefined type defaulting to busy' : function(topic) {
|
||||||
|
assert.equal(topic.type, "BUSY");
|
||||||
|
}
|
||||||
|
, 'has an start datetime' : function(topic) {
|
||||||
|
assert.equal(topic.start.getFullYear(), 1998);
|
||||||
|
assert.equal(topic.start.getUTCMonth(), 2);
|
||||||
|
assert.equal(topic.start.getUTCDate(), 14);
|
||||||
|
assert.equal(topic.start.getUTCHours(), 23);
|
||||||
|
assert.equal(topic.start.getUTCMinutes(), 30);
|
||||||
|
}
|
||||||
|
, 'has an end datetime' : function(topic) {
|
||||||
|
assert.equal(topic.end.getFullYear(), 1998);
|
||||||
|
assert.equal(topic.end.getUTCMonth(), 2);
|
||||||
|
assert.equal(topic.end.getUTCDate(), 15);
|
||||||
|
assert.equal(topic.end.getUTCHours(), 00);
|
||||||
|
assert.equal(topic.end.getUTCMinutes(), 30);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, 'with test3.ics (testing tvcountdown.com)' : {
|
||||||
|
topic: function() {
|
||||||
|
return ical.parseFile('./test/test3.ics');
|
||||||
|
}
|
||||||
|
, 'event -83' : {
|
||||||
|
topic: function(events) {
|
||||||
|
return _.select(_.values(events), function(x) {
|
||||||
|
return x.uid === '20110505T220000Z-83@tvcountdown.com';
|
||||||
|
})[0];
|
||||||
|
}
|
||||||
|
, 'has a start datetime' : function(topic) {
|
||||||
|
assert.equal(topic.start.getFullYear(), 2011);
|
||||||
|
assert.equal(topic.start.getMonth(), 4);
|
||||||
|
}
|
||||||
|
, 'has an end datetime' : function(topic) {
|
||||||
|
assert.equal(topic.end.getFullYear(), 2011);
|
||||||
|
assert.equal(topic.end.getMonth(), 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, 'with test4.ics (testing tripit.com)' : {
|
||||||
|
topic: function() {
|
||||||
|
return ical.parseFile('./test/test4.ics');
|
||||||
|
}
|
||||||
|
, 'event c32a5...' : {
|
||||||
|
topic: function(events) {
|
||||||
|
return _.select(_.values(events), function(x) {
|
||||||
|
return x.uid === 'c32a5eaba2354bb29e012ec18da827db90550a3b@tripit.com';
|
||||||
|
})[0];
|
||||||
|
}
|
||||||
|
, 'has a start datetime' : function(topic) {
|
||||||
|
assert.equal(topic.start.getFullYear(), 2011);
|
||||||
|
assert.equal(topic.start.getMonth(), 09);
|
||||||
|
assert.equal(topic.start.getDate(), 11);
|
||||||
|
}
|
||||||
|
|
||||||
|
, 'has a summary' : function(topic){
|
||||||
|
// escaped commas and semicolons should be replaced
|
||||||
|
assert.equal(topic.summary, 'South San Francisco, CA, October 2011;')
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
, 'has a description' : function(topic){
|
||||||
|
var desired = 'John Doe is in South San Francisco, CA from Oct 11 ' +
|
||||||
|
'to Oct 13, 2011\nView and/or edit details in TripIt : http://www.tripit.c' +
|
||||||
|
'om/trip/show/id/23710889\nTripIt - organize your travel at http://www.trip' +
|
||||||
|
'it.com\n'
|
||||||
|
assert.equal(topic.description, desired)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
, 'has a geolocation' : function(topic){
|
||||||
|
assert.ok(topic.geo, 'no geo param')
|
||||||
|
assert.equal(topic.geo.lat, 37.654656)
|
||||||
|
assert.equal(topic.geo.lon, -122.40775)
|
||||||
|
}
|
||||||
|
|
||||||
|
, 'has transparency' : function(topic){
|
||||||
|
assert.equal(topic.transparency, 'TRANSPARENT')
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
, 'with test5.ics (testing meetup.com)' : {
|
||||||
|
topic: function () {
|
||||||
|
return ical.parseFile('./test/test5.ics')
|
||||||
|
}
|
||||||
|
, 'event nsmxnyppbfc@meetup.com' : {
|
||||||
|
topic: function(events) {
|
||||||
|
return _.select(_.values(events), function(x) {
|
||||||
|
return x.uid === 'event_nsmxnyppbfc@meetup.com';
|
||||||
|
})[0];
|
||||||
|
}
|
||||||
|
, 'has a start' : function(topic){
|
||||||
|
assert.equal(topic.start.tz, 'America/Phoenix')
|
||||||
|
assert.equal(topic.start.toISOString(), new Date(2011, 10, 09, 19, 0,0).toISOString())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, 'with test6.ics (testing assembly.org)' : {
|
||||||
|
topic: function () {
|
||||||
|
return ical.parseFile('./test/test6.ics')
|
||||||
|
}
|
||||||
|
, 'event with no ID' : {
|
||||||
|
topic: function(events) {
|
||||||
|
return _.select(_.values(events), function(x) {
|
||||||
|
return x.summary === 'foobar Summer 2011 starts!';
|
||||||
|
})[0];
|
||||||
|
}
|
||||||
|
, 'has a start' : function(topic){
|
||||||
|
assert.equal(topic.start.toISOString(), new Date(2011, 07, 04, 12, 0,0).toISOString())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, 'event with rrule' :{
|
||||||
|
topic: function(events){
|
||||||
|
return _.select(_.values(events), function(x){
|
||||||
|
return x.summary == "foobarTV broadcast starts"
|
||||||
|
})[0];
|
||||||
|
}
|
||||||
|
, "Has an RRULE": function(topic){
|
||||||
|
assert.notEqual(topic.rrule, undefined);
|
||||||
|
}
|
||||||
|
, "RRule text": function(topic){
|
||||||
|
assert.equal(topic.rrule.toText(), "every 5 weeks on Monday, Friday until January 30, 2013")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, 'with test7.ics (testing dtstart of rrule)' :{
|
||||||
|
topic: function() {
|
||||||
|
return ical.parseFile('./test/test7.ics');
|
||||||
|
},
|
||||||
|
'recurring yearly event (14 july)': {
|
||||||
|
topic: function(events){
|
||||||
|
var ev = _.values(events)[0];
|
||||||
|
return ev.rrule.between(new Date(2013, 0, 1), new Date(2014, 0, 1));
|
||||||
|
},
|
||||||
|
'dt start well set': function(topic) {
|
||||||
|
assert.equal(topic[0].toDateString(), new Date(2013, 6, 14).toDateString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "with test 8.ics (VTODO completion)": {
|
||||||
|
topic: function() {
|
||||||
|
return ical.parseFile('./test/test8.ics');
|
||||||
|
},
|
||||||
|
'grabbing VTODO task': {
|
||||||
|
topic: function(topic) {
|
||||||
|
return _.values(topic)[0];
|
||||||
|
},
|
||||||
|
'task completed': function(task){
|
||||||
|
assert.equal(task.completion, 100);
|
||||||
|
assert.equal(task.completed.toISOString(), new Date(2013, 06, 16, 10, 57, 45).toISOString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "with test 9.ics (VEVENT with VALARM)": {
|
||||||
|
topic: function() {
|
||||||
|
return ical.parseFile('./test/test9.ics');
|
||||||
|
},
|
||||||
|
'grabbing VEVENT task': {
|
||||||
|
topic: function(topic) {
|
||||||
|
return _.values(topic)[0];
|
||||||
|
},
|
||||||
|
'task completed': function(task){
|
||||||
|
assert.equal(task.summary, "Event with an alarm");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, 'with test 11.ics (VEVENT with custom properties)': {
|
||||||
|
topic: function() {
|
||||||
|
return ical.parseFile('./test10.ics');
|
||||||
|
},
|
||||||
|
'grabbing custom properties': {
|
||||||
|
topic: function(topic) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'with test10.ics': {
|
||||||
|
topic: function () {
|
||||||
|
return ical.parseFile('./test/test10.ics');
|
||||||
|
},
|
||||||
|
|
||||||
|
'when categories present': {
|
||||||
|
topic: function (t) {return _.values(t)[0]},
|
||||||
|
|
||||||
|
'should be a list': function (e) {
|
||||||
|
assert(e.categories instanceof [].constructor);
|
||||||
|
},
|
||||||
|
|
||||||
|
'should contain individual category values': function (e) {
|
||||||
|
assert.deepEqual(e.categories, ['cat1', 'cat2', 'cat3']);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'when categories present with trailing whitespace': {
|
||||||
|
topic: function (t) {return _.values(t)[1]},
|
||||||
|
|
||||||
|
'should contain individual category values without whitespace': function (e) {
|
||||||
|
assert.deepEqual(e.categories, ['cat1', 'cat2', 'cat3']);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'when categories present but empty': {
|
||||||
|
topic: function (t) {return _.values(t)[2]},
|
||||||
|
|
||||||
|
'should be an empty list': function (e) {
|
||||||
|
assert.deepEqual(e.categories, []);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'when categories present but singular': {
|
||||||
|
topic: function (t) {return _.values(t)[3]},
|
||||||
|
|
||||||
|
'should be a list of single item': function (e) {
|
||||||
|
assert.deepEqual(e.categories, ['lonely-cat']);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'when categories present on multiple lines': {
|
||||||
|
topic: function (t) {return _.values(t)[4]},
|
||||||
|
|
||||||
|
'should contain the category values in an array': function (e) {
|
||||||
|
assert.deepEqual(e.categories, ['cat1', 'cat2', 'cat3']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'with test11.ics (testing zimbra freebusy)': {
|
||||||
|
topic: function () {
|
||||||
|
return ical.parseFile('./test/test11.ics');
|
||||||
|
},
|
||||||
|
|
||||||
|
'freebusy params' : {
|
||||||
|
topic: function(events) {
|
||||||
|
return _.values(events)[0];
|
||||||
|
}
|
||||||
|
, 'has a URL' : function(topic) {
|
||||||
|
assert.equal(topic.url, 'http://mail.example.com/yvr-2a@example.com/20140416');
|
||||||
|
}
|
||||||
|
, 'has an ORGANIZER' : function(topic) {
|
||||||
|
assert.equal(topic.organizer, 'mailto:yvr-2a@example.com');
|
||||||
|
}
|
||||||
|
, 'has an start datetime' : function(topic) {
|
||||||
|
assert.equal(topic.start.getFullYear(), 2014);
|
||||||
|
assert.equal(topic.start.getMonth(), 3);
|
||||||
|
}
|
||||||
|
, 'has an end datetime' : function(topic) {
|
||||||
|
assert.equal(topic.end.getFullYear(), 2014);
|
||||||
|
assert.equal(topic.end.getMonth(), 6);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, 'freebusy busy events' : {
|
||||||
|
topic: function(events) {
|
||||||
|
return _.select(_.values(events)[0].freebusy, function(x) {
|
||||||
|
return x.type === 'BUSY';
|
||||||
|
})[0];
|
||||||
|
}
|
||||||
|
, 'has an start datetime' : function(topic) {
|
||||||
|
assert.equal(topic.start.getFullYear(), 2014);
|
||||||
|
assert.equal(topic.start.getMonth(), 3);
|
||||||
|
assert.equal(topic.start.getUTCHours(), 15);
|
||||||
|
assert.equal(topic.start.getUTCMinutes(), 15);
|
||||||
|
}
|
||||||
|
, 'has an end datetime' : function(topic) {
|
||||||
|
assert.equal(topic.end.getFullYear(), 2014);
|
||||||
|
assert.equal(topic.end.getMonth(), 3);
|
||||||
|
assert.equal(topic.end.getUTCHours(), 19);
|
||||||
|
assert.equal(topic.end.getUTCMinutes(), 00);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'url request errors' : {
|
||||||
|
topic : function () {
|
||||||
|
ical.fromURL('http://not.exist/', {}, this.callback);
|
||||||
|
}
|
||||||
|
, 'are passed back to the callback' : function (err, result) {
|
||||||
|
assert.instanceOf(err, Error);
|
||||||
|
if (!err){
|
||||||
|
console.log(">E:", err, result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).export(module)
|
||||||
|
|
||||||
|
|
||||||
|
//ical.fromURL('http://lanyrd.com/topics/nodejs/nodejs.ics',
|
||||||
|
// {},
|
||||||
|
// function(err, data){
|
||||||
|
// console.log("OUT:", data)
|
||||||
|
// })
|
78
modules/default/calendar/vendor/ical.js/test/test1.ics
vendored
Normal file
78
modules/default/calendar/vendor/ical.js/test/test1.ics
vendored
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
BEGIN:VCALENDAR
|
||||||
|
PRODID:-//lanyrd.com//Lanyrd//EN
|
||||||
|
X-ORIGINAL-URL:http://lanyrd.com/topics/nodejs/nodejs.ics
|
||||||
|
X-WR-CALNAME;CHARSET=utf-8:Node.js conferences
|
||||||
|
VERSION:2.0
|
||||||
|
METHOD:PUBLISH
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SUMMARY;CHARSET=utf-8:Dyncon 2011
|
||||||
|
LOCATION;CHARSET=utf-8:Stockholm, Sweden
|
||||||
|
URL:http://lanyrd.com/2011/dyncon/
|
||||||
|
UID:d4c826dfb701f611416d69b4df81caf9ff80b03a
|
||||||
|
DTSTART:20110312T200000Z
|
||||||
|
DTEND;VALUE=DATE:20110314
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SUMMARY;CHARSET=utf-8:[Async]: Everything Express
|
||||||
|
LOCATION;CHARSET=utf-8:Brighton, United Kingdom
|
||||||
|
URL:http://lanyrd.com/2011/asyncjs-express/
|
||||||
|
UID:480a3ad48af5ed8965241f14920f90524f533c18
|
||||||
|
DTSTART;VALUE=DATE:20110324
|
||||||
|
DTEND;VALUE=DATE:20110325
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SUMMARY;CHARSET=utf-8:JSConf US 2011
|
||||||
|
LOCATION;CHARSET=utf-8:Portland, United States
|
||||||
|
URL:http://lanyrd.com/2011/jsconf/
|
||||||
|
UID:ed334cc85db5ebdff5ff5a630a7a48631a677dbe
|
||||||
|
DTSTART;VALUE=DATE:20110502
|
||||||
|
DTEND;VALUE=DATE:20110504
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SUMMARY;CHARSET=utf-8:NodeConf 2011
|
||||||
|
LOCATION;CHARSET=utf-8:Portland, United States
|
||||||
|
URL:http://lanyrd.com/2011/nodeconf/
|
||||||
|
UID:25169a7b1ba5c248278f47120a40878055dc8c15
|
||||||
|
DTSTART;VALUE=DATE:20110505
|
||||||
|
DTEND;VALUE=DATE:20110506
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SUMMARY;CHARSET=utf-8:BrazilJS
|
||||||
|
LOCATION;CHARSET=utf-8:Fortaleza, Brazil
|
||||||
|
URL:http://lanyrd.com/2011/braziljs/
|
||||||
|
UID:dafee3be83624f3388c5635662229ff11766bb9c
|
||||||
|
DTSTART;VALUE=DATE:20110513
|
||||||
|
DTEND;VALUE=DATE:20110515
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SUMMARY;CHARSET=utf-8:Falsy Values
|
||||||
|
LOCATION;CHARSET=utf-8:Warsaw, Poland
|
||||||
|
URL:http://lanyrd.com/2011/falsy-values/
|
||||||
|
UID:73cad6a09ac4e7310979c6130f871d17d990b5ad
|
||||||
|
DTSTART;VALUE=DATE:20110518
|
||||||
|
DTEND;VALUE=DATE:20110521
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SUMMARY;CHARSET=utf-8:nodecamp.eu
|
||||||
|
LOCATION;CHARSET=utf-8:Cologne, Germany
|
||||||
|
URL:http://lanyrd.com/2011/nodecampde/
|
||||||
|
UID:b728a5fdb5f292b6293e4a2fd97a1ccfc69e9d6f
|
||||||
|
DTSTART;VALUE=DATE:20110611
|
||||||
|
DTEND;VALUE=DATE:20110613
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SUMMARY;CHARSET=utf-8:Rich Web Experience 2011
|
||||||
|
LOCATION;CHARSET=utf-8:Fort Lauderdale, United States
|
||||||
|
URL:http://lanyrd.com/2011/rich-web-experience/
|
||||||
|
UID:47f6ea3f28af2986a2192fa39a91fa7d60d26b76
|
||||||
|
DTSTART;VALUE=DATE:20111129
|
||||||
|
DTEND;VALUE=DATE:20111203
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SUMMARY;CHARSET=utf-8:Foobar
|
||||||
|
UID:sdfkf09fsd0
|
||||||
|
DTSTART;VALUE=DATE:Next Year
|
||||||
|
DTEND;VALUE=DATE:20111203
|
||||||
|
END:VEVENT
|
||||||
|
|
||||||
|
END:VCALENDAR
|
34
modules/default/calendar/vendor/ical.js/test/test10.ics
vendored
Normal file
34
modules/default/calendar/vendor/ical.js/test/test10.ics
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
BEGIN:VCALENDAR
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:1
|
||||||
|
SUMMARY:Event with a category
|
||||||
|
DESCRIPTION:Details for an event with a category
|
||||||
|
CATEGORIES:cat1,cat2,cat3
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:2
|
||||||
|
SUMMARY:Event with a category
|
||||||
|
DESCRIPTION:Details for an event with a category
|
||||||
|
CATEGORIES:cat1 , cat2, cat3
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:3
|
||||||
|
SUMMARY:Event with a category
|
||||||
|
DESCRIPTION:Details for an event with a category
|
||||||
|
CATEGORIES:
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:4
|
||||||
|
SUMMARY:Event with a category
|
||||||
|
DESCRIPTION:Details for an event with a category
|
||||||
|
CATEGORIES:lonely-cat
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:5
|
||||||
|
SUMMARY:Event with a category
|
||||||
|
DESCRIPTION:Details for an event with a category
|
||||||
|
CATEGORIES:cat1
|
||||||
|
CATEGORIES:cat2
|
||||||
|
CATEGORIES:cat3
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
41
modules/default/calendar/vendor/ical.js/test/test11.ics
vendored
Normal file
41
modules/default/calendar/vendor/ical.js/test/test11.ics
vendored
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
BEGIN:VCALENDAR
|
||||||
|
PRODID:Zimbra-Calendar-Provider
|
||||||
|
VERSION:2.0
|
||||||
|
METHOD:PUBLISH
|
||||||
|
BEGIN:VFREEBUSY
|
||||||
|
ORGANIZER:mailto:yvr-2a@example.com
|
||||||
|
DTSTAMP:20140516T235436Z
|
||||||
|
DTSTART:20140415T235436Z
|
||||||
|
DTEND:20140717T235436Z
|
||||||
|
URL:http://mail.example.com/yvr-2a@example.com/20140416
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140416T151500Z/20140416T190000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140416T195500Z/20140416T231500Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140417T193000Z/20140417T203000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140421T210000Z/20140421T213000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140423T180000Z/20140423T190000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140423T200000Z/20140423T210000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140423T223500Z/20140423T231500Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140424T155000Z/20140424T165500Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140424T170000Z/20140424T183000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140424T195000Z/20140424T230000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140425T144500Z/20140425T161500Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140425T180000Z/20140425T194500Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140425T223000Z/20140425T230000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140428T151500Z/20140428T163000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140428T170000Z/20140428T173000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140428T195500Z/20140428T213000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140428T231000Z/20140428T234000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140429T152500Z/20140429T170000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140429T180000Z/20140429T183000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140429T201500Z/20140429T230000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140430T162500Z/20140430T165500Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140430T180000Z/20140430T190000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140501T170000Z/20140501T173000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140501T175000Z/20140501T190000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140501T232000Z/20140501T235000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140502T163500Z/20140502T173000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140505T165500Z/20140505T173000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140505T201500Z/20140505T203000Z
|
||||||
|
FREEBUSY;FBTYPE=BUSY:20140505T210000Z/20140505T213000Z
|
||||||
|
END:VFREEBUSY
|
||||||
|
END:VCALENDAR
|
83
modules/default/calendar/vendor/ical.js/test/test2.ics
vendored
Normal file
83
modules/default/calendar/vendor/ical.js/test/test2.ics
vendored
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
BEGIN:VCALENDAR
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
|
X-WR-TIMEZONE;VALUE=TEXT:US/Pacific
|
||||||
|
METHOD:PUBLISH
|
||||||
|
PRODID:-//Apple Computer\, Inc//iCal 1.0//EN
|
||||||
|
X-WR-CALNAME;VALUE=TEXT:Example
|
||||||
|
VERSION:2.0
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SEQUENCE:5
|
||||||
|
DTSTART;TZID=US/Pacific:20021028T140000
|
||||||
|
DTSTAMP:20021028T011706Z
|
||||||
|
SUMMARY:Coffee with Jason
|
||||||
|
UID:EC9439B1-FF65-11D6-9973-003065F99D04
|
||||||
|
DTEND;TZID=US/Pacific:20021028T150000
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VALARM
|
||||||
|
TRIGGER;VALUE=DURATION:-P1D
|
||||||
|
ACTION:DISPLAY
|
||||||
|
DESCRIPTION:Event reminder
|
||||||
|
END:VALARM
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SEQUENCE:1
|
||||||
|
DTSTAMP:20021128T012034Z
|
||||||
|
SUMMARY:Code Review
|
||||||
|
UID:EC944331-FF65-11D6-9973-003065F99D04
|
||||||
|
DTSTART;TZID=US/Pacific:20021127T120000
|
||||||
|
DURATION:PT1H
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
SEQUENCE:1
|
||||||
|
DTSTAMP:20021028T012034Z
|
||||||
|
SUMMARY:Dinner with T
|
||||||
|
UID:EC944CFA-FF65-11D6-9973-003065F99D04
|
||||||
|
DTSTART;TZID=US/Pacific:20021216T200000
|
||||||
|
DURATION:PT1H
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VTODO
|
||||||
|
DTSTAMP:19980130T134500Z
|
||||||
|
SEQUENCE:2
|
||||||
|
UID:uid4@host1.com
|
||||||
|
ORGANIZER:MAILTO:unclesam@us.gov
|
||||||
|
ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:jqpublic@host.com
|
||||||
|
DUE:19980415T235959
|
||||||
|
STATUS:NEEDS-ACTION
|
||||||
|
SUMMARY:Submit Income Taxes
|
||||||
|
END:VTODO
|
||||||
|
BEGIN:VALARM
|
||||||
|
ACTION:AUDIO
|
||||||
|
TRIGGER:19980403T120000
|
||||||
|
ATTACH;FMTTYPE=audio/basic:http://host.com/pub/audio-
|
||||||
|
files/ssbanner.aud
|
||||||
|
REPEAT:4
|
||||||
|
DURATION:PT1H
|
||||||
|
END:VALARM
|
||||||
|
BEGIN:VJOURNAL
|
||||||
|
DTSTAMP:19970324T120000Z
|
||||||
|
UID:uid5@host1.com
|
||||||
|
ORGANIZER:MAILTO:jsmith@host.com
|
||||||
|
STATUS:DRAFT
|
||||||
|
CLASS:PUBLIC
|
||||||
|
CATEGORY:Project Report, XYZ, Weekly Meeting
|
||||||
|
DESCRIPTION:Project xyz Review Meeting Minutes\n
|
||||||
|
Agenda\n1. Review of project version 1.0 requirements.\n2.
|
||||||
|
Definition
|
||||||
|
of project processes.\n3. Review of project schedule.\n
|
||||||
|
Participants: John Smith, Jane Doe, Jim Dandy\n-It was
|
||||||
|
decided that the requirements need to be signed off by
|
||||||
|
product marketing.\n-Project processes were accepted.\n
|
||||||
|
-Project schedule needs to account for scheduled holidays
|
||||||
|
and employee vacation time. Check with HR for specific
|
||||||
|
dates.\n-New schedule will be distributed by Friday.\n-
|
||||||
|
Next weeks meeting is cancelled. No meeting until 3/23.
|
||||||
|
END:VJOURNAL
|
||||||
|
BEGIN:VFREEBUSY
|
||||||
|
ORGANIZER:MAILTO:jsmith@host.com
|
||||||
|
DTSTART:19980313T141711Z
|
||||||
|
DTEND:19980410T141711Z
|
||||||
|
FREEBUSY:19980314T233000Z/19980315T003000Z
|
||||||
|
FREEBUSY:19980316T153000Z/19980316T163000Z
|
||||||
|
FREEBUSY:19980318T030000Z/19980318T040000Z
|
||||||
|
URL:http://www.host.com/calendar/busytime/jsmith.ifb
|
||||||
|
END:VFREEBUSY
|
||||||
|
END:VCALENDAR
|
226
modules/default/calendar/vendor/ical.js/test/test3.ics
vendored
Normal file
226
modules/default/calendar/vendor/ical.js/test/test3.ics
vendored
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
BEGIN:VCALENDAR
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
|
PRODID:tvcountdown.com
|
||||||
|
X-WR-CALNAME:tvcountdown.com
|
||||||
|
VERSION:2.0
|
||||||
|
METHOD:PUBLISH
|
||||||
|
X-WR-TIMEZONE:US/Eastern
|
||||||
|
X-WR-CALNAME;VALUE=TEXT:tvcountdown.com
|
||||||
|
X-WR-CALDESC:
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110519T200000Z-79@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110519T200000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110519T203000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Big Bang Theory - S04E24 - The Roomate Transmogrfication
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110512T200000Z-79@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110512T200000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110512T203000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Big Bang Theory - S04E23 - The Engagement Reaction
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110505T220000Z-83@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110505T220000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110505T223000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:30 Rock - S05E23 - Respawn
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110505T200000Z-79@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110505T200000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110505T203000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Big Bang Theory - S04E22 - The Wildebeest Implementation
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110504T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110504T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110504T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E59 - David Barton
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110503T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110503T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110503T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E58 - Rachel Maddow
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110502T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110502T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110502T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E57 - Philip K. Howard
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110428T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110428T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110428T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E56 - William Cohan
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110428T220000Z-83@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110428T220000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110428T223000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:30 Rock - S05E22 - Everything Sunny All the Time Always
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110428T200000Z-79@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110428T200000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110428T203000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Big Bang Theory - S04E21 - The Agreement Dissection
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110427T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110427T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110427T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E55 - Sen. Bernie Sanders
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110426T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110426T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110426T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E54 - Elizabeth Warren
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110425T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110425T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110425T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E53 - Gigi Ibrahim
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110421T220000Z-83@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110421T220000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110421T223000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:30 Rock - S05E21 - 100th Episode Part 2 of 2
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110421T220000Z-83@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110421T220000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110421T223000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:30 Rock - S05E20 - 100th Episode Part 1 of 2
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110414T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110414T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110414T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E52 - Ricky Gervais
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110414T220000Z-83@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110414T220000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110414T223000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:30 Rock - S05E19 - I Heart Connecticut
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110413T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110413T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110413T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E51 - Tracy Morgan
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110412T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110412T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110412T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E50 - Gov. Deval Patrick
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110411T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110411T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110411T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E49 - Foo Fighters
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110407T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110407T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110407T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E48 - Jamie Oliver
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110407T200000Z-79@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110407T200000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110407T203000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Big Bang Theory - S04E20 - The Herb Garden Germination
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110406T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110406T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110406T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E47 - Mike Huckabee
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110405T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110405T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110405T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E46 - Colin Quinn
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110404T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110404T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110404T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E45 - Billy Crystal
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110331T230000Z-289@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110331T230000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110331T233000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Daily Show - S16E44 - Norm MacDonald
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:20110331T200000Z-79@tvcountdown.com
|
||||||
|
DTSTART;VALUE=DATE-TIME:20110331T200000
|
||||||
|
DTEND;VALUE=DATE-TIME:20110331T203000
|
||||||
|
DTSTAMP:20110430T192946Z
|
||||||
|
URL;VALUE=URI:
|
||||||
|
SUMMARY:The Big Bang Theory - S04E19 - The Zarnecki Incursion
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
747
modules/default/calendar/vendor/ical.js/test/test4.ics
vendored
Normal file
747
modules/default/calendar/vendor/ical.js/test/test4.ics
vendored
Normal file
@ -0,0 +1,747 @@
|
|||||||
|
BEGIN:VCALENDAR
|
||||||
|
X-WR-CALNAME:John Doe (TripIt)
|
||||||
|
X-WR-CALDESC:TripIt Calendar
|
||||||
|
X-PUBLISHED-TTL:PT15M
|
||||||
|
PRODID:-//John Doe/NONSGML Bennu 0.1//EN
|
||||||
|
VERSION:2.0
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
UID:c32a5eaba2354bb29e012ec18da827db90550a3b@tripit.com
|
||||||
|
DTSTART;VALUE=DATE:20111011
|
||||||
|
DTEND;VALUE=DATE:20111014
|
||||||
|
SUMMARY:South San Francisco\, CA\, October 2011\;
|
||||||
|
LOCATION:South San Francisco\, CA
|
||||||
|
GEO:37.654656;-122.40775
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
DESCRIPTION:John Doe is in South San Francisco\, CA from Oct 11
|
||||||
|
to Oct 13\, 2011\nView and/or edit details in TripIt : http://www.tripit.c
|
||||||
|
om/trip/show/id/23710889\nTripIt - organize your travel at http://www.trip
|
||||||
|
it.com\n
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-ee275ccffa83f492d9eb63b01953b39f18d4f944@tripit.com
|
||||||
|
DTSTART:20111011T100500
|
||||||
|
DTEND:20111011T110500
|
||||||
|
SUMMARY:Directions from SFO to Embassy Suites San Francisco Airport - Sout
|
||||||
|
h San Francisco
|
||||||
|
LOCATION:250 GATEWAY BLVD\, South San Francisco\, CA\, 94080
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/1234\n \n[Directions] 10/11/2011 10:05am - Directions from S
|
||||||
|
FO to Embassy Suites San Francisco Airport - South San Francisco \nfrom: S
|
||||||
|
FO \nto: 250 GATEWAY BLVD\, South San Francisco\, CA\, 94080 \nView direct
|
||||||
|
ions here: http://maps.google.com/maps?output=mobile&saddr=SFO&daddr=250+G
|
||||||
|
ATEWAY+BLVD%2C+South+San+Francisco%2C+CA%2C+94080 \n \n \n\nTripIt - organ
|
||||||
|
ize your travel at http://www.tripit.com
|
||||||
|
GEO:37.655634;-122.401273
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111011T165500Z
|
||||||
|
SUMMARY:US403 PHX to SFO
|
||||||
|
LOCATION:Phoenix (PHX)
|
||||||
|
UID:item-c576afd397cf1f90578b4ba35e781b61ba8897db@tripit.com
|
||||||
|
DTSTART:20111011T144500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/1234\n \n[Flight] 10/11/2011 US Airways(US) #403 dep PHX 7:4
|
||||||
|
5am MST arr SFO 9:55am PDT\; John Doe\; seat(s) 8B\; conf #DXH9K
|
||||||
|
Z\, BXQ9WH \nBooked on http://www.americanexpress-travel.com/\; Reference
|
||||||
|
#: 4127 8626 9715\; http://www.americanexpress-travel.com/\; US:1-800-297-
|
||||||
|
2977\, Outside:210-582-2716 \n \n \n\nTripIt - organize your travel at htt
|
||||||
|
p://www.tripit.com
|
||||||
|
GEO:37.618889;-122.375
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Pick-up Rental Car: Dollar Rent A Car
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-e99a90ee1c7e4f5b68a4e551009e5bb6c475940c@tripit.com
|
||||||
|
DTSTART:20111011T172500Z
|
||||||
|
DTEND:20111011T182500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/1234\n \n[Car Rental] Dollar Rent A Car\; San Francisco Inte
|
||||||
|
rnational Airport\; primary driver John Doe\; conf #R9508361 \np
|
||||||
|
ickup 10/11/2011 10:25am\; dropoff 10/13/2011 6:49pm \nEconomy \nBooked on
|
||||||
|
http://www.americanexpress-travel.com/\; Reference #: 4127 8626 9715\; ht
|
||||||
|
tp://www.americanexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582
|
||||||
|
-2716 \n \n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-in: Embassy Suites San Francisco Airport - South San Francis
|
||||||
|
co
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-7f3288d418bed063cc82b4512e792fbb5d8ae761@tripit.com
|
||||||
|
DTSTART:20111011T185500Z
|
||||||
|
DTEND:20111011T195500Z
|
||||||
|
LOCATION:250 GATEWAY BLVD\, South San Francisco\, CA\, 94080
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/23710889\n \n[Lodging] Embassy Suites San Francisco Airport - So
|
||||||
|
uth San Francisco\; primary guest John Doe\; conf #R9508361 \n25
|
||||||
|
0 GATEWAY BLVD\, South San Francisco\, CA\, 94080\; tel 1.650.589.3400 \na
|
||||||
|
rrive 10/11/2011\; depart 10/13/2011\; rooms: 1 \nBooked on http://www.ame
|
||||||
|
ricanexpress-travel.com/\; Reference #: 4127 8626 9715\; http://www.americ
|
||||||
|
anexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582-2716 \n \n \n\
|
||||||
|
nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
GEO:37.655634;-122.401273
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-out: Embassy Suites San Francisco Airport - South San Franci
|
||||||
|
sco
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-5eb4cb5fc25c55b0423921e18336e57f8c34598d@tripit.com
|
||||||
|
DTSTART:20111014T011900Z
|
||||||
|
DTEND:20111014T021900Z
|
||||||
|
LOCATION:250 GATEWAY BLVD\, South San Francisco\, CA\, 94080
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/23710889\n \n[Lodging] Embassy Suites San Francisco Airport - So
|
||||||
|
uth San Francisco\; primary guest John Doe\; conf #R9508361 \n25
|
||||||
|
0 GATEWAY BLVD\, South San Francisco\, CA\, 94080\; tel 1.650.589.3400 \na
|
||||||
|
rrive 10/11/2011\; depart 10/13/2011\; rooms: 1 \nBooked on http://www.ame
|
||||||
|
ricanexpress-travel.com/\; Reference #: 4127 8626 9715\; http://www.americ
|
||||||
|
anexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582-2716 \n \n \n\
|
||||||
|
nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
GEO:37.655634;-122.401273
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Drop-off Rental Car: Dollar Rent A Car
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-11fdbf5d02e84646025716d9f9c7a4158e1fb025@tripit.com
|
||||||
|
DTSTART:20111014T014900Z
|
||||||
|
DTEND:20111014T024900Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/23710889\n \n[Car Rental] Dollar Rent A Car\; San Francisco Inte
|
||||||
|
rnational Airport\; primary driver John Doe\; conf #R9508361 \np
|
||||||
|
ickup 10/11/2011 10:25am\; dropoff 10/13/2011 6:49pm \nEconomy \nBooked on
|
||||||
|
http://www.americanexpress-travel.com/\; Reference #: 4127 8626 9715\; ht
|
||||||
|
tp://www.americanexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582
|
||||||
|
-2716 \n \n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111014T051900Z
|
||||||
|
SUMMARY:CO6256 SFO to PHX
|
||||||
|
LOCATION:San Francisco (SFO)
|
||||||
|
UID:item-cb485a571a01972d6bdc74c2b829905d6e3786bf@tripit.com
|
||||||
|
DTSTART:20111014T031900Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/23710889\n \n[Flight] 10/13/2011 Continental Airlines(CO) #6256
|
||||||
|
dep SFO 8:19pm PDT arr PHX 10:19pm MST\; John Doe\; conf #DXH9KZ
|
||||||
|
\, BXQ9WH(Operated by United Airlines flight 6256) \nBooked on http://www.
|
||||||
|
americanexpress-travel.com/\; Reference #: 4127 8626 9715\; http://www.ame
|
||||||
|
ricanexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582-2716 \n \n
|
||||||
|
\n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
GEO:33.436111;-112.009444
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
UID:c7b133db1e7be2713a4a63b75dcbad209690cab5@tripit.com
|
||||||
|
DTSTART;VALUE=DATE:20111023
|
||||||
|
DTEND;VALUE=DATE:20111028
|
||||||
|
SUMMARY:Santa Barbara\, CA\, October 2011
|
||||||
|
LOCATION:Santa Barbara\, CA
|
||||||
|
GEO:34.420831;-119.69819
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
DESCRIPTION:John Doe is in Santa Barbara\, CA from Oct 23 to Oct
|
||||||
|
27\, 2011\nView and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24259445\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
\n
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111023T191200Z
|
||||||
|
SUMMARY:US2719 PHX to SBA
|
||||||
|
LOCATION:Phoenix (PHX)
|
||||||
|
UID:item-c4375369e9070fcc04df39ed18c4d93087577591@tripit.com
|
||||||
|
DTSTART:20111023T173500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24259445\n \n[Flight] 10/23/2011 US Airways(US) #2719 dep PHX 10
|
||||||
|
:35am MST arr SBA 12:12pm PDT\; John Doe Ticket #0378717202638\;
|
||||||
|
conf #A44XS5\, PRX98G\, FYYJZ4 \nBooked on http://www.americanexpress-tra
|
||||||
|
vel.com/\; Reference #: 7128 8086 8504\; http://www.americanexpress-travel
|
||||||
|
.com/\; US:1-800-297-2977\, Outside:210-582-2716\; Total Cost: $699.99 \n
|
||||||
|
\n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
GEO:34.427778;-119.839444
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-962e4f045d12149319d1837ec096bf43770abd6e@tripit.com
|
||||||
|
DTSTART:20111025T094000
|
||||||
|
DTEND:20111025T104000
|
||||||
|
SUMMARY:Directions from Hertz to Sofitel San Francisco Bay
|
||||||
|
LOCATION:223 Twin Dolphin Drive\, Redwood City\, CA\, 94065
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24259445\n \n[Directions] 10/25/2011 9:40am - Directions from He
|
||||||
|
rtz to Sofitel San Francisco Bay \nfrom: 780 McDonnell Road\, San Francisc
|
||||||
|
o\, CA\, 94128 \nto: 223 Twin Dolphin Drive\, Redwood City\, CA\, 94065 \n
|
||||||
|
View directions here: http://maps.google.com/maps?output=mobile&saddr=780+
|
||||||
|
McDonnell+Road%2C+San+Francisco%2C+CA%2C+94128&daddr=223+Twin+Dolphin+Driv
|
||||||
|
e%2C+Redwood+City%2C+CA%2C+94065 \n \n \n\nTripIt - organize your travel a
|
||||||
|
t http://www.tripit.com
|
||||||
|
GEO:37.5232475;-122.261296
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111025T162600Z
|
||||||
|
SUMMARY:UA5304 SBA to SFO
|
||||||
|
LOCATION:Santa Barbara (SBA)
|
||||||
|
UID:item-ae300a6934c3820974dba2c9c5b8fae843c67693@tripit.com
|
||||||
|
DTSTART:20111025T150900Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24259445\n \n[Flight] 10/25/2011 United Airlines(UA) #5304 dep S
|
||||||
|
BA 8:09am PDT arr SFO 9:26am PDT\; John Doe Ticket #037871720263
|
||||||
|
8\; seat(s) 11B\; conf #A44XS5\, PRX98G\, FYYJZ4 \nBooked on http://www.am
|
||||||
|
ericanexpress-travel.com/\; Reference #: 7128 8086 8504\; http://www.ameri
|
||||||
|
canexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582-2716\; Total
|
||||||
|
Cost: $699.99 \n \n \n\nTripIt - organize your travel at http://www.tripit
|
||||||
|
.com
|
||||||
|
GEO:37.618889;-122.375
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Pick-up Rental Car: Hertz
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-2a9fd5a57a4cdda4677fc6ce23738e1954fdbe2a@tripit.com
|
||||||
|
DTSTART:20111025T163000Z
|
||||||
|
DTEND:20111025T173000Z
|
||||||
|
LOCATION:780 McDonnell Road\, San Francisco\, CA\, 94128
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24259445\n \n[Car Rental] Hertz\; San Francisco International Ai
|
||||||
|
rport\; primary driver John Doe\; conf #F2633064194 \n780 McDonn
|
||||||
|
ell Road\, San Francisco\, CA\, 94128 \npickup 10/25/2011 9:30am\; dropoff
|
||||||
|
10/27/2011 7:00pm \nToyota Corolla or similar\; 84.57 USD \nBooked on htt
|
||||||
|
p://www.hertz.com/\; Reference #: F2633064194\; http://www.hertz.com/\; 80
|
||||||
|
0-654-3131\; Booking Rate: 84.57 USD\; Total Cost: 333.76 USD \n \n \n\nTr
|
||||||
|
ipIt - organize your travel at http://www.tripit.com
|
||||||
|
GEO:37.6297569;-122.4000351
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-98dfcb0bcfdcffcce9c58a84947212ed67cadda6@tripit.com
|
||||||
|
DTSTART:20111025T163600Z
|
||||||
|
DTEND:20111025T173600Z
|
||||||
|
SUMMARY:Directions from SFO to Sofitel San Francisco Bay
|
||||||
|
LOCATION:223 Twin Dolphin Drive\, Redwood City\, CA\, 94065
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24259445\n \n[Directions] 10/25/2011 9:36am - Directions from SF
|
||||||
|
O to Sofitel San Francisco Bay \nfrom: SFO \nto: 223 Twin Dolphin Drive\,
|
||||||
|
Redwood City\, CA\, 94065 \nView directions here: http://maps.google.com/m
|
||||||
|
aps?output=mobile&saddr=SFO&daddr=223+Twin+Dolphin+Drive%2C+Redwood+City%2
|
||||||
|
C+CA%2C+94065 \n \n \n\nTripIt - organize your travel at http://www.tripit
|
||||||
|
.com
|
||||||
|
GEO:37.5232475;-122.261296
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-in: Sofitel San Francisco Bay
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-8de3937b336c333faf2d55ad0a41c5ca6cc02393@tripit.com
|
||||||
|
DTSTART:20111025T220000Z
|
||||||
|
DTEND:20111025T230000Z
|
||||||
|
LOCATION:223 Twin Dolphin Drive\, Redwood City\, CA\, 94065
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24259445\n \n[Lodging] Sofitel San Francisco Bay\; primary guest
|
||||||
|
John Doe\; conf #F80-0GMW \n223 Twin Dolphin Drive\, Redwood Ci
|
||||||
|
ty\, CA\, 94065\; tel (+1)650/598-9000 \narrive 10/25/2011\; depart 10/27/
|
||||||
|
2011\; rooms: 1 \nBooked on http://www.sofitel.com/\; http://www.sofitel.c
|
||||||
|
om/\; Total Cost: 564.00 USD \n \n \n\nTripIt - organize your travel at ht
|
||||||
|
tp://www.tripit.com
|
||||||
|
GEO:37.5232475;-122.261296
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-out: Sofitel San Francisco Bay
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-f3ade58646964bde101616a6d26ea7784a1a81e8@tripit.com
|
||||||
|
DTSTART:20111027T190000Z
|
||||||
|
DTEND:20111027T200000Z
|
||||||
|
LOCATION:223 Twin Dolphin Drive\, Redwood City\, CA\, 94065
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24259445\n \n[Lodging] Sofitel San Francisco Bay\; primary guest
|
||||||
|
John Doe\; conf #F80-0GMW \n223 Twin Dolphin Drive\, Redwood Ci
|
||||||
|
ty\, CA\, 94065\; tel (+1)650/598-9000 \narrive 10/25/2011\; depart 10/27/
|
||||||
|
2011\; rooms: 1 \nBooked on http://www.sofitel.com/\; http://www.sofitel.c
|
||||||
|
om/\; Total Cost: 564.00 USD \n \n \n\nTripIt - organize your travel at ht
|
||||||
|
tp://www.tripit.com
|
||||||
|
GEO:37.5232475;-122.261296
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Drop-off Rental Car: Hertz
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-50620273fea0614d37775649034d5e1de92ae361@tripit.com
|
||||||
|
DTSTART:20111028T020000Z
|
||||||
|
DTEND:20111028T030000Z
|
||||||
|
LOCATION:780 McDonnell Road\, San Francisco\, CA\, 94128
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24259445\n \n[Car Rental] Hertz\; San Francisco International Ai
|
||||||
|
rport\; primary driver John Doe\; conf #F2633064194 \n780 McDonn
|
||||||
|
ell Road\, San Francisco\, CA\, 94128 \npickup 10/25/2011 9:30am\; dropoff
|
||||||
|
10/27/2011 7:00pm \nToyota Corolla or similar\; 84.57 USD \nBooked on htt
|
||||||
|
p://www.hertz.com/\; Reference #: F2633064194\; http://www.hertz.com/\; 80
|
||||||
|
0-654-3131\; Booking Rate: 84.57 USD\; Total Cost: 333.76 USD \n \n \n\nTr
|
||||||
|
ipIt - organize your travel at http://www.tripit.com
|
||||||
|
GEO:37.6297569;-122.4000351
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111028T051900Z
|
||||||
|
SUMMARY:CO6256 SFO to PHX
|
||||||
|
LOCATION:San Francisco (SFO)
|
||||||
|
UID:item-71d327f30d8beeaf7bf50c8fa63ce16005b9b0df@tripit.com
|
||||||
|
DTSTART:20111028T031900Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24259445\n \n[Flight] 10/27/2011 Continental Airlines(CO) #6256
|
||||||
|
dep SFO 8:19pm PDT arr PHX 10:19pm MST\; John Doe Ticket #037871
|
||||||
|
7202638\; seat(s) 17D\; conf #A44XS5\, PRX98G\, FYYJZ4(Operated by United
|
||||||
|
Airlines flight 6256) \nBooked on http://www.americanexpress-travel.com/\;
|
||||||
|
Reference #: 7128 8086 8504\; http://www.americanexpress-travel.com/\; US
|
||||||
|
:1-800-297-2977\, Outside:210-582-2716\; Total Cost: $699.99 \n \n \n\nTri
|
||||||
|
pIt - organize your travel at http://www.tripit.com
|
||||||
|
GEO:33.436111;-112.009444
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
UID:2d4b446e63a94ade7dab0f0e9546b2d1965f011c@tripit.com
|
||||||
|
DTSTART;VALUE=DATE:20111108
|
||||||
|
DTEND;VALUE=DATE:20111111
|
||||||
|
SUMMARY:Redwood City\, CA\, November 2011
|
||||||
|
LOCATION:Redwood City\, CA
|
||||||
|
GEO:37.485215;-122.236355
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
DESCRIPTION:John Doe is in Redwood City\, CA from Nov 8 to Nov 1
|
||||||
|
0\, 2011\nView and/or edit details in TripIt : http://www.tripit.com/trip/
|
||||||
|
show/id/24913749\nTripIt - organize your travel at http://www.tripit.com\n
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111108T175700Z
|
||||||
|
SUMMARY:US403 PHX to SFO
|
||||||
|
LOCATION:Phoenix (PHX)
|
||||||
|
UID:item-7de7d829b2f95991de6d01c3d68f24b84770168c@tripit.com
|
||||||
|
DTSTART:20111108T154500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24913749\n \n[Flight] 11/8/2011 US Airways(US) #403 dep PHX 8:45
|
||||||
|
am MST arr SFO 9:57am PST\; John Doe\; seat(s) 21C\; conf #FJDX0
|
||||||
|
J\, I2W8HW \nBooked on http://www.americanexpress-travel.com/\; Reference
|
||||||
|
#: 4129 9623 4732\; http://www.americanexpress-travel.com/\; US:1-800-297-
|
||||||
|
2977\, Outside:210-582-2716 \n \n \n\nTripIt - organize your travel at htt
|
||||||
|
p://www.tripit.com
|
||||||
|
GEO:37.618889;-122.375
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Pick-up Rental Car: Dollar Rent A Car
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-1ac6982fefdd79bc5ea849785f415a6291c450b1@tripit.com
|
||||||
|
DTSTART:20111108T182700Z
|
||||||
|
DTEND:20111108T192700Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24913749\n \n[Car Rental] Dollar Rent A Car\; San Francisco Inte
|
||||||
|
rnational Airport\; primary driver John Doe\; conf #Q0058133 \np
|
||||||
|
ickup 11/8/2011 10:27am\; dropoff 11/10/2011 6:25pm \nEconomy \nBooked on
|
||||||
|
http://www.americanexpress-travel.com/\; Reference #: 4129 9623 4732\; htt
|
||||||
|
p://www.americanexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582-
|
||||||
|
2716 \n \n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-in: Sofitel San Francisco Bay
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-126e584ffbefbec32a15ca503f0bdf8d3f9cc2f4@tripit.com
|
||||||
|
DTSTART:20111108T195700Z
|
||||||
|
DTEND:20111108T205700Z
|
||||||
|
LOCATION:223 TWIN DOLPHIN DR\, Redwood City\, CA\, 94065-1514
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24913749\n \n[Lodging] Sofitel San Francisco Bay\; primary guest
|
||||||
|
John Doe\; conf #Q0058133 \n223 TWIN DOLPHIN DR\, Redwood City\
|
||||||
|
, CA\, 94065-1514\; tel 1.650.598.9000 \narrive 11/8/2011\; depart 11/10/2
|
||||||
|
011\; rooms: 1 \nBooked on http://www.americanexpress-travel.com/\; Refere
|
||||||
|
nce #: 4129 9623 4732\; http://www.americanexpress-travel.com/\; US:1-800-
|
||||||
|
297-2977\, Outside:210-582-2716 \n \n \n\nTripIt - organize your travel at
|
||||||
|
http://www.tripit.com
|
||||||
|
GEO:37.5232475;-122.261296
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-out: Sofitel San Francisco Bay
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-ff48c502022356ccaa862ebb61761a0de08a1ce9@tripit.com
|
||||||
|
DTSTART:20111111T015500Z
|
||||||
|
DTEND:20111111T025500Z
|
||||||
|
LOCATION:223 TWIN DOLPHIN DR\, Redwood City\, CA\, 94065-1514
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24913749\n \n[Lodging] Sofitel San Francisco Bay\; primary guest
|
||||||
|
John Doe\; conf #Q0058133 \n223 TWIN DOLPHIN DR\, Redwood City\
|
||||||
|
, CA\, 94065-1514\; tel 1.650.598.9000 \narrive 11/8/2011\; depart 11/10/2
|
||||||
|
011\; rooms: 1 \nBooked on http://www.americanexpress-travel.com/\; Refere
|
||||||
|
nce #: 4129 9623 4732\; http://www.americanexpress-travel.com/\; US:1-800-
|
||||||
|
297-2977\, Outside:210-582-2716 \n \n \n\nTripIt - organize your travel at
|
||||||
|
http://www.tripit.com
|
||||||
|
GEO:37.5232475;-122.261296
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Drop-off Rental Car: Dollar Rent A Car
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-c0273c03ddbb68a9b05d5d43a489bc318136ca42@tripit.com
|
||||||
|
DTSTART:20111111T022500Z
|
||||||
|
DTEND:20111111T032500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24913749\n \n[Car Rental] Dollar Rent A Car\; San Francisco Inte
|
||||||
|
rnational Airport\; primary driver John Doe\; conf #Q0058133 \np
|
||||||
|
ickup 11/8/2011 10:27am\; dropoff 11/10/2011 6:25pm \nEconomy \nBooked on
|
||||||
|
http://www.americanexpress-travel.com/\; Reference #: 4129 9623 4732\; htt
|
||||||
|
p://www.americanexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582-
|
||||||
|
2716 \n \n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111111T055400Z
|
||||||
|
SUMMARY:CO496 SFO to PHX
|
||||||
|
LOCATION:San Francisco (SFO)
|
||||||
|
UID:item-3473cf9275326ac393b37859df3b04306b4849aa@tripit.com
|
||||||
|
DTSTART:20111111T035500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/24913749\n \n[Flight] 11/10/2011 Continental Airlines(CO) #496 d
|
||||||
|
ep SFO 7:55pm PST arr PHX 10:54pm MST\; John Doe\; seat(s) 26B\;
|
||||||
|
conf #FJDX0J\, I2W8HW(Operated by United Airlines flight 496) \nBooked on
|
||||||
|
http://www.americanexpress-travel.com/\; Reference #: 4129 9623 4732\; ht
|
||||||
|
tp://www.americanexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582
|
||||||
|
-2716 \n \n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
GEO:33.436111;-112.009444
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
UID:4ee5ded058432990e3d8808f48ca851e04923b6d@tripit.com
|
||||||
|
DTSTART;VALUE=DATE:20111129
|
||||||
|
DTEND;VALUE=DATE:20111202
|
||||||
|
SUMMARY:Milpitas\, CA\, November 2011
|
||||||
|
LOCATION:Milpitas\, CA
|
||||||
|
GEO:37.428272;-121.906624
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
DESCRIPTION:John Doe is in Milpitas\, CA from Nov 29 to Dec 1\,
|
||||||
|
2011\nView and/or edit details in TripIt : http://www.tripit.com/trip/show
|
||||||
|
/id/25671681\nTripIt - organize your travel at http://www.tripit.com\n
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111129T172400Z
|
||||||
|
SUMMARY:US282 PHX to SJC
|
||||||
|
LOCATION:Phoenix (PHX)
|
||||||
|
UID:item-644d5973b50d521d50e475ccf5321605d54bd0d5@tripit.com
|
||||||
|
DTSTART:20111129T152500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/25671681\n \n[Flight] 11/29/2011 US Airways(US) #282 dep PHX 8:2
|
||||||
|
5am MST arr SJC 9:24am PST\; John Doe\; seat(s) 17C\; conf #DQKD
|
||||||
|
GY \nBooked on http://www.americanexpress-travel.com/\; Reference #: 4131
|
||||||
|
3301 9911\; http://www.americanexpress-travel.com/\; US:1-800-297-2977\, O
|
||||||
|
utside:210-582-2716 \n \n \n\nTripIt - organize your travel at http://www.
|
||||||
|
tripit.com
|
||||||
|
GEO:37.361111;-121.925556
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Pick-up Rental Car: Alamo
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-10368bbdbc9b6f26f83098500633cc4eb604c751@tripit.com
|
||||||
|
DTSTART:20111129T175400Z
|
||||||
|
DTEND:20111129T185400Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/25671681\n \n[Car Rental] Alamo\; San Jose International Airport
|
||||||
|
\; primary driver John Doe\; conf #372828149COUNT \npickup 11/29
|
||||||
|
/2011 9:54am\; dropoff 12/1/2011 5:45pm \nIntermediate \nBooked on http://
|
||||||
|
www.americanexpress-travel.com/\; Reference #: 4131 3301 9911\; http://www
|
||||||
|
.americanexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582-2716 \n
|
||||||
|
\n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-in: The Beverly Heritage Hotel
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-98d8638d3f1c011d03cb8f58b3a14a0f1203339b@tripit.com
|
||||||
|
DTSTART:20111129T192400Z
|
||||||
|
DTEND:20111129T202400Z
|
||||||
|
LOCATION:1820 Barber Lane\, Milpitas\, CA\, 95035
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/25671681\n \n[Lodging] The Beverly Heritage Hotel\; primary gues
|
||||||
|
t John Doe\; conf #372828149COUNT \n1820 Barber Lane\, Milpitas\
|
||||||
|
, CA\, 95035\; tel 1.408.943.9080 \narrive 11/29/2011\; depart 12/1/2011\;
|
||||||
|
rooms: 1 \nBooked on http://www.americanexpress-travel.com/\; Reference #
|
||||||
|
: 4131 3301 9911\; http://www.americanexpress-travel.com/\; US:1-800-297-2
|
||||||
|
977\, Outside:210-582-2716 \n \n \n\nTripIt - organize your travel at http
|
||||||
|
://www.tripit.com
|
||||||
|
GEO:37.4010467;-121.9116284
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111201T194400Z
|
||||||
|
SUMMARY:US273 SJC to PHX
|
||||||
|
LOCATION:San Jose (SJC)
|
||||||
|
UID:item-7b9ee9bb4edfe69743e32b33f9be55753956a883@tripit.com
|
||||||
|
DTSTART:20111201T175900Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/25671681\n \n[Flight] 12/1/2011 US Airways(US) #273 dep SJC 9:59
|
||||||
|
am PST arr PHX 12:44pm MST\; John Doe Ticket #0378727451156\; co
|
||||||
|
nf #EMF71T \nBooked on http://www.americanexpress-travel.com/\; Reference
|
||||||
|
#: 5133 5264 1627\; http://www.americanexpress-travel.com/\; US:1-800-297-
|
||||||
|
2977\, Outside:210-582-2716\; Total Cost: $316.69 \n \n \n\nTripIt - organ
|
||||||
|
ize your travel at http://www.tripit.com
|
||||||
|
GEO:33.436111;-112.009444
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-out: The Beverly Heritage Hotel
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-f79f203072002b8f06598dcb2be0e36af17b625b@tripit.com
|
||||||
|
DTSTART:20111202T011500Z
|
||||||
|
DTEND:20111202T021500Z
|
||||||
|
LOCATION:1820 Barber Lane\, Milpitas\, CA\, 95035
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/25671681\n \n[Lodging] The Beverly Heritage Hotel\; primary gues
|
||||||
|
t John Doe\; conf #372828149COUNT \n1820 Barber Lane\, Milpitas\
|
||||||
|
, CA\, 95035\; tel 1.408.943.9080 \narrive 11/29/2011\; depart 12/1/2011\;
|
||||||
|
rooms: 1 \nBooked on http://www.americanexpress-travel.com/\; Reference #
|
||||||
|
: 4131 3301 9911\; http://www.americanexpress-travel.com/\; US:1-800-297-2
|
||||||
|
977\, Outside:210-582-2716 \n \n \n\nTripIt - organize your travel at http
|
||||||
|
://www.tripit.com
|
||||||
|
GEO:37.4010467;-121.9116284
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Drop-off Rental Car: Alamo
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-69f526ad49fa8ca0a74486f4fc77cc3f9d23a72f@tripit.com
|
||||||
|
DTSTART:20111202T014500Z
|
||||||
|
DTEND:20111202T024500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/25671681\n \n[Car Rental] Alamo\; San Jose International Airport
|
||||||
|
\; primary driver John Doe\; conf #372828149COUNT \npickup 11/29
|
||||||
|
/2011 9:54am\; dropoff 12/1/2011 5:45pm \nIntermediate \nBooked on http://
|
||||||
|
www.americanexpress-travel.com/\; Reference #: 4131 3301 9911\; http://www
|
||||||
|
.americanexpress-travel.com/\; US:1-800-297-2977\, Outside:210-582-2716 \n
|
||||||
|
\n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111202T045900Z
|
||||||
|
SUMMARY:US288 SJC to PHX
|
||||||
|
LOCATION:San Jose (SJC)
|
||||||
|
UID:item-dab68a87c8dd49064ab0ba1dec5ba75ba46ff1d3@tripit.com
|
||||||
|
DTSTART:20111202T031500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/25671681\n \n[Flight] 12/1/2011 US Airways(US) #288 dep SJC 7:15
|
||||||
|
pm PST arr PHX 9:59pm MST\; John Doe\; seat(s) 13C\; conf #DQKDG
|
||||||
|
Y \nBooked on http://www.americanexpress-travel.com/\; Reference #: 4131 3
|
||||||
|
301 9911\; http://www.americanexpress-travel.com/\; US:1-800-297-2977\, Ou
|
||||||
|
tside:210-582-2716 \n \n \n\nTripIt - organize your travel at http://www.t
|
||||||
|
ripit.com
|
||||||
|
GEO:33.436111;-112.009444
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
UID:67d48ddde166a2e9bbac2cf7d93fe493b0860008@tripit.com
|
||||||
|
DTSTART;VALUE=DATE:20111213
|
||||||
|
DTEND;VALUE=DATE:20111216
|
||||||
|
SUMMARY:San Jose\, CA\, December 2011
|
||||||
|
LOCATION:San Jose\, CA
|
||||||
|
GEO:37.339386;-121.894955
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
DESCRIPTION:John Doe is in San Jose\, CA from Dec 13 to Dec 15\,
|
||||||
|
2011\nView and/or edit details in TripIt : http://www.tripit.com/trip/sho
|
||||||
|
w/id/27037117\nTripIt - organize your travel at http://www.tripit.com\n
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111213T172400Z
|
||||||
|
SUMMARY:US282 PHX to SJC
|
||||||
|
LOCATION:Phoenix (PHX)
|
||||||
|
UID:item-2b1b9021be548a87dd335f190b60ab78c33b619d@tripit.com
|
||||||
|
DTSTART:20111213T152500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27037117\n \n[Flight] 12/13/2011 US Airways(US) #282 dep PHX 8:2
|
||||||
|
5am MST arr SJC 9:24am PST\; John Doe Ticket #0378728465928\; se
|
||||||
|
at(s) 15C\; conf #GGNV29 \nBooked on http://www.americanexpress-travel.com
|
||||||
|
/\; Reference #: 3134 0525 5102\; http://www.americanexpress-travel.com/\;
|
||||||
|
US:1-800-297-2977\, Outside:210-582-2716\; Total Cost: $406.39 \n \n \n\n
|
||||||
|
TripIt - organize your travel at http://www.tripit.com
|
||||||
|
GEO:37.361111;-121.925556
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Pick-up Rental Car: Advantage
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-619d345bb08aaef68e8767b672277243697f5bff@tripit.com
|
||||||
|
DTSTART:20111213T180000Z
|
||||||
|
DTEND:20111213T190000Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27037117\n \n[Car Rental] Advantage\; San Jose International Air
|
||||||
|
port\; primary driver John Doe\; conf #F31539020E7 \npickup 12/1
|
||||||
|
3/2011 10:00am\; dropoff 12/15/2011 7:00pm \nStandard Convertible \nRefere
|
||||||
|
nce #: 3134 0526 3890 \n \n \n\nTripIt - organize your travel at http://ww
|
||||||
|
w.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-in: Crestview Hotel:
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-fbe6c08e7523c82fac69b40ad1d0899f3d8d5982@tripit.com
|
||||||
|
DTSTART:20111213T192400Z
|
||||||
|
DTEND:20111213T202400Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27037117\n \n[Lodging] Crestview Hotel:\; conf #CR31342159 \ntel
|
||||||
|
650-966-8848 \narrive 12/13/2011\; depart 12/15/2011 \nBooking Rate: 153.
|
||||||
|
30 \n \n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-out: Crestview Hotel:
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-7ed8b84628e650a6b37161c7825bac9e72add49f@tripit.com
|
||||||
|
DTSTART:20111216T011500Z
|
||||||
|
DTEND:20111216T021500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27037117\n \n[Lodging] Crestview Hotel:\; conf #CR31342159 \ntel
|
||||||
|
650-966-8848 \narrive 12/13/2011\; depart 12/15/2011 \nBooking Rate: 153.
|
||||||
|
30 \n \n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Drop-off Rental Car: Advantage
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-623b54ebe07ffd48845f1a120a86940ce79c698b@tripit.com
|
||||||
|
DTSTART:20111216T030000Z
|
||||||
|
DTEND:20111216T040000Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27037117\n \n[Car Rental] Advantage\; San Jose International Air
|
||||||
|
port\; primary driver John Doe\; conf #F31539020E7 \npickup 12/1
|
||||||
|
3/2011 10:00am\; dropoff 12/15/2011 7:00pm \nStandard Convertible \nRefere
|
||||||
|
nce #: 3134 0526 3890 \n \n \n\nTripIt - organize your travel at http://ww
|
||||||
|
w.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20111216T045900Z
|
||||||
|
SUMMARY:US288 SJC to PHX
|
||||||
|
LOCATION:San Jose (SJC)
|
||||||
|
UID:item-52481e672972d2e88d5eaa5cf49bb801562c6014@tripit.com
|
||||||
|
DTSTART:20111216T031500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27037117\n \n[Flight] 12/15/2011 US Airways(US) #288 dep SJC 7:1
|
||||||
|
5pm PST arr PHX 9:59pm MST\; John Doe Ticket #0378728465928\; se
|
||||||
|
at(s) 7B\; conf #GGNV29 \nBooked on http://www.americanexpress-travel.com/
|
||||||
|
\; Reference #: 3134 0525 5102\; http://www.americanexpress-travel.com/\;
|
||||||
|
US:1-800-297-2977\, Outside:210-582-2716\; Total Cost: $406.39 \n \n \n\nT
|
||||||
|
ripIt - organize your travel at http://www.tripit.com
|
||||||
|
GEO:33.436111;-112.009444
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
UID:7299ff29daed7d5c3e2ed4acc74deec5b7942bd5@tripit.com
|
||||||
|
DTSTART;VALUE=DATE:20120103
|
||||||
|
DTEND;VALUE=DATE:20120106
|
||||||
|
SUMMARY:San Francisco\, CA\, January 2012
|
||||||
|
LOCATION:San Francisco\, CA
|
||||||
|
GEO:37.774929;-122.419415
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
DESCRIPTION:John Doe is in San Francisco\, CA from Jan 3 to Jan
|
||||||
|
5\, 2012\nView and/or edit details in TripIt : http://www.tripit.com/trip/
|
||||||
|
show/id/27863159\nTripIt - organize your travel at http://www.tripit.com\n
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20120103T175700Z
|
||||||
|
SUMMARY:US403 PHX to SFO
|
||||||
|
LOCATION:Phoenix (PHX)
|
||||||
|
UID:item-f099e76114bf43ef3b122432579d8b40995412a7@tripit.com
|
||||||
|
DTSTART:20120103T154500Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27863159\n \n[Flight] 1/3/2012 US Airways(US) #403 dep PHX 8:45a
|
||||||
|
m MST arr SFO 9:57am PST\; John Doe Ticket #0378731791515\; conf
|
||||||
|
#FH9B72\, L4F9M5 \nBooked on http://www.americanexpress-travel.com/\; Ref
|
||||||
|
erence #: 6135 7391 6119\; http://www.americanexpress-travel.com/\; US:1-8
|
||||||
|
00-297-2977\, Outside:210-582-2716\; Total Cost: $668.39 \n \n \n\nTripIt
|
||||||
|
- organize your travel at http://www.tripit.com
|
||||||
|
GEO:37.618889;-122.375
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Pick-up Rental Car: Alamo
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-fae4b4b07b66fc87df125238e0aaf645106cf4f3@tripit.com
|
||||||
|
DTSTART:20120103T180000Z
|
||||||
|
DTEND:20120103T190000Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27863159\n \n[Car Rental] Alamo\; San Francisco International Ai
|
||||||
|
rport\; primary driver John Doe\; conf #373525981COUNT \npickup
|
||||||
|
1/3/2012 10:00am\; dropoff 1/5/2012 6:00pm \nCompact \nReference #: 6135 7
|
||||||
|
391 6898 \n \n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-in: Grand Hotel Sunnyvale
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-d89a856eb9da9dfdcb4da46f42e49af3a838fcbb@tripit.com
|
||||||
|
DTSTART:20120103T195700Z
|
||||||
|
DTEND:20120103T205700Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27863159\n \n[Lodging] Grand Hotel Sunnyvale\; conf #22084SY0361
|
||||||
|
18 \ntel 1-408-7208500 \narrive 1/3/2012\; depart 1/5/2012 \nBooking Rate:
|
||||||
|
USD 169.00 \nPolicies: Guarantee to valid form of payment is required at
|
||||||
|
time of booking\; Cancel 1 day prior to arrival date to avoid penalty of 1
|
||||||
|
Nights Room Charge. Change fee may apply for early departures and changes
|
||||||
|
made to confirmed reservations.\; \n \n \n\nTripIt - organize your travel
|
||||||
|
at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Check-out: Grand Hotel Sunnyvale
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-6edc82f6411fd0b66f2f7f6baafa41623a8623a9@tripit.com
|
||||||
|
DTSTART:20120106T010900Z
|
||||||
|
DTEND:20120106T020900Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27863159\n \n[Lodging] Grand Hotel Sunnyvale\; conf #22084SY0361
|
||||||
|
18 \ntel 1-408-7208500 \narrive 1/3/2012\; depart 1/5/2012 \nBooking Rate:
|
||||||
|
USD 169.00 \nPolicies: Guarantee to valid form of payment is required at
|
||||||
|
time of booking\; Cancel 1 day prior to arrival date to avoid penalty of 1
|
||||||
|
Nights Room Charge. Change fee may apply for early departures and changes
|
||||||
|
made to confirmed reservations.\; \n \n \n\nTripIt - organize your travel
|
||||||
|
at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
SUMMARY:Drop-off Rental Car: Alamo
|
||||||
|
TRANSP:TRANSPARENT
|
||||||
|
UID:item-58a31b96066ffd09b800af49de59a84f7b7a3a06@tripit.com
|
||||||
|
DTSTART:20120106T020000Z
|
||||||
|
DTEND:20120106T030000Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27863159\n \n[Car Rental] Alamo\; San Francisco International Ai
|
||||||
|
rport\; primary driver John Doe\; conf #373525981COUNT \npickup
|
||||||
|
1/3/2012 10:00am\; dropoff 1/5/2012 6:00pm \nCompact \nReference #: 6135 7
|
||||||
|
391 6898 \n \n \n\nTripIt - organize your travel at http://www.tripit.com
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20120101T215311Z
|
||||||
|
DTEND:20120106T050500Z
|
||||||
|
SUMMARY:CO496 SFO to PHX
|
||||||
|
LOCATION:San Francisco (SFO)
|
||||||
|
UID:item-7884351ce42d503b90ccc48c33c7c30bd4f44767@tripit.com
|
||||||
|
DTSTART:20120106T030900Z
|
||||||
|
DESCRIPTION:View and/or edit details in TripIt : http://www.tripit.com/tri
|
||||||
|
p/show/id/27863159\n \n[Flight] 1/5/2012 Continental Airlines(CO) #496 dep
|
||||||
|
SFO 7:09pm PST arr PHX 10:05pm MST\; John Doe Ticket #037873179
|
||||||
|
1515\; conf #FH9B72\, L4F9M5(Operated by United Airlines flight 496) \nBoo
|
||||||
|
ked on http://www.americanexpress-travel.com/\; Reference #: 6135 7391 611
|
||||||
|
9\; http://www.americanexpress-travel.com/\; US:1-800-297-2977\, Outside:2
|
||||||
|
10-582-2716\; Total Cost: $668.39 \n \n \n\nTripIt - organize your travel
|
||||||
|
at http://www.tripit.com
|
||||||
|
GEO:33.436111;-112.009444
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
41
modules/default/calendar/vendor/ical.js/test/test5.ics
vendored
Normal file
41
modules/default/calendar/vendor/ical.js/test/test5.ics
vendored
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
BEGIN:VCALENDAR
|
||||||
|
VERSION:2.0
|
||||||
|
PRODID:-//Meetup//RemoteApi//EN
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
|
METHOD:PUBLISH
|
||||||
|
X-ORIGINAL-URL:http://www.meetup.com/events/ical/8333638/dfdba2e469216075
|
||||||
|
3404f737feace78d526ff0ce/going
|
||||||
|
X-WR-CALNAME:My Meetups
|
||||||
|
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
|
||||||
|
BEGIN:VTIMEZONE
|
||||||
|
TZID:America/Phoenix
|
||||||
|
TZURL:http://tzurl.org/zoneinfo-outlook/America/Phoenix
|
||||||
|
X-LIC-LOCATION:America/Phoenix
|
||||||
|
BEGIN:STANDARD
|
||||||
|
TZOFFSETFROM:-0700
|
||||||
|
TZOFFSETTO:-0700
|
||||||
|
TZNAME:MST
|
||||||
|
DTSTART:19700101T000000
|
||||||
|
END:STANDARD
|
||||||
|
END:VTIMEZONE
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTAMP:20111106T155927Z
|
||||||
|
DTSTART;TZID=America/Phoenix:20111109T190000
|
||||||
|
DTEND;TZID=America/Phoenix:20111109T210000
|
||||||
|
STATUS:CONFIRMED
|
||||||
|
SUMMARY:Phoenix Drupal User Group Monthly Meetup
|
||||||
|
DESCRIPTION:Phoenix Drupal User Group\nWednesday\, November 9 at 7:00 PM\
|
||||||
|
n\nCustomizing node display with template pages in Drupal 6\n\n Jon Shee
|
||||||
|
han and Matthew Berry of the Office of Knowledge Enterprise Development
|
||||||
|
(OKED) Knowledge...\n\nDetails: http://www.meetup.com/Phoenix-Drupal-Use
|
||||||
|
r-Group/events/33627272/
|
||||||
|
CLASS:PUBLIC
|
||||||
|
CREATED:20100630T083023Z
|
||||||
|
GEO:33.56;-111.90
|
||||||
|
LOCATION:Open Source Project Tempe (1415 E University Dr. #103A\, Tempe\,
|
||||||
|
AZ 85281)
|
||||||
|
URL:http://www.meetup.com/Phoenix-Drupal-User-Group/events/33627272/
|
||||||
|
LAST-MODIFIED:20111102T213309Z
|
||||||
|
UID:event_nsmxnyppbfc@meetup.com
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
1170
modules/default/calendar/vendor/ical.js/test/test6.ics
vendored
Normal file
1170
modules/default/calendar/vendor/ical.js/test/test6.ics
vendored
Normal file
File diff suppressed because it is too large
Load Diff
16
modules/default/calendar/vendor/ical.js/test/test7.ics
vendored
Executable file
16
modules/default/calendar/vendor/ical.js/test/test7.ics
vendored
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
BEGIN:VCALENDAR
|
||||||
|
VERSION:2.0
|
||||||
|
PRODID:ownCloud Calendar 0.6.3
|
||||||
|
X-WR-CALNAME:Fête Nationale - Férié
|
||||||
|
BEGIN:VEVENT
|
||||||
|
CREATED:20090502T140513Z
|
||||||
|
DTSTAMP:20111106T124709Z
|
||||||
|
UID:FA9831E7-C238-4FEC-95E5-CD46BD466421
|
||||||
|
SUMMARY:Fête Nationale - Férié
|
||||||
|
RRULE:FREQ=YEARLY
|
||||||
|
DTSTART;VALUE=DATE:20120714
|
||||||
|
DTEND;VALUE=DATE:20120715
|
||||||
|
TRANSP:OPAQUE
|
||||||
|
SEQUENCE:5
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
23
modules/default/calendar/vendor/ical.js/test/test8.ics
vendored
Normal file
23
modules/default/calendar/vendor/ical.js/test/test8.ics
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
BEGIN:VCALENDAR
|
||||||
|
VERSION:2.0
|
||||||
|
PRODID:ownCloud Calendar 0.6.3
|
||||||
|
X-WR-CALNAME:Default calendar
|
||||||
|
BEGIN:VTODO
|
||||||
|
CREATED;VALUE=DATE-TIME:20130714T092804Z
|
||||||
|
UID:0aa462f13c
|
||||||
|
LAST-MODIFIED;VALUE=DATE-TIME:20130714T092804Z
|
||||||
|
DTSTAMP;VALUE=DATE-TIME:20130714T092804Z
|
||||||
|
CATEGORIES:Projets
|
||||||
|
SUMMARY:Migrer le blog
|
||||||
|
PERCENT-COMPLETE:100
|
||||||
|
COMPLETED;VALUE=DATE-TIME;TZID=Europe/Monaco:20130716T105745
|
||||||
|
END:VTODO
|
||||||
|
BEGIN:VTODO
|
||||||
|
CREATED;VALUE=DATE-TIME:20130714T092912Z
|
||||||
|
UID:5e05bbcf34
|
||||||
|
LAST-MODIFIED;VALUE=DATE-TIME:20130714T092912Z
|
||||||
|
DTSTAMP;VALUE=DATE-TIME:20130714T092912Z
|
||||||
|
SUMMARY:Créer test unitaire erreur ical
|
||||||
|
CATEGORIES:Projets
|
||||||
|
END:VTODO
|
||||||
|
END:VCALENDAR
|
21
modules/default/calendar/vendor/ical.js/test/test9.ics
vendored
Normal file
21
modules/default/calendar/vendor/ical.js/test/test9.ics
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
BEGIN:VCALENDAR
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:eb9e1bd2-ceba-499f-be77-f02773954c72
|
||||||
|
SUMMARY:Event with an alarm
|
||||||
|
DESCRIPTION:This is an event with an alarm.
|
||||||
|
ORGANIZER="mailto:stomlinson@mozilla.com"
|
||||||
|
DTSTART;TZID="America/Los_Angeles":20130418T110000
|
||||||
|
DTEND;TZID="America/Los_Angeles":20130418T120000
|
||||||
|
STATUS:CONFIRMED
|
||||||
|
CLASS:PUBLIC
|
||||||
|
TRANSP:OPAQUE
|
||||||
|
LAST-MODIFIED:20130418T175632Z
|
||||||
|
DTSTAMP:20130418T175632Z
|
||||||
|
SEQUENCE:3
|
||||||
|
BEGIN:VALARM
|
||||||
|
ACTION:DISPLAY
|
||||||
|
TRIGGER;RELATED=START:-PT5M
|
||||||
|
DESCRIPTION:Reminder
|
||||||
|
END:VALARM
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
@ -35,7 +35,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"express": "latest",
|
"express": "latest",
|
||||||
"feedme": "latest",
|
"feedme": "latest",
|
||||||
"ical": "latest",
|
|
||||||
"iconv-lite": "latest",
|
"iconv-lite": "latest",
|
||||||
"moment": "latest",
|
"moment": "latest",
|
||||||
"request": "latest",
|
"request": "latest",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user