예제 #1
0
/**
 * 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}");
}
예제 #2
0
	/**
	 * 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");
	}