/** * Import XML-Code and create a Sitepage-Master * @param string XML-Code * @return integer new id */ function XmlImportSitepageMaster($xmlString) { global $db; $xmlOptions = array(XML_OPTION_CASE_FOLDING => TRUE, XML_OPTION_SKIP_WHITE => TRUE); $xml =& new XPath(FALSE, $xmlOptions); $xml->importFromString($xmlString); $id = $xml->getAttributes('/NX:SITEPAGEMASTER[1]', 'ID'); $clt = $xml->getAttributes('/NX:SITEPAGEMASTER[1]', 'CLUSTERTEMPLATE'); $type = $xml->getAttributes('/NX:SITEPAGEMASTER[1]', 'TYPE'); $newId = translateXmlGUID($id); $clt = translateXmlGUID($clt); $id = translateXmlGUID($id); $templatePath = urldecode($xml->getAttributes('/NX:SITEPAGEMASTER[1]', 'FILENAME')); $name = urldecode($xml->getAttributes('/NX:SITEPAGEMASTER[1]', 'NAME')); $description = urldecode($xml->getAttributes('/NX:SITEPAGEMASTER[1]', 'DESCRIPTION')); $template = urldecode($xml->getData('/NX:SITEPAGEMASTER[1]')); return createSitepageMaster($name, $description, $templatePath, $template, $clt, $type, $id); }
/** * Import XML-Code and create a Cluster-Template * @param string XML-Code * @param string Category ID where the clt will be created. * @return integer new id */ function XmlImportClusterTemplate($xmlString, $categoryId = "0") { global $db; $xmlOptions = array(XML_OPTION_CASE_FOLDING => TRUE, XML_OPTION_SKIP_WHITE => TRUE); $xml =& new XPath(FALSE, $xmlOptions); $xml->importFromString($xmlString); $id = $xml->getAttributes('/NX:CLUSTERTEMPLATE[1]', 'ID'); $mtId = $xml->getAttributes('/NX:CLUSTERTEMPLATE[1]', 'METATEMPLATE'); $newId = translateXmlGUID($id); $mtId = translateXmlGUID($mtId); createClusterTemplate(urldecode($xml->getAttributes('/NX:CLUSTERTEMPLATE[1]', 'NAME')), urldecode($xml->getAttributes('/NX:CLUSTERTEMPLATE[1]', 'DESCRIPTION')), urldecode($xml->getData('/NX:CLUSTERTEMPLATE[1]/NX:LAYOUT[1]')), $categoryId, $mtId, $newId); if ($xml->hasChildNodes('/NX:CLUSTERTEMPLATE[1]')) { $i = 1; while ($xml->getNode("/NX:CLUSTERTEMPLATE[1]/NX:CLUSTERTEMPLATEITEM[{$i}]")) { $config = "null"; $type = $xml->getAttributes("/NX:CLUSTERTEMPLATE[1]/NX:CLUSTERTEMPLATEITEM[{$i}]", "TYPE"); $itemCfg = urldecode($xml->getAttributes("/NX:CLUSTERTEMPLATE[1]/NX:CLUSTERTEMPLATEITEM[{$i}]", "CONFIGURATION")); if ($type == 2 || $type == 5) { $config = getDBCell("modules", "MODULE_ID", "UPPER(MODULE_NAME) = '" . strtoupper(urldecode($itemCfg)) . "'"); } else { if ($type == 4) { $config = translateXmlGUID($itemCfg); } } createClusterTemplateFigure(urldecode($xml->getAttributes("/NX:CLUSTERTEMPLATE[1]/NX:CLUSTERTEMPLATEITEM[{$i}]", "NAME")), $newId, $xml->getAttributes("/NX:CLUSTERTEMPLATE[1]/NX:CLUSTERTEMPLATEITEM[{$i}]", "POSITION"), $xml->getAttributes("/NX:CLUSTERTEMPLATE[1]/NX:CLUSTERTEMPLATEITEM[{$i}]", "MAXCARD"), $xml->getAttributes("/NX:CLUSTERTEMPLATE[1]/NX:CLUSTERTEMPLATEITEM[{$i}]", "MINCARD"), $config, $type); $i++; } } return $newId; }
/** * Checks, whether a resource has once been imported or not. * @param integer GUID of the Resource to import */ function syndicateImported($guid) { global $imported; resetDBCache(); $trans = translateXmlGUID($guid); if (getTypeByGUID($trans) != "") { return true; } $imported++; return false; }
/** * Import the content to the cluster * @param string XML String * @param integer Cluster-ID which will be used for import * @param integer Cluter-Template GUID which will be used for import */ function XmlImportClusterItem($xmlString, $clid, $clt) { global $db; $xmlOptions = array(XML_OPTION_CASE_FOLDING => TRUE, XML_OPTION_SKIP_WHITE => TRUE); $xml =& new XPath(FALSE, $xmlOptions); $xml->importFromString($xmlString); $clti = getDBCell("cluster_template_items", "CLTI_ID", "UPPER(NAME) = '" . strtoupper(urldecode($xml->getAttributes('/NX:CLUSTERITEM[1]', "NAME"))) . "'"); $position = $xml->getAttributes('/NX:CLUSTERITEM[1]', "POSITION"); $type = getDBCell("cluster_template_items", "CLTITYPE_ID", "CLTI_ID = " . $clti); if ($clti != "") { $fkid = 'NULL'; if ($type == 2) { if ($xml->hasChildNodes('/NX:CLUSTERITEM[1]')) { $fkid = getDBCell("cluster_content", "CLCID", "CLID = {$clid} AND CLTI_ID = {$clti} AND POSITION = {$position}"); XmlImportPlugin($xml->exportAsXml('/NX:CLUSTERITEM[1]/NX:CONTENT[1]', ''), $fkid); $fkid = 0; } } else { if ($type == 4) { $fkid = translateXmlGUID($xml->getAttributes('/NX:CLUSTERITEM[1]/NX:REFERENCE[1]', 'ID')); } } if ($fkid == false) { $fkid = 'NULL'; } return updateClusterItem($clid, $clti, $position, $fkid); } }
/** * Import XML-Code and create a Meta-Template * @param string XML-Code * @return integer new id */ function XmlImportMetaTemplate($xmlString) { global $db; $xmlOptions = array(XML_OPTION_CASE_FOLDING => TRUE, XML_OPTION_SKIP_WHITE => TRUE); $xml =& new XPath(FALSE, $xmlOptions); $xml->importFromString($xmlString); $id = $xml->getAttributes('/NX:METATEMPLATE[1]', 'ID'); $newId = translateXmlGUID($id); createMetaTemplate(urldecode($xml->getAttributes('/NX:METATEMPLATE[1]', 'NAME')), urldecode($xml->getAttributes('/NX:METATEMPLATE[1]', 'DESCRIPTION')), $newId); if ($xml->hasChildNodes('/NX:METATEMPLATE[1]')) { $i = 1; while ($xml->getNode("/NX:METATEMPLATE[1]/NX:METATEMPLATEITEM[{$i}]")) { createMetaTemplateFigure($newId, urldecode($xml->getAttributes("/NX:METATEMPLATE[1]/NX:METATEMPLATEITEM[{$i}]", "NAME")), $xml->getAttributes("/NX:METATEMPLATE[1]/NX:METATEMPLATEITEM[{$i}]", "POSITION"), $xml->getAttributes("/NX:METATEMPLATE[1]/NX:METATEMPLATEITEM[{$i}]", "TYPE")); $i++; } } return $newId; }