[dev] Littles questions for using API's methods

Gerard Breiner gerard.breiner at ias.u-psud.fr
Thu Jun 14 12:11:08 UTC 2012


Many thanks Jan for your fast answer…. However, I Installed Xdebug  but I'm trying to use it without result…
Yet it is installed… php -m list :  [
Zend Modules]
Xdebug

In my Cli php.ini I added  :

[CODE]
error_reporting = E_ALL & E_NOTICE

[xdebug]
zend_extension="/usr/lib64/php5/20090626/xdebug.so"
;xdebug.default_enable=Off
xdebug.default_enable=1
xdebug.show_local_vars=1
xdebug.trace_format=2
xdebug.trace_output_dir="/www/horde4/log"
xdebug.trace_output_name="xdebug.log"

[/CODE]

When I run my script "exportCalendars.phpt" for the calendars which has a bad event I get :

PHP Notice:  Undefined index: SERVER_NAME in /www/horde4/config/horde.local.php on line 12
PHP Stack trace:
PHP   1. {main}() /www/horde4/pear/exportcals.php:0
PHP   2. require_once() /www/horde4/pear/exportcals.php:12
PHP   3. require_once() /www/horde4/lib/Application.php:18
PHP   4. include_once() /www/horde4/lib/core.php:40
PHP Notice:  Undefined index: SERVER_PORT in /www/horde4/config/horde.local.php on line 13
PHP Stack trace:
PHP   1. {main}() /www/horde4/pear/exportcals.php:0
PHP   2. require_once() /www/horde4/pear/exportcals.php:12
PHP   3. require_once() /www/horde4/lib/Application.php:18
PHP   4. include_once() /www/horde4/lib/core.php:40
PHP Notice:  Undefined index: SERVER_NAME in /www/horde4/config/horde.local.php on line 22
PHP Stack trace:
PHP   1. {main}() /www/horde4/pear/exportcals.php:0
PHP   2. require_once() /www/horde4/pear/exportcals.php:12
PHP   3. require_once() /www/horde4/lib/Application.php:18
PHP   4. include_once() /www/horde4/lib/core.php:40

====================

Fatal Error:
DateTime::__construct(): Failed to parse time string (-001-11-01) at position 7 (-): Double timezone specification

 1. Horde_Registry->call() /www/horde4/pear/exportcals.php:68
 2. Horde_Registry->callByPackage() /www/horde4/pear/php/Horde/Registry.php:979
 3. call_user_func_array() /www/horde4/pear/php/Horde/Registry.php:1020
 4. Kronolith_Api->exportCalendar()
 5. Kronolith_Event->toiCalendar() /www/horde4/kronolith/lib/Api.php:846
 6. Horde_Date->__construct() /www/horde4/kronolith/lib/Event.php:842
 7. Horde_Date->_initializeFromArgs() /www/horde4/pear/php/Horde/Date.php:201
 8. Horde_Date->_initializeFromArray() /www/horde4/pear/php/Horde/Date.php:1045
 9. Horde_Date->_correct() /www/horde4/pear/php/Horde/Date.php:1076
10. Horde_Date_Utils::daysInMonth() /www/horde4/pear/php/Horde/Date.php:1009
11. DateTime->__construct() /www/horde4/pear/php/Horde/Date/Utils.php:58

I wonder what else I have to configure for Xdebug  works.


Best regards.

Gérard





Le 11 juin 2012 à 16:58, Jan Schneider a écrit :

