/** * Delete a cluster node * @param integer Cluster-Node-ID * @param boolean also delete version? */ function deleteClusterNode($clnid, $recursiveLevels = true) { if ($recursiveLevels) { deleteClusterNode(translateState($clnid, 10, false), false); } $clids = createDBCArray("cluster_variations", "CLID", "CLNID = {$clnid}"); if (count($clids) > 0) { foreach ($clids as $clid) { deleteCluster($clid); } } deleteRow("cluster_variations", "CLNID = {$clnid}"); deleteRow("cluster_node", "CLNID = {$clnid}"); }
/** * delete all (also live) instances of a variation. * @param integer ID of the Variation */ function deleteVariation($variation) { global $db; $delHandler = new ActionHandler("del"); $delHandler->addDBAction("DELETE FROM sitepage_names WHERE VARIATION_ID = $variation"); $delHandler->addDBAction("DELETE FROM sitepage_variations WHERE VARIATION_ID = $variation"); // delete clusters $sql = "SELECT CLID FROM cluster_variations WHERE VARIATION_ID = $variation"; $query = new query($db, $sql); while ($query->getrow()) { deleteCluster ($query->field("CLID")); } $delHandler->addDBAction("DELETE FROM cluster_variations WHERE VARIATION_ID = $variation"); // delete content $sql = "SELECT v.FK_ID, c.MODULE_ID FROM content_variations v, content c WHERE c.CID = v.CID AND v.VARIATION_ID = $variation"; $query = new query($db, $sql); while ($query->getrow()) { deletePlugin($query->field("FK_ID"), $query->field("MODULE_ID")); } $delHandler->addDBAction("DELETE FROM content_variations WHERE VARIATION_ID = $variation"); $delHandler->addDBAction("DELETE FROM variations WHERE VARIATION_ID = $variation"); $delHandler->process("del"); }