Skip to content

Commit

Permalink
Fresh Kohana 3.2 with added modules, file structure and base files.
Browse files Browse the repository at this point in the history
  • Loading branch information
jmhobbs committed Apr 18, 2012
0 parents commit 8d64e6e
Show file tree
Hide file tree
Showing 795 changed files with 81,571 additions and 0 deletions.
Empty file added db/.gitignore
Empty file.
2 changes: 2 additions & 0 deletions www/.gitignore
@@ -0,0 +1,2 @@
.htaccess
asset/*
14 changes: 14 additions & 0 deletions www/LICENSE.md
@@ -0,0 +1,14 @@
# Kohana License Agreement

This license is a legal agreement between you and the Kohana Team for the use of Kohana Framework (the "Software"). By obtaining the Software you agree to comply with the terms and conditions of this license.

Copyright (c) 2007-2010 Kohana Team
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the Kohana nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
114 changes: 114 additions & 0 deletions www/application/bootstrap.php
@@ -0,0 +1,114 @@
<?php defined('SYSPATH') or die('No direct script access.');

// -- Environment setup --------------------------------------------------------

// Load the core Kohana class
require SYSPATH.'classes/kohana/core'.EXT;

if (is_file(APPPATH.'classes/kohana'.EXT))
{
// Application extends the core
require APPPATH.'classes/kohana'.EXT;
}
else
{
// Load empty core extension
require SYSPATH.'classes/kohana'.EXT;
}

if( ! file_exists( CFGPATH.'application'.EXT ) ) {
die( '<h1>No Application Configuration File Found</h1><p>CFGPATH/application'.EXT.'</p>' );
}
$_app_config = require_once( CFGPATH.'application'.EXT );

/**
* Set the default time zone.
*
* @see http://kohanaframework.org/guide/using.configuration
* @see http://php.net/timezones
*/
date_default_timezone_set($_app_config['default_timezone']);

/**
* Set the default locale.
*
* @see http://kohanaframework.org/guide/using.configuration
* @see http://php.net/setlocale
*/
setlocale(LC_ALL, $_app_config['default_locale']);

/**
* Enable the Kohana auto-loader.
*
* @see http://kohanaframework.org/guide/using.autoloading
* @see http://php.net/spl_autoload_register
*/
spl_autoload_register(array('Kohana', 'auto_load'));

/**
* Enable the Kohana auto-loader for unserialization.
*
* @see http://php.net/spl_autoload_call
* @see http://php.net/manual/var.configuration.php#unserialize-callback-func
*/
ini_set('unserialize_callback_func', 'spl_autoload_call');

// -- Configuration and initialization -----------------------------------------

/**
* Set the default language
*/
I18n::lang($_app_config['default_language']);

/**
* Set Kohana::$environment if a 'KOHANA_ENV' environment variable has been supplied.
*
* Note: If you supply an invalid environment name, a PHP warning will be thrown
* saying "Couldn't find constant Kohana::<INVALID_ENV_NAME>"
*/
if (isset($_SERVER['KOHANA_ENV']))
{
Kohana::$environment = constant('Kohana::'.strtoupper($_SERVER['KOHANA_ENV']));
}
elseif (isset($_app_config['environment']))
{
Kohana::$environment = constant('Kohana::'.strtoupper($_app_config['environment']));
}

/**
* Initialize Kohana, setting the default options.
*
* The following options are available:
*
* - string base_url path, and optionally domain, of your application NULL
* - string index_file name of your index file, usually "index.php" index.php
* - string charset internal character set used for input and output utf-8
* - string cache_dir set the internal cache directory APPPATH/cache
* - boolean errors enable or disable error handling TRUE
* - boolean profile enable or disable internal profiling TRUE
* - boolean caching enable or disable internal caching FALSE
*/
Kohana::init(array(
'base_url' => $_app_config['base_url'],
'index_file' => $_app_config['index_file'],
'charset' => $_app_config['charset'],
'cache_dir' => $_app_config['cache_dir'],
'errors' => $_app_config['errors'],
'profile' => $_app_config['profile'],
'caching' => $_app_config['caching'],
));

