Beispiel #1
0
	/** 
	* Launch a Content-Variation
	* @param integer CID to launch
	* @param integer ID of the plugin the content is of 
	* @param integer ID of the level to launch to.
	* @param integer ID of the variation to launch.
	* @returns integer Translated ID after launch
	*/
	function launchContentVariation($in, $plugin, $level, $variation) {
		global $db;

		$out = translateState($in, $level);
		$sql = "SELECT FK_ID, DELETED FROM content_variations WHERE CID = $in AND VARIATION_ID = $variation";
		$query = new query($db, $sql);
		$query->getrow();
		$fkid = $query->field("FK_ID");
		$delme = $query->field("DELETED");

		if ($fkid == "" && $variation != 1) {
			$sql = "SELECT FK_ID, DELETED FROM content_variations WHERE CID = $in AND VARIATION_ID = 1";

			$query = new query($db, $sql);
			$query->getrow();
			$fkid = $query->field("FK_ID");
			$variation = 1;
			$delme = $query->field("DELETED");
		}

		if ($fkid != "") {
			$fkidTrans = launchPlugin($fkid, $plugin, $level);

			$sql = "DELETE FROM content_variations WHERE CID = $out AND VARIATION_ID = $variation";
			$query = new query($db, $sql);
			$sql = "INSERT INTO content_variations (CID, FK_ID, DELETED, VARIATION_ID) VALUES ($out, $fkidTrans, $delme, $variation)";
			$query = new query($db, $sql);
		}

		$query->free();
		return $out;
	}
/**
* Launch a Cluster-Content-Item
* @param integer CLCID to launch
* @param integer ID of the level to launch to.
* @param integer ID of the variation to launch.
* @return integer Translated ID after launch
*/
function launchClusterContent($in, $level, $variation)
{
    global $db;
    if (!checkACL($in)) {
        $out = translateState($in, $level);
        $sql = "SELECT * FROM cluster_content WHERE CLCID = {$in} AND DELETED=0";
        $query = new query($db, $sql);
        $query->getrow();
        $clid = $query->field("CLID");
        $clti = $query->field("CLTI_ID");
        $posi = $query->field("POSITION");
        $title = addslashes($query->field("TITLE"));
        $fkid = $query->field("FKID");
        $delme = $query->field("DELETED");
        // get type from clti...
        $sql = "SELECT CLTITYPE_ID, FKID FROM cluster_template_items WHERE CLTI_ID = {$clti}";
        $query = new query($db, $sql);
        $query->getrow();
        $type = $query->field("CLTITYPE_ID");
        $clfktype = $query->field("FKID");
        $fkTrans = 0;
        if ($fkid != 0 && ($type == 4 || $type == 6)) {
            $fkTrans = launchCluster($fkid, $level, $variation);
        }
        if ($type == 2) {
            launchPlugin($in, $clfktype, $level, $clti);
        }
        if ($fkid != 0 && $type == 5) {
            $fkTrans = launchContent($fkid, $level, $variation);
        }
        if ($type == 8) {
            $fkTrans = launchCenterstage($in, $level);
        }
        // translate ids
        $clid = translateState($clid, $level, false);
        $clti = translateState($clti, $level, false);
        $sql = "DELETE FROM cluster_content WHERE CLCID = {$out}";
        $query = new query($db, $sql);
        $sql = "INSERT INTO cluster_content (CLCID, CLID, CLTI_ID, POSITION, TITLE, FKID, DELETED) VALUES ";
        $sql .= "({$out}, {$clid}, {$clti}, {$posi}, '{$title}', {$fkTrans}, {$delme})";
        $query = new query($db, $sql);
        $query->free();
        return $out;
    } else {
        return translateState($in, $level);
    }
}