Example #1
0
 public function show404()
 {
     if (Request::isPost()) {
         $page = App::collection(self::PAGES_COLLECTION)->create(Input::get('page'));
         Request::redirect($page->slug);
     }
     $layouts = array();
     $layout_files = glob(Router::config('paths')['root'] . 'app/views/layouts/*');
     foreach ($layout_files as $layout_file) {
         $layout_ext = pathinfo($layout_file, PATHINFO_EXTENSION);
         $layout_name = basename($layout_file, '.' . $layout_ext);
         $words = preg_split('/_/', $layout_name);
         $layout_label = join(' ', array_map(function ($word) {
             return ucfirst($word);
         }, $words));
         $layouts[$layout_name] = $layout_label;
     }
     $this->render('cms/404', array('request_path' => Request::path(), 'layouts' => $layouts));
 }
Example #2
0
/**
 * shared_storage_dir
 *
 * @param mixed $relative
 * @param mixed $app_id
 */
function shared_storage_dir()
{
    $paths = Router::config('paths');
    return $paths['shared_storage'];
}
Example #3
0
    $connection = $capsule->connection();
    class_alias('\\Illuminate\\Database\\Eloquent\\Model', 'DLModel');
}
//
// Setup default date format
// Use a string representing an RFC2822 or ISO 8601 date
// http://tools.ietf.org/html/rfc2822#page-14
//
\Carbon\Carbon::setToStringFormat('Y-m-d\\TH:i:sP');
// Setup paginator
$connection->setPaginator(new Hook\Pagination\Environment());
// Setup Schema Grammar
// $connection->setSchemaGrammar();
// Setup cache manager
$connection->setCacheManager(function () {
    $cache_driver = Router::config('cache');
    if ($cache_driver == "filesystem") {
        $config = array('files' => new \Illuminate\Filesystem\Filesystem(), 'config' => array('cache.driver' => 'file', 'cache.path' => storage_dir() . '/cache'));
    } else {
        if ($cache_driver == "database") {
            $config = array('db' => \DLModel::getConnectionResolver(), 'encrypter' => Hook\Security\Encryption\Encrypter::getInstance(), 'config' => array('cache.driver' => 'database', 'cache.connection' => 'default', 'cache.table' => 'cache', 'cache.prefix' => ''));
        }
    }
    return new Illuminate\Cache\CacheManager($config);
});
//
// TODO: Create `hook migrate` command.
// --------------------------------------
//
//
// Try to create schema.
Example #4
0
<?php

use Hook\Http\Router;
$db_config = Router::config('database');
$container = new Illuminate\Container\Container();
$event_dispatcher = new Illuminate\Events\Dispatcher($container);
//
// Parse Database URI
// Example: mysql://username:password@hostname.com/database?options=1
//
if (isset($db_config['uri'])) {
    $parts = parse_url($db_config['uri']);
    if (isset($parts['query'])) {
        parse_str($parts['query'], $db_config);
    }
    $db_config['collation'] = 'utf8_general_ci';
    $db_config['charset'] = 'utf8';
    $db_config['driver'] = $parts['scheme'];
    $db_config['host'] = $parts['host'];
    if (isset($parts['user'])) {
        $db_config['username'] = $parts['user'];
    }
    if (isset($parts['pass'])) {
        $db_config['password'] = $parts['pass'];
    }
    if (isset($parts['path'])) {
        $db_config['database'] = substr($parts['path'], 1);
    }
}
// ------------------
// MongoDB connection