public function run() { // проверяем ридирект с ошибки $rdStatus = isset($_SERVER['REDIRECT_STATUS']) ? $_SERVER['REDIRECT_STATUS'] : 0; if (array_key_exists($rdStatus, $this->httpError)) { $this->makeError("[" . __CLASS__ . "] " . $this->httpError[$rdStatus]); } // проверяем авторизацию if (!Authorization::init()->isAuth()) { $this->makeError("[" . __CLASS__ . "] API доступно только авторизованным пользователям!"); } $action = $this->getParam($this->actionName); if (!array_key_exists($action, $this->api)) { $this->makeError("[" . __CLASS__ . "] не найдена комманда " . $action . '!'); } $metod = $this->api[$action]['metod']; $param = array(); switch ($action) { // дополнительная проверка \ обработка параметров для комманд case 'get': $filter = array(); foreach ($this->api[$action]['param'] as $val) { $paramElem = $this->getParam($val, false); if ($paramElem !== false) { $filter[$val] = $paramElem; } } $param[] = $filter; break; default: foreach ($this->api[$action]['param'] as $val) { $param[] = $this->getParam($val); } break; } // создаем экземпляр класса try { $obj = new UserModel(DB::GetDBH()); $userObject = call_user_func_array(array($obj, $metod), $param); } catch (Exception $e) { $this->makeError($e->getMessage()); } echo $this->outputFormated($userObject); return; }
<meta name="description" content="Форма для тестирования приложения"> <link rel="stylesheet" href="assets/css/styles.css?v=1.0"> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?> " id="api_form" method="post"> <?php if (!Authorization::init()->isAuth()) { ?> <label><span>Логин</span> <input type="text" value="test" name="authorization[login]"> </label> <label><span>Пароль</span> <input type="password" value="test" name="authorization[pass]"> </label> <label> <input type="submit" value="Вход"> </label> <?php } else { ?> <label class="radio action" for="gettable"> <input type="radio" name="action" id="gettable" value="gettable">Cтруктура таблицы и доступных к выборке полей</label>