public function insertApp(AppLauncher $app) { $launcherPath = self::APPS_DIR . '/' . $app['name'] . '.xml'; $xml = new TranslatedDOMDocument('1.0'); $root = $xml->createElement('shortcut'); $xml->appendChild($root); $appData = $app->toArray(); foreach ($appData as $name => $value) { $attrEl = $xml->createElement('attribute'); $root->appendChild($attrEl); $nameAttr = $xml->createAttribute('name'); $nameAttr->appendChild($xml->createTextNode($name)); $attrEl->appendChild($nameAttr); $valueAttr = $xml->createAttribute('value'); $valueAttr->appendChild($xml->createTextNode($value)); $attrEl->appendChild($valueAttr); } $this->dao->write($launcherPath, $xml->saveXML()); }