Exemplo n.º 1
0
 /**
  * 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);
     }
 }
Exemplo n.º 2
0
 /**
  * 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();
 }
Exemplo n.º 3
0
/**
 * 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);
        }
    }
}