PATH:
home
/
ediuae
/
petalwellnessspa.com
/
wp-content
/
plugins
/
simply-schedule-appointments
/
includes
<?php /** * Simply Schedule Appointments Availability Schedule. * * @since 3.6.10 * @package Simply_Schedule_Appointments */ /** * Simply Schedule Appointments Availability Schedule. * * @since 3.6.10 */ use League\Period\Period; class SSA_Availability_Schedule_Factory extends SSA_Availability_Schedule { public static function create( array $data = array() ) { $data = array_merge( array( 'period' => new Period( '2116-01-01', '2117-01-01' ), 'capacity_available' => SSA_Constants::CAPACITY_MAX, ), $data ); $instance = new SSA_Availability_Schedule(); // create a default-available block if ( ! empty( $data['period'] ) ) { $instance = $instance->add_block( SSA_Availability_Block_Factory::create( array( 'period' => $data['period'], 'capacity_available' => $data['capacity_available'], 'buffer_available' => $data['capacity_available'], ) ) ); } $instance->is_sorted = true; unset( $data['period'], $data['args'], $data['parent_schedule'] ); foreach ($data as $key => $value) { $instance->$key = $value; } return $instance; } public static function create_from_appointment( SSA_Appointment_Object $appointment ) { $raw_block = SSA_Availability_Block_Factory::create( $appointment ); return self::create( $data ); } public static function available_for_eternity() { return self::available_for_period( SSA_Constants::EPOCH_PERIOD() ); } public static function available_for_period( Period $period, $args = array() ) { $instance = new SSA_Availability_Schedule(); $instance = $instance->add_block( SSA_Availability_Block_Factory::available_for_period( $period, $args ) ); return $instance; } public static function create_random( array $data = array() ) { $start_time = time() + rand(1,1000) * 3600; $end_time = $start_time + rand( 1, 1000 ) * 3600; $instance = self::create( array( 'period' => new Period( gmdate( 'Y-m-d H:00:00', $start_time ), gmdate( 'Y-m-d H:00:00', $end_time ) ), ) ); return $instance; } public static function fixture_available_allyear() { return self::create( array( 'capacity_available' => SSA_Constants::CAPACITY_MAX, 'period' => new Period( '2116-01-01', '2117-01-01' ), ) ); } public static function fixture_blackout_xmas() { return self::create( array( 'type' => 'global', 'subtype' => 'blackout', 'capacity_available' => 0, 'period' => new Period( '2116-12-25', '2116-12-26' ), ) ); } public static function fixture_blackout_newyear() { return self::create( array( 'type' => 'global', 'subtype' => 'blackout', 'capacity_available' => 0, 'period' => new Period( '2116-01-01', '2116-01-02' ), ) ); } }
[-] class-settings.php
[edit]
[-] class-hooks.php
[edit]
[-] class-availability-query.php
[edit]
[-] class-appointment-model.php
[edit]
[-] class-beaver-builder.php
[edit]
[-] class-web-meetings.php
[edit]
[-] class-availability-model.php
[edit]
[-] class-recipient-admin.php
[edit]
[-] class-recipient-customer.php
[edit]
[-] class-constants.php
[edit]
[-] class-async-action-model.php
[edit]
[-] class-support.php
[edit]
[-] class-google-calendar-client.php
[edit]
[+]
..
[-] class-capabilities.php
[edit]
[-] class-encryption.php
[edit]
[-] class-availability-cache-invalidation.php
[edit]
[-] class-calendar-events-settings.php
[edit]
[-] class-settings-global.php
[edit]
[-] class-translation.php
[edit]
[-] class-cli.php
[edit]
[-] class-missing.php
[edit]
[-] class-action-scheduler.php
[edit]
[-] class-templates-api.php
[edit]
[-] class-blackout-dates.php
[edit]
[-] class-calendar-events-object.php
[edit]
[-] class-divi.php
[edit]
[-] class-templates.php
[edit]
[-] class-wp-admin.php
[edit]
[-] class-appointment-factory.php
[edit]
[-] class-scheduling-max-per-day.php
[edit]
[-] class-notifications-api.php
[edit]
[-] class-shortcodes.php
[edit]
[-] class-validation.php
[edit]
[-] class-resource-group-object-factory.php
[edit]
[-] class-payment-object.php
[edit]
[-] class-locale.php
[edit]
[-] class-ics-exporter.php
[edit]
[-] class-filesystem.php
[edit]
[-] class-recipient-shared.php
[edit]
[-] class-availability-schedule.php
[edit]
[-] class-block-upcoming-appointments.php
[edit]
[-] class-elementor.php
[edit]
[-] class-appointment-meta-model.php
[edit]
[-] class-revision-meta-model.php
[edit]
[+]
divi
[-] class-notifications.php
[edit]
[-] class-upgrade.php
[edit]
[-] class-utils.php
[edit]
[-] class-availability-functions.php
[edit]
[-] class-external-calendar-api.php
[edit]
[-] class-csv-exporter.php
[edit]
[-] class-external-google-calendar-api.php
[edit]
[-] class-twig-extension.php
[edit]
[-] class-bootstrap.php
[edit]
[-] class-notices.php
[edit]
[-] class-availability-schedule-factory.php
[edit]
[-] class-blackout-dates-settings.php
[edit]
[-] class-support-status.php
[edit]
[-] class-block-booking.php
[edit]
[-] class-advanced-scheduling-availability.php
[edit]
[-] class-exception.php
[edit]
[-] class-styles-settings.php
[edit]
[-] class-forms.php
[edit]
[-] class-recipient-staff.php
[edit]
[+]
beaver-builder
[-] class-users.php
[edit]
[-] class-sequence-factory.php
[edit]
[+]
third-party
[-] class-locales.php
[edit]
[-] class-db-model.php
[edit]
[-] class-db.php
[edit]
[-] class-availability-default.php
[edit]
[-] class-staff-settings.php
[edit]
[-] class-notification-model.php
[edit]
[-] class-settings-installed.php
[edit]
[-] class-appointment-object.php
[edit]
[-] class-notices-api.php
[edit]
[-] class-translation-settings.php
[edit]
[-] class-support-status-api.php
[edit]
[-] class-notices-data.php
[edit]
[-] class-appointment-type-object.php
[edit]
[-] class-appointment-type-object-factory.php
[edit]
[-] class-availability-block-factory.php
[edit]
[-] class-recipient.php
[edit]
[-] class-revision-model.php
[edit]
[-] class-customers.php
[edit]
[-] class-settings-api.php
[edit]
[-] class-cache.php
[edit]
[-] class-availability-detective-case.php
[edit]
[-] class-styles.php
[edit]
[-] class-capacity-settings.php
[edit]
[-] class-gcal-exporter.php
[edit]
[-] class-advanced-scheduling-settings.php
[edit]
[-] class-appointment-type-model.php
[edit]
[-] class-notifications-settings.php
[edit]
[-] class-period.php
[edit]
[-] class-external-api.php
[edit]
[-] class-error-notices.php
[edit]
[-] class-availability-cache.php
[edit]
[-] class-developer-settings.php
[edit]
[-] class-dashboard-upcoming-appointments-widget.php
[edit]
[-] class-availability-external-model.php
[edit]
[-] class-availability-block.php
[edit]
[-] class-customer-information.php
[edit]
[+]
elementor
[-] class-appointment-type-label-model.php
[edit]
[-] class-embed-booking-app-api.php
[edit]
[+]
lib
[-] class-sequence.php
[edit]
[-] class-debug.php
[edit]
[-] class-appointment-types-db.php
[edit]