$calType, 'language' => $language, 'timezone' => $timezone, 'showLink' => $showLink, 'bgColor' => $bgColor, 'style' => $style ]; } // Shortcode add_shortcode('icalendrier', 'icalendrier_shortcode'); function icalendrier_shortcode($atts) { $attributes = getAttibutes($atts); $iCalendrier = new Icalendrier($attributes['language'], $attributes['timezone']); if ('comp175' === $attributes['calType']) { echo $iCalendrier->iCalendrierComp($attributes); } elseif ('wide300' === $attributes['calType']) { echo $iCalendrier->iCalendrierWide($attributes); } } /** * Class ICalendrier */ class ICalendrierWidget extends WP_Widget { /** * ICalendrierWidget constructor. */ public function __construct() { parent::__construct('icalendrier_widget', 'iCalendrier Widget', [ 'classname' => 'calendar', 'description' => 'Simple daily calendar' ]); } /** * @param $args * @param $instance */ public function widget($args, $instance) { /** * @var $before_widget * @var $widgetTitle * @var $before_title * @var $after_title * @var $after_widget */ extract($args); $attributes = getAttibutes($instance); echo $before_widget; if ($widgetTitle != "") { echo $before_title . $widgetTitle . $after_title; } $iCalendrier = new Icalendrier($attributes['language'], $attributes['timezone']); if ('comp175' === $attributes['calType']) { echo $iCalendrier->iCalendrierComp($attributes); } elseif ('wide300' === $attributes['calType']) { echo $iCalendrier->iCalendrierWide($attributes); } echo $after_widget; } /** * @param $new_instance * @param $old_instance * * @return mixed */ public function update($new_instance, $old_instance) { $instance = $old_instance; $instance['type'] = strip_tags($new_instance['type']); $instance['language'] = strip_tags($new_instance['language']); $instance['timezone'] = strip_tags($new_instance['timezone']); $instance['widgetTitle'] = strip_tags($new_instance['widgetTitle']); $instance['bgColor'] = strip_tags($new_instance['bgColor']); $instance['showLink'] = ((isset($instance['showLink']) AND $instance['showLink'] == 'on') OR ! isset($instance['showLink'])) ? 1 : 0; $instance['style'] = strip_tags($new_instance['style']); return $instance; } /** * @param $instance */ public function form($instance) { $type = isset($instance['type']) ? esc_attr($instance['type']) : "comp175"; $language = isset($instance['language']) ? esc_attr($instance['language']) : "en"; $timezone = isset($instance['timezone']) ? esc_attr($instance['timezone']) : 5; $widgetTitle = isset($instance['widgetTitle']) ? esc_attr($instance['widgetTitle']) : ""; $showLink = ((isset($instance['showLink']) AND $instance['showLink'] == 'on') OR ! isset($instance['showLink'])) ? 1 : 0; $bgColor = isset($instance['bgColor']) ? esc_attr($instance['bgColor']) : ""; $style = isset($instance['style']) ? esc_attr($instance['style']) : "default"; ?>
/>