upskill-event-manager/wordpress-dev/wordpress/wp-content/plugins/user-registration/includes/class-ur-cron.php
bengizmo d1509b3d60 feat(dev-env): implement backup-based development workflow
This commit introduces a more reliable and consistent approach to setting up
the development environment using backups:

- Add setup-from-backup.sh script for environment setup from existing backups
- Standardize script naming and organization
- Move obsolete scripts to bin/obsolete directory
- Update documentation with new workflow instructions
- Create migration guide for transitioning to new workflow
- Update Memory Bank with workflow improvements

The new workflow provides:
- More reliable environment setup
- Faster setup process
- Offline development capability
- Consistent development environments across team members

Breaking changes:
- setup-dev.sh is replaced by setup-from-backup.sh
- sync-and-setup.sh is replaced by separate scripts
- verify-with-wpcli.sh is no longer used

Migration path is documented in MIGRATION_GUIDE.md
2025-03-26 11:26:18 -03:00

78 lines
1.4 KiB
PHP

<?php
/**
* UR Cron
* UR
*
* @package UR
* @subpackage Classes/Cron
* @since 2.3.2
*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* UR_Cron Class
*
* This class handles scheduled events
*
* @since 2.3.2
*/
class UR_Cron {
/**
* Init WordPress hook
*
* @since 2.3.2
* @see UR_Cron::weekly_events()
*/
public function __construct() {
add_filter( 'cron_schedules', array( $this, 'add_schedules' ) );
add_action( 'init', array( $this, 'schedule_events' ) );
}
/**
* Registers new cron schedules
*
* @param array $schedules Schedules.
* @return array
* @since 2.3.2
*/
public function add_schedules( $schedules = array() ) {
/*Adds once in biweekly to the existing schedules*/
$schedules['biweekly'] = array(
'interval' => ( DAY_IN_SECONDS * 15 ),
'display' => __( 'Every 15 days', 'user-registration' ),
);
return $schedules;
}
/**
* Schedules our events
*
* @return void
* @since 2.3.2
*/
public function schedule_events() {
$this->usage_cron();
}
/**
* Schedule biweekly events
*
* @return void
* @since 2.3.2
*/
private function usage_cron() {
if ( ! wp_next_scheduled( 'user_registration_usage_stats_scheduled_events' ) && ur_option_checked( 'user_registration_allow_usage_tracking', false ) ) {
wp_schedule_event( time(), 'biweekly', 'user_registration_usage_stats_scheduled_events' );
}
}
}
$user_registration_cron = new UR_Cron();