Example #1
0
 /**
  * Start routing
  */
 public static function run()
 {
     if (!is_file(ROUTER_CACHE_FILE)) {
         crash('The cache-route-file is not exists');
     }
     require_once ROUTER_CACHE_FILE;
     if (!function_exists('getRoute')) {
         crash('Route function "getRoute" does not exists');
     }
     $route = getRoute();
     if (Cache::e_array($route)) {
         crash('Route value is not correct in cache-route-file');
     }
     /**
      * Start finding
      */
     try {
         if (isset($route[URI])) {
             $data = $route[URI];
             throw new Exception();
         }
         $onlyRegexp = array_filter(array_keys($route), function ($element) {
             if (substr($element, 0, 1) === '~') {
                 return true;
             }
             return false;
         });
         foreach ($onlyRegexp as $pattern) {
             if (preg_match($pattern, URI, $match)) {
                 controllerManager::$matchUrl = $match;
                 $data = $route[$pattern];
                 throw new Exception();
             }
         }
     } catch (Exception $e) {
         require_once $controllerPath = WORK_SPACE_FOLDER_PATH . 'controllers' . DS . $data['controller'] . 'Controller.php';
         $render = new Render();
         $render->execute($data, $data['controller'], $controllerPath);
     }
     Render::generate404Error();
 }
Example #2
0
<html>
<head>
    <link href='https://fonts.googleapis.com/css?family=PT+Sans&subset=latin,cyrillic,cyrillic-ext' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" href="/public/css/bootstrap.min.css">
    <link rel="stylesheet" href="/public/css/style.css">
    <title><?php 
echo controllerManager::$title;
?>
</title><?php 
echo controllerManager::getResources();
?>
    <meta charset="utf-8">
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="/">Online store of goods</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
            <?php 
if (controllerManager::$isAuthorized) {
    ?>
                <button onclick="document.location.assign('/profile'); return false;" type="button" class="ua3 userActionButton btn btn-success">My profile</button>
                <button onclick="document.location.assign('/sign_out'); return false;" type="button" class="ua1 userActionButton btn btn-success">Sign out</button>
 /**
  * Init checking form
  * @param $fields
  * @return $this
  */
 protected function formInit($fields)
 {
     $initialValues = array_map(function ($element) {
         return ['message' => '', 'valid' => true, 'name' => $element];
     }, $fields);
     self::$formFieldsError = array_combine($fields, $initialValues);
     if (!empty($absence = array_diff($fields, array_keys($_POST)))) {
         array_walk($absence, function ($item) {
             $this->setFieldError($item, 'The field "' . ucfirst($item) . '" is required');
         }, $this);
     }
     $this->post = array_map(function ($element) {
         return trim($element);
     }, $_POST);
     return $this;
 }
Example #4
0
 /**
  * Set js & css given from controller properties
  */
 private function setResourcesFromControllerProperty()
 {
     if (isset($this->routingInfo['css'])) {
         if (is_array($this->routingInfo['css'])) {
             controllerManager::$css = array_merge(controllerManager::$css, $this->routingInfo['css']);
         } else {
             controllerManager::$css[] = $this->routingInfo['css'];
         }
     }
     if (isset($this->routingInfo['js'])) {
         if (is_array($this->routingInfo['js'])) {
             controllerManager::$js = array_merge(controllerManager::$js, $this->routingInfo['js']);
         } else {
             controllerManager::$js[] = $this->routingInfo['js'];
         }
     }
 }