Bug #37599
external calendar creation fails with fatal error
| Status: | New | Start date: | 2012-05-30 | |
|---|---|---|---|---|
| Priority: | Should have | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | Support | Spent time: | - | |
| Target version: | 1.6 | |||
| Votes: | 1 (View) |
Description
Fatal error: require_once() [function.require]: Failed opening required '/path/www/typo3conf/ext/cal/model/iCalendar/class.tx_iCalendar_vcalendar.php' (include_path='.:/usr/share/pear/php5.3') in /path/www/typo3conf/ext/cal/model/class.tx_model_iCalendar.php on line 110
I wanted to create an external calendar, once i supply a file *.ics i get the above error, if i specify a path different from *.ics saving works.
PHP Version 5.3
History
Updated by Kay Strobach about 1 year ago
TYPO3 4.5.16
Updated by Kay Strobach about 1 year ago
same if i save a calendar with a local ics file :(
Fatal error: require_once() [function.require]: Failed opening required '/path/www/typo3conf/ext/cal/model/iCalendar/class.tx_iCalendar_vcalendar.php' (include_path='.:/usr/share/pear/php5.3') in /path/www/typo3conf/ext/cal/model/class.tx_model_iCalendar.php on line 110
PS:
I use PHP 5.3, TYPO3 4.5.16, CAL 1.4.3
Updated by Kay Strobach about 1 year ago
Same on my development machine! - As this is a core feature of cal - please try to give me a hint.
Fatal error: require_once(): Failed opening required 'D:/devenv/mowesII/www/t3-4_5/typo3conf/ext/cal/model/iCalendar/class.tx_iCalendar_vcalendar.php' (include_path='.;/pfad/php5') in /pfad/www/t3-4_5/typo3conf/ext/cal/model/class.tx_model_iCalendar.php on line 110
Call Stack:
0.0041 826256 1. {main}() /pfad/www/t3-4_5/typo3/alt_doc.php:0
0.5202 18883024 2. SC_alt_doc->processData() /pfad/www/t3-4_5/typo3/alt_doc.php:1502
0.6075 22004784 3. t3lib_TCEmain->process_datamap() /pfad/www/t3-4_5/typo3/alt_doc.php:319
0.6350 23599216 4. tx_cal_tcemain_processdatamap->processDatamap_preProcessFieldArray() /pfad/www/t3-4_5/t3lib/class.t3lib_tcemain.php:640
0.6428 24221480 5. tx_cal_tcemain_processdatamap->processICS() /pfad/www/t3-4_5/typo3conf/ext/cal/hooks/class.tx_cal_tcemain_processdatamap.php:383
0.6428 24221616 6. tx_cal_icalendar_service->updateEvents() /pfad/www/t3-4_5/typo3conf/ext/cal/hooks/class.tx_cal_tcemain_processdatamap.php:468
4.4902 24384672 7. tx_cal_icalendar_service->getiCalendarFromIcsFile() /pfad/www/t3-4_5/typo3conf/ext/cal/service/class.tx_cal_icalendar_service.php:179
4.4939 24798040 8. tx_model_iCalendar->parsevCalendar() /pfad/www/t3-4_5/typo3conf/ext/cal/service/class.tx_cal_icalendar_service.php:381
4.5165 25448560 9. tx_model_iCalendar->newComponent() /pfad/www/t3-4_5/typo3conf/ext/cal/model/class.tx_model_iCalendar.php:622
Updated by Kay Strobach about 1 year ago
Hello mario,
after our talk yesterday i suggest the following solutions:
Classname builder
+-> check, wether class file exists and if class exists
+-> if yes no change
+-> if not throw exception
+-> catch it in the tce hook
+-> add a flashmessage, that the saved ics file can't be parsed ;)
I changed my scripts to build just one calendar:
shell script (stars need to be replaced ;)
wget -r -l1 -A.ics -O resources.ics --user=**** --password=**** http://****/Calendar/shared/**** /usr/bin/php resources.php cp resources.ics /******/www/fileadmin/_temp_/
resources.php
<?php
// strip html
$buffer = file_get_contents('resources.ics');
$firstCalendar = strpos($buffer, 'BEGIN:VCALENDAR');
$buffer = substr($buffer, $firstCalendar);
//reduce to one calendar
$buffer = preg_replace('/END:VEVENT(.*)BEGIN:VEVENT/Uis', 'END:VEVENT' . "\n" . 'BEGIN:VEVENT', $buffer);
file_put_contents('resources.ics', $buffer);
Finally this can be stripped down to a single function, which fetches the links with domxml and passes the ics file - this way cal could do caldav out of the box ;)
Updated by Thomas Kowtsch 9 months ago
- Target version set to 1.6