Files
roi-theme/wp-content/plugins/wp-marketing-automations/includes/abstracts/class-bwfan-base-step-controller.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

77 lines
2.4 KiB
PHP
Executable File

<?php
#[AllowDynamicProperties]
abstract class BWFAN_Base_Step_Controller {
public $automation_data = array();
public $step_data = array();
public $action_data = array();
public $automation_contact_id = 0;
public $automation_id = 0;
public $contact_id = 0;
public $step_id = 0;
public $attempts = 0;
public $max_attempts = 0;
public $reattempt_time = 0;
public function __construct() {
$this->max_attempts = apply_filters( 'bwfan_automation_contact_max_attempts', 3 );
$this->reattempt_time = apply_filters( 'bwfan_automation_contact_reattempt_time', 30 );
}
public function populate_automation_contact_data( $db_aContact = array() ) {
if ( ! empty( $db_aContact ) && is_array( $db_aContact ) && isset( $db_aContact['ID'] ) && isset( $db_aContact['data'] ) ) {
$aContact = $db_aContact;
$this->automation_data = json_decode( $aContact['data'], true );
$this->attempts = absint( $aContact['attempts'] );
$this->contact_id = absint( $aContact['cid'] );
$this->automation_id = absint( $aContact['aid'] );
$this->automation_contact_id = absint( $aContact['ID'] );
return true;
}
if ( empty( $this->contact_id ) || empty( $this->automation_id ) ) {
return false;
}
$aContact = BWFAN_Model_Automation_Contact::get_automation_contact( $this->automation_id, $this->contact_id );
if ( ! is_array( $aContact ) || ! isset( $aContact['data'] ) ) {
return false;
}
$this->automation_contact_id = absint( $aContact['ID'] );
$this->automation_data = json_decode( $aContact['data'], true );
$this->attempts = absint( $aContact['attempts'] );
return true;
}
public function populate_step_data( $db_step = array() ) {
$step = $db_step;
if ( is_array( $db_step ) && isset( $db_step['ID'] ) ) {
$this->step_data = isset( $db_step['data'] ) ? json_decode( $db_step['data'], true ) : [];
$this->step_id = absint( $db_step['ID'] );
}
if ( empty( $this->step_id ) ) {
return false;
}
if ( empty( $this->step_data ) ) {
$step = BWFAN_Model_Automation_Step::get_step_data_by_id( $this->step_id );
if ( ! is_array( $step ) ) {
return false;
}
$this->step_data = isset( $step['data'] ) ? json_decode( $step['data'], true ) : [];
}
if ( ! empty( $step['action'] ) ) {
$this->action_data = json_decode( $step['action'], true );
}
return true;
}
}