public static function init($settings = null)
    {
        if (is_array($settings)) {
            //merging settings (and setting the global settings)
            //settings should be submitted via an array
            $settings = self::settings($settings);
        } else {
            $settings = self::settings();
        }

        if ($settings['enabled']) {
            $ssversion = self::subpackage_settings('ssversion');

            //Enabling calendars
            if (self::subpackage_enabled('calendars')) {
                if ($ssversion == '3.0') {
                    Object::add_extension('Event', 'EventCalendarExtension');
                } else {
                    Event::add_extension('EventCalendarExtension');
                }
                $s = self::subpackage_settings('calendars');
                if ($s['colors']) {
                    if ($ssversion == '3.0') {
                        Object::add_extension('Calendar', 'CalendarColorExtension');
                    } else {
                        Calendar::add_extension('CalendarColorExtension');
                    }
                }
                if ($s['shading']) {
                    if ($ssversion == '3.0') {
                        Object::add_extension('Calendar', 'ShadedCalendarExtension');
                    } else {
                        Calendar::add_extension('ShadedCalendarExtension');
                    }
                }
            }
            //Enabling categories
            if (self::subpackage_enabled('categories')) {
                if ($ssversion == '3.0') {
                    Object::add_extension('Event', 'EventCategoryExtension');
                } else {
                    Event::add_extension('EventCategoryExtension');
                }
            }
            //Enabling Event Page
            if (self::subpackage_setting('pagetypes', 'enable_eventpage')) {
                if ($ssversion == '3.0') {
                    Object::add_extension('Event', 'EventHasEventPageExtension');
                } else {
                    Event::add_extension('EventHasEventPageExtension');
                }
            }
            //Enabling debug mode
            if (self::subpackage_enabled('debug')) {
                if ($ssversion == '3.0') {
                    Object::add_extension('Event', 'EventDebugExtension');
                } else {
                    Event::add_extension('EventDebugExtension');
                }
            }
            //Enabling registrations
            if (self::subpackage_enabled('registrations')) {
                if ($ssversion == '3.0') {
                    Object::add_extension('Event', 'EventRegistrationExtension');
                } else {
                    Event::add_extension('EventRegistrationExtension');
                }
            }

            //Adding URL Segment extension to Calendar (currently done for all but could be made configurable later)
            Object::add_extension('Calendar', 'DoURLSegmentExtension');
            if ($ssversion == '3.0') {
                Object::add_extension('Calendar', 'DoURLSegmentExtension');
            } else {
                Calendar::add_extension('DoURLSegmentExtension');
            }
        }
    }
public static function init($settings = null)
    {
        if (is_array($settings)) {
            //merging settings (and setting the global settings)
            //settings should be submitted via an array
            $settings = self::settings($settings);
        } else {
            $settings = self::settings();
        }

        if ($settings['enabled']) {
            $ssversion = self::subpackage_settings('ssversion');

            //Enabling calendars
            if (self::subpackage_enabled('calendars')) {
                if ($ssversion == '3.0') {
                    Object::add_extension('Event', 'EventCalendarExtension');
                } else {
                    Event::add_extension('EventCalendarExtension');
                }
                $s = self::subpackage_settings('calendars');
                if ($s['colors']) {
                    if ($ssversion == '3.0') {
                        Object::add_extension('Calendar', 'CalendarColorExtension');
                    } else {
                        Calendar::add_extension('CalendarColorExtension');
                    }
                }
                if ($s['shading']) {
                    if ($ssversion == '3.0') {
                        Object::add_extension('Calendar', 'ShadedCalendarExtension');
                    } else {
                        Calendar::add_extension('ShadedCalendarExtension');
                    }
                }
            }
            //Enabling categories
            if (self::subpackage_enabled('categories')) {
                if ($ssversion == '3.0') {
                    Object::add_extension('Event', 'EventCategoryExtension');
                } else {
                    Event::add_extension('EventCategoryExtension');
                }
            }
            //Enabling Event Page
            if (self::subpackage_setting('pagetypes', 'enable_eventpage')) {
                if ($ssversion == '3.0') {
                    Object::add_extension('Event', 'EventHasEventPageExtension');
                } else {
                    Event::add_extension('EventHasEventPageExtension');
                }
            }
            //Enabling debug mode
            if (self::subpackage_enabled('debug')) {
                if ($ssversion == '3.0') {
                    Object::add_extension('Event', 'EventDebugExtension');
                } else {
                    Event::add_extension('EventDebugExtension');
                }
            }
            //Enabling registrations
            if (self::subpackage_enabled('registrations')) {
                if ($ssversion == '3.0') {
                    Object::add_extension('Event', 'EventRegistrationExtension');
                } else {
                    Event::add_extension('EventRegistrationExtension');
                }
            }

            //Adding URL Segment extension to Calendar (currently done for all but could be made configurable later)
            Object::add_extension('Calendar', 'DoURLSegmentExtension');
            if ($ssversion == '3.0') {
                Object::add_extension('Calendar', 'DoURLSegmentExtension');
            } else {
                Calendar::add_extension('DoURLSegmentExtension');
            }
        }
    }
