Пример #1
0
 /**
  * Set class properties
  *
  * @since 0.3.0
  *
  * @access private
  *
  * @param $id
  */
 private function set_up_session($id)
 {
     if (is_null($id) || !\ingot\testing\crud\session::valid(\ingot\testing\crud\session::read($id))) {
         $this->ID = \ingot\testing\crud\session::create(['uID' => get_current_user_id(), 'IP' => ingot_get_ip()], true);
     } else {
         $this->ID = $id;
     }
     $this->session = \ingot\testing\crud\session::read($this->ID);
     $this->ID = $this->session['ID'];
     $this->ingot_id = $this->session['ingot_ID'];
 }
Пример #2
0
 /**
  * @param \WP_REST_Request $request Full data about the request.
  *
  * @return array|mixed|null|object|void
  */
 protected function get_session_by_url_params($request)
 {
     $url = $request->get_url_params();
     $id = helpers::v('id', $url, 0);
     if (0 != absint($id) && is_array($session = \ingot\testing\crud\session::read($id))) {
         return $session;
     } else {
         return new \WP_Error('ingot-invalid-session');
     }
 }
Пример #3
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);
        }
    }
}
Пример #4
0
 /**
  * Test that we can mark a session as used
  *
  * @since 0.3.0
  *
  * @group session
  * @group crud
  *
  * @covers \ingot\testing\crud\session::mark_used()
  */
 public function testMarkUsed()
 {
     $id = \ingot\testing\crud\session::create(array());
     $this->assertTrue(is_numeric($id));
     \ingot\testing\crud\session::mark_used($id);
     $session = \ingot\testing\crud\session::read($id);
     $this->assertSame('1', $session['used']);
 }
Пример #5
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);
        }
    }
}