/** * Add hooks * * @since 0.0.5 */ public function hooks() { add_action('rest_api_init', array(__CLASS__, 'boot_rest_api')); add_action('pre_update_option', array($this, 'presave_settings'), 10, 2); if (!ingot_is_bot()) { add_action('wp_enqueue_scripts', function () { $version = INGOT_VER; $min = '.min'; if (SCRIPT_DEBUG) { $min = ''; $version = rand(); } wp_enqueue_script('ingot', INGOT_URL . "/assets/front-end/js/ingot-click-test{$min}.js", array('jquery'), $version, true); wp_localize_script('ingot', 'INGOT_UI', ingot::js_vars()); }); add_action('parse_request', array($this, 'init_session'), 50); } }
/** * Record a victory for this test * * @since 1.1.0 * * return int */ public function record_victory() { $group_id = $this->variant['group_ID']; $bandit = new \ingot\testing\bandit\price($group_id); $bandit->record_victory($this->ID); ingot::instance()->get_current_session(); }
/** * Register a conversion * * @since 0.4.0 * * @param int|array $variant Variant config or Variant ID to register conversion for * @param int $session_ID Optional. Session ID. If a valid session ID is passed, that session will be marked as having converted with this vartiant ID. */ function ingot_register_conversion($variant, $session_ID = 0) { if (is_numeric($variant)) { $variant = \ingot\testing\crud\variant::read($variant); } if (\ingot\testing\crud\variant::valid($variant)) { $bandit = new \ingot\testing\bandit\content($variant['group_ID']); $bandit->record_victory($variant['ID']); if (0 < absint($session_ID) && is_array($session = \ingot\testing\crud\session::read($session_ID))) { } else { $session = \ingot\testing\ingot::instance()->get_current_session()['session']; } if (\ingot\testing\crud\session::valid($session)) { $session['click_ID'] = $variant['ID']; $session['used'] = true; if (0 !== ($userID = get_current_user_id())) { $session['click_url'] = $userID; } \ingot\testing\crud\session::update($session, $session['ID'], true); } } }