Пример #1
0
 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;
 }
Пример #2
0
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) {