コード例 #1
0
ファイル: utilities.php プロジェクト: peyman-abdi/jsonui
 public static function glob_recursive($pattern, $flags = 0)
 {
     $files = glob($pattern, $flags);
     foreach (glob(dirname($pattern) . '/*', GLOB_ONLYDIR | GLOB_NOSORT) as $dir) {
         $files = array_merge($files, utilities::glob_recursive($dir . '/' . basename($pattern), $flags));
     }
     return $files;
 }
コード例 #2
0
ファイル: index.php プロジェクト: peyman-abdi/jsonui
<?php

require __DIR__ . '/../vendor/autoload.php';
set_error_handler(function ($error) {
    echo $error;
});
use Klein\Klein;
$app = new Klein();
$modules = array();
$module_root = __DIR__ . '/modules/';
$module_files = utilities::glob_recursive($module_root . "*.php", GLOB_NOSORT);
foreach ($module_files as $mfile) {
    $modules[] = (include $mfile);
}
foreach ($modules as $mj) {
    if (utilities::module_valid($mj)) {
        $app->respond($mj['methods'], $mj['route'], function (\Klein\Request $request, \Klein\Response $response) use($mj) {
            /* TODO: check callback access */
            $answer = $mj['callback']($mj, $request, $response);
            if ($mj['response_type'] === "object") {
                $response_json = array("result" => array("code" => $answer['code'], "object" => $answer['object']), "data" => $answer['data']);
                return $response->json($response_json);
            } else {
                if ($mj['response_type'] === "array") {
                    $response_json = array("result" => array("code" => $answer['code'], "object" => $answer['object']), "pagination" => array("window" => $answer['window'], "current" => $answer['current'], "next" => $answer['next'], "total" => $answer['total'], "pages" => $answer['pages']), "data" => $answer['data']);
                    return $response->json($response_json);
                } else {
                    if ($mj['response_type'] == "file") {
                    }
                }
            }
コード例 #3
0
 public function load_modules()
 {
     $modules = array();
     $module_files = utilities::glob_recursive($this->root . "*.php", GLOB_NOSORT);
     foreach ($module_files as $mfile) {
         if (utilities::module_path_valid($mfile)) {
             try {
                 $modules[] = (include $mfile);
             } catch (Exception $ex) {
             }
         } else {
         }
     }
     $valid_modules = array();
     $invalid_modules = array();
     foreach ($modules as $m) {
         if (utilities::module_valid($m)) {
             $valid_modules[] = $m;
         } else {
             $invalid_modules[] = $m;
         }
     }
     $this->modules = $valid_modules;
     $this->invalid_modules = $invalid_modules;
     return $this->modules;
 }