APIController::run PHP Method

run() public method

public run ( )
    public function run()
    {
        sort($this->services);
        $req = Request::getInstance();
        $results = "";
        if ($req->gp('base')) {
            //$api = \geneanet\geneweb\api\genewebAPI::getInstance($req->gp('base'));
            $api = \geneweb\api\genewebAPI::getInstance($req->gp('base'));
            $api->setUrl(URL_API);
            if ($req->g('full') == 1) {
                $api->setFullInfos(true);
            }
            switch ($req->g('output')) {
                case 'json':
                    $api->setOutput('json');
                    break;
                case 'xml':
                    $api->setOutput('xml');
                    break;
            }
            //$meta = meta::from_sourcename($req->gp('base'));
            switch ($req->gp('type')) {
                case 'friend':
                    $api->enableModeFriend($req->gp('base'));
                    break;
                case 'wizard':
                    $api->enableModeWizard($req->gp('base'));
                    break;
            }
            $filters = $req->gp('filters');
            foreach ($filters as $k => $filter) {
                if (is_array($filter)) {
                    continue;
                }
                $path = "filters/{$k}.cls.php";
                require_once "filters/{$k}.cls.php";
                $class = "\\geneweb\\api\\filters\\" . $k;
                $filter = new $class();
                if (isset($filters[$k . "_val"])) {
                    foreach ($filters[$k . "_val"] as $k2 => $v2) {
                        $set = "set" . ucfirst($k2);
                        $filter->{$set}($v2);
                    }
                }
                $api->addFilter($filter);
            }
            $service = $req->gp('service');
            if ($req->gp('p')) {
                $results = call_user_func_array(array($api, $service), $req->gp('p'));
            } else {
                $results = call_user_func(array($api, $service));
            }
            if ((string) $results == "") {
                $results = "NULL";
            }
            if ($req->g('output') == "xml") {
                $results = $this->xmlpp($results, true);
            } elseif ($req->g('output') == "json") {
                $results = $this->jsonpp($results);
            }
            $this->request = $api->lastUrl;
        }
        $this->results = $results;
        echo "<style type='text/css'>\n\t\t\t\t\t\tinput[type='text'], input[type='submit'] {\n\t\t\t\t\t\t\tborder:1px solid gray;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.results {\n\t\t\t\t\t\t\tborder:1px solid gray;\n\t\t\t\t\t\t\tbackground-color: #e9e9e9;\n\t\t\t\t\t\t\tmargin-bottom:40px;\n\t\t\t\t\t\t\tpadding-left:5px;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.results h2{\n\t\t\t\t\t\t\tcolor:red;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.results pre {\n\t\t\t\t\t\t\theight:400px;\n\t\t\t\t\t\t\toverflow:auto;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.request {\n\t\t\t\t\t\t\tborder:1px solid gray;\n\t\t\t\t\t\t\tbackground-color: #e9e9e9;\n\t\t\t\t\t\t\tmargin-bottom:40px;\n\t\t\t\t\t\t\tpadding-left:5px;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.request pre {\n\t\t\t\t\t\t\toverflow:auto;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t#selectbox {\n\t\t\t\t\t\t\tposition:fixed;\n\t\t\t\t\t\t\tright:20px;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>";
    }

Usage Example

Example #1
0
            }
            $content .= "  <tr>\n   <td></td>\n   <td align='right'><input type='submit' value='submit'></td>\n  </tr>\n";
            $content .= " </table>\n";
            $content .= "</form>\n";
            $content .= "<hr/>\n";
        }
        return $content;
    }
    public function enumCss()
    {
    }
    public function enumJs()
    {
    }
}
?>
<html>
<head>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<?php 
$controller = new APIController();
$controller->run();
?>
</head>
<body>
<?php 
echo $controller->render();
?>
</body>
</html>