/** * Check whether WP Cron needs to add new task. */ public function check_cron() { if (!is_admin()) { return; } // set wp cron task if (Post_Views_Counter()->get_attribute('options', 'general', 'cron_run')) { // not set or need to be updated? if (!wp_next_scheduled('pvc_reset_counts') || Post_Views_Counter()->get_attribute('options', 'general', 'cron_update')) { // task is added but need to be updated if (Post_Views_Counter()->get_attribute('options', 'general', 'cron_update')) { // remove old schedule wp_clear_scheduled_hook('pvc_reset_counts'); // set update to false $general = Post_Views_Counter()->get_attribute('options', 'general'); $general['cron_update'] = false; // update settings update_option('post_views_counter_settings_general', $general); } // set schedule wp_schedule_event(Post_Views_Counter()->get_instance('counter')->get_timestamp(Post_Views_Counter()->get_attribute('options', 'general', 'reset_counts', 'type'), Post_Views_Counter()->get_attribute('options', 'general', 'reset_counts', 'number')), 'post_views_counter_interval', 'pvc_reset_counts'); } } else { // remove schedule wp_clear_scheduled_hook('pvc_reset_counts'); remove_action('pvc_reset_counts', array(&$this, 'reset_counts')); } }
/** * Settings saved to wp_options * @since 1.4 * @uses add_option() */ public function wpua_options() { add_option('avatar_default_wp_user_avatar', ""); add_option('wp_user_avatar_allow_upload', '0'); add_option('wp_user_avatar_disable_gravatar', '0'); add_option('wp_user_avatar_edit_avatar', '1'); add_option('wp_user_avatar_resize_crop', '0'); add_option('wp_user_avatar_resize_h', '96'); add_option('wp_user_avatar_resize_upload', '0'); add_option('wp_user_avatar_resize_w', '96'); add_option('wp_user_avatar_tinymce', '1'); add_option('wp_user_avatar_upload_size_limit', '0'); if (wp_next_scheduled('wpua_has_gravatar_cron_hook')) { $cron = get_option('cron'); $new_cron = ''; foreach ($cron as $key => $value) { if (is_array($value)) { if (array_key_exists('wpua_has_gravatar_cron_hook', $value)) { unset($cron[$key]); } } } update_option('cron', $cron); } }
function __construct() { global $itsec_globals; //make sure the log file info is there or generate it. This should only affect beta users. if ( ! isset( $itsec_globals['settings']['log_info'] ) ) { $itsec_globals['settings']['log_info'] = substr( sanitize_title( get_bloginfo( 'name' ) ), 0, 20 ) . '-' . ITSEC_Lib::get_random( mt_rand( 0, 10 ) ); update_site_option( 'itsec_global', $itsec_globals['settings'] ); } //Make sure the logs directory was created if ( ! is_dir( $itsec_globals['ithemes_log_dir'] ) ) { @mkdir( trailingslashit( $itsec_globals['ithemes_dir'] ) . 'logs' ); } //don't create a log file if we don't need it. if ( isset( $itsec_globals['settings']['log_type'] ) && $itsec_globals['settings']['log_type'] !== 0 ) { $this->log_file = $itsec_globals['ithemes_log_dir'] . '/event-log-' . $itsec_globals['settings']['log_info'] . '.log'; $this->start_log(); //create a log file if we don't have one } $this->logger_modules = array(); //array to hold information on modules using this feature $this->logger_displays = array(); //array to hold metabox information $this->module_path = ITSEC_Lib::get_module_path( __FILE__ ); add_action( 'plugins_loaded', array( $this, 'register_modules' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'admin_script' ) ); //enqueue scripts for admin page //Run database cleanup daily with cron if ( ! wp_next_scheduled( 'itsec_purge_logs' ) ) { wp_schedule_event( time(), 'daily', 'itsec_purge_logs' ); } add_action( 'itsec_purge_logs', array( $this, 'purge_logs' ) ); if ( is_admin() ) { require( trailingslashit( $itsec_globals['plugin_dir'] ) . 'core/lib/class-itsec-wp-list-table.php' ); //used for generating log tables add_action( 'itsec_add_admin_meta_boxes', array( $this, 'add_admin_meta_boxes' ) ); //add log meta boxes } if ( isset( $_POST['itsec_clear_logs'] ) && $_POST['itsec_clear_logs'] === 'clear_logs' ) { global $itsec_clear_all_logs; $itsec_clear_all_logs = true; add_action( 'plugins_loaded', array( $this, 'purge_logs' ) ); } }
public function load($parent) { $this->parent = $parent; //delete_option('redux-framework-tracking'); $this->options = get_option('redux-framework-tracking'); $this->options['dev_mode'] = $parent->args['dev_mode']; if (!isset($this->options['hash']) || !$this->options['hash'] || empty($this->options['hash'])) { $this->options['hash'] = md5(site_url() . '-' . $_SERVER['REMOTE_ADDR']); update_option('redux-framework-tracking', $this->options); } if (isset($_GET['redux_framework_disable_tracking']) && !empty($_GET['redux_framework_disable_tracking'])) { $this->options['allow_tracking'] = false; update_option('redux-framework-tracking', $this->options); } if (isset($_GET['redux_framework_enable_tracking']) && !empty($_GET['redux_framework_enable_tracking'])) { $this->options['allow_tracking'] = true; update_option('redux-framework-tracking', $this->options); } if (isset($_GET['page']) && $_GET['page'] == $this->parent->args['page_slug']) { if (!isset($this->options['allow_tracking'])) { add_action('admin_enqueue_scripts', array($this, '_enqueue_tracking')); } else { if (!isset($this->options['tour']) && ($this->parent->args['dev_mode'] == "true" || $this->parent->args['page_slug'] == "redux_demo")) { add_action('admin_enqueue_scripts', array($this, '_enqueue_newsletter')); } } } if (isset($this->options['allow_tracking']) && $this->options['allow_tracking'] == true) { // The tracking checks daily, but only sends new data every 7 days. if (!wp_next_scheduled('redux_tracking')) { wp_schedule_event(time(), 'daily', 'redux_tracking'); } add_action('redux_tracking', array($this, 'tracking')); } }
public function __construct() { if (!wp_next_scheduled('fileaway_scheduled_cleanup')) { wp_schedule_event(time(), 'hourly', 'fileaway_scheduled_cleanup'); } add_action('fileaway_scheduled_cleanup', array($this, 'cleanup')); }
/** * Set up the API module. * * @since 4.0.0 * @internal */ public function __construct() { if (WPMUDEV_CUSTOM_API_SERVER) { $this->server_root = trailingslashit(WPMUDEV_CUSTOM_API_SERVER); } $this->server_url = $this->server_root . $this->rest_api; if (defined('WPMUDEV_APIKEY') && WPMUDEV_APIKEY) { $this->api_key = WPMUDEV_APIKEY; } else { // If 'clear_key' is present in URL then do not load the key from DB. $this->api_key = get_site_option('wpmudev_apikey'); } // Schedule automatic data update on the main site of the network. if (is_main_site()) { if (!wp_next_scheduled('wpmudev_scheduled_jobs')) { wp_schedule_event(time(), 'twicedaily', 'wpmudev_scheduled_jobs'); } add_action('wpmudev_scheduled_jobs', array($this, 'refresh_membership_data')); } elseif (wp_next_scheduled('wpmudev_scheduled_jobs')) { // In case the cron job was already installed in a sub-site... wp_clear_scheduled_hook('wpmudev_scheduled_jobs'); } /** * Run custom initialization code for the API module. * * @since 4.0.0 * @var WPMUDEV_Dashboard_Api The dashboards API module. */ do_action('wpmudev_dashboard_api_init', $this); }
/** * Sets up gateaway and adds relevant actions/filters */ function __construct() { //Booking Interception if ($this->is_active() && absint(get_option('em_' . $this->gateway . '_booking_timeout')) > 0) { $this->count_pending_spaces = true; } parent::__construct(); $this->status_txt = __('Awaiting PayPal Payment', 'em-pro'); add_action('admin_enqueue_scripts', array(&$this, 'gateway_admin_js')); if ($this->is_active()) { add_action('em_gateway_js', array(&$this, 'em_gateway_js')); //Gateway-Specific add_action('em_template_my_bookings_header', array(&$this, 'say_thanks')); //say thanks on my_bookings page add_filter('em_bookings_table_booking_actions_4', array(&$this, 'bookings_table_actions'), 1, 2); //add_filter('em_my_bookings_booking_actions', array(&$this,'em_my_bookings_booking_actions'),1,2); //set up cron $timestamp = wp_next_scheduled('emp_paypal_cron'); if (absint(get_option('em_paypal_booking_timeout')) > 0 && !$timestamp) { $result = wp_schedule_event(time(), 'em_minute', 'emp_paypal_cron'); } elseif (!$timestamp) { wp_unschedule_event($timestamp, 'emp_paypal_cron'); } } else { //unschedule the cron wp_clear_scheduled_hook('emp_paypal_cron'); } }
/** * Run cron jobs more frequently so don't have to wait to test results */ function wordcamp_dev_test_cron_jobs() { /** @var $camptix CampTix_Plugin */ /** @var $camptix_network_dashboard CampTix_Network_Dashboard */ /** @var $WCOR_Mailer WCOR_Mailer */ global $camptix, $camptix_network_dashboard, $WCOR_Mailer; // Schedule custom events if (!wp_next_scheduled('wordcamp_dev_10_seconds')) { wp_schedule_event(time(), '10-seconds', 'wordcamp_dev_10_seconds'); } if (!wp_next_scheduled('wordcamp_dev_30_seconds')) { wp_schedule_event(time(), '30-seconds', 'wordcamp_dev_30_seconds'); } if (!wp_next_scheduled('wordcamp_dev_45_seconds')) { wp_schedule_event(time(), '45-seconds', 'wordcamp_dev_45_seconds'); } if (!wp_next_scheduled('wordcamp_dev_60_seconds')) { wp_schedule_event(time(), '60-seconds', 'wordcamp_dev_60_seconds'); } // Fire cron jobs on fast hooks if (isset($camptix_network_dashboard)) { add_action('wordcamp_dev_10_seconds', array($camptix_network_dashboard, 'gather_events_data')); add_action('wordcamp_dev_60_seconds', array($camptix_network_dashboard, 'update_revenue_reports_data')); } if (isset($WCOR_Mailer)) { add_action('wordcamp_dev_10_seconds', array($WCOR_Mailer, 'send_timed_emails')); } }
function test_it_creates_cron_event_on_add() { $actual = $this->client->add('cron_action_a'); $this->assertTrue($actual); $next_event = wp_next_scheduled('cron_action_a', array()); $this->assertEquals(time(), $next_event, '', 1000); }
function cron_schedule() { // Public Notices if (!wp_next_scheduled('cron_notices_hourly')) { wp_schedule_event(time(), 'hourly', 'cron_notices_hourly'); } // News if (!wp_next_scheduled('cron_news_hourly')) { wp_schedule_event(time(), 'hourly', 'cron_news_hourly'); } /* // Events if ( !wp_next_scheduled( 'cron_events_hourly' ) ) { wp_schedule_event(time(), 'hourly', 'cron_events_hourly'); } if ( !wp_next_scheduled( 'cron_notices_minute' ) ) { wp_schedule_event(time(), 'minute', 'cron_notices_minute'); } // News if ( !wp_next_scheduled( 'cron_news_minute' ) ) { wp_schedule_event(time(), 'minute', 'cron_news_minute'); } */ // Test by the minute if (!wp_next_scheduled('cron_events_minute')) { wp_schedule_event(time(), 'minute', 'cron_events_minute'); } }
function cliv_create_recurring_schedule() { if (!wp_next_scheduled('cliv_recurring_cron_job')) { //shedule event to run after every hour wp_schedule_event(time(), 'daily', 'cliv_recurring_cron_job'); } }
function run_on_activate() { // schedule the cron job to remove duplicate posts if (!wp_next_scheduled('remove_duplicate_posts')) { wp_schedule_event(time(), 'hourly', 'remove_duplicate_posts'); } }
function __construct($core) { $this->core = $core; $this->lockout_modules = array(); //array to hold information on modules using this feature //Run database cleanup daily with cron if (!wp_next_scheduled('itsec_purge_lockouts')) { wp_schedule_event(time(), 'daily', 'itsec_purge_lockouts'); } add_action('itsec_purge_lockouts', array($this, 'purge_lockouts')); //Check for host lockouts add_action('init', array($this, 'check_lockout')); // Ensure that locked out users are prevented from checking logins. add_filter('authenticate', array($this, 'check_authenticate_lockout'), 30); // Updated temp whitelist to ensure that admin users are automatically added. add_action('init', array($this, 'update_temp_whitelist'), 0); //Register all plugin modules add_action('plugins_loaded', array($this, 'register_modules')); //Set an error message on improper logout add_action('login_head', array($this, 'set_lockout_error')); //Process clear lockout form add_action('itsec_admin_init', array($this, 'release_lockout')); //Register Logger add_filter('itsec_logger_modules', array($this, 'register_logger')); //Register Sync add_filter('itsec_sync_modules', array($this, 'register_sync')); add_action('itsec-settings-page-init', array($this, 'init_settings_page')); add_action('itsec-logs-page-init', array($this, 'init_settings_page')); }
/** * Install the hooks required to run periodic update checks and inject update info * into WP data structures. * * @return void */ function installHooks() { //Override requests for plugin information add_filter('plugins_api', array(&$this, 'injectInfo'), 10, 3); //Insert our update info into the update array maintained by WP add_filter('site_transient_update_plugins', array(&$this, 'injectUpdate')); //WP 3.0+ add_filter('transient_update_plugins', array(&$this, 'injectUpdate')); //WP 2.8+ //Set up the periodic update checks $cronHook = 'check_plugin_updates-' . $this->slug; if ($this->checkPeriod > 0) { //Trigger the check via Cron add_filter('cron_schedules', array(&$this, '_addCustomSchedule')); if (!wp_next_scheduled($cronHook) && !defined('WP_INSTALLING')) { $scheduleName = 'every' . $this->checkPeriod . 'hours'; wp_schedule_event(time(), $scheduleName, $cronHook); } add_action($cronHook, array(&$this, 'checkForUpdates')); //In case Cron is disabled or unreliable, we also manually trigger //the periodic checks while the user is browsing the Dashboard. add_action('admin_init', array(&$this, 'maybeCheckForUpdates')); } else { //Periodic checks are disabled. wp_clear_scheduled_hook($cronHook); } //Add action for extra notifications add_action('in_plugin_update_message-' . $this->pluginFile, array(&$this, 'maybeInjectUpgradeNotice'), 10, 2); }
/** * Register a cron task * @param string $cronActionName The name of the action that will be registered with wp-cron * @param string $callback The function to register with wp-cron * @param string $interval can only be one of the following: hourly, daily and twicedaily if no other custom intervals are registered. Defaults to daily * @return void */ public static function registerCronTask($cronActionName, $callback, $interval = 'daily') { if (!is_callable($callback)) { return; } // if cron disabled -> run callback if (!self::canRegisterCronTask()) { self::registerTask($callback); return; } $interval = strtolower($interval); if (empty($interval)) { $interval = 'daily'; } else { // check to see if the time interval is valid $timeIntervals = wp_get_schedules(); if (!array_key_exists($interval, $timeIntervals)) { $interval = 'daily'; } } // avoid duplicate crons add_action($cronActionName, $callback); if (!wp_next_scheduled($cronActionName)) { wp_schedule_event(time(), $interval, $cronActionName); array_push(self::$_cronTasks, $cronActionName); } }
/** * Add hooks. */ public function hook() { if (!wp_next_scheduled('boxzilla_check_license_status')) { wp_schedule_event(time(), 'daily', 'boxzilla_check_license_status'); } add_action('boxzilla_check_license_status', array($this, 'run')); }
public static function fp_rac_cron_job_setting_savings() { wp_clear_scheduled_hook('rac_cron_job'); if (wp_next_scheduled('rac_cron_job') == false) { wp_schedule_event(time(), 'xhourly', 'rac_cron_job'); } }
function cbrobot_create_cronjob() { $options = unserialize(get_option("cbrobot_options")); if (!wp_next_scheduled('cbrobot_job_event')) { wp_schedule_event(time(), $options['cbrobot_time'], 'cbrobot_job_event'); } }
private function _add_hooks() { add_action('eab_scheduled_jobs', array($this, 'archive_old_events')); if (!wp_next_scheduled('eab_scheduled_jobs')) { wp_schedule_event(eab_current_time(), 'hourly', 'eab_scheduled_jobs'); } }
function init() { global $wpmudev_un; if (class_exists('WPMUDEV_Dashboard') || isset($wpmudev_un->version) && version_compare($wpmudev_un->version, '3.4', '<')) { return; } // Schedule update cron on main site only if (is_main_site()) { if (!wp_next_scheduled('wpmudev_scheduled_jobs')) { wp_schedule_event(time(), 'twicedaily', 'wpmudev_scheduled_jobs'); } add_action('wpmudev_scheduled_jobs', array($this, 'updates_check')); } add_action('delete_site_transient_update_plugins', array(&$this, 'updates_check')); //refresh after upgrade/install add_action('delete_site_transient_update_themes', array(&$this, 'updates_check')); //refresh after upgrade/install if (is_admin() && current_user_can('install_plugins')) { add_action('site_transient_update_plugins', array(&$this, 'filter_plugin_count')); add_action('site_transient_update_themes', array(&$this, 'filter_theme_count')); add_filter('plugins_api', array(&$this, 'filter_plugin_info'), 101, 3); //run later to work with bad autoupdate plugins add_filter('themes_api', array(&$this, 'filter_plugin_info'), 101, 3); //run later to work with bad autoupdate plugins add_action('admin_init', array(&$this, 'filter_plugin_rows'), 15); //make sure it runs after WP's add_action('core_upgrade_preamble', array(&$this, 'disable_checkboxes')); add_action('activated_plugin', array(&$this, 'set_activate_flag')); //remove version 1.0 remove_action('admin_notices', 'wdp_un_check', 5); remove_action('network_admin_notices', 'wdp_un_check', 5); //remove version 2.0, a bit nasty but only way remove_all_actions('all_admin_notices', 5); //if dashboard is installed but not activated if (file_exists(WP_PLUGIN_DIR . '/wpmudev-updates/update-notifications.php')) { if (!get_site_option('wdp_un_autoactivated')) { //include plugin API if necessary if (!function_exists('activate_plugin')) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $result = activate_plugin('/wpmudev-updates/update-notifications.php', network_admin_url('admin.php?page=wpmudev'), is_multisite()); if (!is_wp_error($result)) { //if autoactivate successful don't show notices update_site_option('wdp_un_autoactivated', 1); return; } } add_action('admin_print_styles', array(&$this, 'notice_styles')); add_action('all_admin_notices', array(&$this, 'activate_notice'), 5); } else { //dashboard not installed at all if (get_site_option('wdp_un_autoactivated')) { update_site_option('wdp_un_autoactivated', 0); //reset flag when dashboard is deleted } add_action('admin_print_styles', array(&$this, 'notice_styles')); add_action('all_admin_notices', array(&$this, 'install_notice'), 5); } } }
function zt_schedule_ga_refresh() { if (!wp_next_scheduled('zt-refresh-top-posts')) { wp_schedule_event(time(), 'zt-refresh-top-posts'); } add_action('zt-refresh-top-posts', 'zt_refresh_top_posts'); }
/** * Setup the module's functionality * * Loads the file change detection module's unpriviledged functionality including * performing the scans themselves * * @since 4.0.0 * * @return void */ function run() { global $itsec_globals; $settings = ITSEC_Modules::get_settings('file-change'); $interval = 86400; //Run daily // If we're splitting the file check run it every 6 hours. if (isset($settings['split']) && true === $settings['split']) { $interval = 12342; } add_action('itsec_execute_file_check_cron', array($this, 'run_scan')); //Action to execute during a cron run. add_filter('itsec_logger_displays', array($this, 'itsec_logger_displays')); //adds logs metaboxes add_filter('itsec_logger_modules', array($this, 'itsec_logger_modules')); add_filter('itsec_sync_modules', array($this, 'itsec_sync_modules')); //register sync modules if ((!defined('DOING_AJAX') || DOING_AJAX === false) && isset($settings['last_run']) && $itsec_globals['current_time'] - $interval > $settings['last_run'] && (!defined('ITSEC_FILE_CHECK_CRON') || false === ITSEC_FILE_CHECK_CRON)) { wp_clear_scheduled_hook('itsec_file_check'); add_action('init', array($this, 'run_scan')); } elseif (defined('ITSEC_FILE_CHECK_CRON') && true === ITSEC_FILE_CHECK_CRON && !wp_next_scheduled('itsec_execute_file_check_cron')) { //Use cron if needed wp_schedule_event(time(), 'daily', 'itsec_execute_file_check_cron'); } }
/** * Schedules a hook to run only once. * * Schedules a hook which will be executed once by the WordPress actions core at * a time which you specify. The action will fire off when someone visits your * WordPress site, if the schedule time has passed. * * @since 2.1.0 * @link https://codex.wordpress.org/Function_Reference/wp_schedule_single_event * * @param int $timestamp Timestamp for when to run the event. * @param string $hook Action hook to execute when cron is run. * @param array $args Optional. Arguments to pass to the hook's callback function. * @return false|void False when an event is not scheduled. */ function wp_schedule_single_event($timestamp, $hook, $args = array()) { // Make sure timestamp is a positive integer if (!is_numeric($timestamp) || $timestamp <= 0) { return false; } // Don't schedule a duplicate if there's already an identical event due within 10 minutes of it $next = wp_next_scheduled($hook, $args); if ($next && abs($next - $timestamp) <= 10 * MINUTE_IN_SECONDS) { return false; } $crons = _get_cron_array(); $event = (object) array('hook' => $hook, 'timestamp' => $timestamp, 'schedule' => false, 'args' => $args); /** * Filter a single event before it is scheduled. * * @since 3.1.0 * * @param object $event An object containing an event's data. */ $event = apply_filters('schedule_event', $event); // A plugin disallowed this event if (!$event) { return false; } $key = md5(serialize($event->args)); $crons[$event->timestamp][$event->hook][$key] = array('schedule' => $event->schedule, 'args' => $event->args); uksort($crons, "strnatcasecmp"); _set_cron_array($crons); }
/** * Perform one-time operations on plugin deactivation. * * @since 1.0.0 */ public function plugin_deactivate() { // Remove version check. wp_unschedule_event(wp_next_scheduled('slack_notif_check_versions'), 'slack_notif_check_versions'); // Remove settings from database. delete_option('slack_webhook_endpoint'); delete_option('slack_channel_name'); delete_option('slack_bot_username'); delete_option('slack_bot_image'); delete_option('slack_notif_core_update'); delete_option('slack_notif_theme_update'); delete_option('slack_notif_plugin_update'); delete_option('slack_notif_new_post'); delete_option('slack_notif_new_page'); delete_option('slack_notif_new_comment'); delete_option('slack_notif_new_user'); delete_option('slack_notif_admin_logged'); delete_option('slack_notif_core_version'); delete_option('slack_notif_theme_version'); delete_option('slack_notif_plugins_version'); // Delte custom post types settings. foreach ($this->postTypes as $postType) { delete_option('slack_notif_new_' . $postType->name); } }
public function run_schedule() { $frequency = apply_filters('woocommerce_square_inventory_poll_frequency', 'hourly'); if (!wp_next_scheduled('woocommerce_square_inventory_poll')) { wp_schedule_event(current_time('timestamp'), $frequency, 'woocommerce_square_inventory_poll'); } }
/** * Setup the module's functionality * * Loads the file change detection module's unpriviledged functionality including * performing the scans themselves * * @since 4.0.0 * * @return void */ function run() { global $itsec_globals; $this->settings = get_site_option('itsec_file_change'); $this->running = false; $this->excludes = array('file_change.lock', $itsec_globals['ithemes_backup_dir'], $itsec_globals['ithemes_log_dir'], '.lock'); $interval = 86400; //Run daily // If we're splitting the file check run it every 6 hours. if (isset($this->settings['split']) && true === $this->settings['split']) { $interval = 12342; } add_filter('itsec_logger_modules', array($this, 'itsec_logger_modules')); add_filter('itsec_sync_modules', array($this, 'itsec_sync_modules')); //register sync modules add_action('itsec_execute_file_check_cron', array($this, 'execute_file_check')); //Action to execute during a cron run. if ((!defined('DOING_AJAX') || DOING_AJAX === false) && isset($this->settings['enabled']) && true === $this->settings['enabled'] && isset($this->settings['last_run']) && $itsec_globals['current_time'] - $interval > $this->settings['last_run'] && (!defined('ITSEC_FILE_CHECK_CRON') || false === ITSEC_FILE_CHECK_CRON)) { wp_clear_scheduled_hook('itsec_file_check'); add_action('init', array($this, 'execute_file_check')); } elseif (defined('ITSEC_FILE_CHECK_CRON') && true === ITSEC_FILE_CHECK_CRON && !wp_next_scheduled('itsec_execute_file_check_cron')) { //Use cron if needed wp_schedule_event(time(), 'daily', 'itsec_execute_file_check_cron'); } }
/** * Remove plugin data from database */ function wpga_uninstallPlugin() { /* Plugin main options */ delete_option(WPGA_PREFIX . '_options'); delete_option(WPGA_PREFIX . '_used_totp'); $args = array('meta_query' => array('relation' => 'OR', array('key' => 'wpga_attempts', 'value' => '', 'compare' => '!='), array('key' => 'wpga_secret', 'value' => '', 'compare' => '!='))); $users = new WP_User_Query($args); /* Delete all user metas */ if (!empty($users->results)) { foreach ($users->results as $key => $user) { delete_user_meta($user->ID, 'wpga_active'); delete_user_meta($user->ID, 'wpga_attempts'); delete_user_meta($user->ID, 'wpga_secret'); delete_user_meta($user->ID, 'wpga_backup_key'); delete_user_meta($user->ID, 'wpga_backup_key_time'); delete_user_meta($user->ID, 'wpga_apps_passwords'); delete_user_meta($user->ID, 'wpga_apps_passwords_log'); } } /** * Remove cron task */ $timestamp = wp_next_scheduled('wpas_clean_totps'); wp_unschedule_event($timestamp, 'wpas_clean_totps'); }
/** * Initializes the Component. * @since 1.0.0 */ function __construct() { $this->name = get_class($this); $this->page_id = skip\value('fbfpi_settings', 'page_id'); $this->stream_language = skip\value('fbfpi_settings', 'stream_language'); $this->update_interval = skip\value('fbfpi_settings', 'update_interval'); $this->update_num = skip\value('fbfpi_settings', 'update_num'); $this->link_target = skip\value('fbfpi_settings', 'link_target'); if ('' == $this->page_id) { $this->errors[] = sprintf(__('<a href="%s">Fanpage ID have to be provided.</a>', 'fbfpi'), get_bloginfo('wpurl') . '/wp-admin/options-general.php?page=ComponentFacebookFanpageImportAdminSettings'); } if ('' == $this->stream_language) { $this->stream_language = 'en_US'; } if ('' == $this->update_interval) { $this->update_interval = 'hourly'; } if ('' == $this->update_num) { $this->update_num = 10; } // Scheduling import if (!wp_next_scheduled('fanpage_import')) { wp_schedule_event(time(), $this->update_interval, 'fanpage_import'); } add_action('fanpage_import', array($this, 'import')); // Importing now! if (array_key_exists('bfpi-now', $_POST) && '' != $_POST['bfpi-now']) { add_action('init', array($this, 'import'), 12); } // For testing of import // Adding notices add_action('admin_notices', array($this, 'admin_notices')); }
function __construct() { $this->lockout_modules = array(); //array to hold information on modules using this feature //Run database cleanup daily with cron if (!wp_next_scheduled('itsec_purge_lockouts')) { wp_schedule_event(time(), 'daily', 'itsec_purge_lockouts'); } add_action('itsec_purge_lockouts', array($this, 'purge_lockouts')); //Check for host lockouts add_action('init', array($this, 'check_lockout')); //Register all plugin modules add_action('plugins_loaded', array($this, 'register_modules')); //Set an error message on improper logout add_action('login_head', array($this, 'set_lockout_error')); //Add the metabox add_action('itsec_add_admin_meta_boxes', array($this, 'add_admin_meta_boxes')); //Process clear lockout form add_action('itsec_admin_init', array($this, 'release_lockout')); //Register Logger add_filter('itsec_logger_modules', array($this, 'register_logger')); //Register Sync add_filter('itsec_sync_modules', array($this, 'register_sync')); //Add Javascripts script add_action('admin_enqueue_scripts', array($this, 'admin_script')); //enqueue scripts for admin page //Run ajax for temp whitelist add_action('wp_ajax_itsec_temp_whitelist_ajax', array($this, 'itsec_temp_whitelist_ajax')); }
/** * Make sure we have a scheduled event set to clear down the oEmbed cache until * WordPress supports cache_age in oEmbed responses. */ function schedule_expiry() { if (!wp_next_scheduled('github_embed_cron')) { $frequency = apply_filters('github_embed_cache_frequency', 'daily'); wp_schedule_event(time(), $frequency, 'github_embed_cron'); } }