/** * 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']; }
/** * @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'); } }
/** * 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); } } }
/** * 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']); }
/** * 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); } } }