/** * 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); } }