diff --git a/core/valuesetdef/ValueSetEnumClasses.php b/core/valuesetdef/ValueSetEnumClasses.php new file mode 100644 index 0000000000..b2788f738f --- /dev/null +++ b/core/valuesetdef/ValueSetEnumClasses.php @@ -0,0 +1,43 @@ +m_sCategories = $sCategories; + parent::__construct($sAdditionalValues, true /* Classes are always sorted alphabetically */); + } + + protected function LoadValues($aArgs) + { + // Call the parent to parse the additional values... + parent::LoadValues($aArgs); + + // Translate the labels of the additional values + foreach ($this->m_aValues as $sClass => $void) { + if (MetaModel::IsValidClass($sClass)) { + $this->m_aValues[$sClass] = MetaModel::GetName($sClass); + } else { + unset($this->m_aValues[$sClass]); + } + } + + // Then, add the classes from the category definition + foreach (MetaModel::GetClasses($this->m_sCategories) as $sClass) { + if (MetaModel::IsValidClass($sClass)) { + $this->m_aValues[$sClass] = MetaModel::GetName($sClass); + } else { + unset($this->m_aValues[$sClass]); + } + } + + return true; + } +} \ No newline at end of file