protected function check_ingot_id() { if (!isset($this->cookie['ingot_id'])) { $ingot_id = session::find_ingot_id(get_current_user_id(), ingot_get_ip()); $this->cookie['ingot_id'] = $ingot_id; } }
/** * 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']; }
/** * Validate item config * * @since 0.4.0 * * @access protected * * @param array $data Item config * * @return \WP_Error|array Item config array if valid, WP_Error if not. */ protected static function validate_config($data) { $required = static::required(); foreach ($required as $key) { if (!isset($data[$key])) { return new \WP_Error('ingot-invalid-config', __(sprintf('Groups require the field %s', $key), 'ingot'), $data); } } if (!isset($data['IP'])) { $data['IP'] = ingot_get_ip(); } if (isset($data['UTM']) && $data['UTM']) { $data['UTM'] = helpers::sanitize($data['UTM']); } $data['time'] = self::date_validation($data['time']); return $data; }
/** * Test that optional fields are filled in. * * @since 0.0.7 * * @group crud * @group tracking_crud * * @covers \ingot\testing\crud\tracking::create() * @covers \ingot\testing\crud\crud::fill_in() * @covers \ingot\testing\crud\crud::validate_config() */ public function testCreateFillIn() { $params = array('test_ID' => 42); $created = \ingot\testing\crud\tracking::create($params); $this->assertTrue(is_numeric($created)); $tracking = \ingot\testing\crud\tracking::read($created); foreach (\ingot\testing\crud\tracking::get_required_fields() as $field) { $this->assertArrayHasKey($field, $tracking); } foreach (\ingot\testing\crud\tracking::get_needed_fields() as $field) { $this->assertArrayHasKey($field, $tracking); } $this->assertEquals('127.0.0.1', ingot_get_ip()); }
/** * Find ingot_ID value to tie sessions to same user/IP * * @since 0.3.0 * * @param bool|false $uID * @param bool|false $ip * * @return int Returns ingot_ID, possibly a fresh new one, maybe a matched one */ public static function find_ingot_id($uID = false, $ip = false) { if (!$uID && 0 != get_current_user_id()) { $uID = get_current_user_id(); $id = self::lookup_by_uID($uID); } else { if (!$ip) { $ip = ingot_get_ip(); } $id = self::lookup_by_IP($ip); } if (!$id) { $last_assigned_key = '_ingot_session_ID_last_assigned'; $last_assigned = get_option($last_assigned_key, 0); $id = $last_assigned + 1; update_option($last_assigned_key, $id); } return (int) $id; }