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>
This commit is contained in:
root
2025-11-03 21:04:30 -06:00
commit a22573bf0b
24068 changed files with 4993111 additions and 0 deletions

View File

@@ -0,0 +1,86 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Start_Campaign_Id_Field extends \Thrive\Automator\Items\Action_Field {
/**
* Field name
*/
public static function get_name() {
return __( 'Running campaign', 'thrive-ult');
}
/**
* Field description
*/
public static function get_description() {
return __( 'Which lockdown campaign do you want to trigger?', 'thrive-ult');
}
/**
* Field input placeholder
*/
public static function get_placeholder() {
return __( 'Choose campaign', 'thrive-ult');
}
/**
* $$value will be replaced by field value
* $$length will be replaced by value length
*
* @var string
*/
public static function get_preview_template() {
return 'Campaign: $$value';
}
/**
* For multiple option inputs, name of the callback function called through ajax to get the options
*/
public static function get_options_callback( $action_id, $action_data ) {
$campaigns = array();
$running_campaigns = tve_ult_get_campaigns( array(
'get_designs' => false,
'only_running' => true,
'get_logs' => false,
'lockdown' => true,
) );
foreach ( $running_campaigns as $campaign ) {
if ( $campaign->type === \TVE_Ult_Const::CAMPAIGN_TYPE_EVERGREEN ) {
$id = $campaign->ID;
$campaigns[ $id ] = array(
'id' => $id,
'label' => $campaign->post_title,
);
}
}
return $campaigns;
}
public static function get_id() {
return 'start_campaign_id';
}
public static function get_type() {
return 'select';
}
public static function is_ajax_field() {
return true;
}
public static function get_validators() {
return array( 'required' );
}
}

View File

