リビジョン 5ad38a95

差分を見る:

.editorconfig
1
; This file is for unifying the coding style for different editors and IDEs.
2
; More information at http://editorconfig.org
3

  
4
root = true
5

  
6
[*]
7
indent_style = tab
8
end_of_line = lf
9
insert_final_newline = true
10
trim_trailing_whitespace = true
11

  
12
[*.bat]
13
end_of_line = crlf
14

  
15
[*.yml]
16
indent_style = space
17
indent_size = 2
.gitattributes
1
# Define the line ending behavior of the different file extensions
2
# Set default behaviour, in case users don't have core.autocrlf set.
3
* text=auto
4
* text eol=lf
5

  
6
# Explicitly declare text files we want to always be normalized and converted
7
# to native line endings on checkout.
8
*.php text
9
*.default text
10
*.ctp text
11
*.sql text
12
*.md text
13
*.po text
14
*.js text
15
*.css text
16
*.ini text
17
*.properties text
18
*.txt text
19
*.xml text
20
*.yml text
21
.htaccess text
22

  
23
# Declare files that will always have CRLF line endings on checkout.
24
*.bat eol=crlf
25

  
26
# Declare files that will always have LF line endings on checkout.
27
*.pem eol=lf
28

  
29
# Denote all files that are truly binary and should not be modified.
30
*.png binary
31
*.jpg binary
32
*.gif binary
33
*.ico binary
34
*.mo binary
35
*.pdf binary
36
*.woff binary
37
*.ttf binary
38
*.eot binary
.gitignore
1
# User specific & automatically generated files #
2
#################################################
3
/app/Config/database.php
4
/app/tmp
5
/lib/Cake/Console/Templates/skel/tmp/
6
/plugins
7
/vendors
8
/build
9
/dist
10
/tags
11
*.mo
12

  
13
# IDE and editor specific files #
14
#################################
15
/nbproject
16
.idea
17

  
18
# OS generated files #
19
######################
20
.DS_Store
21
.DS_Store?
22
._*
23
.Spotlight-V100
24
.Trashes
25
Icon?
26
ehthumbs.db
27
Thumbs.db
.htaccess
1
<IfModule mod_rewrite.c>
2
	RewriteEngine on
3
	RewriteRule ^$ app/webroot/ [L]
4
	RewriteRule (.*) app/webroot/$1 [L]
5
</IfModule>
.travis.yml
1
language: php
2

  
3
php:
4
  - 5.3
5
  - 5.4
6
  - 5.5
7
  - 5.6
8

  
9
env:
10
  - DB=mysql
11

  
12
services:
13
  - memcached
14

  
15
matrix:
16
  fast_finish: true
17
  include:
18
    - php: 5.4
19
      env: DB=pgsql
20

  
21
    - php: 5.4
22
      env: DB=sqlite
23

  
24
    - php: 5.4
25
      env: PHPCS=1
26

  
27

  
28
before_script:
29
  - sh -c "composer global require 'phpunit/phpunit=3.7.33'"
30
  - sh -c "ln -s ~/.composer/vendor/phpunit/phpunit/PHPUnit ./vendors/PHPUnit"
31
  - sudo locale-gen de_DE
32
  - sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE cakephp_test;'; fi"
33
  - sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE cakephp_test2;'; fi"
34
  - sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE cakephp_test3;'; fi"
35
  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE DATABASE cakephp_test;' -U postgres; fi"
36
  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE SCHEMA test2;' -U postgres -d cakephp_test; fi"
37
  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE SCHEMA test3;' -U postgres -d cakephp_test; fi"
38
  - chmod -R 777 ./app/tmp
39
  - sh -c "if [ '$PHPCS' = '1' ]; then composer global require 'cakephp/cakephp-codesniffer:1.*'; fi"
40
  - sh -c "if [ '$PHPCS' = '1' ]; then ~/.composer/vendor/bin/phpcs --config-set installed_paths ~/.composer/vendor/cakephp/cakephp-codesniffer; fi"
41
  - echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
42
  - phpenv rehash
43
  - set +H
44
  - echo "<?php
45
    class DATABASE_CONFIG {
46
    private \$identities = array(
47
      'mysql' => array(
48
        'datasource' => 'Database/Mysql',
49
        'host' => '0.0.0.0',
50
        'login' => 'travis'
51
      ),
52
      'pgsql' => array(
53
        'datasource' => 'Database/Postgres',
54
        'host' => '127.0.0.1',
55
        'login' => 'postgres',
56
        'database' => 'cakephp_test',
57
        'schema' => array(
58
          'default' => 'public',
59
          'test' => 'public',
60
          'test2' => 'test2',
61
          'test_database_three' => 'test3'
62
        )
63
      ),
64
      'sqlite' => array(
65
        'datasource' => 'Database/Sqlite',
66
        'database' => array(
67
          'default' => ':memory:',
68
          'test' => ':memory:',
69
          'test2' => '/tmp/cakephp_test2.db',
70
          'test_database_three' => '/tmp/cakephp_test3.db'
71
        ),
72
      )
73
    );
74
    public \$default = array(
75
      'persistent' => false,
76
      'host' => '',
77
      'login' => '',
78
      'password' => '',
79
      'database' => 'cakephp_test',
80
      'prefix' => ''
81
    );
82
    public \$test = array(
83
      'persistent' => false,
84
      'host' => '',
85
      'login' => '',
86
      'password' => '',
87
      'database' => 'cakephp_test',
88
      'prefix' => ''
89
    );
90
    public \$test2 = array(
91
      'persistent' => false,
92
      'host' => '',
93
      'login' => '',
94
      'password' => '',
95
      'database' => 'cakephp_test2',
96
      'prefix' => ''
97
    );
98
    public \$test_database_three = array(
99
      'persistent' => false,
100
      'host' => '',
101
      'login' => '',
102
      'password' => '',
103
      'database' => 'cakephp_test3',
104
      'prefix' => ''
105
    );
106
    public function __construct() {
107
      \$db = 'mysql';
108
      if (!empty(\$_SERVER['DB'])) {
109
        \$db = \$_SERVER['DB'];
110
      }
111
      foreach (array('default', 'test', 'test2', 'test_database_three') as \$source) {
112
        \$config = array_merge(\$this->{\$source}, \$this->identities[\$db]);
113
        if (is_array(\$config['database'])) {
114
          \$config['database'] = \$config['database'][\$source];
115
        }
116
        if (!empty(\$config['schema']) && is_array(\$config['schema'])) {
117
          \$config['schema'] = \$config['schema'][\$source];
118
        }
119
        \$this->{\$source} = \$config;
120
      }
121
    }
122
    }" > app/Config/database.php
123
script:
124
  - sh -c "if [ '$PHPCS' != '1' ]; then ./lib/Cake/Console/cake test core AllTests --stderr; fi"
