Exemplo n.º 1
0
 protected function _createFromReflection($reflection)
 {
     $this->_name = pathinfo($reflection->getFileName(), PATHINFO_FILENAME);
     parent::_createFromReflection($reflection);
     foreach ($reflection->getMethods() as $method) {
         if ($method->getDeclaringClass()->getName() == $reflection->getName()) {
             $this->addMethod(ControllerMethod::create($this, $method));
         }
     }
     $layoutPath = \Path::instance()->evaluate(':' . $this->project()->name() . ".apps.layout.+{$this->name()}.@layout.php");
     //Application Layout
     $paramsPath = \Path::instance()->evaluate(':' . $this->project()->name() . ".apps.layout.+{$this->name()}.@params.php");
     //Application Params
     $viewPath = \Path::instance()->evaluate(':' . $this->project()->name() . ".apps.view.+{$this->name()}.@view.php");
     //Application View
     if (file_exists($layoutPath)) {
         $this->_layout = Layout::create($layoutPath);
     }
     if (file_exists($paramsPath)) {
         $this->_params = Params::create($paramsPath);
     }
     if (file_exists($viewPath)) {
         $this->_view = ControllerAppView::create($this);
     }
 }
Exemplo n.º 2
0
 private function _createFromReflection($projectName)
 {
     $this->_name = $projectName;
     $this->_dir = \Fstab::instance()->projectDirectory($projectName);
     $controllerBasePath = rtrim(\Path::instance()->evaluate(":{$this->_name}.apps.controller"), "/\\");
     foreach (glob($controllerBasePath . "/*.php") as $filePath) {
         $fileName = pathinfo($filePath, PATHINFO_FILENAME);
         $controllerClassName = $fileName . 'Controller';
         if (!class_exists($controllerClassName)) {
             require $filePath;
         }
         if (class_exists($controllerClassName)) {
             $reflection = new \ReflectionClass($controllerClassName);
             $this->_controllers[] = AppController::create($this, $reflection);
         }
     }
     $spiritBasePath = rtrim(\Path::instance()->evaluate(":{$this->_name}.spiritPath"), "/\\");
     foreach (glob($spiritBasePath . "/*", GLOB_ONLYDIR) as $dirName) {
         $spiritName = pathinfo($dirName, PATHINFO_FILENAME);
         $spiritFileName = rtrim($dirName, "/\\") . '/abstractor.php';
         $spiritAbstractorClassName = $spiritName . 'Abstractor';
         if (!class_exists($spiritAbstractorClassName) && file_exists($spiritFileName)) {
             require $spiritFileName;
         }
         if (class_exists($spiritAbstractorClassName)) {
             $reflection = new \ReflectionClass($spiritAbstractorClassName);
             $this->_spirits[] = SpiritController::create($this, $reflection);
         }
     }
     $commonViewPath = rtrim(\Path::instance()->evaluate(":{$this->_name}.common.@view.php"), "/\\");
     $commonLayoutPath = rtrim(\Path::instance()->evaluate(":{$this->_name}.common.layout.@layout.php"), "/\\");
     $commonParamsPath = rtrim(\Path::instance()->evaluate(":{$this->_name}.common.layout.@params.php"), "/\\");
     if (file_exists($commonViewPath)) {
         $this->_view = CommonView::create($commonViewPath);
     }
     if (file_exists($commonLayoutPath)) {
         $this->_layout = Layout::create($commonLayoutPath);
     }
     if (file_exists($commonParamsPath)) {
         $this->_params = Params::create($commonParamsPath);
     }
 }
Exemplo n.º 3
0
    } catch (Exception $e) {
        Input::flash();
        Notify::error($e->getMessage());
        return Response::redirect('account');
    }
    return Response::redirect('complete');
}));
/*
    Complete
*/
Route::get('complete', function () {
    // check we have a database
    if (!Session::get('install')) {
        Notify::error('Please select your language');
        return Response::redirect('start');
    }
    $settings = Session::get('install');
    $vars['site_uri'] = $settings['metadata']['site_path'];
    $vars['admin_uri'] = rtrim($settings['metadata']['site_path'], '/') . '/index.php/admin/login';
    $vars['htaccess'] = Session::get('htaccess');
    // scrub session now we are done
    Session::erase('install');
    file_put_contents(APP . 'install.lock', time());
    return Layout::create('complete', $vars);
});
/*
    404 catch all
*/
Route::any(':all', function () {
    return Response::error(404);
});
Exemplo n.º 4
0
*/
$GLOBALS['errors'] = array();
function check($message, $action)
{
    if (!$action()) {
        $GLOBALS['errors'][] = $message;
    }
}
check('<code>content</code> directory needs to be writable
	so we can upload your images and files.', function () {
    return is_writable(PATH . 'content');
});
check('<code>anchor/config</code> directory needs to be temporarily writable
	so we can create your application and database configuration files.', function () {
    return is_writable(PATH . 'anchor/config');
});
check('Anchor requires the php module <code>pdo_mysql</code> to be installed.', function () {
    return extension_loaded('PDO') and extension_loaded('pdo_mysql');
});
check('Anchor requires the php module <code>GD</code> to be installed.', function () {
    return extension_loaded('gd');
});
if (count($GLOBALS['errors'])) {
    $vars['errors'] = $GLOBALS['errors'];
    echo Layout::create('halt', $vars)->render();
    exit(0);
}
/**
 * Import defined routes
 */
require APP . 'routes' . EXT;