Hello everyone.
I’m facing this problem since we have adopted SuiteCRM (Version 7.5.1) in our small company. I see this is a very common issue, but I didn’t found a solution yet.
First tought was my apache box wasn’t configured properly to handle PUT method required to update the calendar on server, so I also tested with public suiteCRM demo, and the issue is still there: thying to update an evend from iCal, thunderbid, whatever, authentication is required and no user/password is accepted.
Well, I did some further investigation, and I think I found something: in source file
modules/vCals/HTTP_WebDAV_Server_vCal.php , line 128, the following php instruction is used to parse the PUT request:
parse_str($_REQUEST[‘parms’], $query_arr);
Well, that string is empty, since $_REQUEST hasn’t a “parms” element in which the request string is held.
The array it’s the $_REQUEST itself, so the $query_arr gets empty and all the following if/else statements fail. No user is extracted from the PUT request (mail, user_name), then the PUT request fails and the default authentication is used.
I changed the line 128 with this one:
$query_arr = $_REQUEST; //yes, this way this if/else statement is useless
This way, the PUT requests are correctly handled, since the php script is able to parse the request string and the mail/user_name authentication is successfully.
But… it’s still not working properly: events on calendar can be modified by external tools, the PUT requests is ok, but the events are not updated at all in the suiteCRM DB
I’m giving up on that, but I’m really sorry since the whole CRM is beautiful and properly working in our case. This feature is very important for our team, but I’m not a php developer and I’m stuck on this since 2 weeks.
Thank you!