125
  - sh -c "if [ '$PHPCS' = '1' ]; then ~/.composer/vendor/bin/phpcs -p --extensions=php --standard=CakePHP ./lib/Cake; fi;"
126

  
127
notifications:
128
  email: false
CONTRIBUTING.md
1
# How to contribute
2

  
3
CakePHP loves to welcome your contributions. There are several ways to help out:
4
* Create an [issue](https://github.com/cakephp/cakephp/issues) on GitHub, if you have found a bug
5
* Write test cases for open bug issues
6
* Write patches for open bug/feature issues, preferably with test cases included
7
* Contribute to the [documentation](https://github.com/cakephp/docs)
8

  
9
There are a few guidelines that we need contributors to follow so that we have a
10
chance of keeping on top of things.
11

  
12
## Code of Conduct
13

  
14
Help us keep CakePHP open and inclusive. Please read and follow our [Code of Conduct](https://github.com/cakephp/code-of-conduct/blob/master/CODE_OF_CONDUCT.md).
15

  
16
## Getting Started
17

  
18
* Make sure you have a [GitHub account](https://github.com/signup/free).
19
* Submit an [issue](https://github.com/cakephp/cakephp/issues), assuming one does not already exist.
20
  * Clearly describe the issue including steps to reproduce when it is a bug.
21
  * Make sure you fill in the earliest version that you know has the issue.
22
* Fork the repository on GitHub.
23

  
24
## Making Changes
25

  
26
* Create a topic branch from where you want to base your work.
27
  * This is usually the master branch.
28
  * Only target release branches if you are certain your fix must be on that
29
    branch.
30
  * To quickly create a topic branch based on master; `git branch
31
    master/my_contribution master` then checkout the new branch with `git
32
    checkout master/my_contribution`. Better avoid working directly on the
33
    `master` branch, to avoid conflicts if you pull in updates from origin.
34
* Make commits of logical units.
35
* Check for unnecessary whitespace with `git diff --check` before committing.
36
* Use descriptive commit messages and reference the #issue number.
37
* Core test cases should continue to pass. You can run tests locally or enable
38
  [travis-ci](https://travis-ci.org/) for your fork, so all tests and codesniffs
39
  will be executed.
40
* Your work should apply the [CakePHP coding standards](http://book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html).
41

  
42
## Which branch to base the work
43

  
44
* Bugfix branches will be based on master.
45
* New features that are backwards compatible will be based on next minor release
46
  branch.
47
* New features or other non backwards compatible changes will go in the next major release branch.
48

  
49
## Submitting Changes
50

  
51
* Push your changes to a topic branch in your fork of the repository.
52
* Submit a pull request to the repository in the cakephp organization, with the
53
  correct target branch.
54

  
55
## Test cases and codesniffer
56

  
57
CakePHP tests requires [PHPUnit](http://www.phpunit.de/manual/current/en/installation.html)
58
3.7, version 4 is not compatible. To run the test cases locally use the following command:
59

  
60
    ./lib/Cake/Console/cake test core AllTests --stderr
61

  
62
To run the sniffs for CakePHP coding standards:
63

  
64
    phpcs -p --extensions=php --standard=CakePHP ./lib/Cake
65

  
66
Check the [cakephp-codesniffer](https://github.com/cakephp/cakephp-codesniffer)
67
repository to setup the CakePHP standard. The [README](https://github.com/cakephp/cakephp-codesniffer/blob/master/README.md) contains installation info
68
for the sniff and phpcs.
69

  
70
## Reporting a Security Issue
71

  
72
If you've found a security related issue in CakePHP, please don't open an issue in GitHub. Instead contact us at security@cakephp.org. For more information on how we handle security issues, [see the CakePHP Security Issue Process](http://book.cakephp.org/2.0/en/contributing/tickets.html#reporting-security-issues).
73

  
74
# Additional Resources
75

  
76
* [CakePHP coding standards](http://book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html)
77
* [Existing issues](https://github.com/cakephp/cakephp/issues)
78
* [Development Roadmaps](https://github.com/cakephp/cakephp/wiki#roadmaps)
79
* [General GitHub documentation](https://help.github.com/)
80
* [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
81
* #cakephp IRC channel on freenode.org
README.md
1
# CakePHP
2

  
3
[![Latest Stable Version](https://poser.pugx.org/cakephp/cakephp/v/stable.svg)](https://packagist.org/packages/cakephp/cakephp)
4
[![License](https://poser.pugx.org/cakephp/cakephp/license.svg)](https://packagist.org/packages/cakephp/cakephp)
5
[![Bake Status](https://secure.travis-ci.org/cakephp/cakephp.png?branch=master)](http://travis-ci.org/cakephp/cakephp)
6
[![Code consistency](http://squizlabs.github.io/PHP_CodeSniffer/analysis/cakephp/cakephp/grade.svg)](http://squizlabs.github.io/PHP_CodeSniffer/analysis/cakephp/cakephp/)
7

  
8
[![CakePHP](http://cakephp.org/img/cake-logo.png)](http://www.cakephp.org)
9

  
10
CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Active Record, Association Data Mapping, Front Controller and MVC.
11
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.
12

  
13

  
14
## Some Handy Links
15

  
16
[CakePHP](http://www.cakephp.org) - The rapid development PHP framework
17

  
18
[CookBook](http://book.cakephp.org) - THE CakePHP user documentation; start learning here!
19

  
20
[API](http://api.cakephp.org) - A reference to CakePHP's classes
21

  
22
[Plugins](http://plugins.cakephp.org/) - A repository of extensions to the framework
23

  
24
[The Bakery](http://bakery.cakephp.org) - Tips, tutorials and articles
25

  
26
[Community Center](http://community.cakephp.org) - A source for everything community related
27

  
28
[Training](http://training.cakephp.org) - Join a live session and get skilled with the framework
29

  
30
[CakeFest](http://cakefest.org) - Don't miss our annual CakePHP conference
31

  
32
[Cake Software Foundation](http://cakefoundation.org) - Promoting development related to CakePHP
33

  
34

  
35
## Get Support!
36

  
37
[#cakephp](http://webchat.freenode.net/?channels=#cakephp) on irc.freenode.net - Come chat with us, we have cake
38

  
39
[Google Group](https://groups.google.com/group/cake-php) - Community mailing list and forum
40

  
41
[GitHub Issues](https://github.com/cakephp/cakephp/issues) - Got issues? Please tell us!
42

  
43
[Roadmaps](https://github.com/cakephp/cakephp/wiki#roadmaps) - Want to contribute? Get involved!
44

  
45

  
46
## Contributing
47

  
48
[CONTRIBUTING.md](CONTRIBUTING.md) - Quick pointers for contributing to the CakePHP project
49

  
50
[CookBook "Contributing" Section (2.x)](http://book.cakephp.org/2.0/en/contributing.html) [(3.0)](http://book.cakephp.org/3.0/en/contributing.html) - Version-specific details about contributing to the project
app/.htaccess
1
<IfModule mod_rewrite.c>
2
	RewriteEngine on
3
	RewriteRule ^$ webroot/ [L]
4
	RewriteRule (.*) webroot/$1 [L]
5
</IfModule>
app/Config/Schema/db_acl.php
1
<?php
2
/**
3
 * This is Acl Schema file
4
 *
5
 * Use it to configure database for ACL
6
 *
7
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
8
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
9
 *
10
 * Licensed under The MIT License
11
 * For full copyright and license information, please see the LICENSE.txt
12
 * Redistributions of files must retain the above copyright notice.
13
 *
14
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
15
 * @link          http://cakephp.org CakePHP(tm) Project
16
 * @package       app.Config.Schema
17
 * @since         CakePHP(tm) v 0.2.9
18
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
19
 */
20

  
21
/**
22
 * Using the Schema command line utility
23
 * cake schema run create DbAcl
24
 */
25
class DbAclSchema extends CakeSchema {
26

  
27
/**
28
 * Before event.
29
 *
30
 * @param array $event The event data.
31
 * @return bool Success
32
 */
33
	public function before($event = array()) {
34
		return true;
35
	}
36

  
37
/**
38
 * After event.
39
 *
40
 * @param array $event The event data.
41
 * @return void
42
 */
43
	public function after($event = array()) {
44
	}
45

  
46
/**
47
 * ACO - Access Control Object - Something that is wanted
48
 */
49
	public $acos = array(
50
		'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => 10, 'key' => 'primary'),
51
		'parent_id' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10),
52
		'model' => array('type' => 'string', 'null' => true),
53
		'foreign_key' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10),
54
		'alias' => array('type' => 'string', 'null' => true),
55
		'lft' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10),
56
		'rght' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10),
57
		'indexes' => array(
58
			'PRIMARY' => array('column' => 'id', 'unique' => 1),
59
			'idx_acos_lft_rght' => array('column' => array('lft', 'rght'), 'unique' => 0),
60
			'idx_acos_alias' => array('column' => 'alias', 'unique' => 0)
61
		)
62
	);
63

  
64
/**
65
 * ARO - Access Request Object - Something that wants something
66
 */
67
	public $aros = array(
68
		'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => 10, 'key' => 'primary'),
69
		'parent_id' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10),
70
		'model' => array('type' => 'string', 'null' => true),
71
		'foreign_key' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10),
72
		'alias' => array('type' => 'string', 'null' => true),
73
		'lft' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10),
74
		'rght' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 10),
75
		'indexes' => array(
76
			'PRIMARY' => array('column' => 'id', 'unique' => 1),
77
			'idx_aros_lft_rght' => array('column' => array('lft', 'rght'), 'unique' => 0),
78
			'idx_aros_alias' => array('column' => 'alias', 'unique' => 0)
79
		)
80
	);
81

  
82
/**
83
 * Used by the Cake::Model:Permission class.
84
 * Checks if the given $aro has access to action $action in $aco.
85
 */
86
	public $aros_acos = array(
87
		'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => 10, 'key' => 'primary'),
88
		'aro_id' => array('type' => 'integer', 'null' => false, 'length' => 10, 'key' => 'index'),
89
		'aco_id' => array('type' => 'integer', 'null' => false, 'length' => 10),
90
		'_create' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2),
91
		'_read' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2),
92
		'_update' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2),
93
		'_delete' => array('type' => 'string', 'null' => false, 'default' => '0', 'length' => 2),
94
		'indexes' => array(
95
			'PRIMARY' => array('column' => 'id', 'unique' => 1),
96
			'ARO_ACO_KEY' => array('column' => array('aro_id', 'aco_id'), 'unique' => 1),
97
			'idx_aco_id' => array('column' => 'aco_id', 'unique' => 0)
98
		)
99
	);
100

  
101
}
app/Config/Schema/db_acl.sql
1
# $Id$
2
#
3
# Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
4
#
5
# Licensed under The MIT License
6
# For full copyright and license information, please see the LICENSE.txt
7
# Redistributions of files must retain the above copyright notice.
8
# MIT License (http://www.opensource.org/licenses/mit-license.php)
9

  
10
CREATE TABLE acos (
11
  id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
12
  parent_id INTEGER(10) DEFAULT NULL,
13
  model VARCHAR(255) DEFAULT '',
14
  foreign_key INTEGER(10) UNSIGNED DEFAULT NULL,
15
  alias VARCHAR(255) DEFAULT '',
16
  lft INTEGER(10) DEFAULT NULL,
17
  rght INTEGER(10) DEFAULT NULL,
18
  PRIMARY KEY  (id)
19
);
20

  
21
CREATE TABLE aros_acos (
22
  id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
23
  aro_id INTEGER(10) UNSIGNED NOT NULL,
24
  aco_id INTEGER(10) UNSIGNED NOT NULL,
25
  _create CHAR(2) NOT NULL DEFAULT 0,
26
  _read CHAR(2) NOT NULL DEFAULT 0,
27
  _update CHAR(2) NOT NULL DEFAULT 0,
28
  _delete CHAR(2) NOT NULL DEFAULT 0,
29
  PRIMARY KEY(id)
30
);
31

  
32
CREATE TABLE aros (
33
  id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
34
  parent_id INTEGER(10) DEFAULT NULL,
35
  model VARCHAR(255) DEFAULT '',
36
  foreign_key INTEGER(10) UNSIGNED DEFAULT NULL,
37
  alias VARCHAR(255) DEFAULT '',
38
  lft INTEGER(10) DEFAULT NULL,
39
  rght INTEGER(10) DEFAULT NULL,
40
  PRIMARY KEY  (id)
41
);
42

  
43
/* this indexes will improve acl perfomance */
44
CREATE INDEX idx_acos_lft_rght ON `acos` (`lft`, `rght`);
45

  
46
CREATE INDEX idx_acos_alias ON `acos` (`alias`);
47

  
48
CREATE INDEX idx_aros_lft_rght ON `aros` (`lft`, `rght`);
49

  
50
CREATE INDEX idx_aros_alias ON `aros` (`alias`);
51

  
52
CREATE INDEX idx_aco_id ON `aros_acos` (`aco_id`);
app/Config/Schema/i18n.php
1
<?php
2
/**
3
 * This is i18n Schema file
4
 *
5
 * Use it to configure database for i18n
6
 *
7
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
8
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
9
 *
10
 * Licensed under The MIT License
11
 * For full copyright and license information, please see the LICENSE.txt
12
 * Redistributions of files must retain the above copyright notice.
13
 *
14
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
15
 * @link          http://cakephp.org CakePHP(tm) Project
16
 * @package       app.Config.Schema
17
 * @since         CakePHP(tm) v 0.2.9
18
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
19
 */
20

  
21
/**
22
 * Using the Schema command line utility
23
 *
24
 * Use it to configure database for i18n
25
 *
26
 * cake schema run create i18n
27
 */
28
class I18nSchema extends CakeSchema {
29

  
30
/**
31
 * The name property
32
 *
33
 * @var string
34
 */
35
	public $name = 'i18n';
36

  
37
/**
38
 * Before callback.
39
 *
40
 * @param array $event Schema object properties
41
 * @return bool Should process continue
42
 */
43
	public function before($event = array()) {
44
		return true;
45
	}
46

  
47
/**
48
 * After callback.
49
 *
50
 * @param array $event Schema object properties
51
 * @return void
52
 */
53
	public function after($event = array()) {
54
	}
55

  
56
/**
57
 * The i18n table definition
58
 *
59
 * @var array
60
 */
61
	public $i18n = array(
62
		'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => 10, 'key' => 'primary'),
63
		'locale' => array('type' => 'string', 'null' => false, 'length' => 6, 'key' => 'index'),
64
		'model' => array('type' => 'string', 'null' => false, 'key' => 'index'),
65
		'foreign_key' => array('type' => 'integer', 'null' => false, 'length' => 10, 'key' => 'index'),
66
		'field' => array('type' => 'string', 'null' => false, 'key' => 'index'),
67
		'content' => array('type' => 'text', 'null' => true, 'default' => null),
68
		'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))
69
	);
70

  
71
}
app/Config/Schema/i18n.sql
1
# $Id$
2
#
3
# Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
4
#
5
# Licensed under The MIT License
6
# For full copyright and license information, please see the LICENSE.txt
7
# Redistributions of files must retain the above copyright notice.
8
# MIT License (http://www.opensource.org/licenses/mit-license.php)
9

  
10
CREATE TABLE i18n (
11
	id int(10) NOT NULL auto_increment,
12
	locale varchar(6) NOT NULL,
13
	model varchar(255) NOT NULL,
14
	foreign_key int(10) NOT NULL,
15
	field varchar(255) NOT NULL,
16
	content mediumtext,
17
	PRIMARY KEY	(id),
18
#	UNIQUE INDEX I18N_LOCALE_FIELD(locale, model, foreign_key, field),
19
#	INDEX I18N_LOCALE_ROW(locale, model, foreign_key),
20
#	INDEX I18N_LOCALE_MODEL(locale, model),
21
#	INDEX I18N_FIELD(model, foreign_key, field),
22
#	INDEX I18N_ROW(model, foreign_key),
23
	INDEX locale (locale),
24
	INDEX model (model),
25
	INDEX row_id (foreign_key),
26
	INDEX field (field)
27
);
app/Config/Schema/sessions.php
1
<?php
2
/**
3
 * This is Sessions Schema file
4
 *
5
 * Use it to configure database for Sessions
6
 *
7
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
8
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
9
 *
10
 * Licensed under The MIT License
11
 * For full copyright and license information, please see the LICENSE.txt
12
 * Redistributions of files must retain the above copyright notice.
13
 *
14
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
15
 * @link          http://cakephp.org CakePHP(tm) Project
16
 * @package       app.Config.Schema
17
 * @since         CakePHP(tm) v 0.2.9
18
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
19
 */
20

  
21
/**
22
 * Using the Schema command line utility
23
 * cake schema run create Sessions
24
 */
25
class SessionsSchema extends CakeSchema {
26

  
27
/**
28
 * Name property
29
 *
30
 * @var string
31
 */
32
	public $name = 'Sessions';
33

  
34
/**
35
 * Before callback.
36
 *
37
 * @param array $event Schema object properties
38
 * @return bool Should process continue
39
 */
40
	public function before($event = array()) {
41
		return true;
42
	}
43

  
44
/**
45
 * After callback.
46
 *
47
 * @param array $event Schema object properties
48
 * @return void
49
 */
50
	public function after($event = array()) {
51
	}
52

  
53
/**
54
 * The cake_sessions table definition
55
 *
56
 * @var array
57
 */
58
	public $cake_sessions = array(
59
		'id' => array('type' => 'string', 'null' => false, 'key' => 'primary'),
60
		'data' => array('type' => 'text', 'null' => true, 'default' => null),
61
		'expires' => array('type' => 'integer', 'null' => true, 'default' => null),
62
		'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1))
63
	);
64

  
65
}
app/Config/Schema/sessions.sql
1
# $Id$
2
#
3
# Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
4
#								1785 E. Sahara Avenue, Suite 490-204
5
#								Las Vegas, Nevada 89104
6
#
7
# Licensed under The MIT License
8
# For full copyright and license information, please see the LICENSE.txt
9
# Redistributions of files must retain the above copyright notice.
10
# MIT License (http://www.opensource.org/licenses/mit-license.php)
11

  
12
CREATE TABLE cake_sessions (
13
  id varchar(255) NOT NULL default '',
14
  data text,
15
  expires int(11) default NULL,
16
  PRIMARY KEY  (id)
17
);
app/Config/acl.ini.php
1
;<?php exit() ?>
2
;/**
3
; * ACL Configuration
4
; *
5
; * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
6
; * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
7
; *
8
; *  Licensed under The MIT License
9
; *  Redistributions of files must retain the above copyright notice.
10
; *
11
; * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
12
; * @link          http://cakephp.org CakePHP(tm) Project
13
; * @package       app.Config
14
; * @since         CakePHP(tm) v 0.10.0.1076
15
; * @license       http://www.opensource.org/licenses/mit-license.php MIT License
16
; */
17

  
18
; acl.ini.php - CakePHP ACL Configuration
19
; ---------------------------------------------------------------------
20
; Use this file to specify user permissions.
21
; aco = access control object (something in your application)
22
; aro = access request object (something requesting access)
23
;
24
; User records are added as follows:
25
;
26
; [uid]
27
; groups = group1, group2, group3
28
; allow = aco1, aco2, aco3
29
; deny = aco4, aco5, aco6
30
;
31
; Group records are added in a similar manner:
32
;
33
; [gid]
34
; allow = aco1, aco2, aco3
35
; deny = aco4, aco5, aco6
36
;
37
; The allow, deny, and groups sections are all optional.
38
; NOTE: groups names *cannot* ever be the same as usernames!
39
;
40
; ACL permissions are checked in the following order:
41
; 1. Check for user denies (and DENY if specified)
42
; 2. Check for user allows (and ALLOW if specified)
43
; 3. Gather user's groups
44
; 4. Check group denies (and DENY if specified)
45
; 5. Check group allows (and ALLOW if specified)
46
; 6. If no aro, aco, or group information is found, DENY
47
;
48
; ---------------------------------------------------------------------
49

  
50
;-------------------------------------
51
;Users
52
;-------------------------------------
53

  
54
[username-goes-here]
55
groups = group1, group2
56
deny = aco1, aco2
57
allow = aco3, aco4
58

  
59
;-------------------------------------
60
;Groups
61
;-------------------------------------
62

  
63
[groupname-goes-here]
64
deny = aco5, aco6
65
allow = aco7, aco8
app/Config/acl.php
1
<?php
2
/**
3
 * This is the PHP base ACL configuration file.
4
 *
5
 * Use it to configure access control of your CakePHP application.
6
 *
7
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
8
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
9
 *
10
 * Licensed under The MIT License
11
 * For full copyright and license information, please see the LICENSE.txt
12
 * Redistributions of files must retain the above copyright notice.
13
 *
14
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
15
 * @link          http://cakephp.org CakePHP(tm) Project
16
 * @package       app.Config
17
 * @since         CakePHP(tm) v 2.1
18
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
19
 */
20

  
21
/**
22
 * Example
23
 * -------
24
 *
25
 * Assumptions:
26
 *
27
 * 1. In your application you created a User model with the following properties:
28
 *    username, group_id, password, email, firstname, lastname and so on.
29
 * 2. You configured AuthComponent to authorize actions via
30
 *    $this->Auth->authorize = array('Actions' => array('actionPath' => 'controllers/'),...)
31
 *
32
 * Now, when a user (i.e. jeff) authenticates successfully and requests a controller action (i.e. /invoices/delete)
33
 * that is not allowed by default (e.g. via $this->Auth->allow('edit') in the Invoices controller) then AuthComponent
34
 * will ask the configured ACL interface if access is granted. Under the assumptions 1. and 2. this will be
35
 * done via a call to Acl->check() with
36
 *
37
 * ```
38
 * array('User' => array('username' => 'jeff', 'group_id' => 4, ...))
39
 * ```
40
 *
41
 * as ARO and
42
 *
43
 * ```
44
 * '/controllers/invoices/delete'
45
 * ```
46
 *
47
 * as ACO.
48
 *
49
 * If the configured map looks like
50
 *
51
 * ```
52
 * $config['map'] = array(
53
 *    'User' => 'User/username',
54
 *    'Role' => 'User/group_id',
55
 * );
56
 * ```
57
 *
58
 * then PhpAcl will lookup if we defined a role like User/jeff. If that role is not found, PhpAcl will try to
59
 * find a definition for Role/4. If the definition isn't found then a default role (Role/default) will be used to
60
 * check rules for the given ACO. The search can be expanded by defining aliases in the alias configuration.
61
 * E.g. if you want to use a more readable name than Role/4 in your definitions you can define an alias like
62
 *
63
 * ```
64
 * $config['alias'] = array(
65
 *    'Role/4' => 'Role/editor',
66
 * );
67
 * ```
68
 *
69
 * In the roles configuration you can define roles on the lhs and inherited roles on the rhs:
70
 *
71
 * ```
72
 * $config['roles'] = array(
73
 *    'Role/admin' => null,
74
 *    'Role/accountant' => null,
75
 *    'Role/editor' => null,
76
 *    'Role/manager' => 'Role/editor, Role/accountant',
77
 *    'User/jeff' => 'Role/manager',
78
 * );
79
 * ```
80
 *
81
 * In this example manager inherits all rules from editor and accountant. Role/admin doesn't inherit from any role.
82
 * Lets define some rules:
83
 *
84
 * ```
85
 * $config['rules'] = array(
86
 *    'allow' => array(
87
 *        '*' => 'Role/admin',
88
 *        'controllers/users/(dashboard|profile)' => 'Role/default',
89
 *        'controllers/invoices/*' => 'Role/accountant',
90
 *        'controllers/articles/*' => 'Role/editor',
91
 *        'controllers/users/*'  => 'Role/manager',
92
 *        'controllers/invoices/delete'  => 'Role/manager',
93
 *    ),
94
 *    'deny' => array(
95
 *        'controllers/invoices/delete' => 'Role/accountant, User/jeff',
96
 *        'controllers/articles/(delete|publish)' => 'Role/editor',
97
 *    ),
98
 * );
99
 * ```
100
 *
101
 * Ok, so as jeff inherits from Role/manager he's matched every rule that references User/jeff, Role/manager,
102
 * Role/editor, and Role/accountant. However, for jeff, rules for User/jeff are more specific than
103
 * rules for Role/manager, rules for Role/manager are more specific than rules for Role/editor and so on.
104
 * This is important when allow and deny rules match for a role. E.g. Role/accountant is allowed
105
 * controllers/invoices/* but at the same time controllers/invoices/delete is denied. But there is a more
106
 * specific rule defined for Role/manager which is allowed controllers/invoices/delete. However, the most specific
107
 * rule denies access to the delete action explicitly for User/jeff, so he'll be denied access to the resource.
108
 *
109
 * If we would remove the role definition for User/jeff, then jeff would be granted access as he would be resolved
110
 * to Role/manager and Role/manager has an allow rule.
111
 */
112

  
113
/**
114
 * The role map defines how to resolve the user record from your application
115
 * to the roles you defined in the roles configuration.
116
 */
117
$config['map'] = array(
118
	'User' => 'User/username',
119
	'Role' => 'User/group_id',
120
);
121

  
122
/**
123
 * define aliases to map your model information to
124
 * the roles defined in your role configuration.
125
 */
126
$config['alias'] = array(
127
	'Role/4' => 'Role/editor',
128
);
129

  
130
/**
131
 * role configuration
132
 */
133
$config['roles'] = array(
134
	'Role/admin' => null,
135
);
136

  
137
/**
138
 * rule configuration
139
 */
140
$config['rules'] = array(
141
	'allow' => array(
142
		'*' => 'Role/admin',
143
	),
144
	'deny' => array(),
145
);
app/Config/bootstrap.php
1
<?php
2
/**
3
 * This file is loaded automatically by the app/webroot/index.php file after core.php
4
 *
5
 * This file should load/create any application wide configuration settings, such as
6
 * Caching, Logging, loading additional configuration files.
7
 *
8
 * You should also use this file to include any files that provide global functions/constants
9
 * that your application uses.
10
 *
11
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
12
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
13
 *
14
 * Licensed under The MIT License
15
 * For full copyright and license information, please see the LICENSE.txt
16
 * Redistributions of files must retain the above copyright notice.
17
 *
18
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
19
 * @link          http://cakephp.org CakePHP(tm) Project
20
 * @package       app.Config
21
 * @since         CakePHP(tm) v 0.10.8.2117
22
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
23
 */
24

  
25
// Setup a 'default' cache configuration for use in the application.
26
Cache::config('default', array('engine' => 'File'));
27

  
28
/**
29
 * The settings below can be used to set additional paths to models, views and controllers.
30
 *
31
 * App::build(array(
32
 *     'Model'                     => array('/path/to/models/', '/next/path/to/models/'),
33
 *     'Model/Behavior'            => array('/path/to/behaviors/', '/next/path/to/behaviors/'),
34
 *     'Model/Datasource'          => array('/path/to/datasources/', '/next/path/to/datasources/'),
35
 *     'Model/Datasource/Database' => array('/path/to/databases/', '/next/path/to/database/'),
36
 *     'Model/Datasource/Session'  => array('/path/to/sessions/', '/next/path/to/sessions/'),
37
 *     'Controller'                => array('/path/to/controllers/', '/next/path/to/controllers/'),
38
 *     'Controller/Component'      => array('/path/to/components/', '/next/path/to/components/'),
39
 *     'Controller/Component/Auth' => array('/path/to/auths/', '/next/path/to/auths/'),
40
 *     'Controller/Component/Acl'  => array('/path/to/acls/', '/next/path/to/acls/'),
41
 *     'View'                      => array('/path/to/views/', '/next/path/to/views/'),
42
 *     'View/Helper'               => array('/path/to/helpers/', '/next/path/to/helpers/'),
43
 *     'Console'                   => array('/path/to/consoles/', '/next/path/to/consoles/'),
44
 *     'Console/Command'           => array('/path/to/commands/', '/next/path/to/commands/'),
45
 *     'Console/Command/Task'      => array('/path/to/tasks/', '/next/path/to/tasks/'),
46
 *     'Lib'                       => array('/path/to/libs/', '/next/path/to/libs/'),
47
 *     'Locale'                    => array('/path/to/locales/', '/next/path/to/locales/'),
48
 *     'Vendor'                    => array('/path/to/vendors/', '/next/path/to/vendors/'),
49
 *     'Plugin'                    => array('/path/to/plugins/', '/next/path/to/plugins/'),
50
 * ));
51
 */
52

  
53
/**
54
 * Custom Inflector rules can be set to correctly pluralize or singularize table, model, controller names or whatever other
55
 * string is passed to the inflection functions
56
 *
57
 * Inflector::rules('singular', array('rules' => array(), 'irregular' => array(), 'uninflected' => array()));
58
 * Inflector::rules('plural', array('rules' => array(), 'irregular' => array(), 'uninflected' => array()));
59
 */
60

  
61
/**
62
 * Plugins need to be loaded manually, you can either load them one by one or all of them in a single call
63
 * Uncomment one of the lines below, as you need. Make sure you read the documentation on CakePlugin to use more
64
 * advanced ways of loading plugins
65
 *
66
 * CakePlugin::loadAll(); // Loads all plugins at once
67
 * CakePlugin::load('DebugKit'); // Loads a single plugin named DebugKit
68
 */
69

  
70
/**
71
 * To prefer app translation over plugin translation, you can set
72
 *
73
 * Configure::write('I18n.preferApp', true);
74
 */
75

  
76
/**
77
 * You can attach event listeners to the request lifecycle as Dispatcher Filter. By default CakePHP bundles two filters:
78
 *
79
 * - AssetDispatcher filter will serve your asset files (css, images, js, etc) from your themes and plugins
80
 * - CacheDispatcher filter will read the Cache.check configure variable and try to serve cached content generated from controllers
81
 *
82
 * Feel free to remove or add filters as you see fit for your application. A few examples:
83
 *
84
 * Configure::write('Dispatcher.filters', array(
85
 *		'MyCacheFilter', //  will use MyCacheFilter class from the Routing/Filter package in your app.
86
 *		'MyCacheFilter' => array('prefix' => 'my_cache_'), //  will use MyCacheFilter class from the Routing/Filter package in your app with settings array.
87
 *		'MyPlugin.MyFilter', // will use MyFilter class from the Routing/Filter package in MyPlugin plugin.
88
 *		array('callable' => $aFunction, 'on' => 'before', 'priority' => 9), // A valid PHP callback type to be called on beforeDispatch
89
 *		array('callable' => $anotherMethod, 'on' => 'after'), // A valid PHP callback type to be called on afterDispatch
90
 *
91
 * ));
92
 */
93
Configure::write('Dispatcher.filters', array(
94
	'AssetDispatcher',
95
	'CacheDispatcher'
96
));
97

  
98
/**
99
 * Configures default file logging options
100
 */
101
App::uses('CakeLog', 'Log');
102
CakeLog::config('debug', array(
103
	'engine' => 'File',
104
	'types' => array('notice', 'info', 'debug'),
105
	'file' => 'debug',
106
));
107
CakeLog::config('error', array(
108
	'engine' => 'File',
109
	'types' => array('warning', 'error', 'critical', 'alert', 'emergency'),
110
	'file' => 'error',
111
));
app/Config/core.php
1
<?php
2
/**
3
 * This is core configuration file.
4
 *
5
 * Use it to configure core behavior of Cake.
6
 *
7
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
8
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
9
 *
10
 * Licensed under The MIT License
11
 * For full copyright and license information, please see the LICENSE.txt
12
 * Redistributions of files must retain the above copyright notice.
13
 *
14
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
15
 * @link          http://cakephp.org CakePHP(tm) Project
16
 * @package       app.Config
17
 * @since         CakePHP(tm) v 0.2.9
18
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
19
 */
20

  
21
//setLocale(LC_ALL, 'deu');
22
//Configure::write('Config.language', 'deu');
23

  
24
/**
25
 * CakePHP Debug Level:
26
 *
27
 * Production Mode:
28
 * 	0: No error messages, errors, or warnings shown. Flash messages redirect.
29
 *
30
 * Development Mode:
31
 * 	1: Errors and warnings shown, model caches refreshed, flash messages halted.
32
 * 	2: As in 1, but also with full debug messages and SQL output.
33
 *
34
 * In production mode, flash messages redirect after a time interval.
35
 * In development mode, you need to click the flash message to continue.
36
 */
37
	Configure::write('debug', 2);
38

  
39
/**
40
 * Configure the Error handler used to handle errors for your application. By default
41
 * ErrorHandler::handleError() is used. It will display errors using Debugger, when debug > 0
42
 * and log errors with CakeLog when debug = 0.
43
 *
44
 * Options:
45
 *
46
 * - `handler` - callback - The callback to handle errors. You can set this to any callable type,
47
 *   including anonymous functions.
48
 *   Make sure you add App::uses('MyHandler', 'Error'); when using a custom handler class
49
 * - `level` - integer - The level of errors you are interested in capturing.
50
 * - `trace` - boolean - Include stack traces for errors in log files.
51
 *
52
 * @see ErrorHandler for more information on error handling and configuration.
53
 */
54
	Configure::write('Error', array(
55
		'handler' => 'ErrorHandler::handleError',
56
		'level' => E_ALL & ~E_DEPRECATED,
57
		'trace' => true
58
	));
59

  
60
/**
61
 * Configure the Exception handler used for uncaught exceptions. By default,
62
 * ErrorHandler::handleException() is used. It will display a HTML page for the exception, and
63
 * while debug > 0, framework errors like Missing Controller will be displayed. When debug = 0,
64
 * framework errors will be coerced into generic HTTP errors.
65
 *
66
 * Options:
67
 *
68
 * - `handler` - callback - The callback to handle exceptions. You can set this to any callback type,
69
 *   including anonymous functions.
70
 *   Make sure you add App::uses('MyHandler', 'Error'); when using a custom handler class
71
 * - `renderer` - string - The class responsible for rendering uncaught exceptions. If you choose a custom class you
72
 *   should place the file for that class in app/Lib/Error. This class needs to implement a render method.
73
 * - `log` - boolean - Should Exceptions be logged?
74
 * - `skipLog` - array - list of exceptions to skip for logging. Exceptions that
75
 *   extend one of the listed exceptions will also be skipped for logging.
76
 *   Example: `'skipLog' => array('NotFoundException', 'UnauthorizedException')`
77
 *
78
 * @see ErrorHandler for more information on exception handling and configuration.
79
 */
80
	Configure::write('Exception', array(
81
		'handler' => 'ErrorHandler::handleException',
82
		'renderer' => 'ExceptionRenderer',
83
		'log' => true
84
	));
85

  
86
/**
87
 * Application wide charset encoding
88
 */
89
	Configure::write('App.encoding', 'UTF-8');
90

  
91
/**
92
 * To configure CakePHP *not* to use mod_rewrite and to
93
 * use CakePHP pretty URLs, remove these .htaccess
94
 * files:
95
 *
96
 * /.htaccess
97
 * /app/.htaccess
98
 * /app/webroot/.htaccess
99
 *
100
 * And uncomment the App.baseUrl below. But keep in mind
101
 * that plugin assets such as images, CSS and JavaScript files
102
 * will not work without URL rewriting!
103
 * To work around this issue you should either symlink or copy
104
 * the plugin assets into you app's webroot directory. This is
105
 * recommended even when you are using mod_rewrite. Handling static
106
 * assets through the Dispatcher is incredibly inefficient and
107
 * included primarily as a development convenience - and
108
 * thus not recommended for production applications.
109
 */
110
	//Configure::write('App.baseUrl', env('SCRIPT_NAME'));
111

  
112
/**
113
 * To configure CakePHP to use a particular domain URL
114
 * for any URL generation inside the application, set the following
115
 * configuration variable to the http(s) address to your domain. This
116
 * will override the automatic detection of full base URL and can be
117
 * useful when generating links from the CLI (e.g. sending emails)
118
 */
119
	//Configure::write('App.fullBaseUrl', 'http://example.com');
120

  
121
/**
122
 * Web path to the public images directory under webroot.
123
 * If not set defaults to 'img/'
124
 */
125
	//Configure::write('App.imageBaseUrl', 'img/');
126

  
127
/**
128
 * Web path to the CSS files directory under webroot.
129
 * If not set defaults to 'css/'
130
 */
131
	//Configure::write('App.cssBaseUrl', 'css/');
132

  
133
/**
134
 * Web path to the js files directory under webroot.
135
 * If not set defaults to 'js/'
136
 */
137
	//Configure::write('App.jsBaseUrl', 'js/');
138

  
139
/**
140
 * Uncomment the define below to use CakePHP prefix routes.
141
 *
142
 * The value of the define determines the names of the routes
143
 * and their associated controller actions:
144
 *
145
 * Set to an array of prefixes you want to use in your application. Use for
146
 * admin or other prefixed routes.
147
 *
148
 * 	Routing.prefixes = array('admin', 'manager');
149
 *
150
 * Enables:
151
 *	`admin_index()` and `/admin/controller/index`
152
 *	`manager_index()` and `/manager/controller/index`
153
 */
154
	//Configure::write('Routing.prefixes', array('admin'));
155

  
156
/**
157
 * Turn off all caching application-wide.
158
 */
159
	//Configure::write('Cache.disable', true);
160

  
161
/**
162
 * Enable cache checking.
163
 *
164
 * If set to true, for view caching you must still use the controller
165
 * public $cacheAction inside your controllers to define caching settings.
166
 * You can either set it controller-wide by setting public $cacheAction = true,
167
 * or in each action using $this->cacheAction = true.
168
 */
169
	//Configure::write('Cache.check', true);
170

  
171
/**
172
 * Enable cache view prefixes.
173
 *
174
 * If set it will be prepended to the cache name for view file caching. This is
175
 * helpful if you deploy the same application via multiple subdomains and languages,
176
 * for instance. Each version can then have its own view cache namespace.
177
 * Note: The final cache file name will then be `prefix_cachefilename`.
178
 */
179
	//Configure::write('Cache.viewPrefix', 'prefix');
180

  
181
/**
182
 * Session configuration.
183
 *
184
 * Contains an array of settings to use for session configuration. The defaults key is
185
 * used to define a default preset to use for sessions, any settings declared here will override
186
 * the settings of the default config.
187
 *
188
 * ## Options
189
 *
190
 * - `Session.cookie` - The name of the cookie to use. Defaults to 'CAKEPHP'
191
 * - `Session.timeout` - The number of minutes you want sessions to live for. This timeout is handled by CakePHP
192
 * - `Session.cookieTimeout` - The number of minutes you want session cookies to live for.
193
 * - `Session.checkAgent` - Do you want the user agent to be checked when starting sessions? You might want to set the
194
 *    value to false, when dealing with older versions of IE, Chrome Frame or certain web-browsing devices and AJAX
195
 * - `Session.defaults` - The default configuration set to use as a basis for your session.
196
 *    There are four builtins: php, cake, cache, database.
197
 * - `Session.handler` - Can be used to enable a custom session handler. Expects an array of callables,
198
 *    that can be used with `session_save_handler`. Using this option will automatically add `session.save_handler`
199
 *    to the ini array.
200
 * - `Session.autoRegenerate` - Enabling this setting, turns on automatic renewal of sessions, and
201
 *    sessionids that change frequently. See CakeSession::$requestCountdown.
202
 * - `Session.ini` - An associative array of additional ini values to set.
203
 *
204
 * The built in defaults are:
205
 *
206
 * - 'php' - Uses settings defined in your php.ini.
207
 * - 'cake' - Saves session files in CakePHP's /tmp directory.
208
 * - 'database' - Uses CakePHP's database sessions.
209
 * - 'cache' - Use the Cache class to save sessions.
210
 *
211
 * To define a custom session handler, save it at /app/Model/Datasource/Session/<name>.php.
212
 * Make sure the class implements `CakeSessionHandlerInterface` and set Session.handler to <name>
213
 *
214
 * To use database sessions, run the app/Config/Schema/sessions.php schema using
215
 * the cake shell command: cake schema create Sessions
216
 */
217
	Configure::write('Session', array(
218
		'defaults' => 'php'
219
	));
220

  
221
/**
222
 * A random string used in security hashing methods.
223
 */
224
	Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
225

  
226
/**
227
 * A random numeric string (digits only) used to encrypt/decrypt strings.
228
 */
229
	Configure::write('Security.cipherSeed', '76859309657453542496749683645');
230

  
231
/**
232
 * Apply timestamps with the last modified time to static assets (js, css, images).
233
 * Will append a query string parameter containing the time the file was modified. This is
234
 * useful for invalidating browser caches.
235
 *
236
 * Set to `true` to apply timestamps when debug > 0. Set to 'force' to always enable
237
 * timestamping regardless of debug value.
238
 */
239
	//Configure::write('Asset.timestamp', true);
240

  
241
/**
242
 * Compress CSS output by removing comments, whitespace, repeating tags, etc.
243
 * This requires a/var/cache directory to be writable by the web server for caching.
244
 * and /vendors/csspp/csspp.php
245
 *
246
 * To use, prefix the CSS link URL with '/ccss/' instead of '/css/' or use HtmlHelper::css().
247
 */
248
	//Configure::write('Asset.filter.css', 'css.php');
249

  
250
/**
251
 * Plug in your own custom JavaScript compressor by dropping a script in your webroot to handle the
252
 * output, and setting the config below to the name of the script.
253
 *
254
 * To use, prefix your JavaScript link URLs with '/cjs/' instead of '/js/' or use JsHelper::link().
255
 */
256
	//Configure::write('Asset.filter.js', 'custom_javascript_output_filter.php');
257

  
258
/**
259
 * The class name and database used in CakePHP's
260
 * access control lists.
261
 */
262
	Configure::write('Acl.classname', 'DbAcl');
263
	Configure::write('Acl.database', 'default');
264

  
265
/**
266
 * Uncomment this line and correct your server timezone to fix
267
 * any date & time related errors.
268
 */
269
	//date_default_timezone_set('UTC');
270

  
271
/**
272
 * `Config.timezone` is available in which you can set users' timezone string.
273
 * If a method of CakeTime class is called with $timezone parameter as null and `Config.timezone` is set,
274
 * then the value of `Config.timezone` will be used. This feature allows you to set users' timezone just
275
 * once instead of passing it each time in function calls.
276
 */
277
	//Configure::write('Config.timezone', 'Europe/Paris');
278

  
279
/**
280
 * Cache Engine Configuration
281
 * Default settings provided below
282
 *
283
 * File storage engine.
284
 *
285
 * 	 Cache::config('default', array(
286
 *		'engine' => 'File', //[required]
287
 *		'duration' => 3600, //[optional]
288
 *		'probability' => 100, //[optional]
289
 * 		'path' => CACHE, //[optional] use system tmp directory - remember to use absolute path
290
 * 		'prefix' => 'cake_', //[optional]  prefix every cache file with this string
291
 * 		'lock' => false, //[optional]  use file locking
292
 * 		'serialize' => true, //[optional]
293
 * 		'mask' => 0664, //[optional]
294
 *	));
295
 *
296
 * APC (http://pecl.php.net/package/APC)
297
 *
298
 * 	 Cache::config('default', array(
299
 *		'engine' => 'Apc', //[required]
300
 *		'duration' => 3600, //[optional]
301
 *		'probability' => 100, //[optional]
302
 * 		'prefix' => Inflector::slug(APP_DIR) . '_', //[optional]  prefix every cache file with this string
303
 *	));
304
 *
305
 * Xcache (http://xcache.lighttpd.net/)
306
 *
307
 * 	 Cache::config('default', array(
308
 *		'engine' => 'Xcache', //[required]
309
 *		'duration' => 3600, //[optional]
310
 *		'probability' => 100, //[optional]
311
 *		'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string
312
 *		'user' => 'user', //user from xcache.admin.user settings
313
 *		'password' => 'password', //plaintext password (xcache.admin.pass)
314
 *	));
315
 *
316
 * Memcached (http://www.danga.com/memcached/)
317
 *
318
 * Uses the memcached extension. See http://php.net/memcached
319
 *
320
 * 	 Cache::config('default', array(
321
 *		'engine' => 'Memcached', //[required]
322
 *		'duration' => 3600, //[optional]
323
 *		'probability' => 100, //[optional]
324
 * 		'prefix' => Inflector::slug(APP_DIR) . '_', //[optional]  prefix every cache file with this string
325
 * 		'servers' => array(
326
 * 			'127.0.0.1:11211' // localhost, default port 11211
327
 * 		), //[optional]
328
 * 		'persistent' => 'my_connection', // [optional] The name of the persistent connection.
329
 * 		'compress' => false, // [optional] compress data in Memcached (slower, but uses less memory)
330
 *	));
331
 *
332
 *  Wincache (http://php.net/wincache)
333
 *
334
 * 	 Cache::config('default', array(
335
 *		'engine' => 'Wincache', //[required]
336
 *		'duration' => 3600, //[optional]
337
 *		'probability' => 100, //[optional]
338
 *		'prefix' => Inflector::slug(APP_DIR) . '_', //[optional]  prefix every cache file with this string
339
 *	));
340
 */
341

  
342
/**
343
 * Configure the cache handlers that CakePHP will use for internal
344
 * metadata like class maps, and model schema.
345
 *
346
 * By default File is used, but for improved performance you should use APC.
347
 *
348
 * Note: 'default' and other application caches should be configured in app/Config/bootstrap.php.
349
 *       Please check the comments in bootstrap.php for more info on the cache engines available
350
 *       and their settings.
351
 */
352
$engine = 'File';
353

  
354
// In development mode, caches should expire quickly.
355
$duration = '+999 days';
356
if (Configure::read('debug') > 0) {
357
	$duration = '+10 seconds';
358
}
359

  
360
// Prefix each application on the same server with a different string, to avoid Memcache and APC conflicts.
361
$prefix = 'myapp_';
362

  
363
/**
364
 * Configure the cache used for general framework caching. Path information,
365
 * object listings, and translation cache files are stored with this configuration.
366
 */
367
Cache::config('_cake_core_', array(
368
	'engine' => $engine,
369
	'prefix' => $prefix . 'cake_core_',
370
	'path' => CACHE . 'persistent' . DS,
371
	'serialize' => ($engine === 'File'),
372
	'duration' => $duration
373
));
374

  
375
/**
376
 * Configure the cache for model and datasource caches. This cache configuration
377
 * is used to store schema descriptions, and table listings in connections.
378
 */
... 差分の行数が表示可能な上限を超えました。超過分は表示しません。

他の形式にエクスポート: Unified diff