function metallopdb() { /*{{{*/ if (!$_REQUEST['metal']) { echo "<b>ERROR: Missing parameters.</b>\n"; return false; } $metal = strtolower($_REQUEST['metal']); $mode = isset($_REQUEST['mode']) ? strtolower($_REQUEST['mode']) : 'first'; $count = isset($_REQUEST['count']) ? intval($_REQUEST['count']) : 5; $format = isset($_REQUEST['format']) ? strtolower($_REQUEST['format']) : 'csv'; $result = getPDBFromMetal($metal, $mode, $count); if (is_object($result) && DB::isError($result)) { echo "<b>ERROR " . $result->getCode() . ": " . $result->getMessage() . "</b>\n"; return false; } if ($result == false) { echo ""; return false; } switch ($format) { case "wddx": header("Content-type: text/xml"); echo wddx_serialize_value($result); break; case "serialize": header("Content-type: text/plain"); echo serialize($result); break; case "rss": header("Content-type: text/xml"); echo toRSS($result, $GLOBALS['server_remote']); break; case "csv": default: header("Content-type: text/plain"); $fields = array_keys($result[0]); $out = toCSV($fields); for ($i = 0; $i < count($result); $i++) { $out .= toCSV(array_values($result[$i])); } echo $out; break; } return true; }
try { $config = new \NRG\Configuration("../config.ini.php"); $dbconfig = $config->Database; $db = new Database($dbconfig['host'], $dbconfig['user'], $dbconfig['pass'], $dbconfig['name']); if (!$db) { throw new Exception("Couldn't connect to the database."); } $result = $db->listSubjects($field, $direction); if (empty($format)) { ajax_result(array("total" => count($result), "subjects" => $result)); } else { header('Content-type: ' . $content_type); header('Content-disposition: ' . $content_disposition); switch ($format) { case 'CSV': print toCSV($result, array('Label', 'Entries', 'Last Changed', 'Locked'), array('diff')); } } } catch (\Exception $e) { error_log('[OnlineQuestionnaire] ERROR: ' . $e->getMessage() . ' at ' . $e->getFile() . ':' . $e->getLine(), 0); } function toCSV(array $data, array $headers = null, array $ignore = null) { $rows = array(); foreach ($headers as &$h) { $h = '"' . $h . '"'; } $rows[] = implode(',', $headers); foreach ($data as $row) { $newrow = array(); foreach ($row as $label => $cell) {