function create_person($params) { $firstname = $params['firstname']; $surname = $params['surname']; $res = ''; $external = my_mysql_query_hash('SELECT * FROM TbExternalType', 'id'); $query = sprintf('SELECT * FROM TbIdPerson WHERE firstname=%s AND surname=%s', my_mysql_real_escape_string($firstname), my_mysql_real_escape_string($surname)); $row = my_mysql_query_one_row($query); $id = $row['id']; $res .= '<ul>'; $res .= '<li>id: ' . $id . '</li>'; $res .= '<li>Name: ' . get_full_name($row, $honorifics) . '</li>'; // handle externals $query = sprintf('SELECT * FROM TbIdPersonExternal WHERE personId=%s', my_mysql_real_escape_string($id)); $result = my_mysql_query($query); while ($row = $result->fetch_assoc()) { $externalcode = $row['externalCode']; $externalid = $row['externalId']; $externalname = $external[$externalid]['name']; $externalidname = $external[$externalid]['idname']; $link = get_external_href($externalname, $externalcode); $link = '<a href=\'' . $link . '\'>' . $externalidname . ': ' . $externalcode . '</a>'; $res .= '<li>' . $link . '</li>'; } my_mysql_free_result($result); $res .= '</ul>'; return $res; }
$p_data_field = my_get_get('data_field'); $p_name_field = my_get_get('name_field'); $p_mime_field = my_get_get('mime_field'); $debug = 0; # security... assert($p_table == 'TbImage'); assert($p_select_field == 'id'); assert($p_data_field == 'smallData'); assert($p_name_field == 'slug'); assert($p_mime_field == 'smallMime'); my_mysql_connect(); $query = sprintf('SELECT %s,%s,%s FROM %s where %s=%s', $p_data_field, $p_name_field, $p_mime_field, $p_table, $p_select_field, my_mysql_real_escape_string($p_select_id)); if ($debug) { echo $query . '<br/>'; } $result = my_mysql_query_one_row($query); $fileContent = $result[$p_data_field]; $fileName = $result[$p_name_field]; $fileMime = $result[$p_mime_field]; $fileLength = strlen($fileContent); # You can see more HTTP headers that may improve stuff in # http://en.wikipedia.org/wiki/List_of_HTTP_headers # ideas are: Content-MD5, Content-Length, Last-Modified # if you want to debug HTTP headers just use wget -S on the # command line and compared the headers that you are generating # with the headers that a regular content generates by using # the web server... header('Content-type: ' . $fileMime); header('Cache-Control: no-cache'); header('Content-Length: ' . $fileLength); header('Content-Disposition: attachment; filename=' . $fileName . '.png');