public function getAttributeValueObject($ak, $createIfNotFound = false) { $db = Loader::db(); $av = false; $v = array($this->getUserID(), $ak->getAttributeKeyID()); $avID = $db->GetOne("select avID from UserAttributeValues where uID = ? and akID = ?", $v); if ($avID > 0) { $av = UserAttributeValue::getByID($avID); if (is_object($av)) { $av->setUser($this); $av->setAttributeKey($ak); } } if ($createIfNotFound) { $cnt = 0; // Is this avID in use ? if (is_object($av)) { $cnt = $db->GetOne("select count(avID) from UserAttributeValues where avID = ?", $av->getAttributeValueID()); } if (!is_object($av) || $cnt > 1) { $newAV = $ak->addAttributeValue(); $av = UserAttributeValue::getByID($newAV->getAttributeValueID()); $av->setUser($this); } } return $av; }
public function getAttributeValue($avID, $method = 'getValue') { $av = UserAttributeValue::getByID($avID); $av->setAttributeKey($this); return $av->{$method}(); }