/**
 * 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;
}
Example #4
0
/**
 * 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);
    }
}
Example #5
0
/**
 * 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;
}