<?php

    // Allow from any origin
    if (isset($_SERVER['HTTP_ORIGIN'])) 
    {
        header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
        header('Access-Control-Allow-Credentials: true');
        header('Access-Control-Max-Age: 86400');    // cache for 1 day
    }
    // Access-Control headers are received during OPTIONS requests
    if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') 
    {
        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
            header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         

        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
            header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

        exit(0);
    }


    // the following line prevents the browser from parsing this as HTML.
#    header('Content-Type: application/json');

    if(!empty($_GET["plugin"]))
    {
        // get the file contents, assuming the file to be readable (and exist)
        $contents = file_get_contents(__DIR__."/plugins/pluginlist");
        // escape special characters in the query
        $pattern = preg_quote($_GET["plugin"], '/');
        // finalise the regular expression, matching the whole line
        $pattern = "/^.*$pattern.*\$/im";
        // search, and store all matching occurences in $matches
        if(preg_match_all($pattern, $contents, $matches))
        {
            echo implode("\n", $matches[0]);
        }
    }

?>
