function add_component($component, $isDependency = false) { global $platform, $channel; global $in_componentsObj, $out_componentsObj; if (isset($out_componentsObj[$component])) { return; } if (isset($in_componentsObj[$component])) { $in_componentObj = $in_componentsObj[$component]; } elseif ($isDependency) { $in_componentObj = array(); } else { return; } if (isset($in_componentObj['platform']) && !in_array($platform, $in_componentObj['platform']) && !in_array('all', $in_componentObj['platform'])) { return; } $out_version = null; switch ($channel) { case 'alpha': if (isset($in_componentObj['alpha'])) { $out_version = new Semver($in_componentObj['alpha']); $out_channel = 'alpha'; } case 'beta': if (isset($in_componentObj['beta'])) { $beta = new Semver($in_componentObj['beta']); if (!$out_version || Semver::greaterThan($beta, $out_version)) { $out_version = $beta; $out_channel = 'beta'; } } case 'release': default: if (isset($in_componentObj['release'])) { $release = new Semver($in_componentObj['release']); } else { $release = new Semver("1.0.0"); } if (!$out_version || Semver::greaterThan($release, $out_version)) { $out_version = $release; $out_channel = 'release'; } } if (!$out_version) { return; } if (isset($in_componentObj['dependencies'])) { foreach ($in_componentObj['dependencies'] as $dependency) { add_component($dependency, true); } } $out_componentsObj[$component] = (string) $out_version; }
update_component(); header("Location: index.php?editor=tradeskill&ts={$ts}&rec={$rec}"); exit; case 7: // Add component check_authorization(); $javascript = new Template("templates/tradeskill/js.tmpl.php"); $body = new Template("templates/tradeskill/component.add.tmpl.php"); $body->set("tradeskills", $tradeskills); $body->set("ts", $ts); $body->set("rec", $rec); break; case 8: // Add component check_authorization(); add_component(); header("Location: index.php?editor=tradeskill&ts={$ts}&rec={$rec}"); exit; case 9: // Search recipes $body = new Template("templates/tradeskill/tradeskill.searchresults.tmpl.php"); if (isset($_GET['itemid']) && $_GET['itemid'] != "Item ID") { $results = search_recipes_by_item(); } else { $results = search_recipes(); } $body->set("results", $results); break; case 10: // Add recipe check_authorization();