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;
            }
        }
    }
}
Example #2
0
function write_records($fp, $sql, $name)
{
    $resu = mysql_query($sql);
    if (mysql_error() != "") {
        echo mysql_error();
    }
    if (mysql_num_rows($resu) != 0) {
        while ($r = mysql_fetch_array($resu)) {
            write_record($fp, $r, $name);
        }
    }
}