/**
* Attach the file write to logging. Multiple writers are supported.
*/
Kohana::$log->attach(new Log_File(APPPATH.'logs'));

/**
* Attach a file reader to config. Multiple readers are supported.
*/
Kohana::$config->attach(new Config_File);

require_once( CFGPATH.'modules'.EXT );
require_once( CFGPATH.'routes'.EXT );


57 changes: 57 additions & 0 deletions www/application/classes/controller/application.php
@@ -0,0 +1,57 @@
<?php

abstract class Controller_Application extends Controller_Template {

public $template = 'template';
public $content = null;
public $script = null;

public $title = null;

protected $session = null;

public function before () {
parent::before();

// Bind our views and variables
$this->template->bind( 'content', $this->content );
$this->template->bind( 'script', $this->script );
$this->template->bind( 'title', $this->title );

// Attempt to auto-load a view for this page
try {
$this->content = view::factory( implode(
'/',
array_filter( array(
$this->request->directory(),
$this->request->controller(),
$this->request->action()
) )
) );
}
catch( View_Exception $e ) { $this->content = null; }
}

public function after () {

if( is_null( $this->script ) ) {
// Attempt to auto-load a script view for this page
try {
$this->script = view::factory( implode(
'/',
array_filter( array(
'script',
$this->request->directory(),
$this->request->controller(),
$this->request->action()
) )
) );
}
catch( View_Exception $e ) { $this->script = null; }
}

parent::after();
}

}

6 changes: 6 additions & 0 deletions www/application/classes/controller/content.php
@@ -0,0 +1,6 @@
<?php

class Controller_Content extends Controller_Application {
public function action_index () {}
}

1 change: 1 addition & 0 deletions www/application/config/.gitignore
@@ -0,0 +1 @@
*.php
Empty file.
Empty file.
Empty file.
Empty file.
11 changes: 11 additions & 0 deletions www/application/views/template.php
@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title><?php echo html::chars( $title ); ?></title>
</head>
<body>
<?php echo $content; ?>
<?php echo $script; ?>
</body>
</html>
1 change: 1 addition & 0 deletions www/config/.gitignore
@@ -0,0 +1 @@
application.php
20 changes: 20 additions & 0 deletions www/config/modules.php
@@ -0,0 +1,20 @@
<?php defined('SYSPATH') or die('No direct script access.');

/**
* Enable modules. Modules are referenced by a relative or absolute path.
*/
Kohana::modules(array(
// 'auth' => MODPATH.'auth', // Basic authentication
// 'cache' => MODPATH.'cache', // Caching with multiple backends
// 'codebench' => MODPATH.'codebench', // Benchmarking tool
// 'database' => MODPATH.'database', // Database access
// 'eorm' => MODPATH.'eorm', // Enhanced ORM
// 'image' => MODPATH.'image', // Image manipulation
// 'mailer' => MODPATH.'mailer', // Plugin backed, view based Mail API
// 'mailer_log' => MODPATH.'mailer_log', // Log plugin for mailer
// 'message' => MODPATH.'message', // Flash Messages
// 'orm' => MODPATH.'orm', // Object Relationship Mapping
// 'simpleauth' => MODPATH.'simpleauth', // Helper Classes for Auth Applications
// 'unittest' => MODPATH.'unittest', // Unit testing
// 'userguide' => MODPATH.'userguide', // User guide and API documentation
));
14 changes: 14 additions & 0 deletions www/config/routes.php
@@ -0,0 +1,14 @@
<?php defined('SYSPATH') or die('No direct script access.');

Route::set('error', '(<directory>/)error/<action>(/<message>)', array('action' => '[0-9]++', 'message' => '.+'))
->defaults(array(
'controller' => 'error',
'directory' => '',
));

