<?php
    set_time_limit(60*60);//タイムアウト時間を60分に変更


//////////////////////////////////////////////////////////////////////////////////////////////
//検索条件
//////////////////////////////////////////////////////////////////////////////////////////////
//1.透かし検索⇒オルゾフ組検索
    $search_base = "https://api.magicthegathering.io/v1/cards?contains=watermark&orderBy=name";

//2.日本語で「リリアナ」を含むカード名で検索(&orderBy=nameが使えない?)
//    $trg = 'リリアナ';
//    $trg = urlencode($trg);//アルファベット以外は変換が必要
//    $search_base = "https://api.magicthegathering.io/v1/cards?name=".$trg."&language=Japanese";

//3.イラストレーターがネネ・トーマスで検索
//    $search_base = "https://api.magicthegathering.io/v1/cards?artist=N%C3%A9N%C3%A9%20Thomas&orderBy=name";

//4.フレーバーにサーペディアを含むカードを検索
//    $search_base = "https://api.magicthegathering.io/v1/cards?flavor=Sarpadian&orderBy=name";

//5.サブタイプにthrullを含むカードを検索
//    $search_base = "https://api.magicthegathering.io/v1/cards?subtypes=thrull&orderBy=name";

//////////////////////////////////////////////////////////////////////////////////////////////
//ページ数算出(100件/1ページ)
//////////////////////////////////////////////////////////////////////////////////////////////
    $search_contents = file_get_contents($search_base);
    //$http_response_headerに自動で格納されている

    function parseHeaders( $headers )//headersを扱いやすい用に整形する
    {
        $head = array();
        foreach( $headers as $k=>$v )
        {
            $t = explode( ':', $v, 2 );
            if( isset( $t[1] ) )
                $head[ trim($t[0]) ] = trim( $t[1] );
            else
            {
                $head[] = $v;
                if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
                    $head['reponse_code'] = intval($out[1]);
            }
        }
        return $head;
    }
    $t_haed = parseHeaders($http_response_header);//http_response_headerは自動で格納されている
    $page_size = ceil($t_haed["Total-Count"]/100);

    print '検索条件';
    print_r($search_base);
    print '<br>';

    print '検索結果件数(フィルタ前)';
    print_r($t_haed["Total-Count"]);
    print '<br>';

    print'<table>';


//////////////////////////////////////////////////////////////////////////////////////////////
//検索と検索結果表示
//////////////////////////////////////////////////////////////////////////////////////////////
    if ($page_size == 0)
    {
        print '検索結果なし';
    }
    else
    {
        $cnt = 1;
        $temp = "";//同一名をまとめるための変数
        $pageno = 1;
        for($pageno = 1;$pageno<=$page_size;$pageno++)
        {
            usleep(2*1000*1000);//気持ち遅延2秒
            ob_flush();
            flush();//少しずつ検索結果を表示
            
            //pageを1から順に検索結果を表示していく
            $search_api = $search_base."&page=".$pageno;
            $search_contents = file_get_contents($search_api);
            $search_json = json_decode($search_contents,true);


            if(empty($search_json["cards"]) == TRUE)
            {
                print '検索結果なし';
            }
            else
            {
                foreach($search_json["cards"] as $k => $data)
                {
                    
                    $trgstr = "orzhov";//オルゾフ組検索
                    //if(1)//透かしの条件でフィルタフィルタしない
                    if(strcmp($trgstr,$data["watermark"]) == 0)//透かしの条件でフィルタする
                    {
                        
                        //if(1)//同一カードでも横に並べない
                        if(strcmp($temp,$data["name"]) != 0)//同一カードは横に並べる&orderBy=nameが必要
                        {
                            print'</table>';

                            print '<hr>';
                            
                            print'<table border="1">';
                            print "No.".$cnt."[".$data["name"]."]";
                            print '<br>';
                            $cnt += 1;
                        }
                        
                        print'<td>';
                        print "[".$data["setName"]."]";
                        print '<br>';
                        //画像の表示
                        if(empty($data["imageUrl"]) == TRUE)
                        {
                            $pic = "<img src=\" \" width=\"223\" height=\"310\">";//画像なし空白表示
                        }
                        else
                        {
                            $pic = "<img src=\"".$data["imageUrl"]."\">";
                            usleep(0.5*1000*1000);//気持ち遅延0.5秒
                        }
                        print ($pic);
                        print'</td>';

                        $temp = $data["name"];//同一名チェック用に保存
                    }
                }
            }
        }
    }

//http://localhost/mtgapitest.php

?>