> Install Xdebug and you should get a backtrace with function call parameter that would help identifying the broken event.
> 
> Zitat von Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
> 
>> Hello,
>> 
>> I come here back for saying my script works and do what he is supposed to do? I think to have identified the calendar for which "calendar/exportCalendars" rise the error  "Double timezone specification".
>> Is there a way for identifying what is not clean inside this calendar ?
>> 
>> Many thanks in advance.
>> 
>> Best regards.
>> 
>> Gérard
>> 
>> 
>> Le 6 juin 2012 à 17:08, Gerard Breiner a écrit :
>> 
>>> Many thanks Jan, Mike?.
>>> 
>>> I picked up a few pieces of code and now I might expect  to get an export of all the calendar but I'm facing an error when I run 'calendar/exportCalendars' method :
>>> It seems this error occurs for calendars whose owners has never create an event.
>>> 
>>> Fatal Error:
>>> DateTime::__construct(): Failed to parse time string (-001-11-01) at position 7 (-): Double timezone specification
>>> 
>>> It seems this error is raised at :
>>> DateTime->__construct() /www/horde4/pear/php/Horde/Date/Utils.php:58
>>> 
>>> At this time my code is :
>>> 
>>> [CODE]
>>> #!/usr/bin/env php
>>> <?php
>>> set_include_path('/www/horde4/pear/php' . PATH_SEPARATOR . get_include_path());
>>> if (file_exists(dirname(__FILE__) . '/../../kronolith/lib/Application.php')) {
>>>   $baseDir = dirname(__FILE__) . '/../';
>>> } else {
>>>   require_once 'PEAR/Config.php';
>>>   $baseDir = PEAR_Config::singleton()
>>>       ->get('horde_dir', null, 'pear.horde.org') . '/kronolith/';
>>> }
>>> 
>>> require_once dirname(__FILE__) . '/../lib/Application.php';
>>> Horde_Registry::appInit('kronolith', array(
>>>   'cli' => true
>>> ));
>>> // Call a Registry method.
>>> // Retrieve a list of users associated with each calendar, and
>>>   // thus a list of users who have used kronolith and
>>>   // potentially have an agenda preference set.
>>>   $calendars = $GLOBALS['kronolith_shares']->listAllShares();
>>>   $users = array();
>>>   foreach (array_keys($calendars) as $calendarId) {
>>>       try {
>>>           $calendar = $GLOBALS['kronolith_shares']->getShare($calendarId);
>>>       } catch (Exception $e) {
>>>           continue;
>>>       }
>>>       $users = array_merge($users, $calendar->listUsers(Horde_Perms::READ));
>>>   }
>>> // Remove duplicates.
>>>   $users = array_unique($users);
>>> 
>>> // Tell the registry that we are doing authentication ourselves.
>>> define('AUTH_HANDLER', true);
>>> 
>>> $contentType = 'text/calendar';
>>> foreach ($users as $user) {
>>>  $registry->setAuth($user, array('password' => ''));
>>>  $cals[$user] = $registry->call('calendar/listCalendars', array('true', 'HORDE_PERMS::READ'));
>>>  if ($cals[$user]['0'] != '') {
>>>      $export[$user] = $registry->call('calendar/exportCalendar', array($cals[$user]['0'], $contentType, 'Horde_Perms::READ'));
>>>      $file = '/home/webadm/exportCalendars/' . $user . '.ics';
>>>      $hdl = fopen($file, a);
>>>      fwrite($hdl, $export[$user]);
>>>  }
>>> 
>>> }
>>> fclose($hdl);
>>> [/CODE]
>>> 
>>> Best regards.
>>> 
>>> Gérard
>>> 
>>> 
>>> Le 4 juin 2012 à 17:20, Michael J Rubinsky a écrit :
>>> 
>>> 
>>>> 
>>>> Quoting Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
>>>> 
>>>>> Hello Mike,
>>>>> 
>>>>> Thanks for these precisions? It make me understand what Jan meant?
>>>>> I will try soon to reduce registry.local.php and kept only what is necessary.
>>>>> 
>>>>> I have another question about calendar permissions and listCalendars.
>>>>> In the admin interface admin/perms I have assigned the permissions 'show' and 'read' to allow the user webadm access to all agendas.
>>>>> I dont understand why with the below code I do not list all the calendars but only the others users shares with "webadm" user? It is like the perms I setup has not been validated.
>>>> 
>>>> Permissions for calendars are set by the owner of the calendar, from within Kronolith - not from the administrative interface. Look on the calendar's property view.
>>>> 
>>>> 
>>>> --
>>>> mike
>>>> 
>>>> The Horde Project (www.horde.org)
>>>> mrubinsk at horde.org
>>> 
>>> --
>>> dev mailing list
>>> Frequently Asked Questions: http://wiki.horde.org/FAQ
>>> To unsubscribe, mail: dev-unsubscribe at lists.horde.org
>> 
>> --
>> dev mailing list
>> Frequently Asked Questions: http://wiki.horde.org/FAQ
>> To unsubscribe, mail: dev-unsubscribe at lists.horde.org
> 
> -- 
> Jan Schneider
> The Horde Project
> http://www.horde.org/
> 
> 
> -- 
> dev mailing list
> Frequently Asked Questions: http://wiki.horde.org/FAQ
> To unsubscribe, mail: dev-unsubscribe at lists.horde.org



More information about the dev mailing list