<?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>Problem with attend.php and getByUID()</title> 
  <pubDate>Fri, 10 Apr 2026 09:20:54 +0000</pubDate> 
  <link>https://bugs.horde.org/ticket/6606</link> 
  <atom:link rel="self" type="application/rss+xml" title="Problem with attend.php and getByUID()" href="https://bugs.horde.org/ticket/6606/rss" /> 
  <description>Problem with attend.php and getByUID()</description> 
 
   
   
  <item> 
   <title>The problem appears when a user tries to accept an event usi</title> 
   <description>The problem appears when a user tries to accept an event using the link

provided. attend.php, the script which updates the status, uses (line 46):



 $event = $kronolith_driver-&gt;getByUID($uid);



getByUID returns the first copy of an event (remember that no session

has been started), but maybe, on BD exists other copies of the event,

some of them without attendees. In that case, kronolith returns a &quot;You

are not an attendee of the specified event.&quot; message.



I have solved the problem like this:



-  $event = $kronolith_driver-&gt;getByUID($uid);

+  $events = $kronolith_driver-&gt;getByUID($uid,true);

+  foreach ($events as $e){

+     if ($e-&gt;hasAttendee($user)){

+        $event=$e;

+     }

+  }



In that solution, i allways suppose that only one event has the correct attendee info (copies souldn&#039;t), so i examine every copy returned by getByUID.



I did not make a path for that because i don&#039;t know if my solution is the best one.

</description> 
   <pubDate>Mon, 14 Apr 2008 15:46:18 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t44633</link> 
  </item> 
   
  <item> 
   <title>How about checking the organizer instead?</title> 
   <description>How about checking the organizer instead?</description> 
   <pubDate>Thu, 24 Apr 2008 03:38:00 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t44857</link> 
  </item> 
   
  <item> 
   <title>That was my first try, and that solution consists in 3 steps</title> 
   <description>That was my first try, and that solution consists in 3 steps:



- Retrieve an event with that UID, it doesn&#039;t mind which one

- Extract the CreatorID, to know the user who created the event.

- Get the creatorid&#039;s calendars and check, one by one, which one has the event with that UID



That solution, apart from more complicated, has a problem with IMP (and that is, maybe, another bug): when you accept an invitation with IMP and you select &quot;Add to my calendar&quot; option, it doesn&#039;t respect the creatorid!!!. Lightning does, but not IMP. That is because Lightning uses api method contact/put (webdav) and IMP uses contact/import. Contact/put has (api.php:512,513):



                    // Don&#039;t change creator/owner.

                    $event-&gt;setCreatorId($existing_event-&gt;getCreatorId());



contact/import hasn&#039;t got that instruction.



So, to summarize, i think that checking organizer could be valid only if we ensure that creatorid is preserved everytime.</description> 
   <pubDate>Mon, 28 Apr 2008 10:56:10 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t44971</link> 
  </item> 
   
  <item> 
   <title>Actually we want to track the organizer separately from the </title> 
   <description>Actually we want to track the organizer separately from the creator - the creatorId is a Horde username, which might not be true for the organizer of an invitation.</description> 
   <pubDate>Mon, 28 Apr 2008 20:15:17 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t44976</link> 
  </item> 
   
  <item> 
   <title>Then, i don&#039;t know what do you mean with &quot;organizer&quot;. 

In i</title> 
   <description>Then, i don&#039;t know what do you mean with &quot;organizer&quot;. 

In iCalendar format exists an attribute called ORGANIZER, but never is parsed, at least by Driver.php: fromiCalendar() function. And also, there is no database attribute in kronolith_events for organizer, only &quot;creator_id&quot;. In Comment #2 you talk about check the organizer... how then?



Apart from that, i don&#039;t understand why makes sense don&#039;t change creator/owner at api.php:_kronolith_put and it doesn&#039;t at api.php:_kronolith_import</description> 
   <pubDate>Tue, 29 Apr 2008 07:07:01 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t44984</link> 
  </item> 
   
  <item> 
   <title>See ticket 3965 re: organizer. I don&#039;t understand your comme</title> 
   <description>See ticket 3965 re: organizer. I don&#039;t understand your comment about import vs. put.</description> 
   <pubDate>Tue, 29 Apr 2008 18:31:50 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t44986</link> 
  </item> 
   
  <item> 
   <title>When I say that i don&#039;t know what do you mean with organizer</title> 
   <description>When I say that i don&#039;t know what do you mean with organizer signify that, when you say &quot;check the organizer instead&quot;, i don&#039;t know how do you do that. For me, tracking the organizer means check creator_id field to know who is the event organizer. How else?

That is the reason because i think that respect creator_id information is critical to know who organized the event... And that is the reason because i did the comment about import/put. That methods are very similar, but import respects creator_id info (see &lt;a href=&quot;http://bugs.horde.org/ticket/6606#c2&quot;&gt;Comment 2&lt;/a&gt;) and put doesn&#039;t.



Hope I could explain me better.</description> 
   <pubDate>Wed, 30 Apr 2008 12:23:10 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t45000</link> 
  </item> 
   
  <item> 
   <title>creator_id is who saved the event into Kronolith. That&#039;s not</title> 
   <description>creator_id is who saved the event into Kronolith. That&#039;s not always going to be the organizer.</description> 
   <pubDate>Wed, 30 Apr 2008 22:25:55 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t45016</link> 
  </item> 
   
  <item> 
   <title>Ok, I think I got it. So some conclusions so far:



- In at</title> 
   <description>Ok, I think I got it. So some conclusions so far:



- In attend.php there is no way to know the organizer, because we are not talking about iCal. We only know an UID given as GET parameter.



- Anyway, I think that organizer information from an imported iCal is lost because function Driver.php: fromiCalendar doesn&#039;t parse ORGANIZER attribute, so even if you would know the organizer information at attend.php, it is impossible retrieving  the correct event from backend, because at least in sql, that information doesn&#039;t exists (only creator_id, but as you said, organizer an creator_id are different concepts ).



- To solve the problem of retrieving the correct event at attend.php, I think we should keep our attention at the creator_id. The scenario described (I mean, when you get tree links pointing to attend.php to accept, accept tentatively or decline) happens always because the event was created in Kronolith, and the event (if not deleted) MUST exists in backend, with a creator_id). So maybe the solution should be adding that information in that links (with another GET parameter called creator=ID).



- Finally, I think that the issue described before about the tracking of creator_id done by import and put api methods should be fixed (maybe I should create another ticket), specially if the previous solution proposed is done.





- About the creator_id in import/put api methods a still thinking that is an issue that should be fixed, but i understand that, because 

</description> 
   <pubDate>Thu, 01 May 2008 08:53:12 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t45020</link> 
  </item> 
   
  <item> 
   <title>&gt; - Finally, I think that the issue described before about t</title> 
   <description>&gt; - Finally, I think that the issue described before about the tracking 

&gt; of creator_id done by import and put api methods should be fixed 

&gt; (maybe I should create another ticket), specially if the previous 

&gt; solution proposed is done.



Yes, please do create another ticket with as much detail as possible. Thanks.</description> 
   <pubDate>Fri, 02 May 2008 04:02:10 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t45084</link> 
  </item> 
   
  <item> 
   <title>So I think I&#039;ve been a bit dense here. Can&#039;t we solve this p</title> 
   <description>So I think I&#039;ve been a bit dense here. Can&#039;t we solve this problem definitively by passing the calendar_id and event_id into attend.php instead of the uid? Jan, any reason not to do that (link length perhaps, but given these issues, I think specificity is worth it).</description> 
   <pubDate>Fri, 02 May 2008 04:04:39 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t45086</link> 
  </item> 
   
  <item> 
   <title>Ping, last chance to change/fix this for 2.2...</title> 
   <description>Ping, last chance to change/fix this for 2.2...</description> 
   <pubDate>Fri, 23 May 2008 19:12:45 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t45496</link> 
  </item> 
   
  <item> 
   <title>Beside some minor information leakage I don&#039;t see a reason w</title> 
   <description>Beside some minor information leakage I don&#039;t see a reason why we shouldn&#039;t use it. I used UID originally because that&#039;s what we have to do with iTip.

Changed for Kronolith 2.2.</description> 
   <pubDate>Sat, 24 May 2008 17:42:26 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/6606#t45544</link> 
  </item> 
   
   
 
 </channel> 
</rss> 
