/** * Launch a Content-Item * @param integer CID to launch * @param integer ID of the level to launch to. * @param integer ID of the variation to launch. * @returns integer Translated ID after launch */ function launchContent($in, $level, $variation) { global $db, $auth; if (!checkACL($in)) { $out = translateState($in, $level); $sql = "SELECT * FROM content WHERE CID = $in"; $query = new query($db, $sql); $query->getrow(); $module = $query->field("MODULE_ID"); $category = $query->field("CATEGORY_ID"); $mtid = $query->field("MT_ID"); $name = addslashes($query->field("NAME")); $keywords = addslashes($query->field("KEYWORDS")); $description = addslashes($query->field("DESCRIPTION")); $delme = $query->field("DELETED"); $accesskey = $query->field("ACCESSKEY"); // do some launches $mtTrans = launchMetaTemplate($mtid, $level); $sql = "DELETE FROM content WHERE CID = $out"; $query = new query($db, $sql); $sql = "INSERT INTO content (CID, MODULE_ID, CATEGORY_ID, MT_ID, NAME, DESCRIPTION, KEYWORDS, CREATED, LAST_MODIFIER, VERSION, DELETED, ACCESSKEY) VALUES "; $sql .= "($out, $module, $category, $mtTrans, '$name', '$description', '$keywords', NOW(), '$auth->user', $level, $delme, '$accesskey')"; $query = new query($db, $sql); // launch the content. $dbc = createDBCArray("content_variations", "VARIATION_ID", "DELETED=0 AND CID=".$in); for ($i=0; $i<count($dbc);$i++) { launchContentVariation($in, $module, $level, $dbc[$i]); } // launch metas $sql = "SELECT MID FROM meta WHERE CID = $in AND DELETED=0"; $query = new query($db, $sql); while ($query->getrow()) { launchMeta($query->field("MID"), $level); } $query->free(); return $out; } else return translateState($in, $level); }
/** * Launch a Cluster-Template * @param integer ID to launch * @param integer ID of the level to launch to * @param integer ID of the variation to launch. * @returns integer Translated ID after launch */ function launchClusterTemplate($in, $level, $variation) { global $db; if (!checkACL($in)) { $out = translateState($in, $level); $sql = "SELECT NAME, DESCRIPTION, CATEGORY_ID, MT_ID, CLT_TYPE_ID, TEMPLATE FROM cluster_templates WHERE CLT_ID = {$in}"; $query = new query($db, $sql); $query->getrow(); $name = addslashes($query->field("NAME")); $desc = addslashes($query->field("DESCRIPTION")); $template = addslashes($query->field("TEMPLATE")); $cltTypeId = $query->field("CLT_TYPE_ID"); $category = $query->field("CATEGORY_ID"); $mtid = $query->field("MT_ID"); $sql = "DELETE FROM cluster_templates WHERE CLT_ID = {$out}"; $query = new query($db, $sql); $metalaunched = launchMetaTemplate($mtid, $level, $variation); $sql = "INSERT INTO cluster_templates (CLT_ID, MT_ID, CATEGORY_ID, NAME, DESCRIPTION, CLT_TYPE_ID, TEMPLATE, DELETED, VERSION) VALUES ({$out}, {$metalaunched}, {$category}, '{$name}', '{$desc}', {$cltTypeId}, '{$template}', 0, {$level})"; $query = new query($db, $sql); // launch ClusterTemplateItems $sql = "DELETE FROM cluster_template_items WHERE CLT_ID = {$out}"; $query = new query($db, $sql); $sql = "SELECT CLTI_ID FROM cluster_template_items WHERE CLT_ID = {$in} AND DELETED = 0"; $query = new query($db, $sql); while ($query->getrow()) { $id = $query->field("CLTI_ID"); launchClusterTemplateItem($id, $out, $level, $variation); } $query->free(); return $out; } else { return translateState($in, $level); } }