<?php # initialisation require 'utils.php'; utils_init(); # get the parameters $p_page = my_get_get('page'); $p_start = my_get_get('start'); $p_limit = my_get_get('limit'); $p_sort = json_decode(my_get_get('sort')); # prepare to create the queries... $sql_order = create_order_by($p_sort); $sql_limit = 'LIMIT ' . $p_start . ',' . $p_limit; # form the queries $sql_select = <<<EOT SELECT \tTbWkWorkView.id as viewId, \tTbWkWork.id as workId, \tTbWkWork.name, \tTbWkWork.length, \tTbWkWork.size, \tTbWkWork.chapters, \tTbWkWorkType.name as typeName, \tUNIX_TIMESTAMP(TbWkWorkView.endViewDate) as endViewDate, \tUNIX_TIMESTAMP(TbWkWorkView.startViewDate) as startViewDate, \tTbLocation.name as locationName, \tTbDevice.name as deviceName, \tTbWkWorkExternal.externalCode as imdbId EOT; $sql_frame = <<<EOT FROM
<?php // url to use this script: // http://veltzer.net/~mark/php/pages/GetBlob.php?table=TbMsLilypond&id=5&field=pdf&type=application/pdf&name_field=filebasename require 'setup.php'; my_include('src/utils.php'); $p_table = my_get_get('table'); $p_select_field = my_get_get('select_field'); $p_select_id = my_get_get('select_id'); $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