public static function identifiers_to_objects($identifiers, &$archive_unknown_objects = false) { // Provide an array containing the location(s) of all test(s) for the supplied object name $objects = array(); foreach (pts_arrays::to_array($identifiers) as $identifier_item) { if ($identifier_item instanceof pts_test_profile || $identifier_item instanceof pts_test_suite || $identifier_item instanceof pts_result_file) { array_push($objects, $identifier_item); } else { if (PTS_IS_CLIENT && $identifier_item instanceof pts_virtual_test_queue) { // Object is a virtual suite array_push($objects, $identifier_item); } else { if ($tp_identifier = pts_test_profile::is_test_profile($identifier_item)) { // Object is a test array_push($objects, new pts_test_profile($tp_identifier)); } else { if (pts_test_suite::is_suite($identifier_item)) { // Object is a suite array_push($objects, new pts_test_suite($identifier_item)); } else { if (pts_result_file::is_test_result_file($identifier_item)) { // Object is a saved results file array_push($objects, new pts_result_file($identifier_item)); } else { if (pts_openbenchmarking::is_openbenchmarking_result_id($identifier_item)) { // Object is an OpenBenchmarking.org result // Clone it locally so it's just handled like a pts_result_file $success = pts_openbenchmarking::clone_openbenchmarking_result($identifier_item); if ($success) { array_push($objects, new pts_result_file($identifier_item)); } } else { if (PTS_IS_CLIENT && pts_virtual_test_suite::is_virtual_suite($identifier_item)) { // Object is a virtual suite array_push($objects, new pts_virtual_test_suite($identifier_item)); } else { if (pts_suite_nye_XmlReader::is_temporary_suite($identifier_item)) { // Object is a suite array_push($objects, new pts_test_suite($identifier_item)); } else { if (is_array($archive_unknown_objects)) { // Unknown / nothing / broken array_push($archive_unknown_objects, $identifier_item); } } } } } } } } } } return $objects; }