Files
roi-theme/wp-content/plugins/wp-marketing-automations/libraries/action-scheduler-ct/class-bwfan-as-ct.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

82 lines
2.2 KiB
PHP
Executable File

<?php
class BWFAN_AS_CT {
private static $instance;
/**
* Plugin constructor.
*/
public function __construct() {
global $wpdb;
$wpdb->bwfan_automations = $wpdb->prefix . 'bwfan_automations';
$wpdb->bwfan_automationmeta = $wpdb->prefix . 'bwfan_automationmeta';
$wpdb->bwfan_tasks = $wpdb->prefix . 'bwfan_tasks';
$wpdb->bwfan_taskmeta = $wpdb->prefix . 'bwfan_taskmeta';
$wpdb->bwfan_task_claim = $wpdb->prefix . 'bwfan_task_claim';
$wpdb->bwfan_logs = $wpdb->prefix . 'bwfan_logs';
$wpdb->bwfan_logmeta = $wpdb->prefix . 'bwfan_logmeta';
$wpdb->bwfan_message_unsubscribe = $wpdb->prefix . 'bwfan_message_unsubscribe';
}
public static function instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Override the action store with our own
*
* @param string $class
*
* @return string
*/
public function set_store_class( $class ) {
return BWFAN_AS_CT_Action_Store::class;
}
/**
* Override the logger with our own
*
* @param string $class
*
* @return string
*/
public function set_logger_class( $class ) {
return BWFAN_AS_CT_Log_Store::class;
}
public function change_data_store() {
/** Removing all action data store change filter and then assign ours */
remove_all_filters( 'action_scheduler_store_class' );
add_filter( 'action_scheduler_store_class', [ $this, 'set_store_class' ], 999999, 1 );
/** Removing all log data store change filter and then assign ours */
remove_all_filters( 'action_scheduler_logger_class' );
add_filter( 'action_scheduler_logger_class', [ $this, 'set_logger_class' ], 999999, 1 );
/** Removing all AS memory exceeds filter */
remove_all_filters( 'action_scheduler_memory_exceeded' );
add_filter( 'action_scheduler_memory_exceeded', [ $this, 'check_memory_exceeded' ], 1000000, 1 );
}
/**
* Override memory exceeded filter value
*
* @param $memory_exceeded
*
* @return bool
*/
public function check_memory_exceeded( $memory_exceeded ) {
if ( true === $memory_exceeded ) {
return $memory_exceeded;
}
$ins = BWF_AS::instance();
return $ins->validate_time_breach();
}
}