Files
roi-theme/wp-content/plugins/thrive-ultimatum/thrive-dashboard/inc/notification-manager/includes/actions/class-nm-action-custom-script.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

127 lines
3.5 KiB
PHP
Executable File

<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-dashboard
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden
}
class TD_NM_Action_Custom_Script extends TD_NM_Action_Abstract {
public function execute( $prepared_data ) {
$url = $this->settings['url'];
wp_remote_post( $url, array(
'body' => $prepared_data
) );
}
public function prepare_email_sign_up_data( $sign_up_data ) {
$data = array();
$tl_item = $sign_up_data[0];
$tl_form = $sign_up_data[2];
$tl_data = $sign_up_data[4];
$data['thrv_event'] = 'thrv_signup';
$data['source'] = $tl_item->post_type;
$data['source_name'] = $tl_item->post_title;
$data['source_id'] = $tl_item->ID;
$data['source_form_name'] = $tl_form['post_title'];
$data['source_form_id'] = $tl_form['key'];
$data['user_email'] = $tl_data['email'];
$data['user_custom_data'] = $tl_data['custom_fields'];
$labels = array();
if ( ! empty( $tl_data['tve_labels'] ) ) {
$base64_decoded = base64_decode( $tl_data['tve_labels'] );
$labels = thrive_safe_unserialize( $base64_decoded );
}
if ( is_array( $labels ) && ! empty( $labels ) ) {
foreach ( $labels as $input_name => $label ) {
$label = sanitize_text_field( $label );
$data['user_custom_data'][ $label ] = ! empty( $tl_data['custom_fields'][ $input_name ] ) ? $tl_data['custom_fields'][ $input_name ] : null;
}
}
return $data;
}
public function prepare_split_test_ends_data( $split_test_ends_data ) {
$data = array();
$test_item = $split_test_ends_data[0];
$test = $split_test_ends_data[1];
$data['thrv_event'] = 'split_test';
$data['test_id'] = $test->id;
$data['test_url'] = $test->url;
$data['winning_variation_name'] = $test_item->variation['post_title'];
$data['winning_variation_id'] = $test_item->variation['key'];
return $data;
}
public function prepare_testimonial_submitted_data( $testimonial_data ) {
$data = array();
$testimonial = $testimonial_data[0];
$extra_data = $testimonial_data[1];
$data['id'] = $testimonial['id'];
$data['title'] = $testimonial['title'];
$data['date'] = $testimonial['date'];
$data['content'] = $testimonial['summary'];
$data['role'] = $testimonial['role'];
$data['name'] = $testimonial['name'];
$data['email'] = $testimonial['email'];
$data['website_url'] = $testimonial['website_url'];
$data['picture_url'] = $testimonial['picture_url'];
if ( ! empty( $testimonial['tags'] ) && is_array( $testimonial['tags'] ) ) {
$tags_text_arr = array();
foreach ( $testimonial['tags'] as $tag ) {
$tags_text_arr[] = $tag['text'];
}
$data['tags'] = implode( ',', $tags_text_arr );
}
return $data;
}
public function prepare_quiz_completion_data( $data ) {
$quiz = $data[0];
$user = $data[1];
$data = array(
'quiz' => array(
'Name' => $quiz->post_title
),
'quiz_user' => array(
'result' => $user['points'],
'email' => ! empty( $user['email'] ) ? $user['email'] : __( 'unknown', 'thrive-dash' ),
'date_started' => $user['date_started'],
),
'original_data' => $data,
);
$data = apply_filters( 'td_nm_custom_script_quiz_completion', $data );
if ( ! is_array( $data ) ) {
$data = array();
}
$return = array(
'quiz' => ! empty( $data['quiz'] ) ? $data['quiz'] : null,
'user' => ! empty( $data['quiz_user'] ) ? $data['quiz_user'] : null,
);
return $return;
}
}