Simple JAKIM esolat wrapper

Last 2 weeks, I emailed a proposal to JAKIM regarding to create e-solat API. I think it will benefits programmer who want to use e-solat data in their own application. I know there is code/formula out there we can use.. but for me, I rather prefer to use data provided by the authority party.

Alhamdulillah, JAKIM reply my email and give me an opportunity to present my proposal last week. The rest, I let them to make a decision.

Meanwhile,I create simple e-solat wrapper to wrap content from e-solat website and convert to json object.

    $data = file_get_contents('http://www.e-solat.gov.my/solat.php?kod='.$kod);
    $data = strip_tags($data, '<table><tr><td></td></tr></table>');
    $data = str_replace(" ", "", $data);

    $dom = new DOMDocument();
    $dom->prevservWhiteSpace = false;
    $dom->loadHTML($data);
    $trs = $dom->getElementsByTagName('tr');
    foreach ($trs as $tr) {
        $td = $tr->getElementsByTagName('td');
        $result = array();
        foreach ($td as $row) {
            $result[] = trim($row->nodeValue);
        }
        $results[] = $result;
    }

    $data = array();
    $data['kawasan'] = $results[0][0];
    $data['tarikh'] = trim($results[1][0], 'JAKIM');
    $data['kiblat'] = $results[3][1];
    $data['gmt'] = $results[2][1];
    $data['jadual'][$results[5][0]] = $results[5][1];
    $data['jadual'][($results[6][0])] = $results[6][1];
    $data['jadual'][($results[7][0])] = $results[7][1];
    $data['jadual'][($results[8][0])] = $results[8][1];
    $data['jadual'][($results[9][0])] = $results[9][1];
    $data['jadual'][($results[10][0])] = $results[10][1];
    $data['jadual'][($results[11][0])] = $results[11][1];
    $json = json_encode($data, JSON_FORCE_OBJECT); //force json as an object

Test online : http://api.ibnuyahya.com/solat.php
download source : http://api.ibnuyahya.com/solat.php.txt

If you’re linux user, maybe this post will help you to put solat time in conky

About ibnuyahya

Ibnuyahya has written 91 post in this blog.

Ibnuyahya merupakan seorang software developer dan freelance consultant. Berpengalaman lebih dari 10 tahun dalam membangunkan perisian dari embedded sistem menggunakan micro-controller, windows application, mobile, image processing, artificial intelligent dan akhirnya menumpukan sepenuh tenaga dalam web application.