function main() { !isset($_GET['url']) && exit_script('Hello Tumblr!'); $query_param = get_query_param($_GET['url']); !$query_param && isImageUrl($_GET['url']) && redirect_location($_GET['url']) && exit_script(); !$query_param && echoTxtFile("NOT VALID TUMBLR URL: [{$_GET['url']}]") && exit_script(); $post_info = query_tumblr_api($query_param); !$post_info && echoTxtFile("NO POST INFO FETCHED FROM TUMBLR WITH GIVEN URL: [{$_GET['url']}], THE POST MIGHT BE DELETED") && exit_script(); $post_info = $post_info['posts'][0]; switch ($post_info['type']) { case 'link': $output = <<<EOD <p>Title: <h3>{$post_info['link-text']}</h3></p> <p>link: <a href="{$post_info['link-url']}">{$post_info['link-url']}</a></p> <p>Description:</p> <p>{$post_info['link-description']}</p> EOD; echoHtmlFile($output); exit_script(); break; case 'regular': $output = "<h3>{$post_info['regular-title']}</h3>{$post_info['regular-body']}"; echoHtmlFile($output); exit_script(); break; case 'answer': $question = htmlCharsDecode($post_info['question']); $answer = htmlCharsDecode($post_info['answer']); $tags = implode(', ', $post_info['tags']); $output = "[Q&A]\r\n\r\n{$question}\r\n\r\n{$answer}\r\n\r\nTags: {$tags}\r\n"; echoTxtFile($output); exit_script(); break; case 'video': $url = get_video_url($post_info); redirect_location($url) && exit_script(); break; case 'photo': default: $urls = get_photo_urls($post_info); $count = count($urls); if ($count === 1) { redirect_location($urls[0]); exit_script(); } else { $image_pack = fetch_images($urls); $zip_str = makeZip($image_pack); echoZipFile($zip_str); exit_script(); } break; } }
function main() { !isset($_GET['url']) && exit_script('Hello Tumblr!'); $query_param = get_query_param($_GET['url']); if (!$query_param) { if (isImageUrl($_GET['url'])) { redirect_location($_GET['url']); exit_script(); } else { echoTxtFile("NOT VALID TUMBLR URL: [{$_GET['url']}]"); exit_script(); } } else { $post_record = find_from_ds($query_param); if ($post_record) { $record_data = $post_record->getData(); return_recorded_data($record_data); exit_script(); } else { $post_info = query_tumblr_api($query_param); if (!$post_info) { echoTxtFile("NO POST INFO FETCHED FROM TUMBLR WITH GIVEN URL: [{$_GET['url']}], THE POST MIGHT BE DELETED"); exit_script(); } $post_info = $post_info['posts'][0]; $record = array('hash' => "{$query_param['post_domain']}|{$query_param['post_id']}", 'domain' => $query_param['post_domain'], 'postId' => $query_param['post_id'], 'postType' => $post_info['type'], 'responseType' => '', 'data' => '', 'time' => time()); $output = ''; switch ($post_info['type']) { case 'link': $output = <<<EOD <p>Title: <h3>{$post_info['link-text']}</h3></p> <p>link: <a href="{$post_info['link-url']}">{$post_info['link-url']}</a></p> <p>Description:</p> <p>{$post_info['link-description']}</p> EOD; echoHtmlFile($output); write_record($record, 'html', $output); exit_script(); break; case 'regular': $output = "<h3>{$post_info['regular-title']}</h3>{$post_info['regular-body']}"; echoHtmlFile($output); write_record($record, 'html', $output); exit_script(); break; case 'answer': $question = htmlCharsDecode($post_info['question']); $answer = htmlCharsDecode($post_info['answer']); $tags = implode(', ', isset($post_info['tags']) ? $post_info['tags'] : array()); $output = "[Q&A]\r\n\r\n{$question}\r\n\r\n{$answer}\r\n\r\nTags: {$tags}\r\n"; echoHtmlFile($output); write_record($record, 'html', $output); exit_script(); break; case 'quote': $quote_text = $post_info['quote-text']; $quote_source = $post_info['quote-source']; $output = "Text: {$quote_text}<br><br>\r\nSource: {$quote_source}"; echoHtmlFile($output); write_record($record, 'html', $output); exit_script(); break; case 'video': $url = get_video_url($post_info); redirect_location($url); write_record($record, 'redirect', $url); exit_script(); break; case 'photo': default: $urls = get_photo_urls($post_info); $count = count($urls); if ($count === 1) { redirect_location($urls[0]); write_record($record, 'redirect', $urls[0]); exit_script(); } else { $images_pack = fetch_images($urls); $urls_str = implode("\r\n", $urls); if ($images_pack['count'] === 0) { $output = "Error: can't load this pictures\r\n{$urls}\r\n\r\nFrom: {$_GET['url']}"; echoTxtFile($output); } else { $output = makeZip($images_pack); echoZipFile($output); } write_record($record, 'photoSet', $urls_str); exit_script(); } break; } } } }