entries[$language]) && $entryValue) { $this->entries[$language] = array(); } if ($entryValue) { $this->entries[$language][$entryId] = $entryValue; } else { if (isset($this->entries[$language][$entryId])) { unset($this->entries[$language][$entryId]); } } return $this; } /** * Remove Entries of the given Id * * @param string $entryId Entry Id that should be removed * @param string $language (optional) Only remove Entries of the given Language * @return \FML\Elements\Dico */ public function removeEntry($entryId, $language = null) { $entryId = (string) $entryId; if ($language) { $language = (string) $language; if (isset($this->entries[$language])) { unset($this->entries[$language][$entryId]); } } else { foreach ($this->entries as $language => $entries) { if (isset($entries[$entryId])) { unset($entries[$language][$entryId]); } } } return $this; } /** * Remove Entries of the given Language * * @param string $language Language of which all Entries should be removed * @param string $entryId (optional) Only remove the given Entry Id * @return \FML\Elements\Dico */ public function removeLanguage($language, $entryId = null) { $language = (string) $language; if (isset($this->entries[$language])) { if ($entryId) { $entryId = (string) $entryId; unset($this->entries[$language][$entryId]); } else { unset($this->entries[$language]); } } return $this; } /** * Remove all Entries from the Dictionary * * @return \FML\Elements\Dico */ public function removeEntries() { $this->entries = array(); return $this; } /** * Render the Dico XML Element * * @param \DOMDocument $domDocument DomDocument for which the Dico XML Element should be rendered * @return \DOMElement */ public function render(\DOMDocument $domDocument) { $xmlElement = $domDocument->createElement($this->tagName); foreach ($this->entries as $language => $entries) { $languageElement = $domDocument->createElement('language'); $languageElement->setAttribute('id', $language); foreach ($entries as $entryId => $entryValue) { $entryElement = $domDocument->createElement($entryId, $entryValue); $languageElement->appendChild($entryElement); } $xmlElement->appendChild($languageElement); } return $xmlElement; } }