Esempio n. 1
0
	/**
* 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);
    }
}