<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet href="https://dev.horde.org/themes/horde//default/feed-rss.xsl" type="text/xsl"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 
 <channel> 
  <title>PHP Fatal error:  Call to a member function setTimezone() on a non-object in /var/www/horde5/kronolith/lib/Kronolith.php on line 407</title> 
  <pubDate>Fri, 10 Apr 2026 19:28:23 +0000</pubDate> 
  <link>https://bugs.horde.org/ticket/11587</link> 
  <atom:link rel="self" type="application/rss+xml" title="PHP Fatal error:  Call to a member function setTimezone() on a non-object in /var/www/horde5/kronolith/lib/Kronolith.php on line 407" href="https://bugs.horde.org/ticket/11587/rss" /> 
  <description>PHP Fatal error:  Call to a member function setTimezone() on a non-object in /var/www/horde5/kronolith/lib/Kronolith.php on line 407</description> 
 
   
   
  <item> 
   <title>This error pops up in syslog when an ics-file is imported. T</title> 
   <description>This error pops up in syslog when an ics-file is imported. The event is the first &quot;complicated&quot; looking one in the file. Attached you&#039;ll find the event, that triggered the error.

If I look around 407, the loop suggests that $next is to become false eventually, but the 2nd if($convert) ignores that. As workaround I have added a &amp;&amp; $next !== false to it. That seems to work.

            while ($next !== false &amp;&amp; $next-&gt;compareDate($endDate) &lt;= 0) {
                if (!$event-&gt;recurrence-&gt;hasException($next-&gt;year, $next-&gt;month, $next-&gt;mday)) {
[snip]
                }
                if ($convert) {
                    $next-&gt;setTimezone($event-&gt;timezone);
                }
                $next = $event-&gt;recurrence-&gt;nextRecurrence(
                    array(&#039;year&#039; =&gt; $next-&gt;year,
                          &#039;month&#039; =&gt; $next-&gt;month,
                          &#039;mday&#039; =&gt; $next-&gt;mday + 1,
                          &#039;hour&#039; =&gt; $next-&gt;hour,
                          &#039;min&#039; =&gt; $next-&gt;min,
                          &#039;sec&#039; =&gt; $next-&gt;sec));
                if ($convert &amp;&amp; $next !== false) {
#line 407:
                    $next-&gt;setTimezone($timezone);
                }
            }
</description> 
   <pubDate>Mon, 29 Oct 2012 14:00:14 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/11587#t74143</link> 
  </item> 
   
  <item> 
   <title>Are you really using the develop branch?</title> 
   <description>Are you really using the develop branch?</description> 
   <pubDate>Mon, 29 Oct 2012 15:32:32 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/11587#t74145</link> 
  </item> 
   
  <item> 
   <title>&gt; Are you really using the develop branch?

er, no. It&#039;s i</title> 
   <description>&gt; Are you really using the develop branch?

er, no. It&#039;s in PEAR&#039;s Beta2 and RC1.

pear list -c horde |grep kro

kronolith                  4.0.0RC1   beta
</description> 
   <pubDate>Mon, 29 Oct 2012 15:41:55 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/11587#t74147</link> 
  </item> 
   
  <item> 
   <title>I can reproduce the problem with kronolith-4.0.2 with a comp</title> 
   <description>I can reproduce the problem with kronolith-4.0.2 with a complex .ics file. After I apply the suggested fix in comment #1, the import succeeds.</description> 
   <pubDate>Thu, 06 Dec 2012 13:14:52 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/11587#t75449</link> 
  </item> 
   
  <item> 
   <title>That example ICS files works perfectly here.</title> 
   <description>That example ICS files works perfectly here.</description> 
   <pubDate>Thu, 06 Dec 2012 15:15:29 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/11587#t75453</link> 
  </item> 
   
  <item> 
   <title>Nevermind.</title> 
   <description>Nevermind.</description> 
   <pubDate>Thu, 06 Dec 2012 15:16:11 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/11587#t75454</link> 
  </item> 
   
   
 
 </channel> 
</rss> 
