Add to Calendar Feature Question

Hello,

Add to calendar feature for online events does not add details of the Zoom meeting for our Calendar.

It adds other details that are there in the event description. But no the Zoom link that Zoom link that shows up as button link for events.

How are other schools handling this issue?

Here is a screen shot of what I mean.

image

Thanks,

Akbar Ehsan

Hi Akbar,

If it helps, I know some folks are using onWidgetFormatEvents with the “ical”/“onICAL” options in order to add various custom fields to the end of the event description (for example, a custom CTA link). I could imagine something similar being done to append

See the later example on this page: onWidgetFormat - LiveWhale Support

The online variables are currently sent through ICAL as
X-LIVEWHALE-ONLINE-URL
X-LIVEWHALE-ONLINE-BUTTON-LABEL
X-LIVEWHALE-ONLINE-INSTRUCTIONS
In case you wanted to grab any of those with a module and pop them onto the end of the Description.

What is the Description variable sent in iCal Feeds/downloads?

<?php

$_LW->REGISTERED_APPS['custom_ical_zoomcta']=array(
        'title'=>'Custom iCal Zoomcta',
        'handlers'=>array('onWidgetFormatEvents')
);

class LiveWhaleApplicationCustomIcalZoomcta {

    public function onWidgetFormatEvents($handler, $buffer) {
        global $_LW;

        if ($handler == 'ical' || $handler == 'onICAL') {

            if (!empty($buffer['X-LIVEWHALE-ONLINE-URL'])) {
               // $buffer['location'] .= ', ' . $buffer['X-LIVEWHALE-ONLINE-URL'];
				$buffer['zoom'] = $buffer['zoom'] . ' - Zoom: ' . $buffer['X-LIVEWHALE-ONLINE-URL'];
            }
        }
        
        return $buffer;

    }

}

Here is the code I have for custom module. As I understand you, I am to append the CTA link to Description. I am trying to find out what that field might be for Ical?

Thanks.

Hi Akbar, I believe it’s $buffer['description'] but you can always double check when developing a custom module by running something like $_LW->logDebug('buffer values = '.serialize($buffer)); and then checking the livewhale/?lw_debug=4 debug logs and unserializing the output to see everything currently included. Hope this helps!

<?php

$_LW->REGISTERED_APPS['custom_ical_zoomcta']=array(
        'title'=>'Custom iCal Zoomcta',
        'handlers'=>array('onWidgetFormatEvents')
);

class LiveWhaleApplicationCustomIcalZoomcta {

    public function onWidgetFormatEvents($handler, $buffer) {
        global $_LW;
		
        if($handler=='ical' or $handler=='onICAL') {
			if(!empty($buffer['description']) && (!empty($buffer['X-LIVEWHALE-ONLINE-URL']) || (!empty($buffer['X-LIVEWHALE-ONLINE-URL'])))){
				$buffer['description'] = $buffer['description'] . ' - ZOOM URL: ' . $buffer['X-LIVEWHALE-ONLINE-URL']. $buffer['X-LIVEWHALE-X-LIVEWHALE-ONLINE-URL']; 
			}
          // $_LW->logDebug("iCal buffer: " . serialize($buffer));
        }		
        
        return $buffer;

    }

}

That appended it to Description.

Thanks.