@@ -0,0 +1,150 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
use Thrive\Automator\Items\Email_Data;
use Thrive\Automator\Items\Form_Data;
use Thrive\Automator\Items\User_Data;
use function Thrive\Automator\tap_logger;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Start_Campaign extends \Thrive\Automator\Items\Action {
private $campaign_id;
private $has_lockdown;
/**
* @inheritDoc
*/
public static function get_id() {
return 'ultimatum/start_campaign';
}
/**
* @inheritDoc
*/
public static function get_name() {
return __( 'Start an Ultimatum Campaign', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_description() {
return __( 'Trigger an Ultimatum campaign for a user on the site', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_image() {
return 'tap-ultimatum-logo';
}
/**
* @inheritDoc
*/
public static function get_app_id() {
return Ultimatum_App::get_id();
}
/**
* @inheritDoc
*/
public static function get_required_action_fields() {
return array( 'start_campaign_id' );
}
/**
* @inheritDoc
*/
public static function get_required_data_objects() {
return array( Email_Data::get_id(), Form_Data::get_id(), User_Data::get_id() );
}
public function prepare_data( $data = array() ) {
if ( ! empty( $data['extra_data'] ) ) {
$data = $data['extra_data'];
}
$this->campaign_id = $data['start_campaign_id']['value'];
$this->has_lockdown = get_post_meta( $this->campaign_id, \TVE_Ult_Const::META_NAME_FOR_LOCKDOWN, true );
}
/**
* @inheritDoc
*/
public function do_action( $data ) {
global $automation_data;
/**
* Go through all the data objects and find the first one that has the email
*/
$email = '';
$sets = static::get_required_data_objects();
$index = 0;
while ( empty( $email ) && $index < count( $sets ) ) {
if ( ! empty( $automation_data->get( $sets[ $index ] ) ) ) {
$email = $automation_data->get( $sets[ $index ] )->get_provided_email();
}
$index ++;
}
tu_start_campaign( $this->campaign_id, $email );
}
/**
* Match all trigger that provice user/form data
*
* @param $trigger
*
* @return bool
*/
public static function is_compatible_with_trigger( $provided_data_objects ) {
$action_data_keys = static::get_required_data_objects() ?: array();
return count( array_intersect( $action_data_keys, $provided_data_objects ) ) > 0;
}
/**
* @inheritDoc
*/
public function can_run( $data ) {
$valid = true;
/**
* No need to check for sets if its a open campaign
*/
if ( $this->has_lockdown ) {
$available_data = array();
global $automation_data;
foreach ( static::get_required_data_objects() as $key ) {
if ( ! empty( $automation_data->get( $key ) ) && ! empty( $automation_data->get( $key )->get_provided_email() ) ) {
$available_data[] = $key;
}
}
if ( empty( $available_data ) ) {
$valid = false;
tap_logger()->register( [
'key' => static::get_id(),
'id' => 'data-not-provided-to-action',
'message' => 'Data object required by ' . static::class . ' action is not provided by trigger',
'class-label' => tap_logger()->get_nice_class_name( static::class ),
] );
}
}
return $valid;
}
}

View File

@@ -0,0 +1,37 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
use Thrive\Automator\Items\App;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Ultimatum_App extends App {
public static function get_id() {
return "thrive_ultimatum";
}
public static function get_name() {
return 'Ultimatum';
}
public static function get_description() {
return 'The ultimate scarcity plugin for WordPress';
}
public static function get_logo() {
return 'tap-ultimatum-logo';
}
public static function has_access() {
return true;
}
}

View File

@@ -0,0 +1,128 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* Class Main
*
* @package TU\Automator
*/
class Main {
public static function init() {
if ( defined( 'THRIVE_AUTOMATOR_RUNNING' )
&& ( ( defined( 'TVE_DEBUG' ) && TVE_DEBUG )
|| ( defined( 'TAP_VERSION' ) && version_compare( TAP_VERSION, '1.0', '>=' ) ) ) ) {
static::add_hooks();
}
}
/**
* @param string $subpath
*
* @return string
*/
public static function get_integration_path( $subpath = '' ) {
return \TVE_Ult_Const::plugin_path( 'automator/' . $subpath );
}
public static function add_hooks() {
add_action( 'tap_output_extra_svg', array( 'TU\Automator\Main', 'display_icons' ) );
add_filter( 'tvd_automator_api_data_sets', array( 'TU\Automator\Main', 'dashboard_sets' ), 1, 1 );
static::load_apps();
static::load_data_objects();
static::load_fields();
static::load_triggers();
static::load_actions();
static::load_action_fields();
}
public static function load_triggers() {
foreach ( static::load_files( 'triggers' ) as $trigger ) {
\thrive_automator_register_trigger( new $trigger() );
}
}
public static function load_apps() {
foreach ( static::load_files( 'apps' ) as $app ) {
\thrive_automator_register_app( new $app() );
}
}
public static function load_actions() {
foreach ( static::load_files( 'actions' ) as $action ) {
\thrive_automator_register_action( new $action() );
}
}
public static function load_action_fields() {
foreach ( static::load_files( 'action-fields' ) as $field ) {
\thrive_automator_register_action_field( new $field() );
}
}
public static function load_fields() {
foreach ( static::load_files( 'fields' ) as $field ) {
\thrive_automator_register_data_field( new $field() );
}
}
public static function load_data_objects() {
foreach ( static::load_files( 'data-objects' ) as $data_object ) {
\thrive_automator_register_data_object( new $data_object() );
}
}
public static function load_files( $type ) {
$integration_path = static::get_integration_path( $type );
$local_classes = array();
foreach ( glob( $integration_path . '/*.php' ) as $file ) {
require_once $file;
$class = 'TU\Automator\\' . static::get_class_name_from_filename( $file );
if ( class_exists( $class ) ) {
$local_classes[] = $class;
}
}
return $local_classes;
}
public static function get_class_name_from_filename( $filename ) {
$name = preg_replace( array( '#^class-#', '#-trigger$#', '#-action$#' ), '', basename( $filename, '.php' ) );
return str_replace( '-', '_', ucwords( $name, '-' ) );
}
public static function display_icons() {
include static::get_integration_path( 'icons.svg' );
}
/**
* Enroll campaign_data as data that can be used in TD for Automator actions
*
* @param $sets
*
* @return mixed
*/
public static function dashboard_sets( $sets ) {
$sets[] = 'campaign_data';
return $sets;
}
}

View File

@@ -0,0 +1,50 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Campaign_Data extends \Thrive\Automator\Items\Data_Object {
public static function get_id() {
return 'campaign_data';
}
public static function get_fields() {
return array(
'campaign_id',
'campaign_name',
'campaign_type',
'campaign_start_date',
'campaign_trigger_type',
'campaign_event_id',
'campaign_user_email',
);
}
public static function create_object( $param ) {
return array(
'campaign_id' => $param['campaign_id'],
'campaign_name' => $param['campaign_name'],
'campaign_type' => $param['campaign_type'],
'campaign_trigger_type' => $param['campaign_trigger_type'],
'campaign_start_date' => $param['campaign_start_date'],
'campaign_event_id' => $param['countdown_event_id'],
'campaign_user_email' => $param['user_email'],
);
}
public function can_provide_email() {
return true;
}
public function get_provided_email() {
return $this->get_value( 'campaign_user_email' );
}
}

View File

@@ -0,0 +1,56 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Campaign_Event_Id_Data_Field extends \Thrive\Automator\Items\Data_Field {
/**
* @inheritDoc
*/
public static function get_id() {
return 'campaign_event_id';
}
/**
* @inheritDoc
*/
public static function get_supported_filters() {
return array( 'number_comparison' );
}
/**
* @inheritDoc
*/
public static function get_name() {
return __( 'ID of the event that triggered the countdown', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_description() {
return __( 'User targets by the specific event ID that triggered the campaign', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_placeholder() {
return '';
}
public static function get_field_value_type() {
return static::TYPE_NUMBER;
}
public static function get_dummy_value() {
return 34;
}
}

View File

@@ -0,0 +1,56 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Campaign_Id_Data_Field extends \Thrive\Automator\Items\Data_Field {
/**
* @inheritDoc
*/
public static function get_id() {
return 'campaign_id';
}
/**
* @inheritDoc
*/
public static function get_supported_filters() {
return array( 'number_comparison' );
}
/**
* @inheritDoc
*/
public static function get_name() {
return __( 'ID of the Ultimatum campaign', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_description() {
return __( 'User targets by a specific Ultimatum campaign ID', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_placeholder() {
return '';
}
public static function get_field_value_type() {
return static::TYPE_NUMBER;
}
public static function get_dummy_value() {
return 31;
}
}

View File

@@ -0,0 +1,86 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Campaign_Name_Data_Field extends \Thrive\Automator\Items\Data_Field {
/**
* @inheritDoc
*/
public static function get_id() {
return 'campaign_name';
}
/**
* @inheritDoc
*/
public static function get_supported_filters() {
return array( 'autocomplete' );
}
/**
* @inheritDoc
*/
public static function get_name() {
return __( 'Name of the campaign', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_description() {
return __( 'User targets by one or more Ultimatum campaigns', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_placeholder() {
return '';
}
/**
* For multiple option inputs, name of the callback function called through ajax to get the options
*/
public static function get_options_callback() {
$campaigns = array();
$running_campaigns = tve_ult_get_campaigns( array(
'get_designs' => false,
'only_running' => true,
'get_logs' => false,
'lockdown' => true,
) );
foreach ( $running_campaigns as $campaign ) {
if ( $campaign->type === \TVE_Ult_Const::CAMPAIGN_TYPE_EVERGREEN ) {
$name = $campaign->post_title;
$campaigns[ $name ] = array(
'id' => $name,
'label' => $name,
);
}
}
return $campaigns;
}
public static function is_ajax_field() {
return true;
}
public static function get_field_value_type() {
return static::TYPE_STRING;
}
public static function get_dummy_value() {
return 'An Example Ultimatum Countdown';
}
}

View File

@@ -0,0 +1,51 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Campaign_Start_Date_Data_Field extends \Thrive\Automator\Items\Data_Field {
/**
* Field name
*/
public static function get_name() {
return 'Campaign start date';
}
/**
* Field description
*/
public static function get_description() {
return 'User targets by the start date of an Ultimatum campaign';
}
/**
* Field input placeholder
*/
public static function get_placeholder() {
return '';
}
public static function get_id() {
return 'campaign_start_date';
}
public static function get_supported_filters() {
return array( 'time_date' );
}
public static function get_field_value_type() {
return static::TYPE_DATE;
}
public static function get_dummy_value() {
return '2021-09-06 17:18:57';
}
}

View File

@@ -0,0 +1,76 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Campaign_Trigger_Type_Data_Field extends \Thrive\Automator\Items\Data_Field {
/**
* @inheritDoc
*/
public static function get_id() {
return 'campaign_trigger_type';
}
/**
* @inheritDoc
*/
public static function get_supported_filters() {
return array( 'checkbox' );
}
/**
* @inheritDoc
*/
public static function get_name() {
return __( 'Campaign trigger type', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_description() {
return __( 'User targets by one or more trigger types of an Ultimatum campaign', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_placeholder() {
return '';
}
/**
* For multiple option inputs, name of the callback function called through ajax to get the options
*/
public static function get_options_callback() {
$trigger_types = array();
foreach ( \TVE_Ult_Const::trigger_types() as $type ) {
$trigger_types[ $type ] = array(
'id' => $type,
'label' => ucfirst( $type ),
);
}
return $trigger_types;
}
public static function is_ajax_field() {
return true;
}
public static function get_field_value_type() {
return static::TYPE_STRING;
}
public static function get_dummy_value() {
return 'Thrive Leads Form';
}
}

View File

@@ -0,0 +1,76 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Campaign_Type_Data_Field extends \Thrive\Automator\Items\Data_Field {
/**
* @inheritDoc
*/
public static function get_id() {
return 'campaign_type';
}
/**
* @inheritDoc
*/
public static function get_supported_filters() {
return array( 'checkbox' );
}
/**
* @inheritDoc
*/
public static function get_name() {
return __( 'Campaign type', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_description() {
return __( 'User targets by one or more Ultimatum campaign types', 'thrive-ult' );
}
/**
* @inheritDoc
*/
public static function get_placeholder() {
return '';
}
/**
* For multiple option inputs, name of the callback function called through ajax to get the options
*/
public static function get_options_callback() {
$types = array();
foreach ( \TVE_Ult_Const::campaign_types() as $type ) {
$types[ $type ] = array(
'id' => $type,
'label' => ucfirst( $type ),
);
}
return $types;
}
public static function is_ajax_field() {
return true;
}
public static function get_field_value_type() {
return static::TYPE_STRING;
}
public static function get_dummy_value() {
return 'Evergreen';
}
}

View File

@@ -0,0 +1,59 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* Class Form_Email_Field
*/
class Campaign_User_Email_Data_Field extends \Thrive\Automator\Items\Data_Field {
/**
* Field name
*/
public static function get_name() {
return 'User email';
}
/**
* Field description
*/
public static function get_description() {
return __( 'Email field, provided by the campaign trigger', 'thrive-ult' );
}
/**
* Field input placeholder
*/
public static function get_placeholder() {
return __( 'Filter by email from campaign data', 'thrive-ult' );
}
public static function get_id() {
return 'campaign_user_email';
}
public static function get_supported_filters() {
return [ 'string_equals' ];
}
public static function get_validators() {
return [ 'required', 'email' ];
}
public static function get_field_value_type() {
return static::TYPE_STRING;
}
public static function get_dummy_value() {
return 'john_doe@fakemail.com';
}
}

View File

@@ -0,0 +1,34 @@
<svg style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1"
xmlns="http://www.w3.org/2000/svg" id="tu-automator-icons">
<defs>
<symbol id="tap-ultimatum-logo" viewBox="0 0 19 20">
<defs>
<path id="bd1u6txnua" d="M0 0.165L17.254 0.165 17.254 18.99 0 18.99z"/>
<path id="c3o78o0c3c" d="M0.769 0.054L12.769 0.054 12.769 8.054 0.769 8.054z"/>
</defs>
<g fill="none" fill-rule="evenodd">
<g>
<g>
<g transform="translate(-779 -236) translate(779 236) translate(0 .1)">
<mask id="06ae0xzukb" fill="#fff">
<use xlink:href="#bd1u6txnua"/>
</mask>
<path fill="#424242"
d="M9.5 1.373L7.86.165V1.77c-2.075.18-3.94 1.102-5.337 2.494C.965 5.822 0 7.979 0 10.36c0 2.383.965 4.539 2.523 6.101.111.11.227.218.342.324l.986-1.148c-.09-.081-.175-.162-.256-.243-1.29-1.29-2.084-3.066-2.084-5.034 0-1.964.795-3.74 2.084-5.03 1.119-1.118 2.609-1.866 4.266-2.04v1.703L9.5 3.786l1.64-1.204L9.5 1.373zm2.664 7.067c.15-.141.158-.385.013-.538l-.295-.308c-.145-.153-.384-.158-.537-.017L8.907 9.883c-.039 0-.073.004-.107.004-.09.013-.171.038-.248.072L6.038 7.34l-.466.443 2.536 2.639c-.038.09-.06.179-.064.273l-.183.175c-.15.14-.159.384-.013.538l.294.307c.146.154.385.158.538.017l.124-.12c.072.01.145.01.218 0 .064-.008.124-.025.18-.046l.17.18.465-.445-.153-.158c.068-.136.102-.29.093-.448l2.387-2.254zm.086-5.91l-.602 1.388c.277.132.546.282.802.444l.914-1.213c-.354-.23-.726-.44-1.114-.618zm2.476 1.734c-.239-.24-.486-.461-.751-.67l-.91 1.208c.205.166.406.341.594.53.076.076.149.157.222.238l1.2-.935c-.116-.128-.235-.252-.355-.371zm.829.96l-1.192.931c.359.491.658 1.029.888 1.606l1.448-.444c-.282-.752-.67-1.456-1.144-2.093zm1.378 2.81l-1.447.44c.154.559.24 1.144.252 1.746l1.516.09c-.004-.79-.115-1.55-.32-2.276zm-1.22 2.941c-.103 1.222-.517 2.358-1.162 3.326l.26.206c.449-.15.944-.257 1.418-.35.034-.009.09-.018.158-.03h.004c.453-.935.743-1.969.833-3.062l-1.512-.09zM9.55 17.418c-.303.04-.61.06-.926.06-1.567 0-3.014-.508-4.189-1.366l-.986 1.153c1.443 1.084 3.232 1.725 5.175 1.725.222 0 .44-.009.653-.022.111-.354.243-.657.376-.913l-.103-.637z"
mask="url(#06ae0xzukb)"/>
</g>
<path fill="#424242" d="M9.297 18.042c-.004.009-.004.017-.012.025H9.3l-.004-.025z" transform="translate(-779 -236) translate(779 236)"/>
<g transform="translate(-779 -236) translate(779 236) translate(7.23 11.946)">
<mask id="9jzbtna6od" fill="#fff">
<use xlink:href="#c3o78o0c3c"/>
</mask>
<path fill="#59A31D"
d="M10.639 1.054c-.659 0-2.035.257-2.577.37-.515.106-1.189.253-1.69.455-.385.156-.752.31-1.122.501-.345.18-.681.387-.994.622l-.308.235c-.055.042-.094.08-.147.124-.053.042-.097.09-.145.128-.109.083-.198.207-.3.29-.103.083-.453.495-.543.62l-.328.48c-.317.497-.565 1.092-.657 1.681-.034.216-.031.329-.055.497l-.004.024v.261c.022.316.105.682.106.712h.023c.017-.223.346-1.019.426-1.185l.204-.393c.122-.21.252-.418.394-.614.095-.132.194-.265.306-.383.025-.027.025-.033.047-.06.116-.144.268-.276.395-.41l.426-.378.053-.04.751-.549c.227-.139.443-.292.672-.425.207-.119.52-.29.72-.375l.542-.248c.28-.114.563-.25.85-.347l.586-.214.296-.102c.088-.03.211-.088.305-.095l-.646.308c-.22.093-.62.31-.853.431l-.62.345c-.197.119-.405.238-.596.37l-.571.41c-.036.027-.051.042-.085.068l-.046.036-.126.111c-.021.02-.024.018-.046.038-.016.014-.025.025-.04.042L4.7 4.98l-.6.859-.24.415c-.021.037-.035.066-.054.101-.119.214-.227.436-.325.663l-.047.12c.16.04 1.052.03 1.266-.002L5.1 7.09c.653-.073 1.405-.26 1.978-.556L7.16 6.5c.022-.01.048-.025.07-.036.03-.015.042-.026.074-.044l.143-.08c.097-.055.184-.117.272-.177.104-.071.213-.152.306-.238.134-.125.278-.257.391-.403.017-.023.033-.033.05-.056.182-.236.332-.491.494-.742.238-.368.46-.744.652-1.143.417-.862.532-.97 1.053-1.645.022-.027.023-.032.049-.059l.278-.277c.114-.104.263-.211.407-.266.129-.05.195-.074.371-.074-.123-.19-.65-.204-.99-.206h-.14zm-1.734 1.17c-.013.012.02.012-.034.012.012-.013-.021-.013.034-.013z"
mask="url(#9jzbtna6od)"/>
</g>
</g>
</g>
</g>
</symbol>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -0,0 +1,66 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-ultimatum
*/
namespace TU\Automator;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
class Campaign_Started extends \Thrive\Automator\Items\Trigger {
/**
* @inheritDoc
*/
public static function get_id() {
return 'ultimatum/campaign_started';
}
/**
* @inheritDoc
*/
public static function get_wp_hook() {
return 'thrive_ultimatum_specific_user_evergreen_campaign_start';
}
/**
* @inheritDoc
*/
public static function get_provided_data_objects() {
return array( 'campaign_data', 'user_data' );
}
/**
* @inheritDoc
*/
public static function get_hook_params_number() {
return 2;
}
public static function get_app_id() {
return Ultimatum_App::get_id();
}
/**
* @inheritDoc
*/
public static function get_name() {
return __( 'User triggers Ultimatum evergreen campaign', 'thrive-ult');
}
/**
* @inheritDoc
*/
public static function get_description() {
return __( 'This trigger will be fired when a user triggers an evergreen Ultimatum campaign by either visiting a landing page, entering their details into a lead generation form or when triggered by 3rd party events', 'thrive-ult');
}
/**
* @inheritDoc
*/
public static function get_image() {
return 'tap-ultimatum-logo';
}
}