public static function init ( $ settings = null ) { if ( is_array ( $ settings ) ) { //merging settings (and setting the global settings) //settings should be submitted via an array $ settings = self :: settings ( $ settings ) ; } else { $ settings = self :: settings ( ) ; } if ( $ settings [ 'enabled' ] ) { $ ssversion = self :: subpackage_settings ( 'ssversion' ) ; //Enabling calendars if ( self :: subpackage_enabled ( 'calendars' ) ) { if ( $ ssversion == '3.0' ) { Object :: add_extension ( 'Event' , 'EventCalendarExtension' ) ; } else { Event :: add_extension ( 'EventCalendarExtension' ) ; } $ s = self :: subpackage_settings ( 'calendars' ) ; if ( $ s [ 'colors' ] ) { if ( $ ssversion == '3.0' ) { Object :: add_extension ( 'Calendar' , 'CalendarColorExtension' ) ; } else { Calendar :: add_extension ( 'CalendarColorExtension' ) ; } } if ( $ s [ 'shading' ] ) { if ( $ ssversion == '3.0' ) { Object :: add_extension ( 'Calendar' , 'ShadedCalendarExtension' ) ; } else { Calendar :: add_extension ( 'ShadedCalendarExtension' ) ; } } } //Enabling categories if ( self :: subpackage_enabled ( 'categories' ) ) { if ( $ ssversion == '3.0' ) { Object :: add_extension ( 'Event' , 'EventCategoryExtension' ) ; } else { Event :: add_extension ( 'EventCategoryExtension' ) ; } } //Enabling Event Page if ( self :: subpackage_setting ( 'pagetypes' , 'enable_eventpage' ) ) { if ( $ ssversion == '3.0' ) { Object :: add_extension ( 'Event' , 'EventHasEventPageExtension' ) ; } else { Event :: add_extension ( 'EventHasEventPageExtension' ) ; } } //Enabling debug mode if ( self :: subpackage_enabled ( 'debug' ) ) { if ( $ ssversion == '3.0' ) { Object :: add_extension ( 'Event' , 'EventDebugExtension' ) ; } else { Event :: add_extension ( 'EventDebugExtension' ) ; } } //Enabling registrations if ( self :: subpackage_enabled ( 'registrations' ) ) { if ( $ ssversion == '3.0' ) { Object :: add_extension ( 'Event' , 'EventRegistrationExtension' ) ; } else { Event :: add_extension ( 'EventRegistrationExtension' ) ; } } //Adding URL Segment extension to Calendar (currently done for all but could be made configurable later) Object :: add_extension ( 'Calendar' , 'DoURLSegmentExtension' ) ; if ( $ ssversion == '3.0' ) { Object :: add_extension ( 'Calendar' , 'DoURLSegmentExtension' ) ; } else { Calendar :: add_extension ( 'DoURLSegmentExtension' ) ; } } }
Calendar initialization
Should be called from the project _config.php file
@param array|null $settings
Calendar initialization Should be called from the project _config . php file