Route::set( 'default', '(<controller>(/<action>(/<id>)))' )
->defaults(array(
'controller' => 'content',
'action' => 'index',
));

21 changes: 21 additions & 0 deletions www/htdocs/example.htaccess
@@ -0,0 +1,21 @@
# Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /

# Protect hidden files from being viewed
<Files .*>
Order Deny,Allow
Deny From All
</Files>

# Protect application and system files from being viewed
RewriteRule ^(?:application|database|config|modules|system)\b.* index.php/$0 [L]

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]
114 changes: 114 additions & 0 deletions www/htdocs/index.php
@@ -0,0 +1,114 @@
<?php

/**
* The directory in which your application specific resources are located.
* The application directory must contain the bootstrap.php file.
*
* @see http://kohanaframework.org/guide/about.install#application
*/
$application = '../application';

/**
* The directory in which your modules are located.
*
* @see http://kohanaframework.org/guide/about.install#modules
*/
$modules = '../modules';

/**
* The directory in which the Kohana resources are located. The system
* directory must contain the classes/kohana.php file.
*
* @see http://kohanaframework.org/guide/about.install#system
*/
$system = '../system';

$config = '../config';

/**
* The default extension of resource files. If you change this, all resources
* must be renamed to use the new extension.
*
* @see http://kohanaframework.org/guide/about.install#ext
*/
define('EXT', '.php');

/**
* Set the PHP error reporting level. If you set this in php.ini, you remove this.
* @see http://php.net/error_reporting
*
* When developing your application, it is highly recommended to enable notices
* and strict warnings. Enable them by using: E_ALL | E_STRICT
*
* In a production environment, it is safe to ignore notices and strict warnings.
* Disable them by using: E_ALL ^ E_NOTICE
*
* When using a legacy application with PHP >= 5.3, it is recommended to disable
* deprecated notices. Disable with: E_ALL & ~E_DEPRECATED
*/
error_reporting(E_ALL | E_STRICT);

/**
* End of standard configuration! Changing any of the code below should only be
* attempted by those with a working knowledge of Kohana internals.
*
* @see http://kohanaframework.org/guide/using.configuration
*/

// Set the full path to the docroot
define('DOCROOT', realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR);

// Make the application relative to the docroot, for symlink'd index.php
if ( ! is_dir($application) AND is_dir(DOCROOT.$application))
$application = DOCROOT.$application;

// Make the modules relative to the docroot, for symlink'd index.php
if ( ! is_dir($modules) AND is_dir(DOCROOT.$modules))
$modules = DOCROOT.$modules;

// Make the system relative to the docroot, for symlink'd index.php
if ( ! is_dir($system) AND is_dir(DOCROOT.$system))
$system = DOCROOT.$system;

// Define the absolute paths for configured directories
define('APPPATH', realpath($application).DIRECTORY_SEPARATOR);
define('MODPATH', realpath($modules).DIRECTORY_SEPARATOR);
define('SYSPATH', realpath($system).DIRECTORY_SEPARATOR);
define('CFGPATH', realpath($config).DIRECTORY_SEPARATOR);

// Clean up the configuration vars
unset($application, $modules, $system);

if (file_exists('install'.EXT))
{
// Load the installation check
return include 'install'.EXT;
}

/**
* Define the start time of the application, used for profiling.
*/
if ( ! defined('KOHANA_START_TIME'))
{
define('KOHANA_START_TIME', microtime(TRUE));
}

/**
* Define the memory usage at the start of the application, used for profiling.
*/
if ( ! defined('KOHANA_START_MEMORY'))
{
define('KOHANA_START_MEMORY', memory_get_usage());
}

// Bootstrap the application
require APPPATH.'bootstrap'.EXT;

/**
* Execute the main request. A source of the URI can be passed, eg: $_SERVER['PATH_INFO'].
* If no source is specified, the URI will be automatically detected.
*/
echo Request::factory()
->execute()
->send_headers()
->body();

0 comments on commit 8d64e6e

Please sign in to comment.