function getDetails($ptdb, $id, $type, $langs, $offset) { global $format, $callback; // request $wikipediarequest = "SELECT\n\t\t\t\t\t\t\t\tfoo.keys, foo.values\n\t\t\t\t\t\t\tFROM (\n\t\t\t\t\t\t\t\tSELECT\n\t\t\t\t\t\t\t\t\tskeys(tags) AS keys,\n\t\t\t\t\t\t\t\t\tsvals(tags) AS values\n\t\t\t\t\t\t\t\tFROM " . $type . "s\n\t\t\t\t\t\t\t\tWHERE (id = " . $id . ")\n\t\t\t\t\t\t\t) AS foo\n\t\t\t\t\t\t\tWHERE substring(foo.keys from 1 for 9) = 'wikipedia';"; $namerequest = "SELECT\n\t\t\t\t\t\t\t\tfoo.keys, foo.values\n\t\t\t\t\t\t\tFROM (\n\t\t\t\t\t\t\t\tSELECT\n\t\t\t\t\t\t\t\t\tskeys(tags) AS keys,\n\t\t\t\t\t\t\t\t\tsvals(tags) AS values\n\t\t\t\t\t\t\t\tFROM " . $type . "s\n\t\t\t\t\t\t\t\tWHERE (id = " . $id . ")\n\t\t\t\t\t\t\t) AS foo\n\t\t\t\t\t\t\tWHERE substring(foo.keys from 1 for 4) = 'name';"; // connnecting to database $connection = connectToDatabase($ptdb); // if there is no connection if (!$connection) { exit; } $wikipediaresponse = requestDetails($wikipediarequest, $connection); $nameresponse = requestDetails($namerequest, $connection); pg_close($connection); $response = tagTransform("../locales/departures.xml", getTags($ptdb, $id, $type), $type); if ($response) { if ($format == "text") { echo textDetailsOut($response, $nameresponse, $wikipediaresponse, $langs, $offset); } else { if ($format == "json") { echo jsonDetailsOut($response, $nameresponse, $wikipediaresponse, $langs, $offset, $id, $type, $callback); } else { echo xmlDetailsOut($response, $nameresponse, $wikipediaresponse, $langs, $offset, $id, $type); } } return true; } else { return false; } }
/** * Replace headings with less-important headings * * E.g. if $steps is 1, h4s become h5s * if $steps is 2, h4s become h6es * @param string $content XHTML content * @param integer $steps how far to demote */ function demote_headings($content, $steps) { $steps = (int) $steps; if (empty($steps)) { return $content; } $tag_array = array(); for ($i = 1; $i <= 6; $i++) { $new_level = $i + $steps; $tag_array['h' . $i] = 'h' . ($new_level < 6 ? $new_level : 6); } return tagTransform($content, $tag_array); }