예제 #1
0
 public function run()
 {
     if ($this->_isRequestMatching()) {
         $this->_controller = $this->_getControllerInstance();
         $this->_response->setBody($this->_callAction());
         $this->_response->send();
     }
 }
예제 #2
0
/**
 * Test HttpResponse.
 */
function test_HttpResponse()
{
    HttpResponse::setCache(true);
    HttpResponse::setContentType('application/pdf');
    HttpResponse::setContentDisposition("test.pdf", false);
    HttpResponse::setFile('sheet.pdf');
    HttpResponse::send();
}
예제 #3
0
파일: index.php 프로젝트: ben33/framework
$request->langue = $response->langue = $userLangue;
define('LANGUE', $request->langue->code);
define('BASE_URL_LANGUE', BASE_URL . $request->langue->code . '/');
ini_set('default_charset', CHARSET);
setlocale(LC_TIME, $request->langue->locale . '.' . mb_strtolower(CHARSET));
if (in_array('translations', $backoModules) && file_exists(ROOT . 'traductions.inc.php')) {
    Translator::init($request->langue->code, DEFAULT_LANG);
}
require_once APPLICATION_ROOT . 'UrlFactory.php';
UrlSingleton::init(new UrlFactory(), $request->langue);
if (in_array('admins', $allowedModules) && (empty($_SESSION['admin']) || !($admin = DBFactory::get('admins')->get($_SESSION['admin'])) instanceof Admin) && $request->url != UrlFactory::module('admins', 'login') && $request->url != UrlFactory::module('admins', 'init')) {
    Header::location(UrlFactory::module('admins', 'login'));
}
try {
    if (!file_exists($file = APPLICATION_MODULES . $request->module . DS . $request->controller . '.php')) {
        throw new Error404Exception($response);
    }
    require $file;
    $controller = new $request->controller($response);
    Logger::addPhpLog($request);
    if (!method_exists($controller, $request->method)) {
        throw new Error404Exception($response);
    }
    $controller->handleRequest($request);
} catch (Error404Exception $exception) {
    require APPLICATION_MODULES . 'errors' . DS . 'ErrorsController.php';
    $controller = new ErrorsController($response);
    $controller->get404();
}
$response->send($request);
 public function actionLongPoller()
 {
     $model = new LongPoller();
     //$request = http_get_request_body();
     $request = json_encode(array("deviceID" => "90:C1:15:BC:97:4F", "orderNo" => "1"));
     $model->decodeStatusRequest($request);
     $model->checkStatus();
     $responseMsg = $model->generateResponse();
     HttpResponse::status(200);
     HttpResponse::setContentType('application/json');
     HttpResponse::setData($responseMsg);
     HttpResponse::send();
 }
예제 #5
0
 /**
  * route 
  * 
  * @access public
  * @return void
  */
 public function route()
 {
     global $app;
     $controllerName = $this->_command->getControllerName();
     if (!$this->routeExists($controllerName)) {
         $controllerName = 'error';
     }
     include 'controllers/' . $controllerName . '.php';
     // Only log analytics data for non-login pages here
     if (strcasecmp($controllerName, 'login') !== 0) {
         if ($app->getConfiguration()->logAnalytics() == true) {
             $analyticsData = array();
             $analyticsData['time'] = time();
             $analyticsData['session'] = session_id();
             $analyticsData['page'] = $controllerName;
             $GLOBALS['routeLogger']->info(json_encode($analyticsData));
         }
     }
     $controllerClass = $controllerName . 'Controller';
     $controller = new $controllerClass($this->_command);
     //$controller->addPreProcessor();
     try {
         $params = $controller->getParams();
         $request = new HttpRequest($params);
         $request->parse();
         $controller->execute($request);
     } catch (MissingParamsException $mpe) {
         $response = new HttpResponse();
         $response->addHeader('HTTP/1.1 400 Bad Request');
         $response->send();
     } catch (ServiceException $sxe) {
         $response = new HttpResponse();
         $response->sendError($sxe->getMessage());
     } catch (ClientException $cxe) {
         $response = new HttpResponse();
         $response->sendError($cxe->getMessage(), $cxe->getCode());
     }
 }
예제 #6
0
    $serial = new phpSerial();
    $serial->deviceSet("/dev/ttyACM0");
    $serial->confBaudRate(9600);
    $serial->confParity("none");
    $serial->confCharacterLength(8);
    $serial->confStopBits(1);
    $serial->deviceOpen();
    // arduino requires a 2 second delay in order to receive the message
    sleep(2);
    // Si c'est une request hi on allumera la led
    $data = $_GET["hi"];
    $serial->sendMessage($data);
    $read[$cnt] = $serial->readPort();
    while (substr($read[$cnt], -1, 1) != "a") {
        $cnt++;
        $read[$cnt] = $serial->readPort();
    }
    for ($i = 1; $i < $cnt + 1; $i++) {
        $rcv = $rcv . $read[$i];
    }
    $rcv = rtrim($rcv, "a");
    // Si c'est une request temperature on renvoiera la température (voir index.php pour le retour de valeur)
    // afficher température sur le bobox
    // Si c'est une request heure on affiche l'heure sur le bobox (pas besoin sur téléphone
    // Variation de lumière -> quelqun dans la piece ! notification téléphone ? a voir...
    HttpResponse::setCache(true);
    HttpResponse::setContentType('text/plain');
    HttpResponse::setData($rcv);
    HttpResponse::send();
    $serial->deviceClose();
}