Пример #1
0
/**
 * Register a conversion
 *
 * @since 0.4.0
 *
 * @param int $variant_ID ID of variant 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_ID, $session_ID = 0)
{
    $variant = \ingot\testing\crud\variant::read($variant_ID);
    if (is_array($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))) {
            $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);
        }
    }
}
Пример #2
0
 /**
  * Track session results -- used for failed conversions.
  *
  * @since 0.3.0
  *
  * @param \WP_REST_Request $request Full data about the request.
  *
  * @return \WP_Error|\WP_REST_Response
  */
 public function update($request)
 {
     $session = $this->get_session_by_url_params($request);
     if (is_wp_error($session)) {
         return $this->response($session);
     }
     if (!empty($request->get_param('click_url')) && 'undefined' != $request->get_param('click_url')) {
         $session['click_url'] = $request->get_param('click_url');
         $session['used'] = true;
         if (0 !== ($userID = get_current_user_id())) {
             $session['click_url'] = $userID;
         }
         \ingot\testing\crud\session::update($session, $session['ID'], true);
     }
     return $this->response($session);
 }
Пример #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);
        }
    }
}