![]() Server : LiteSpeed System : Linux premium84.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : claqxcrl ( 523) PHP Version : 8.1.32 Disable Function : NONE Directory : /home/claqxcrl/giraluanda.com/wp-content/plugins/the-events-calendar/src/Tribe/ |
<?php /** * Class Event_Cleaner * * @since 4.6.13 */ class Tribe__Events__Event_Cleaner { /** * @var $scheduler */ private $scheduler; /** * The option name to move old events to trash. * * @var $key_trash_events * * @since 4.6.13 */ public $key_trash_events = 'trash-past-events'; /** * The option name to permanently delete old events. * * @var $key_delete_events * * @since 4.6.13 */ public $key_delete_events = 'delete-past-events'; public function __construct( Tribe__Events__Event_Cleaner_Scheduler $scheduler = null ) { $this->scheduler = $scheduler ? $scheduler : new Tribe__Events__Event_Cleaner_Scheduler(); } /** * Receives the existing value and the new value (modified by user) for the $key_trash_events option, * compares them and runs the scheduler if the conditions are satisfied. * * @param array<string,mixed>|null $old_value The old value of the `tribe_events_calendar_options` option. * @param array<string,mixed>|null $new_value The old value of the `tribe_events_calendar_options` option. * * @since 4.6.13 * @since 5.3.0 Loosen the type-checking to avoid errors during option updates. */ public function move_old_events_to_trash( $old_value = [], $new_value = [] ) { $old_value = (array) $old_value; $new_value = (array) $new_value; $old_trash_setting = empty( $old_value[ $this->key_trash_events ] ) ? null : $old_value[ $this->key_trash_events ]; $new_trash_setting = empty( $new_value[ $this->key_trash_events ] ) ? null : $new_value[ $this->key_trash_events ]; if ( $new_trash_setting == $old_trash_setting ) { return; } if ( null === $new_trash_setting ) { $this->scheduler->trash_clear_scheduled_task(); return; } $this->scheduler->set_trash_new_date( $new_trash_setting ); $this->scheduler->move_old_events_to_trash(); } /** * Receives the existing value and the new value (modified by user) for the $key_delete_events option, * compares them and runs the scheduler if the conditions are satisfied. * * @param array $old_value * @param array $new_value * * @since 4.6.13 */ public function permanently_delete_old_events( array $old_value, array $new_value ) { $old_value = empty( $old_value[ $this->key_delete_events ] ) ? null : $old_value[ $this->key_delete_events ]; $new_value = empty( $new_value[ $this->key_delete_events ] ) ? null : $new_value[ $this->key_delete_events ]; if ( $new_value == $old_value ) { return; } if ( null === $new_value ) { $this->scheduler->delete_clear_scheduled_task(); return; } $this->scheduler->set_delete_new_date( $new_value ); $this->scheduler->permanently_delete_old_events(); } }