- 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>
127 lines
3.5 KiB
PHP
Executable File
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;
|
|
}
|
|
}
|