values[$key])) { if (in_array($key, $this->values)) { // case of mixing key <> display value, correct it $key = array_search($key, $this->values); } else { $this->displayValue = $displayValue; //throw new Exception("Invalid Enum key: $key\n". print_r(debug_backtrace(), true)); } } $this->key = $key; $this->displayValue = ! empty($displayValue) ? $displayValue : (isset($this->values[$key]) ? $this->values[$key] : ''); unset($this->values); } public function getDisplayValue() { return $this->displayValue; } public function setDisplayValue($displayValue) { $this->displayValue = $displayValue; } public function toString() { return $this->jsonString; } public function getPrimarySubValue() { return $this->key; } } /** * public Enum for opensocial.Enum.Drinker */ class EnumDrinker extends Enum { public $values = array('HEAVILY' => "Heavily", 'NO' => "No", 'OCCASIONALLY' => "Occasionally", 'QUIT' => "Quit", 'QUITTING' => "Quitting", 'REGULARLY' => "Regularly", 'SOCIALLY' => "Socially", 'YES' => "Yes"); } /** * public Enum for opensocial.Enum.Gender */ class EnumGender extends Enum { public $values = array('FEMALE' => "Female", 'MALE' => "Male"); } /** * public Enum for opensocial.Enum.LookingFor */ class EnumLookingFor extends Enum { public $values = array('ACTIVITY_PARTNERS' => 'Activity Partners', 'DATING' => 'Dating', 'FRIENDS' => 'Friends', 'NETWORKING' => 'Networking', 'RANDOM' => 'Random', 'RELATIONSHIP' => 'Relationship'); } /** * public Enum for opensocial.Enum.Smoker */ class EnumSmoker extends Enum { public $values = array('HEAVILY' => "Heavily", 'NO' => "No", 'OCCASIONALLY' => "Ocasionally", 'QUIT' => "Quit", 'QUITTING' => "Quitting", 'REGULARLY' => "Regularly", 'SOCIALLY' => "Socially", 'YES' => "Yes"); } /** * public Enum for opensocial.Enum.Presence */ class EnumPresence extends Enum { public $values = array('AWAY' => "Away", 'CHAT' => "Chat", 'DND' => "Do Not Disturb", 'OFFLINE' => "Offline", 'ONLINE' => "Online", 'XA' => "Extended Away"); }