diff options
Diffstat (limited to 'poc/poc02-compiling-cake')
80 files changed, 3130 insertions, 0 deletions
diff --git a/poc/poc02-compiling-cake/src/workdir/in/.htaccess b/poc/poc02-compiling-cake/src/workdir/in/.htaccess new file mode 100644 index 0000000..f23dbaf --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/.htaccess @@ -0,0 +1,5 @@ +<IfModule mod_rewrite.c> + RewriteEngine on + RewriteRule ^$ app/webroot/ [L] + RewriteRule (.*) app/webroot/$1 [L] +</IfModule>
\ No newline at end of file diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/.htaccess b/poc/poc02-compiling-cake/src/workdir/in/app/.htaccess new file mode 100644 index 0000000..fc3aac4 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/.htaccess @@ -0,0 +1,5 @@ +<IfModule mod_rewrite.c> + RewriteEngine on + RewriteRule ^$ webroot/ [L] + RewriteRule (.*) webroot/$1 [L] +</IfModule>
\ No newline at end of file diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/db_acl.php b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/db_acl.php new file mode 100644 index 0000000..149ded0 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/db_acl.php @@ -0,0 +1,72 @@ +<?php +/** + * This is Acl Schema file + * + * Use it to configure database for ACL + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Config.Schema + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +/* + * + * Using the Schema command line utility + * cake schema run create DbAcl + * + */ +class DbAclSchema extends CakeSchema { + + public $name = 'DbAcl'; + + public function before($event = array()) { + return true; + } + + public function after($event = array()) { + } + + public $acos = array( + 'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => 10, 'key' => 'primary'), + 'parent_id' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10), + 'model' => array('type' => 'string', 'null' => true), + 'foreign_key' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10), + 'alias' => array('type' => 'string', 'null' => true), + 'lft' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10), + 'rght' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10), + 'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1)) + ); + + public $aros = array( + 'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => 10, 'key' => 'primary'), + 'parent_id' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10), + 'model' => array('type' => 'string', 'null' => true), + 'foreign_key' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10), + 'alias' => array('type' => 'string', 'null' => true), + 'lft' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10), + 'rght' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10), + 'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1)) + ); + + public $aros_acos = array( + 'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => 10, 'key' => 'primary'), + 'aro_id' => array('type' => 'integer', 'null' => false, 'length' => 10, 'key' => 'index'), + 'aco_id' => array('type' => 'integer', 'null' => false, 'length' => 10), + '_create' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2), + '_read' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2), + '_update' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2), + '_delete' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2), + 'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1), 'ARO_ACO_KEY' => array('column' => array('aro_id', 'aco_id'), 'unique' => 1)) + ); + +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/db_acl.sql b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/db_acl.sql new file mode 100644 index 0000000..f50f392 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/db_acl.sql @@ -0,0 +1,40 @@ +# $Id$ +# +# Copyright 2005-2012, Cake Software Foundation, Inc. +# +# Licensed under The MIT License +# Redistributions of files must retain the above copyright notice. +# MIT License (http://www.opensource.org/licenses/mit-license.php) + +CREATE TABLE acos ( + id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT, + parent_id INTEGER(10) DEFAULT NULL, + model VARCHAR(255) DEFAULT '', + foreign_key INTEGER(10) UNSIGNED DEFAULT NULL, + alias VARCHAR(255) DEFAULT '', + lft INTEGER(10) DEFAULT NULL, + rght INTEGER(10) DEFAULT NULL, + PRIMARY KEY (id) +); + +CREATE TABLE aros_acos ( + id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT, + aro_id INTEGER(10) UNSIGNED NOT NULL, + aco_id INTEGER(10) UNSIGNED NOT NULL, + _create CHAR(2) NOT NULL DEFAULT 0, + _read CHAR(2) NOT NULL DEFAULT 0, + _update CHAR(2) NOT NULL DEFAULT 0, + _delete CHAR(2) NOT NULL DEFAULT 0, + PRIMARY KEY(id) +); + +CREATE TABLE aros ( + id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT, + parent_id INTEGER(10) DEFAULT NULL, + model VARCHAR(255) DEFAULT '', + foreign_key INTEGER(10) UNSIGNED DEFAULT NULL, + alias VARCHAR(255) DEFAULT '', + lft INTEGER(10) DEFAULT NULL, + rght INTEGER(10) DEFAULT NULL, + PRIMARY KEY (id) +);
\ No newline at end of file diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/i18n.php b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/i18n.php new file mode 100644 index 0000000..8de0052 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/i18n.php @@ -0,0 +1,49 @@ +<?php +/** + * This is i18n Schema file + * + * Use it to configure database for i18n + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Config.Schema + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +/* + * + * Using the Schema command line utility + * cake schema run create i18n + * + */ +class i18nSchema extends CakeSchema { + + public $name = 'i18n'; + + public function before($event = array()) { + return true; + } + + public function after($event = array()) { + } + + public $i18n = array( + 'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => 10, 'key' => 'primary'), + 'locale' => array('type' => 'string', 'null' => false, 'length' => 6, 'key' => 'index'), + 'model' => array('type' => 'string', 'null' => false, 'key' => 'index'), + 'foreign_key' => array('type' => 'integer', 'null' => false, 'length' => 10, 'key' => 'index'), + 'field' => array('type' => 'string', 'null' => false, 'key' => 'index'), + 'content' => array('type' => 'text', 'null' => true, 'default' => null), + 'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1), 'locale' => array('column' => 'locale', 'unique' => 0), 'model' => array('column' => 'model', 'unique' => 0), 'row_id' => array('column' => 'foreign_key', 'unique' => 0), 'field' => array('column' => 'field', 'unique' => 0)) + ); + +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/i18n.sql b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/i18n.sql new file mode 100644 index 0000000..239e146 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/i18n.sql @@ -0,0 +1,26 @@ +# $Id$ +# +# Copyright 2005-2012, Cake Software Foundation, Inc. +# +# Licensed under The MIT License +# Redistributions of files must retain the above copyright notice. +# MIT License (http://www.opensource.org/licenses/mit-license.php) + +CREATE TABLE i18n ( + id int(10) NOT NULL auto_increment, + locale varchar(6) NOT NULL, + model varchar(255) NOT NULL, + foreign_key int(10) NOT NULL, + field varchar(255) NOT NULL, + content mediumtext, + PRIMARY KEY (id), +# UNIQUE INDEX I18N_LOCALE_FIELD(locale, model, foreign_key, field), +# INDEX I18N_LOCALE_ROW(locale, model, foreign_key), +# INDEX I18N_LOCALE_MODEL(locale, model), +# INDEX I18N_FIELD(model, foreign_key, field), +# INDEX I18N_ROW(model, foreign_key), + INDEX locale (locale), + INDEX model (model), + INDEX row_id (foreign_key), + INDEX field (field) +);
\ No newline at end of file diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/sessions.php b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/sessions.php new file mode 100644 index 0000000..e98ca06 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/sessions.php @@ -0,0 +1,46 @@ +<?php +/** + * This is Sessions Schema file + * + * Use it to configure database for Sessions + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Config.Schema + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +/* + * + * Using the Schema command line utility + * cake schema run create Sessions + * + */ +class SessionsSchema extends CakeSchema { + + public $name = 'Sessions'; + + public function before($event = array()) { + return true; + } + + public function after($event = array()) { + } + + public $cake_sessions = array( + 'id' => array('type' => 'string', 'null' => false, 'key' => 'primary'), + 'data' => array('type' => 'text', 'null' => true, 'default' => null), + 'expires' => array('type' => 'integer', 'null' => true, 'default' => null), + 'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1)) + ); + +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/sessions.sql b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/sessions.sql new file mode 100644 index 0000000..b8951b6 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/Schema/sessions.sql @@ -0,0 +1,16 @@ +# $Id$ +# +# Copyright 2005-2012, Cake Software Foundation, Inc. +# 1785 E. Sahara Avenue, Suite 490-204 +# Las Vegas, Nevada 89104 +# +# Licensed under The MIT License +# Redistributions of files must retain the above copyright notice. +# MIT License (http://www.opensource.org/licenses/mit-license.php) + +CREATE TABLE cake_sessions ( + id varchar(255) NOT NULL default '', + data text, + expires int(11) default NULL, + PRIMARY KEY (id) +);
\ No newline at end of file diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/acl.ini.php b/poc/poc02-compiling-cake/src/workdir/in/app/Config/acl.ini.php new file mode 100644 index 0000000..11ce65b --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/acl.ini.php @@ -0,0 +1,68 @@ +;<?php exit() ?> +;/** +; * ACL Configuration +; * +; * +; * PHP 5 +; * +; * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) +; * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) +; * +; * Licensed under The MIT License +; * Redistributions of files must retain the above copyright notice. +; * +; * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) +; * @link http://cakephp.org CakePHP(tm) Project +; * @package app.Config +; * @since CakePHP(tm) v 0.10.0.1076 +; * @license MIT License (http://www.opensource.org/licenses/mit-license.php) +; */ + +; acl.ini.php - Cake ACL Configuration +; --------------------------------------------------------------------- +; Use this file to specify user permissions. +; aco = access control object (something in your application) +; aro = access request object (something requesting access) +; +; User records are added as follows: +; +; [uid] +; groups = group1, group2, group3 +; allow = aco1, aco2, aco3 +; deny = aco4, aco5, aco6 +; +; Group records are added in a similar manner: +; +; [gid] +; allow = aco1, aco2, aco3 +; deny = aco4, aco5, aco6 +; +; The allow, deny, and groups sections are all optional. +; NOTE: groups names *cannot* ever be the same as usernames! +; +; ACL permissions are checked in the following order: +; 1. Check for user denies (and DENY if specified) +; 2. Check for user allows (and ALLOW if specified) +; 3. Gather user's groups +; 4. Check group denies (and DENY if specified) +; 5. Check group allows (and ALLOW if specified) +; 6. If no aro, aco, or group information is found, DENY +; +; --------------------------------------------------------------------- + +;------------------------------------- +;Users +;------------------------------------- + +[username-goes-here] +groups = group1, group2 +deny = aco1, aco2 +allow = aco3, aco4 + +;------------------------------------- +;Groups +;------------------------------------- + +[groupname-goes-here] +deny = aco5, aco6 +allow = aco7, aco8 diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/acl.php b/poc/poc02-compiling-cake/src/workdir/in/app/Config/acl.php new file mode 100644 index 0000000..21f8dda --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/acl.php @@ -0,0 +1,134 @@ +<?php +/** + * This is the PHP base ACL configuration file. + * + * Use it to configure access control of your Cake application. + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Config + * @since CakePHP(tm) v 2.1 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +/** + * Example + * ------- + * + * Assumptions: + * + * 1. In your application you created a User model with the following properties: + * username, group_id, password, email, firstname, lastname and so on. + * 2. You configured AuthComponent to authorize actions via + * $this->Auth->authorize = array('Actions' => array('actionPath' => 'controllers/'),...) + * + * Now, when a user (i.e. jeff) authenticates successfully and requests a controller action (i.e. /invoices/delete) + * that is not allowed by default (e.g. via $this->Auth->allow('edit') in the Invoices controller) then AuthComponent + * will ask the configured ACL interface if access is granted. Under the assumptions 1. and 2. this will be + * done via a call to Acl->check() with + * + * array('User' => array('username' => 'jeff', 'group_id' => 4, ...)) + * + * as ARO and + * + * '/controllers/invoices/delete' + * + * as ACO. + * + * If the configured map looks like + * + * $config['map'] = array( + * 'User' => 'User/username', + * 'Role' => 'User/group_id', + * ); + * + * then PhpAcl will lookup if we defined a role like User/jeff. If that role is not found, PhpAcl will try to + * find a definition for Role/4. If the definition isn't found then a default role (Role/default) will be used to + * check rules for the given ACO. The search can be expanded by defining aliases in the alias configuration. + * E.g. if you want to use a more readable name than Role/4 in your definitions you can define an alias like + * + * $config['alias'] = array( + * 'Role/4' => 'Role/editor', + * ); + * + * In the roles configuration you can define roles on the lhs and inherited roles on the rhs: + * + * $config['roles'] = array( + * 'Role/admin' => null, + * 'Role/accountant' => null, + * 'Role/editor' => null, + * 'Role/manager' => 'Role/editor, Role/accountant', + * 'User/jeff' => 'Role/manager', + * ); + * + * In this example manager inherits all rules from editor and accountant. Role/admin doesn't inherit from any role. + * Lets define some rules: + * + * $config['rules'] = array( + * 'allow' => array( + * '*' => 'Role/admin', + * 'controllers/users/(dashboard|profile)' => 'Role/default', + * 'controllers/invoices/*' => 'Role/accountant', + * 'controllers/articles/*' => 'Role/editor', + * 'controllers/users/*' => 'Role/manager', + * 'controllers/invoices/delete' => 'Role/manager', + * ), + * 'deny' => array( + * 'controllers/invoices/delete' => 'Role/accountant, User/jeff', + * 'controllers/articles/(delete|publish)' => 'Role/editor', + * ), + * ); + * + * Ok, so as jeff inherits from Role/manager he's matched every rule that references User/jeff, Role/manager, + * Role/editor, Role/accountant and Role/default. However, for jeff, rules for User/jeff are more specific than + * rules for Role/manager, rules for Role/manager are more specific than rules for Role/editor and so on. + * This is important when allow and deny rules match for a role. E.g. Role/accountant is allowed + * controllers/invoices/* but at the same time controllers/invoices/delete is denied. But there is a more + * specific rule defined for Role/manager which is allowed controllers/invoices/delete. However, the most specific + * rule denies access to the delete action explicitly for User/jeff, so he'll be denied access to the resource. + * + * If we would remove the role definition for User/jeff, then jeff would be granted access as he would be resolved + * to Role/manager and Role/manager has an allow rule. + */ + +/** + * The role map defines how to resolve the user record from your application + * to the roles you defined in the roles configuration. + */ +$config['map'] = array( + 'User' => 'User/username', + 'Role' => 'User/group_id', +); + +/** + * define aliases to map your model information to + * the roles defined in your role configuration. + */ +$config['alias'] = array( + 'Role/4' => 'Role/editor', +); + +/** + * role configuration + */ +$config['roles'] = array( + 'Role/admin' => null, +); + +/** + * rule configuration + */ +$config['rules'] = array( + 'allow' => array( + '*' => 'Role/admin', + ), + 'deny' => array(), +); diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/bootstrap.php b/poc/poc02-compiling-cake/src/workdir/in/app/Config/bootstrap.php new file mode 100644 index 0000000..bcc50f6 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/bootstrap.php @@ -0,0 +1,181 @@ +<?php +/** + * This file is loaded automatically by the app/webroot/index.php file after core.php + * + * This file should load/create any application wide configuration settings, such as + * Caching, Logging, loading additional configuration files. + * + * You should also use this file to include any files that provide global functions/constants + * that your application uses. + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Config + * @since CakePHP(tm) v 0.10.8.2117 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +/** + * Cache Engine Configuration + * Default settings provided below + * + * File storage engine. + * + * Cache::config('default', array( + * 'engine' => 'File', //[required] + * 'duration'=> 3600, //[optional] + * 'probability'=> 100, //[optional] + * 'path' => CACHE, //[optional] use system tmp directory - remember to use absolute path + * 'prefix' => 'cake_', //[optional] prefix every cache file with this string + * 'lock' => false, //[optional] use file locking + * 'serialize' => true, // [optional] + * 'mask' => 0666, // [optional] permission mask to use when creating cache files + * )); + * + * APC (http://pecl.php.net/package/APC) + * + * Cache::config('default', array( + * 'engine' => 'Apc', //[required] + * 'duration'=> 3600, //[optional] + * 'probability'=> 100, //[optional] + * 'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string + * )); + * + * Xcache (http://xcache.lighttpd.net/) + * + * Cache::config('default', array( + * 'engine' => 'Xcache', //[required] + * 'duration'=> 3600, //[optional] + * 'probability'=> 100, //[optional] + * 'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string + * 'user' => 'user', //user from xcache.admin.user settings + * 'password' => 'password', //plaintext password (xcache.admin.pass) + * )); + * + * Memcache (http://memcached.org/) + * + * Cache::config('default', array( + * 'engine' => 'Memcache', //[required] + * 'duration'=> 3600, //[optional] + * 'probability'=> 100, //[optional] + * 'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string + * 'servers' => array( + * '127.0.0.1:11211' // localhost, default port 11211 + * ), //[optional] + * 'persistent' => true, // [optional] set this to false for non-persistent connections + * 'compress' => false, // [optional] compress data in Memcache (slower, but uses less memory) + * )); + * + * Wincache (http://php.net/wincache) + * + * Cache::config('default', array( + * 'engine' => 'Wincache', //[required] + * 'duration'=> 3600, //[optional] + * 'probability'=> 100, //[optional] + * 'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string + * )); + * + * Redis (http://http://redis.io/) + * + * Cache::config('default', array( + * 'engine' => 'Redis', //[required] + * 'duration'=> 3600, //[optional] + * 'probability'=> 100, //[optional] + * 'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string + * 'server' => '127.0.0.1' // localhost + * 'port' => 6379 // default port 6379 + * 'timeout' => 0 // timeout in seconds, 0 = unlimited + * 'persistent' => true, // [optional] set this to false for non-persistent connections + * )); + */ +Cache::config('default', array('engine' => 'File')); + +/** + * The settings below can be used to set additional paths to models, views and controllers. + * + * App::build(array( + * 'Model' => array('/path/to/models', '/next/path/to/models'), + * 'Model/Behavior' => array('/path/to/behaviors', '/next/path/to/behaviors'), + * 'Model/Datasource' => array('/path/to/datasources', '/next/path/to/datasources'), + * 'Model/Datasource/Database' => array('/path/to/databases', '/next/path/to/database'), + * 'Model/Datasource/Session' => array('/path/to/sessions', '/next/path/to/sessions'), + * 'Controller' => array('/path/to/controllers', '/next/path/to/controllers'), + * 'Controller/Component' => array('/path/to/components', '/next/path/to/components'), + * 'Controller/Component/Auth' => array('/path/to/auths', '/next/path/to/auths'), + * 'Controller/Component/Acl' => array('/path/to/acls', '/next/path/to/acls'), + * 'View' => array('/path/to/views', '/next/path/to/views'), + * 'View/Helper' => array('/path/to/helpers', '/next/path/to/helpers'), + * 'Console' => array('/path/to/consoles', '/next/path/to/consoles'), + * 'Console/Command' => array('/path/to/commands', '/next/path/to/commands'), + * 'Console/Command/Task' => array('/path/to/tasks', '/next/path/to/tasks'), + * 'Lib' => array('/path/to/libs', '/next/path/to/libs'), + * 'Locale' => array('/path/to/locales', '/next/path/to/locales'), + * 'Vendor' => array('/path/to/vendors', '/next/path/to/vendors'), + * 'Plugin' => array('/path/to/plugins', '/next/path/to/plugins'), + * )); + * + */ + +/** + * Custom Inflector rules, can be set to correctly pluralize or singularize table, model, controller names or whatever other + * string is passed to the inflection functions + * + * Inflector::rules('singular', array('rules' => array(), 'irregular' => array(), 'uninflected' => array())); + * Inflector::rules('plural', array('rules' => array(), 'irregular' => array(), 'uninflected' => array())); + * + */ + +/** + * Plugins need to be loaded manually, you can either load them one by one or all of them in a single call + * Uncomment one of the lines below, as you need. make sure you read the documentation on CakePlugin to use more + * advanced ways of loading plugins + * + * CakePlugin::loadAll(); // Loads all plugins at once + * CakePlugin::load('DebugKit'); //Loads a single plugin named DebugKit + * + */ + + +/** + * You can attach event listeners to the request lifecyle as Dispatcher Filter . By Default CakePHP bundles two filters: + * + * - AssetDispatcher filter will serve your asset files (css, images, js, etc) from your themes and plugins + * - CacheDispatcher filter will read the Cache.check configure variable and try to serve cached content generated from controllers + * + * Feel free to remove or add filters as you see fit for your application. A few examples: + * + * Configure::write('Dispatcher.filters', array( + * 'MyCacheFilter', // will use MyCacheFilter class from the Routing/Filter package in your app. + * 'MyPlugin.MyFilter', // will use MyFilter class from the Routing/Filter package in MyPlugin plugin. + * array('callable' => $aFunction, 'on' => 'before', 'priority' => 9), // A valid PHP callback type to be called on beforeDispatch + * array('callable' => $anotherMethod, 'on' => 'after'), // A valid PHP callback type to be called on afterDispatch + * + * )); + */ +Configure::write('Dispatcher.filters', array( + 'AssetDispatcher', + 'CacheDispatcher' +)); + +/** + * Configures default file logging options + */ +App::uses('CakeLog', 'Log'); +CakeLog::config('debug', array( + 'engine' => 'FileLog', + 'types' => array('notice', 'info', 'debug'), + 'file' => 'debug', +)); +CakeLog::config('error', array( + 'engine' => 'FileLog', + 'types' => array('warning', 'error', 'critical', 'alert', 'emergency'), + 'file' => 'error', +)); diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/core.php b/poc/poc02-compiling-cake/src/workdir/in/app/Config/core.php new file mode 100644 index 0000000..97163e9 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/core.php @@ -0,0 +1,278 @@ +<?php +/** + * This is core configuration file. + * + * Use it to configure core behavior of Cake. + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Config + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +/** + * CakePHP Debug Level: + * + * Production Mode: + * 0: No error messages, errors, or warnings shown. Flash messages redirect. + * + * Development Mode: + * 1: Errors and warnings shown, model caches refreshed, flash messages halted. + * 2: As in 1, but also with full debug messages and SQL output. + * + * In production mode, flash messages redirect after a time interval. + * In development mode, you need to click the flash message to continue. + */ + Configure::write('debug', 2); + +/** + * Configure the Error handler used to handle errors for your application. By default + * ErrorHandler::handleError() is used. It will display errors using Debugger, when debug > 0 + * and log errors with CakeLog when debug = 0. + * + * Options: + * + * - `handler` - callback - The callback to handle errors. You can set this to any callable type, + * including anonymous functions. + * - `level` - int - The level of errors you are interested in capturing. + * - `trace` - boolean - Include stack traces for errors in log files. + * + * @see ErrorHandler for more information on error handling and configuration. + */ + Configure::write('Error', array( + 'handler' => 'ErrorHandler::handleError', + 'level' => E_ALL & ~E_DEPRECATED, + 'trace' => true + )); + +/** + * Configure the Exception handler used for uncaught exceptions. By default, + * ErrorHandler::handleException() is used. It will display a HTML page for the exception, and + * while debug > 0, framework errors like Missing Controller will be displayed. When debug = 0, + * framework errors will be coerced into generic HTTP errors. + * + * Options: + * + * - `handler` - callback - The callback to handle exceptions. You can set this to any callback type, + * including anonymous functions. + * - `renderer` - string - The class responsible for rendering uncaught exceptions. If you choose a custom class you + * should place the file for that class in app/Lib/Error. This class needs to implement a render method. + * - `log` - boolean - Should Exceptions be logged? + * + * @see ErrorHandler for more information on exception handling and configuration. + */ + Configure::write('Exception', array( + 'handler' => 'ErrorHandler::handleException', + 'renderer' => 'ExceptionRenderer', + 'log' => true + )); + +/** + * Application wide charset encoding + */ + Configure::write('App.encoding', 'UTF-8'); + +/** + * To configure CakePHP *not* to use mod_rewrite and to + * use CakePHP pretty URLs, remove these .htaccess + * files: + * + * /.htaccess + * /app/.htaccess + * /app/webroot/.htaccess + * + * And uncomment the App.baseUrl below: + */ + //Configure::write('App.baseUrl', env('SCRIPT_NAME')); + +/** + * Uncomment the define below to use CakePHP prefix routes. + * + * The value of the define determines the names of the routes + * and their associated controller actions: + * + * Set to an array of prefixes you want to use in your application. Use for + * admin or other prefixed routes. + * + * Routing.prefixes = array('admin', 'manager'); + * + * Enables: + * `admin_index()` and `/admin/controller/index` + * `manager_index()` and `/manager/controller/index` + * + */ + //Configure::write('Routing.prefixes', array('admin')); + +/** + * Turn off all caching application-wide. + * + */ + //Configure::write('Cache.disable', true); + +/** + * Enable cache checking. + * + * If set to true, for view caching you must still use the controller + * public $cacheAction inside your controllers to define caching settings. + * You can either set it controller-wide by setting public $cacheAction = true, + * or in each action using $this->cacheAction = true. + * + */ + //Configure::write('Cache.check', true); + +/** + * Defines the default error type when using the log() function. Used for + * differentiating error logging and debugging. Currently PHP supports LOG_DEBUG. + */ + define('LOG_ERROR', LOG_ERR); + +/** + * Session configuration. + * + * Contains an array of settings to use for session configuration. The defaults key is + * used to define a default preset to use for sessions, any settings declared here will override + * the settings of the default config. + * + * ## Options + * + * - `Session.cookie` - The name of the cookie to use. Defaults to 'CAKEPHP' + * - `Session.timeout` - The number of minutes you want sessions to live for. This timeout is handled by CakePHP + * - `Session.cookieTimeout` - The number of minutes you want session cookies to live for. + * - `Session.checkAgent` - Do you want the user agent to be checked when starting sessions? You might want to set the + * value to false, when dealing with older versions of IE, Chrome Frame or certain web-browsing devices and AJAX + * - `Session.defaults` - The default configuration set to use as a basis for your session. + * There are four builtins: php, cake, cache, database. + * - `Session.handler` - Can be used to enable a custom session handler. Expects an array of of callables, + * that can be used with `session_save_handler`. Using this option will automatically add `session.save_handler` + * to the ini array. + * - `Session.autoRegenerate` - Enabling this setting, turns on automatic renewal of sessions, and + * sessionids that change frequently. See CakeSession::$requestCountdown. + * - `Session.ini` - An associative array of additional ini values to set. + * + * The built in defaults are: + * + * - 'php' - Uses settings defined in your php.ini. + * - 'cake' - Saves session files in CakePHP's /tmp directory. + * - 'database' - Uses CakePHP's database sessions. + * - 'cache' - Use the Cache class to save sessions. + * + * To define a custom session handler, save it at /app/Model/Datasource/Session/<name>.php. + * Make sure the class implements `CakeSessionHandlerInterface` and set Session.handler to <name> + * + * To use database sessions, run the app/Config/Schema/sessions.php schema using + * the cake shell command: cake schema create Sessions + * + */ + Configure::write('Session', array( + 'defaults' => 'php' + )); + +/** + * The level of CakePHP security. + */ + Configure::write('Security.level', 'medium'); + +/** + * A random string used in security hashing methods. + */ + Configure::write('Security.salt', 'DYh4693bssgsfIxfs!:;oUuedzi$ùR2Gk:bgaC9mi'); + +/** + * A random numeric string (digits only) used to encrypt/decrypt strings. + */ + Configure::write('Security.cipherSeed', '768593014774535424965686832135'); + +/** + * Apply timestamps with the last modified time to static assets (js, css, images). + * Will append a querystring parameter containing the time the file was modified. This is + * useful for invalidating browser caches. + * + * Set to `true` to apply timestamps when debug > 0. Set to 'force' to always enable + * timestamping regardless of debug value. + */ + //Configure::write('Asset.timestamp', true); + +/** + * Compress CSS output by removing comments, whitespace, repeating tags, etc. + * This requires a/var/cache directory to be writable by the web server for caching. + * and /vendors/csspp/csspp.php + * + * To use, prefix the CSS link URL with '/ccss/' instead of '/css/' or use HtmlHelper::css(). + */ + //Configure::write('Asset.filter.css', 'css.php'); + +/** + * Plug in your own custom JavaScript compressor by dropping a script in your webroot to handle the + * output, and setting the config below to the name of the script. + * + * To use, prefix your JavaScript link URLs with '/cjs/' instead of '/js/' or use JavaScriptHelper::link(). + */ + //Configure::write('Asset.filter.js', 'custom_javascript_output_filter.php'); + +/** + * The classname and database used in CakePHP's + * access control lists. + */ + Configure::write('Acl.classname', 'DbAcl'); + Configure::write('Acl.database', 'default'); + +/** + * Uncomment this line and correct your server timezone to fix + * any date & time related errors. + */ + //date_default_timezone_set('UTC'); + +/** + * Pick the caching engine to use. If APC is enabled use it. + * If running via cli - apc is disabled by default. ensure it's available and enabled in this case + * + * Note: 'default' and other application caches should be configured in app/Config/bootstrap.php. + * Please check the comments in boostrap.php for more info on the cache engines available + * and their setttings. + */ +$engine = 'File'; +if (extension_loaded('apc') && function_exists('apc_dec') && (php_sapi_name() !== 'cli' || ini_get('apc.enable_cli'))) { + $engine = 'Apc'; +} + +// In development mode, caches should expire quickly. +$duration = '+999 days'; +if (Configure::read('debug') >= 1) { + $duration = '+10 seconds'; +} + +// Prefix each application on the same server with a different string, to avoid Memcache and APC conflicts. +$prefix = 'myapp_'; + +/** + * Configure the cache used for general framework caching. Path information, + * object listings, and translation cache files are stored with this configuration. + */ +Cache::config('_cake_core_', array( + 'engine' => $engine, + 'prefix' => $prefix . 'cake_core_', + 'path' => CACHE . 'persistent' . DS, + 'serialize' => ($engine === 'File'), + 'duration' => $duration +)); + +/** + * Configure the cache for model and datasource caches. This cache configuration + * is used to store schema descriptions, and table listings in connections. + */ +Cache::config('_cake_model_', array( + 'engine' => $engine, + 'prefix' => $prefix . 'cake_model_', + 'path' => CACHE . 'models' . DS, + 'serialize' => ($engine === 'File'), + 'duration' => $duration +)); diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/database.php b/poc/poc02-compiling-cake/src/workdir/in/app/Config/database.php new file mode 100644 index 0000000..8250a9d --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/database.php @@ -0,0 +1,83 @@ +<?php +/** + * This is core configuration file. + * + * Use it to configure core behaviour of Cake. + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Config + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +/** + * In this file you set up your database connection details. + * + * @package cake.config + */ +/** + * Database configuration class. + * You can specify multiple configurations for production, development and testing. + * + * datasource => The name of a supported datasource; valid options are as follows: + * Database/Mysql - MySQL 4 & 5, + * Database/Sqlite - SQLite (PHP5 only), + * Database/Postgres - PostgreSQL 7 and higher, + * Database/Sqlserver - Microsoft SQL Server 2005 and higher + * + * You can add custom database datasources (or override existing datasources) by adding the + * appropriate file to app/Model/Datasource/Database. Datasources should be named 'MyDatasource.php', + * + * + * persistent => true / false + * Determines whether or not the database should use a persistent connection + * + * host => + * the host you connect to the database. To add a socket or port number, use 'port' => # + * + * prefix => + * Uses the given prefix for all the tables in this database. This setting can be overridden + * on a per-table basis with the Model::$tablePrefix property. + * + * schema => + * For Postgres specifies which schema you would like to use the tables in. Postgres defaults to 'public'. + * + * encoding => + * For MySQL, Postgres specifies the character encoding to use when connecting to the + * database. Uses database default not specified. + * + * unix_socket => + * For MySQL to connect via socket specify the `unix_socket` parameter instead of `host` and `port` + */ +class DATABASE_CONFIG { + + public $default = array( + 'datasource' => 'Database/Mysql', + 'persistent' => false, + 'host' => 'localhost', + 'login' => 'root', + 'password' => 'prout', + 'database' => 'cake_blog', + 'prefix' => '', + //'encoding' => 'utf8', + ); + + public $test = array( + 'datasource' => 'Database/Mysql', + 'persistent' => false, + 'host' => 'localhost', + 'login' => 'user', + 'password' => 'password', + 'database' => 'test_database_name', + 'prefix' => '', + //'encoding' => 'utf8', + ); +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/database.php.default b/poc/poc02-compiling-cake/src/workdir/in/app/Config/database.php.default new file mode 100644 index 0000000..d0aeb1f --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/database.php.default @@ -0,0 +1,83 @@ +<?php +/** + * This is core configuration file. + * + * Use it to configure core behaviour of Cake. + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Config + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +/** + * In this file you set up your database connection details. + * + * @package cake.config + */ +/** + * Database configuration class. + * You can specify multiple configurations for production, development and testing. + * + * datasource => The name of a supported datasource; valid options are as follows: + * Database/Mysql - MySQL 4 & 5, + * Database/Sqlite - SQLite (PHP5 only), + * Database/Postgres - PostgreSQL 7 and higher, + * Database/Sqlserver - Microsoft SQL Server 2005 and higher + * + * You can add custom database datasources (or override existing datasources) by adding the + * appropriate file to app/Model/Datasource/Database. Datasources should be named 'MyDatasource.php', + * + * + * persistent => true / false + * Determines whether or not the database should use a persistent connection + * + * host => + * the host you connect to the database. To add a socket or port number, use 'port' => # + * + * prefix => + * Uses the given prefix for all the tables in this database. This setting can be overridden + * on a per-table basis with the Model::$tablePrefix property. + * + * schema => + * For Postgres specifies which schema you would like to use the tables in. Postgres defaults to 'public'. + * + * encoding => + * For MySQL, Postgres specifies the character encoding to use when connecting to the + * database. Uses database default not specified. + * + * unix_socket => + * For MySQL to connect via socket specify the `unix_socket` parameter instead of `host` and `port` + */ +class DATABASE_CONFIG { + + public $default = array( + 'datasource' => 'Database/Mysql', + 'persistent' => false, + 'host' => 'localhost', + 'login' => 'user', + 'password' => 'password', + 'database' => 'database_name', + 'prefix' => '', + //'encoding' => 'utf8', + ); + + public $test = array( + 'datasource' => 'Database/Mysql', + 'persistent' => false, + 'host' => 'localhost', + 'login' => 'user', + 'password' => 'password', + 'database' => 'test_database_name', + 'prefix' => '', + //'encoding' => 'utf8', + ); +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/email.php.default b/poc/poc02-compiling-cake/src/workdir/in/app/Config/email.php.default new file mode 100644 index 0000000..fa252e8 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/email.php.default @@ -0,0 +1,97 @@ +<?php +/** + * This is email configuration file. + * + * Use it to configure email transports of Cake. + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Config + * @since CakePHP(tm) v 2.0.0 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +/** + * In this file you set up your send email details. + * + * @package cake.config + */ +/** + * Email configuration class. + * You can specify multiple configurations for production, development and testing. + * + * transport => The name of a supported transport; valid options are as follows: + * Mail - Send using PHP mail function + * Smtp - Send using SMTP + * Debug - Do not send the email, just return the result + * + * You can add custom transports (or override existing transports) by adding the + * appropriate file to app/Network/Email. Transports should be named 'YourTransport.php', + * where 'Your' is the name of the transport. + * + * from => + * The origin email. See CakeEmail::from() about the valid values + * + */ +class EmailConfig { + + public $default = array( + 'transport' => 'Mail', + 'from' => 'you@localhost', + //'charset' => 'utf-8', + //'headerCharset' => 'utf-8', + ); + + public $smtp = array( + 'transport' => 'Smtp', + 'from' => array('site@localhost' => 'My Site'), + 'host' => 'localhost', + 'port' => 25, + 'timeout' => 30, + 'username' => 'user', + 'password' => 'secret', + 'client' => null, + 'log' => false, + //'charset' => 'utf-8', + //'headerCharset' => 'utf-8', + ); + + public $fast = array( + 'from' => 'you@localhost', + 'sender' => null, + 'to' => null, + 'cc' => null, + 'bcc' => null, + 'replyTo' => null, + 'readReceipt' => null, + 'returnPath' => null, + 'messageId' => true, + 'subject' => null, + 'message' => null, + 'headers' => null, + 'viewRender' => null, + 'template' => false, + 'layout' => false, + 'viewVars' => null, + 'attachments' => null, + 'emailFormat' => null, + 'transport' => 'Smtp', + 'host' => 'localhost', + 'port' => 25, + 'timeout' => 30, + 'username' => 'user', + 'password' => 'secret', + 'client' => null, + 'log' => true, + //'charset' => 'utf-8', + //'headerCharset' => 'utf-8', + ); + +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Config/routes.php b/poc/poc02-compiling-cake/src/workdir/in/app/Config/routes.php new file mode 100644 index 0000000..38d6f39 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Config/routes.php @@ -0,0 +1,45 @@ +<?php +/** + * Routes configuration + * + * In this file, you set up routes to your controllers and their actions. + * Routes are very important mechanism that allows you to freely connect + * different urls to chosen controllers and their actions (functions). + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Config + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +/** + * Here, we are connecting '/' (base path) to controller called 'Pages', + * its action called 'display', and we pass a param to select the view file + * to use (in this case, /app/View/Pages/home.ctp)... + */ +// Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home')); + Router::connect('/', array('controller' => 'posts', 'action' => 'index')); +/** + * ...and connect the rest of 'Pages' controller's urls. + */ + Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display')); + +/** + * Load all plugin routes. See the CakePlugin documentation on + * how to customize the loading of plugin routes. + */ + CakePlugin::routes(); + +/** + * Load the CakePHP default routes. Remove this if you do not want to use + * the built-in default routes. + */ + require CAKE . 'Config' . DS . 'routes.php'; diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Console/Command/AppShell.php b/poc/poc02-compiling-cake/src/workdir/in/app/Console/Command/AppShell.php new file mode 100644 index 0000000..5cc915f --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Console/Command/AppShell.php @@ -0,0 +1,31 @@ +<?php +/** + * AppShell file + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @since CakePHP(tm) v 2.0 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +App::uses('Shell', 'Console'); + +/** + * Application Shell + * + * Add your application-wide methods in the class below, your shells + * will inherit them. + * + * @package app.Console.Command + */ +class AppShell extends Shell { + +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Console/Command/Task/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Console/Command/Task/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Console/Command/Task/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Console/Templates/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Console/Templates/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Console/Templates/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Console/cake b/poc/poc02-compiling-cake/src/workdir/in/app/Console/cake new file mode 100755 index 0000000..b7e3825 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Console/cake @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +################################################################################ +# +# Bake is a shell script for running CakePHP bake script +# PHP 5 +# +# CakePHP(tm) : Rapid Development Framework (http://cakephp.org) +# Copyright 2005-2012, Cake Software Foundation, Inc. +# +# Licensed under The MIT License +# Redistributions of files must retain the above copyright notice. +# +# @copyright Copyright 2005-2012, Cake Software Foundation, Inc. +# @link http://cakephp.org CakePHP(tm) Project +# @package app.Console +# @since CakePHP(tm) v 2.0 +# @license MIT License (http://www.opensource.org/licenses/mit-license.php) +# +################################################################################ +LIB=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && LIB=$LIB/$(basename -- "$0") + +while [ -h "$LIB" ]; do + DIR=$(dirname -- "$LIB") + SYM=$(readlink "$LIB") + LIB=$(cd "$DIR" && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM") +done + +LIB=$(dirname -- "$LIB")/ +APP=$(dirname $(cd $(dirname $0) && pwd)) + +exec php -q "$LIB"cake.php -working "$APP" "$@" + +exit; diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Console/cake.bat b/poc/poc02-compiling-cake/src/workdir/in/app/Console/cake.bat new file mode 100644 index 0000000..b28ec8d --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Console/cake.bat @@ -0,0 +1,32 @@ +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+::
+:: Bake is a shell script for running CakePHP bake script
+:: PHP 5
+::
+:: CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+:: Copyright 2005-2012, Cake Software Foundation, Inc.
+::
+:: Licensed under The MIT License
+:: Redistributions of files must retain the above copyright notice.
+::
+:: @copyright Copyright 2005-2012, Cake Software Foundation, Inc.
+:: @link http://cakephp.org CakePHP(tm) Project
+:: @package app.Console
+:: @since CakePHP(tm) v 2.0
+:: @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+::
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+:: In order for this script to work as intended, the cake\console\ folder must be in your PATH
+
+@echo.
+@echo off
+
+SET app=%0
+SET lib=%~dp0
+
+php -q "%lib%cake.php" -working "%CD% " %*
+
+echo.
+
+exit /B %ERRORLEVEL%
diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Console/cake.php b/poc/poc02-compiling-cake/src/workdir/in/app/Console/cake.php new file mode 100644 index 0000000..edef894 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Console/cake.php @@ -0,0 +1,33 @@ +#!/usr/bin/php -q +<?php +/** + * Command-line code generation utility to automate programmer chores. + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Console + * @since CakePHP(tm) v 2.0 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +$ds = DIRECTORY_SEPARATOR; +$dispatcher = 'Cake' . $ds . 'Console' . $ds . 'ShellDispatcher.php'; + +if (function_exists('ini_set')) { + $root = dirname(dirname(dirname(__FILE__))); + ini_set('include_path', $root . $ds . 'lib' . PATH_SEPARATOR . ini_get('include_path')); +} + +if (!include ($dispatcher)) { + trigger_error('Could not locate CakePHP core files.', E_USER_ERROR); +} +unset($paths, $path, $dispatcher, $root, $ds); + +return ShellDispatcher::run($argv); diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Controller/AppController.php b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/AppController.php new file mode 100644 index 0000000..7aab7e9 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/AppController.php @@ -0,0 +1,35 @@ +<?php +/** + * Application level Controller + * + * This file is application-wide controller file. You can put all + * application-wide controller-related methods here. + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Controller + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +App::uses('Controller', 'Controller'); + +/** + * Application Controller + * + * Add your application-wide methods in the class below, your controllers + * will inherit them. + * + * @package app.Controller + * @link http://book.cakephp.org/2.0/en/controllers.html#the-app-controller + */ +class AppController extends Controller { +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Controller/Component/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/Component/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/Component/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PagesController.php b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PagesController.php new file mode 100644 index 0000000..5a2e57d --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PagesController.php @@ -0,0 +1,75 @@ +<?php +/** + * Static content controller. + * + * This file will render views from views/pages/ + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Controller + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +App::uses('AppController', 'Controller'); + +/** + * Static content controller + * + * Override this controller by placing a copy in controllers directory of an application + * + * @package app.Controller + * @link http://book.cakephp.org/2.0/en/controllers/pages-controller.html + */ +class PagesController extends AppController { + +/** + * Controller name + * + * @var string + */ + public $name = 'Pages'; + +/** + * This controller does not use a model + * + * @var array + */ + public $uses = array(); + +/** + * Displays a view + * + * @param mixed What page to display + * @return void + */ + public function display() { + $path = func_get_args(); + + $count = count($path); + if (!$count) { + $this->redirect('/'); + } + $page = $subpage = $title_for_layout = null; + + if (!empty($path[0])) { + $page = $path[0]; + } + if (!empty($path[1])) { + $subpage = $path[1]; + } + if (!empty($path[$count - 1])) { + $title_for_layout = Inflector::humanize($path[$count - 1]); + } + $this->set(compact('page', 'subpage', 'title_for_layout')); + $this->render(implode('/', $path)); + } +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PostsController.php b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PostsController.php new file mode 100644 index 0000000..c6ff3d2 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PostsController.php @@ -0,0 +1,48 @@ +<?php +class PostsController extends AppController { + public $helpers = array('Html', 'Form'); + + public function index() { + $this->set('posts', $this->Post->find('all')); + } + + public function view($id = null) { + $this->Post->id = $id; + $this->set('post', $this->Post->read()); + } + + public function add() { + if ($this->request->is('post')) { + if ($this->Post->save($this->request->data)) { + $this->Session->setFlash('Your post has been saved.'); + $this->redirect(array('action' => 'index')); + } else { + $this->Session->setFlash('Unable to add your post.'); + } + } + } + + public function edit($id = null) { + $this->Post->id = $id; + if ($this->request->is('get')) { + $this->request->data = $this->Post->read(); + } else { + if ($this->Post->save($this->request->data)) { + $this->Session->setFlash('Your post has been updated.'); + $this->redirect(array('action' => 'index')); + } else { + $this->Session->setFlash('Unable to update your post.'); + } + } + } + + public function delete($id) { + if ($this->request->is('get')) { + throw new MethodNotAllowedException(); + } + if ($this->Post->delete($id)) { + $this->Session->setFlash('The post with id: ' . $id . ' has been deleted.'); + $this->redirect(array('action' => 'index')); + } + } +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Lib/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Lib/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Lib/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Locale/eng/LC_MESSAGES/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Locale/eng/LC_MESSAGES/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Locale/eng/LC_MESSAGES/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Model/AppModel.php b/poc/poc02-compiling-cake/src/workdir/in/app/Model/AppModel.php new file mode 100644 index 0000000..94e5e5f --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Model/AppModel.php @@ -0,0 +1,34 @@ +<?php +/** + * Application model for Cake. + * + * This file is application-wide model file. You can put all + * application-wide model-related methods here. + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.Model + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +App::uses('Model', 'Model'); + +/** + * Application model for Cake. + * + * Add your application-wide methods in the class below, your models + * will inherit them. + * + * @package app.Model + */ +class AppModel extends Model { +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Model/Behavior/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Model/Behavior/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Model/Behavior/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Model/Datasource/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Model/Datasource/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Model/Datasource/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Model/Post.php b/poc/poc02-compiling-cake/src/workdir/in/app/Model/Post.php new file mode 100644 index 0000000..847be83 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Model/Post.php @@ -0,0 +1,11 @@ +<?php +class Post extends AppModel { + public $validate = array( + 'title' => array( + 'rule' => 'notEmpty' + ), + 'body' => array( + 'rule' => 'notEmpty' + ) + ); +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Plugin/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Plugin/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Plugin/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Test/Case/Controller/Component/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Test/Case/Controller/Component/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Test/Case/Controller/Component/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Test/Case/Model/Behavior/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Test/Case/Model/Behavior/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Test/Case/Model/Behavior/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Test/Case/View/Helper/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Test/Case/View/Helper/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Test/Case/View/Helper/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Test/Fixture/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Test/Fixture/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Test/Fixture/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Vendor/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Vendor/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/Vendor/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Elements/empty b/poc/poc02-compiling-cake/src/workdir/in/app/View/Elements/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Elements/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Emails/html/default.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Emails/html/default.ctp new file mode 100644 index 0000000..0eb7f57 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Emails/html/default.ctp @@ -0,0 +1,25 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Emails.html + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +?> +<?php +$content = explode("\n", $content); + +foreach ($content as $line): + echo '<p> ' . $line . "</p>\n"; +endforeach; +?>
\ No newline at end of file diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Emails/text/default.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Emails/text/default.ctp new file mode 100644 index 0000000..56be8c1 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Emails/text/default.ctp @@ -0,0 +1,19 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Emails.text + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +?> +<?php echo $content; ?>
\ No newline at end of file diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Errors/error400.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Errors/error400.ctp new file mode 100644 index 0000000..6d50860 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Errors/error400.ctp @@ -0,0 +1,31 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Errors + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +?> +<h2><?php echo $name; ?></h2> +<p class="error"> + <strong><?php echo __d('cake', 'Error'); ?>: </strong> + <?php printf( + __d('cake', 'The requested address %s was not found on this server.'), + "<strong>'{$url}'</strong>" + ); ?> +</p> +<?php +if (Configure::read('debug') > 0 ): + echo $this->element('exception_stack_trace'); +endif; +?> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Errors/error500.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Errors/error500.ctp new file mode 100644 index 0000000..4e1f36e --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Errors/error500.ctp @@ -0,0 +1,28 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Errors + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +?> +<h2><?php echo $name; ?></h2> +<p class="error"> + <strong><?php echo __d('cake', 'Error'); ?>: </strong> + <?php echo __d('cake', 'An Internal Error Has Occurred.'); ?> +</p> +<?php +if (Configure::read('debug') > 0 ): + echo $this->element('exception_stack_trace'); +endif; +?> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Helper/AppHelper.php b/poc/poc02-compiling-cake/src/workdir/in/app/View/Helper/AppHelper.php new file mode 100644 index 0000000..0fddaea --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Helper/AppHelper.php @@ -0,0 +1,34 @@ +<?php +/** + * Application level View Helper + * + * This file is application-wide helper file. You can put all + * application-wide helper-related methods here. + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.View.Helper + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +App::uses('Helper', 'View'); + +/** + * Application helper + * + * Add your application-wide methods in the class below, your helpers + * will inherit them. + * + * @package app.View.Helper + */ +class AppHelper extends Helper { +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/Emails/html/default.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/Emails/html/default.ctp new file mode 100644 index 0000000..4d360d9 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/Emails/html/default.ctp @@ -0,0 +1,29 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Layouts.Emails.html + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<html> +<head> + <title><?php echo $title_for_layout;?></title> +</head> +<body> + <?php echo $content_for_layout;?> + + <p>This email was sent using the <a href="http://cakephp.org">CakePHP Framework</a></p> +</body> +</html>
\ No newline at end of file diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/Emails/text/default.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/Emails/text/default.ctp new file mode 100644 index 0000000..94ed222 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/Emails/text/default.ctp @@ -0,0 +1,21 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Layouts.Emails.text + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +?> +<?php echo $content_for_layout;?> + +This email was sent using the CakePHP Framework, http://cakephp.org. diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/ajax.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/ajax.ctp new file mode 100644 index 0000000..c0da850 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/ajax.ctp @@ -0,0 +1,19 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Layouts + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +?> +<?php echo $this->fetch('content'); ?> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/default.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/default.ctp new file mode 100644 index 0000000..39704bf --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/default.ctp @@ -0,0 +1,61 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Layouts + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +$cakeDescription = __d('cake_dev', 'CakePHP: the rapid development php framework'); +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <?php echo $this->Html->charset(); ?> + <title> + <?php echo $cakeDescription ?>: + <?php echo $title_for_layout; ?> + </title> + <?php + echo $this->Html->meta('icon'); + + echo $this->Html->css('cake.generic'); + + echo $this->fetch('meta'); + echo $this->fetch('css'); + echo $this->fetch('script'); + ?> +</head> +<body> + <div id="container"> + <div id="header"> + <h1><?php echo $this->Html->link($cakeDescription, 'http://cakephp.org'); ?></h1> + </div> + <div id="content"> + + <?php echo $this->Session->flash(); ?> + + <?php echo $this->fetch('content'); ?> + </div> + <div id="footer"> + <?php echo $this->Html->link( + $this->Html->image('cake.power.gif', array('alt' => $cakeDescription, 'border' => '0')), + 'http://www.cakephp.org/', + array('target' => '_blank', 'escape' => false) + ); + ?> + </div> + </div> + <?php echo $this->element('sql_dump'); ?> +</body> +</html> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/error.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/error.ctp new file mode 100644 index 0000000..4947734 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/error.ctp @@ -0,0 +1,61 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Layouts + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +$cakeDescription = __d('cake_dev', 'CakePHP: the rapid development php framework'); +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <?php echo $this->Html->charset(); ?> + <title> + <?php echo $cakeDescription ?>: + <?php echo $title_for_layout; ?> + </title> + <?php + echo $this->Html->meta('icon'); + + echo $this->Html->css('cake.generic'); + + echo $this->fetch('meta'); + echo $this->fetch('css'); + echo $this->fetch('script'); + ?> +</head> +<body> + <div id="container"> + <div id="header"> + <h1><?php echo $this->Html->link($cakeDescription, 'http://cakephp.org'); ?></h1> + </div> + <div id="content"> + + <?php echo $this->Session->flash(); ?> + + <?php echo $this->fetch('content'); ?> + </div> + <div id="footer"> + <?php echo $this->Html->link( + $this->Html->image('cake.power.gif', array('alt' => $cakeDescription, 'border' => '0')), + 'http://www.cakephp.org/', + array('target' => '_blank', 'escape' => false) + ); + ?> + </div> + </div> + <?php echo $this->element('sql_dump'); ?> +</body> +</html> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/flash.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/flash.ctp new file mode 100644 index 0000000..76fae34 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/flash.ctp @@ -0,0 +1,37 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Layouts + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<?php echo $this->Html->charset(); ?> +<title><?php echo $page_title; ?></title> + +<?php if (Configure::read('debug') == 0) { ?> +<meta http-equiv="Refresh" content="<?php echo $pause; ?>;url=<?php echo $url; ?>"/> +<?php } ?> +<style><!-- +P { text-align:center; font:bold 1.1em sans-serif } +A { color:#444; text-decoration:none } +A:HOVER { text-decoration: underline; color:#44E } +--></style> +</head> +<body> +<p><a href="<?php echo $url; ?>"><?php echo $message; ?></a></p> +</body> +</html>
\ No newline at end of file diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/js/default.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/js/default.ctp new file mode 100644 index 0000000..7239b5d --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/js/default.ctp @@ -0,0 +1,2 @@ +<?php echo $scripts_for_layout; ?> +<script type="text/javascript"><?php echo $this->fetch('content'); ?></script> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/rss/default.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/rss/default.ctp new file mode 100644 index 0000000..077de61 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/rss/default.ctp @@ -0,0 +1,14 @@ +<?php +if (!isset($channel)) { + $channel = array(); +} +if (!isset($channel['title'])) { + $channel['title'] = $title_for_layout; +} + +echo $this->Rss->document( + $this->Rss->channel( + array(), $channel, $this->fetch('content') + ) +); +?> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/xml/default.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/xml/default.ctp new file mode 100644 index 0000000..fbd5ee0 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Layouts/xml/default.ctp @@ -0,0 +1 @@ +<?php echo $this->fetch('content'); ?> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Pages/home.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Pages/home.ctp new file mode 100644 index 0000000..9a22923 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Pages/home.ctp @@ -0,0 +1,188 @@ +<?php +/** + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package Cake.View.Pages + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +if (Configure::read('debug') == 0): + throw new NotFoundException(); +endif; +App::uses('Debugger', 'Utility'); +?> +<iframe src="http://cakephp.org/bake-banner" width="830" height="160" style="overflow:hidden; border:none;"> + <p>For updates and important announcements, visit http://cakefest.org</p> +</iframe> +<h2><?php echo __d('cake_dev', 'Release Notes for CakePHP %s.', Configure::version()); ?></h2> +<a href="http://cakephp.org/changelogs/<?php echo Configure::version(); ?>"><?php echo __d('cake_dev', 'Read the changelog'); ?> </a> +<?php +if (Configure::read('debug') > 0): + Debugger::checkSecurityKeys(); +endif; +?> +<p id="url-rewriting-warning" style="background-color:#e32; color:#fff;"> + <?php echo __d('cake_dev', 'URL rewriting is not properly configured on your server.'); ?> + 1) <a target="_blank" href="http://book.cakephp.org/2.0/en/installation/advanced-installation.html#apache-and-mod-rewrite-and-htaccess" style="color:#fff;">Help me configure it</a> + 2) <a target="_blank" href="http://book.cakephp.org/2.0/en/development/configuration.html#cakephp-core-configuration" style="color:#fff;">I don't / can't use URL rewriting</a> +</p> +<p> +<?php + if (version_compare(PHP_VERSION, '5.2.8', '>=')): + echo '<span class="notice success">'; + echo __d('cake_dev', 'Your version of PHP is 5.2.8 or higher.'); + echo '</span>'; + else: + echo '<span class="notice">'; + echo __d('cake_dev', 'Your version of PHP is too low. You need PHP 5.2.8 or higher to use CakePHP.'); + echo '</span>'; + endif; +?> +</p> +<p> + <?php + if (is_writable(TMP)): + echo '<span class="notice success">'; + echo __d('cake_dev', 'Your tmp directory is writable.'); + echo '</span>'; + else: + echo '<span class="notice">'; + echo __d('cake_dev', 'Your tmp directory is NOT writable.'); + echo '</span>'; + endif; + ?> +</p> +<p> + <?php + $settings = Cache::settings(); + if (!empty($settings)): + echo '<span class="notice success">'; + echo __d('cake_dev', 'The %s is being used for core caching. To change the config edit APP/Config/core.php ', '<em>'. $settings['engine'] . 'Engine</em>'); + echo '</span>'; + else: + echo '<span class="notice">'; + echo __d('cake_dev', 'Your cache is NOT working. Please check the settings in APP/Config/core.php'); + echo '</span>'; + endif; + ?> +</p> +<p> + <?php + $filePresent = null; + if (file_exists(APP . 'Config' . DS . 'database.php')): + echo '<span class="notice success">'; + echo __d('cake_dev', 'Your database configuration file is present.'); + $filePresent = true; + echo '</span>'; + else: + echo '<span class="notice">'; + echo __d('cake_dev', 'Your database configuration file is NOT present.'); + echo '<br/>'; + echo __d('cake_dev', 'Rename APP/Config/database.php.default to APP/Config/database.php'); + echo '</span>'; + endif; + ?> +</p> +<?php +if (isset($filePresent)): + App::uses('ConnectionManager', 'Model'); + try { + $connected = ConnectionManager::getDataSource('default'); + } catch (Exception $connectionError) { + $connected = false; + } +?> +<p> + <?php + if ($connected && $connected->isConnected()): + echo '<span class="notice success">'; + echo __d('cake_dev', 'Cake is able to connect to the database.'); + echo '</span>'; + else: + echo '<span class="notice">'; + echo __d('cake_dev', 'Cake is NOT able to connect to the database.'); + echo '<br /><br />'; + echo $connectionError->getMessage(); + echo '</span>'; + endif; + ?> +</p> +<?php endif;?> +<?php + App::uses('Validation', 'Utility'); + if (!Validation::alphaNumeric('cakephp')) { + echo '<p><span class="notice">'; + echo __d('cake_dev', 'PCRE has not been compiled with Unicode support.'); + echo '<br/>'; + echo __d('cake_dev', 'Recompile PCRE with Unicode support by adding <code>--enable-unicode-properties</code> when configuring'); + echo '</span></p>'; + } +?> +<h3><?php echo __d('cake_dev', 'Editing this Page'); ?></h3> +<p> +<?php +echo __d('cake_dev', 'To change the content of this page, edit: APP/View/Pages/home.ctp.<br /> +To change its layout, edit: APP/View/Layouts/default.ctp.<br /> +You can also add some CSS styles for your pages at: APP/webroot/css.'); +?> +</p> + +<h3><?php echo __d('cake_dev', 'Getting Started'); ?></h3> +<p> + <?php + echo $this->Html->link( + sprintf('<strong>%s</strong> %s', __d('cake_dev', 'New'), __d('cake_dev', 'CakePHP 2.0 Docs')), + 'http://book.cakephp.org/2.0/en/', + array('target' => '_blank', 'escape' => false) + ); + ?> +</p> +<p> + <?php + echo $this->Html->link( + __d('cake_dev', 'The 15 min Blog Tutorial'), + 'http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/blog.html', + array('target' => '_blank', 'escape' => false) + ); + ?> +</p> + +<h3><?php echo __d('cake_dev', 'More about Cake'); ?></h3> +<p> +<?php echo __d('cake_dev', 'CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Active Record, Association Data Mapping, Front Controller and MVC.'); ?> +</p> +<p> +<?php echo __d('cake_dev', 'Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility.'); ?> +</p> + +<ul> + <li><a href="http://cakefoundation.org/"><?php echo __d('cake_dev', 'Cake Software Foundation'); ?> </a> + <ul><li><?php echo __d('cake_dev', 'Promoting development related to CakePHP'); ?></li></ul></li> + <li><a href="http://www.cakephp.org"><?php echo __d('cake_dev', 'CakePHP'); ?> </a> + <ul><li><?php echo __d('cake_dev', 'The Rapid Development Framework'); ?></li></ul></li> + <li><a href="http://book.cakephp.org"><?php echo __d('cake_dev', 'CakePHP Documentation'); ?> </a> + <ul><li><?php echo __d('cake_dev', 'Your Rapid Development Cookbook'); ?></li></ul></li> + <li><a href="http://api20.cakephp.org"><?php echo __d('cake_dev', 'CakePHP API'); ?> </a> + <ul><li><?php echo __d('cake_dev', 'Quick Reference'); ?></li></ul></li> + <li><a href="http://bakery.cakephp.org"><?php echo __d('cake_dev', 'The Bakery'); ?> </a> + <ul><li><?php echo __d('cake_dev', 'Everything CakePHP'); ?></li></ul></li> + <li><a href="http://live.cakephp.org"><?php echo __d('cake_dev', 'The Show'); ?> </a> + <ul><li><?php echo __d('cake_dev', 'The Show is a live and archived internet radio broadcast CakePHP-related topics and answer questions live via IRC, Skype, and telephone.'); ?></li></ul></li> + <li><a href="http://groups.google.com/group/cake-php"><?php echo __d('cake_dev', 'CakePHP Google Group'); ?> </a> + <ul><li><?php echo __d('cake_dev', 'Community mailing list'); ?></li></ul></li> + <li><a href="irc://irc.freenode.net/cakephp">irc.freenode.net #cakephp</a> + <ul><li><?php echo __d('cake_dev', 'Live chat about CakePHP'); ?></li></ul></li> + <li><a href="http://github.com/cakephp/"><?php echo __d('cake_dev', 'CakePHP Code'); ?> </a> + <ul><li><?php echo __d('cake_dev', 'For the Development of CakePHP Git repository, Downloads'); ?></li></ul></li> + <li><a href="http://cakephp.lighthouseapp.com/"><?php echo __d('cake_dev', 'CakePHP Lighthouse'); ?> </a> + <ul><li><?php echo __d('cake_dev', 'CakePHP Tickets, Wiki pages, Roadmap'); ?></li></ul></li> +</ul> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/add.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/add.ctp new file mode 100644 index 0000000..c36d35e --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/add.ctp @@ -0,0 +1,7 @@ +<h1>Add Post</h1> +<?php +echo $this->Form->create('Post'); +echo $this->Form->input('title'); +echo $this->Form->input('body', array('rows' => '3')); +echo $this->Form->end('Save Post'); +?> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/edit.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/edit.ctp new file mode 100644 index 0000000..221d85a --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/edit.ctp @@ -0,0 +1,8 @@ +<h1>Edit Post</h1> +<?php + echo $this->Form->create('Post', array('action' => 'edit')); + echo $this->Form->input('title'); + echo $this->Form->input('body', array('rows' => '3')); + echo $this->Form->input('id', array('type' => 'hidden')); + echo $this->Form->end('Save Post'); +?> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/index.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/index.ctp new file mode 100644 index 0000000..754b378 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/index.ctp @@ -0,0 +1,33 @@ +<h1>Blog posts</h1> +<p><?php echo $this->Html->link('Add Post', array('action' => 'add')); ?></p> +<table> + <tr> + <th>Id</th> + <th>Title</th> + <th>Actions</th> + <th>Created</th> + </tr> + +<!-- Here's where we loop through our $posts array, printing out post info --> + + <?php foreach ($posts as $post): ?> + <tr> + <td><?php echo $post['Post']['id']; ?></td> + <td> + <?php echo $this->Html->link($post['Post']['title'], array('action' => 'view', $post['Post']['id'])); ?> + </td> + <td> + <?php echo $this->Form->postLink( + 'Delete', + array('action' => 'delete', $post['Post']['id']), + array('confirm' => 'Are you sure?')); + ?> + <?php echo $this->Html->link('Edit', array('action' => 'edit', $post['Post']['id'])); ?> + </td> + <td> + <?php echo $post['Post']['created']; ?> + </td> + </tr> + <?php endforeach; ?> + +</table> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/view.ctp b/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/view.ctp new file mode 100644 index 0000000..4fb6556 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Posts/view.ctp @@ -0,0 +1,6 @@ +<h1><?php echo h($post['Post']['title']); ?></h1> + +<p><small>Created: <?php echo $post['Post']['created']; ?></small></p> + +<p><?php echo h($post['Post']['body']); ?></p> + diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/View/Scaffolds/empty b/poc/poc02-compiling-cake/src/workdir/in/app/View/Scaffolds/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/View/Scaffolds/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/index.php b/poc/poc02-compiling-cake/src/workdir/in/app/index.php new file mode 100644 index 0000000..29f2c57 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/index.php @@ -0,0 +1,17 @@ +<?php +/** + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app + * @since CakePHP(tm) v 0.10.0.1076 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +require 'webroot' . DIRECTORY_SEPARATOR . 'index.php'; diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/tmp/cache/models/empty b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/cache/models/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/cache/models/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/tmp/cache/persistent/empty b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/cache/persistent/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/cache/persistent/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/tmp/cache/views/empty b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/cache/views/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/cache/views/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/tmp/logs/empty b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/logs/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/logs/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/tmp/sessions/empty b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/sessions/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/sessions/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/tmp/tests/empty b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/tests/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/tmp/tests/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/.htaccess b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/.htaccess new file mode 100644 index 0000000..48a63f0 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/.htaccess @@ -0,0 +1,6 @@ +<IfModule mod_rewrite.c> + RewriteEngine On + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^(.*)$ index.php [QSA,L] +</IfModule> diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/css/cake.generic.css b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/css/cake.generic.css new file mode 100644 index 0000000..2244ad2 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/css/cake.generic.css @@ -0,0 +1,739 @@ +@charset "utf-8"; +/** + * + * Generic CSS for CakePHP + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.webroot.css + * @since CakePHP(tm) + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ + +* { + margin:0; + padding:0; +} + +/** General Style Info **/ +body { + background: #003d4c; + color: #fff; + font-family:'lucida grande',verdana,helvetica,arial,sans-serif; + font-size:90%; + margin: 0; +} +a { + color: #003d4c; + text-decoration: underline; + font-weight: bold; +} +a:hover { + color: #367889; + text-decoration:none; +} +a img { + border:none; +} +h1, h2, h3, h4 { + font-weight: normal; + margin-bottom:0.5em; +} +h1 { + background:#fff; + color: #003d4c; + font-size: 100%; +} +h2 { + background:#fff; + color: #e32; + font-family:'Gill Sans','lucida grande', helvetica, arial, sans-serif; + font-size: 190%; +} +h3 { + color: #2c6877; + font-family:'Gill Sans','lucida grande', helvetica, arial, sans-serif; + font-size: 165%; +} +h4 { + color: #993; + font-weight: normal; +} +ul, li { + margin: 0 12px; +} +p { + margin: 0 0 1em 0; +} + +/** Layout **/ +#container { + text-align: left; +} + +#header{ + padding: 10px 20px; +} +#header h1 { + line-height:20px; + background: #003d4c url('../img/cake.icon.png') no-repeat left; + color: #fff; + padding: 0px 30px; +} +#header h1 a { + color: #fff; + background: #003d4c; + font-weight: normal; + text-decoration: none; +} +#header h1 a:hover { + color: #fff; + background: #003d4c; + text-decoration: underline; +} +#content{ + background: #fff; + clear: both; + color: #333; + padding: 10px 20px 40px 20px; + overflow: auto; +} +#footer { + clear: both; + padding: 6px 10px; + text-align: right; +} + +/** containers **/ +div.form, +div.index, +div.view { + float:right; + width:76%; + border-left:1px solid #666; + padding:10px 2%; +} +div.actions { + float:left; + width:16%; + padding:10px 1.5%; +} +div.actions h3 { + padding-top:0; + color:#777; +} + + +/** Tables **/ +table { + border-right:0; + clear: both; + color: #333; + margin-bottom: 10px; + width: 100%; +} +th { + border:0; + border-bottom:2px solid #555; + text-align: left; + padding:4px; +} +th a { + display: block; + padding: 2px 4px; + text-decoration: none; +} +th a.asc:after { + content: ' ⇣'; +} +th a.desc:after { + content: ' ⇡'; +} +table tr td { + padding: 6px; + text-align: left; + vertical-align: top; + border-bottom:1px solid #ddd; +} +table tr:nth-child(even) { + background: #f9f9f9; +} +td.actions { + text-align: center; + white-space: nowrap; +} +table td.actions a { + margin: 0px 6px; + padding:2px 5px; +} + +/* SQL log */ +.cake-sql-log { + background: #fff; +} +.cake-sql-log td { + padding: 4px 8px; + text-align: left; + font-family: Monaco, Consolas, "Courier New", monospaced; +} +.cake-sql-log caption { + color:#fff; +} + +/** Paging **/ +.paging { + background:#fff; + color: #ccc; + margin-top: 1em; + clear:both; +} +.paging .current, +.paging .disabled, +.paging a { + text-decoration: none; + padding: 5px 8px; + display: inline-block +} +.paging > span { + display: inline-block; + border: 1px solid #ccc; + border-left: 0; +} +.paging > span:hover { + background: #efefef; +} +.paging .prev { + border-left: 1px solid #ccc; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.paging .next { + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.paging .disabled { + color: #ddd; +} +.paging .disabled:hover { + background: transparent; +} +.paging .current { + background: #efefef; + color: #c73e14; +} + +/** Scaffold View **/ +dl { + line-height: 2em; + margin: 0em 0em; + width: 60%; +} +dl dd:nth-child(4n+2), +dl dt:nth-child(4n+1) { + background: #f4f4f4; +} + +dt { + font-weight: bold; + padding-left: 4px; + vertical-align: top; + width: 10em; +} +dd { + margin-left: 10em; + margin-top: -2em; + vertical-align: top; +} + +/** Forms **/ +form { + clear: both; + margin-right: 20px; + padding: 0; + width: 95%; +} +fieldset { + border: none; + margin-bottom: 1em; + padding: 16px 10px; +} +fieldset legend { + color: #e32; + font-size: 160%; + font-weight: bold; +} +fieldset fieldset { + margin-top: 0; + padding: 10px 0 0; +} +fieldset fieldset legend { + font-size: 120%; + font-weight: normal; +} +fieldset fieldset div { + clear: left; + margin: 0 20px; +} +form div { + clear: both; + margin-bottom: 1em; + padding: .5em; + vertical-align: text-top; +} +form .input { + color: #444; +} +form .required { + font-weight: bold; +} +form .required label:after { + color: #e32; + content: '*'; + display:inline; +} +form div.submit { + border: 0; + clear: both; + margin-top: 10px; +} +label { + display: block; + font-size: 110%; + margin-bottom:3px; +} +input, textarea { + clear: both; + font-size: 140%; + font-family: "frutiger linotype", "lucida grande", "verdana", sans-serif; + padding: 1%; + width:98%; +} +select { + clear: both; + font-size: 120%; + vertical-align: text-bottom; +} +select[multiple=multiple] { + width: 100%; +} +option { + font-size: 120%; + padding: 0 3px; +} +input[type=checkbox] { + clear: left; + float: left; + margin: 0px 6px 7px 2px; + width: auto; +} +div.checkbox label { + display: inline; +} +input[type=radio] { + float:left; + width:auto; + margin: 6px 0; + padding: 0; + line-height: 26px; +} +.radio label { + margin: 0 0 6px 20px; + line-height: 26px; +} +input[type=submit] { + display: inline; + font-size: 110%; + width: auto; +} +form .submit input[type=submit] { + background:#62af56; + background-image: -webkit-gradient(linear, left top, left bottom, from(#76BF6B), to(#3B8230)); + background-image: -webkit-linear-gradient(top, #76BF6B, #3B8230); + background-image: -moz-linear-gradient(top, #76BF6B, #3B8230); + border-color: #2d6324; + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 0px -1px 0px; + padding: 8px 10px; +} +form .submit input[type=submit]:hover { + background: #5BA150; +} +/* Form errors */ +form .error { + background: #FFDACC; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + font-weight: normal; +} +form .error-message { + -moz-border-radius: none; + -webkit-border-radius: none; + border-radius: none; + border: none; + background: none; + margin: 0; + padding-left: 4px; + padding-right: 0; +} +form .error, +form .error-message { + color: #9E2424; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -ms-box-shadow: none; + -o-box-shadow: none; + box-shadow: none; + text-shadow: none; +} + +/** Notices and Errors **/ +.message { + clear: both; + color: #fff; + font-size: 140%; + font-weight: bold; + margin: 0 0 1em 0; + padding: 5px; +} + +.success, +.message, +.cake-error, +.cake-debug, +.notice, +p.error, +.error-message { + background: #ffcc00; + background-repeat: repeat-x; + background-image: -moz-linear-gradient(top, #ffcc00, #E6B800); + background-image: -ms-linear-gradient(top, #ffcc00, #E6B800); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffcc00), to(#E6B800)); + background-image: -webkit-linear-gradient(top, #ffcc00, #E6B800); + background-image: -o-linear-gradient(top, #ffcc00, #E6B800); + background-image: linear-gradient(top, #ffcc00, #E6B800); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + border: 1px solid rgba(0, 0, 0, 0.2); + margin-bottom: 18px; + padding: 7px 14px; + color: #404040; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); +} +.success, +.message, +.cake-error, +p.error, +.error-message { + clear: both; + color: #fff; + background: #c43c35; + border: 1px solid rgba(0, 0, 0, 0.5); + background-repeat: repeat-x; + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(top, #ee5f5b, #c43c35); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); +} +.success { + clear: both; + color: #fff; + border: 1px solid rgba(0, 0, 0, 0.5); + background: #3B8230; + background-repeat: repeat-x; + background-image: -webkit-gradient(linear, left top, left bottom, from(#76BF6B), to(#3B8230)); + background-image: -webkit-linear-gradient(top, #76BF6B, #3B8230); + background-image: -moz-linear-gradient(top, #76BF6B, #3B8230); + background-image: -ms-linear-gradient(top, #76BF6B, #3B8230); + background-image: -o-linear-gradient(top, #76BF6B, #3B8230); + background-image: linear-gradient(top, #76BF6B, #3B8230); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); +} +p.error { + font-family: Monaco, Consolas, Courier, monospace; + font-size: 120%; + padding: 0.8em; + margin: 1em 0; +} +p.error em { + font-weight: normal; + line-height: 140%; +} +.notice { + color: #000; + display: block; + font-size: 120%; + padding: 0.8em; + margin: 1em 0; +} +.success { + color: #fff; +} + +/** Actions **/ +.actions ul { + margin: 0; + padding: 0; +} +.actions li { + margin:0 0 0.5em 0; + list-style-type: none; + white-space: nowrap; + padding: 0; +} +.actions ul li a { + font-weight: normal; + display: block; + clear: both; +} + +/* Buttons and button links */ +input[type=submit], +.actions ul li a, +.actions a { + font-weight:normal; + padding: 4px 8px; + background: #dcdcdc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fefefe), to(#dcdcdc)); + background-image: -webkit-linear-gradient(top, #fefefe, #dcdcdc); + background-image: -moz-linear-gradient(top, #fefefe, #dcdcdc); + background-image: -ms-linear-gradient(top, #fefefe, #dcdcdc); + background-image: -o-linear-gradient(top, #fefefe, #dcdcdc); + background-image: linear-gradient(top, #fefefe, #dcdcdc); + color:#333; + border:1px solid #bbb; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + text-decoration: none; + text-shadow: #fff 0px 1px 0px; + min-width: 0; + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0px 1px 1px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0px 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0px 1px 1px rgba(0, 0, 0, 0.2); + -webkit-user-select: none; + user-select: none; +} +.actions ul li a:hover, +.actions a:hover { + background: #ededed; + border-color: #acacac; + text-decoration: none; +} +input[type=submit]:active, +.actions ul li a:active, +.actions a:active { + background: #eee; + background-image: -webkit-gradient(linear, left top, left bottom, from(#dfdfdf), to(#eee)); + background-image: -webkit-linear-gradient(top, #dfdfdf, #eee); + background-image: -moz-linear-gradient(top, #dfdfdf, #eee); + background-image: -ms-linear-gradient(top, #dfdfdf, #eee); + background-image: -o-linear-gradient(top, #dfdfdf, #eee); + background-image: linear-gradient(top, #dfdfdf, #eee); + text-shadow: #eee 0px 1px 0px; + -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3); + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3); + border-color: #aaa; + text-decoration: none; +} + +/** Related **/ +.related { + clear: both; + display: block; +} + +/** Debugging **/ +pre { + color: #000; + background: #f0f0f0; + padding: 15px; + -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); +} +.cake-debug-output { + padding: 0; + position: relative; +} +.cake-debug-output > span { + position: absolute; + top: 5px; + right: 5px; + background: rgba(255, 255, 255, 0.3); + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + padding: 5px 6px; + color: #000; + display: block; + float: left; + -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.25), 0 1px 0 rgba(255, 255, 255, 0.5); + -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.25), 0 1px 0 rgba(255, 255, 255, 0.5); + box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.25), 0 1px 0 rgba(255, 255, 255, 0.5); + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.8); +} +.cake-debug, +.cake-error { + font-size: 16px; + line-height: 20px; + clear: both; +} +.cake-error > a { + text-shadow: none; +} +.cake-error { + white-space: normal; +} +.cake-stack-trace { + background: rgba(255, 255, 255, 0.7); + color: #333; + margin: 10px 0 5px 0; + padding: 10px 10px 0 10px; + font-size: 120%; + line-height: 140%; + overflow: auto; + position: relative; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} +.cake-stack-trace a { + text-shadow: none; + background: rgba(255, 255, 255, 0.7); + padding: 5px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + border-radius: 10px; + margin: 0px 4px 10px 2px; + font-family: sans-serif; + font-size: 14px; + line-height: 14px; + display: inline-block; + text-decoration: none; + -moz-box-shadow: inset 0px 1px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: inset 0px 1px 0 rgba(0, 0, 0, 0.3); + box-shadow: inset 0px 1px 0 rgba(0, 0, 0, 0.3); +} +.cake-code-dump pre { + position: relative; + overflow: auto; +} +.cake-context { + margin-bottom: 10px; +} +.cake-stack-trace pre { + color: #000; + background-color: #F0F0F0; + margin: 0px 0 10px 0; + padding: 1em; + overflow: auto; + text-shadow: none; +} +.cake-stack-trace li { + padding: 10px 5px 0px; + margin: 0 0 4px 0; + font-family: monospace; + border: 1px solid #bbb; + -moz-border-radius: 4px; + -wekbkit-border-radius: 4px; + border-radius: 4px; + background: #dcdcdc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fefefe), to(#dcdcdc)); + background-image: -webkit-linear-gradient(top, #fefefe, #dcdcdc); + background-image: -moz-linear-gradient(top, #fefefe, #dcdcdc); + background-image: -ms-linear-gradient(top, #fefefe, #dcdcdc); + background-image: -o-linear-gradient(top, #fefefe, #dcdcdc); + background-image: linear-gradient(top, #fefefe, #dcdcdc); +} +/* excerpt */ +.cake-code-dump pre, +.cake-code-dump pre code { + clear: both; + font-size: 12px; + line-height: 15px; + margin: 4px 2px; + padding: 4px; + overflow: auto; +} +.cake-code-dump .code-highlight { + display: block; + background-color: rgba(255, 255, 0, 0.5); +} +.code-coverage-results div.code-line { + padding-left:5px; + display:block; + margin-left:10px; +} +.code-coverage-results div.uncovered span.content { + background:#ecc; +} +.code-coverage-results div.covered span.content { + background:#cec; +} +.code-coverage-results div.ignored span.content { + color:#aaa; +} +.code-coverage-results span.line-num { + color:#666; + display:block; + float:left; + width:20px; + text-align:right; + margin-right:5px; +} +.code-coverage-results span.line-num strong { + color:#666; +} +.code-coverage-results div.start { + border:1px solid #aaa; + border-width:1px 1px 0px 1px; + margin-top:30px; + padding-top:5px; +} +.code-coverage-results div.end { + border:1px solid #aaa; + border-width:0px 1px 1px 1px; + margin-bottom:30px; + padding-bottom:5px; +} +.code-coverage-results div.realstart { + margin-top:0px; +} +.code-coverage-results p.note { + color:#bbb; + padding:5px; + margin:5px 0 10px; + font-size:10px; +} +.code-coverage-results span.result-bad { + color: #a00; +} +.code-coverage-results span.result-ok { + color: #fa0; +} +.code-coverage-results span.result-good { + color: #0a0; +} + +/** Elements **/ +#url-rewriting-warning { + display:none; +} diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/favicon.ico b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/favicon.ico Binary files differnew file mode 100644 index 0000000..b36e81f --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/favicon.ico diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/files/empty b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/files/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/files/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/cake.icon.png b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/cake.icon.png Binary files differnew file mode 100644 index 0000000..394fa42 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/cake.icon.png diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/cake.power.gif b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/cake.power.gif Binary files differnew file mode 100644 index 0000000..8f8d570 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/cake.power.gif diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-error-icon.png b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-error-icon.png Binary files differnew file mode 100644 index 0000000..07bb124 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-error-icon.png diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-fail-icon.png b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-fail-icon.png Binary files differnew file mode 100644 index 0000000..f9d2f14 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-fail-icon.png diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-pass-icon.png b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-pass-icon.png Binary files differnew file mode 100644 index 0000000..99c5eb0 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-pass-icon.png diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-skip-icon.png b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-skip-icon.png Binary files differnew file mode 100644 index 0000000..749771c --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/img/test-skip-icon.png diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/index.php b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/index.php new file mode 100644 index 0000000..24ea876 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/index.php @@ -0,0 +1,92 @@ +<?php +/** + * Index + * + * The Front Controller for handling every request + * + * PHP 5 + * + * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://cakephp.org CakePHP(tm) Project + * @package app.webroot + * @since CakePHP(tm) v 0.2.9 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +/** + * Use the DS to separate the directories in other defines + */ +if (!defined('DS')) { + define('DS', DIRECTORY_SEPARATOR); +} +/** + * These defines should only be edited if you have cake installed in + * a directory layout other than the way it is distributed. + * When using custom settings be sure to use the DS and do not add a trailing DS. + */ + +/** + * The full path to the directory which holds "app", WITHOUT a trailing DS. + * + */ +if (!defined('ROOT')) { + define('ROOT', dirname(dirname(dirname(__FILE__)))); +} +/** + * The actual directory name for the "app". + * + */ +if (!defined('APP_DIR')) { + define('APP_DIR', basename(dirname(dirname(__FILE__)))); +} + +/** + * The absolute path to the "cake" directory, WITHOUT a trailing DS. + * + * Un-comment this line to specify a fixed path to CakePHP. + * This should point at the directory containing `Cake`. + * + * For ease of development CakePHP uses PHP's include_path. If you + * cannot modify your include_path set this value. + * + * Leaving this constant undefined will result in it being defined in Cake/bootstrap.php + */ + define('CAKE_CORE_INCLUDE_PATH', ROOT . '/../../vendor/cakephp-2.2.1-0-gcc44130/lib'); + +/** + * Editing below this line should NOT be necessary. + * Change at your own risk. + * + */ +if (!defined('WEBROOT_DIR')) { + define('WEBROOT_DIR', basename(dirname(__FILE__))); +} +if (!defined('WWW_ROOT')) { + define('WWW_ROOT', dirname(__FILE__) . DS); +} + +if (!defined('CAKE_CORE_INCLUDE_PATH')) { + if (function_exists('ini_set')) { + ini_set('include_path', ROOT . DS . 'lib' . PATH_SEPARATOR . ini_get('include_path')); + } + if (!include ('Cake' . DS . 'bootstrap.php')) { + $failed = true; + } +} else { + if (!include (CAKE_CORE_INCLUDE_PATH . DS . 'Cake' . DS . 'bootstrap.php')) { + $failed = true; + } +} +if (!empty($failed)) { + trigger_error("CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your " . DS . "cake core directory and your " . DS . "vendors root directory.", E_USER_ERROR); +} + +App::uses('Dispatcher', 'Routing'); + +$Dispatcher = new Dispatcher(); +$Dispatcher->dispatch(new CakeRequest(), new CakeResponse(array('charset' => Configure::read('App.encoding')))); diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/js/empty b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/js/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/js/empty diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/webroot/test.php b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/test.php new file mode 100644 index 0000000..39bea7a --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/app/webroot/test.php @@ -0,0 +1,92 @@ +<?php +/** + * Web Access Frontend for TestSuite + * + * PHP 5 + * + * CakePHP(tm) Tests <http://book.cakephp.org/2.0/en/development/testing.html> + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://book.cakephp.org/2.0/en/development/testing.html + * @package app.webroot + * @since CakePHP(tm) v 1.2.0.4433 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +set_time_limit(0); +ini_set('display_errors', 1); +/** + * Use the DS to separate the directories in other defines + */ +if (!defined('DS')) { + define('DS', DIRECTORY_SEPARATOR); +} +/** + * These defines should only be edited if you have cake installed in + * a directory layout other than the way it is distributed. + * When using custom settings be sure to use the DS and do not add a trailing DS. + */ + +/** + * The full path to the directory which holds "app", WITHOUT a trailing DS. + * + */ +if (!defined('ROOT')) { + define('ROOT', dirname(dirname(dirname(__FILE__)))); +} +/** + * The actual directory name for the "app". + * + */ +if (!defined('APP_DIR')) { + define('APP_DIR', basename(dirname(dirname(__FILE__)))); +} + +/** + * The absolute path to the "Cake" directory, WITHOUT a trailing DS. + * + * For ease of development CakePHP uses PHP's include_path. If you + * need to cannot modify your include_path, you can set this path. + * + * Leaving this constant undefined will result in it being defined in Cake/bootstrap.php + */ + //define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'lib'); + +/** + * Editing below this line should not be necessary. + * Change at your own risk. + * + */ +if (!defined('WEBROOT_DIR')) { + define('WEBROOT_DIR', basename(dirname(__FILE__))); +} +if (!defined('WWW_ROOT')) { + define('WWW_ROOT', dirname(__FILE__) . DS); +} + +if (!defined('CAKE_CORE_INCLUDE_PATH')) { + if (function_exists('ini_set')) { + ini_set('include_path', ROOT . DS . 'lib' . PATH_SEPARATOR . ini_get('include_path')); + } + if (!include ('Cake' . DS . 'bootstrap.php')) { + $failed = true; + } +} else { + if (!include (CAKE_CORE_INCLUDE_PATH . DS . 'Cake' . DS . 'bootstrap.php')) { + $failed = true; + } +} +if (!empty($failed)) { + trigger_error("CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your " . DS . "cake core directory and your " . DS . "vendors root directory.", E_USER_ERROR); +} + +if (Configure::read('debug') < 1) { + die(__d('cake_dev', 'Debug setting does not allow access to this url.')); +} + +require_once CAKE . 'TestSuite' . DS . 'CakeTestSuiteDispatcher.php'; + +CakeTestSuiteDispatcher::run(); diff --git a/poc/poc02-compiling-cake/src/workdir/in/index.php b/poc/poc02-compiling-cake/src/workdir/in/index.php new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/poc/poc02-compiling-cake/src/workdir/in/index.php |