Skip to content

Commit b9fd7dc

Browse files
committed
v1.0.0
1 parent 47346ca commit b9fd7dc

352 files changed

Lines changed: 91156 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2011-2016 CODEWORKS <support@codeworksnyc.com>
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

dist/.gitignore

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
.DS_Store
2+
3+
application/cache/*
4+
!application/cache/index.html
5+
!application/cache/.htaccess
6+
7+
application/logs/*
8+
!application/logs/index.html
9+
!application/logs/.htaccess
10+
11+
user_guide_src/build/*
12+
user_guide_src/cilexer/build/*
13+
user_guide_src/cilexer/dist/*
14+
user_guide_src/cilexer/pycilexer.egg-info/*
15+
/vendor/
16+
17+
# IDE Files
18+
#-------------------------
19+
/nbproject/
20+
.idea/*
21+
22+
## Sublime Text cache files
23+
*.tmlanguage.cache
24+
*.tmPreferences.cache
25+
*.stTheme.cache
26+
*.sublime-workspace
27+
*.sublime-project

dist/composer.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"description": "The CodeIgniter framework",
3+
"name": "codeigniter/framework",
4+
"type": "project",
5+
"homepage": "https://codeigniter.com",
6+
"license": "MIT",
7+
"support": {
8+
"forum": "http://forum.codeigniter.com/",
9+
"wiki": "https://github.com/bcit-ci/CodeIgniter/wiki",
10+
"irc": "irc://irc.freenode.net/codeigniter",
11+
"source": "https://github.com/bcit-ci/CodeIgniter"
12+
},
13+
"require": {
14+
"php": ">=5.2.4"
15+
},
16+
"suggest": {
17+
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
18+
},
19+
"require-dev": {
20+
"mikey179/vfsStream": "1.1.*"
21+
}
22+
}

dist/contributing.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Contributing to CodeIgniter
2+
3+
4+
CodeIgniter is a community driven project and accepts contributions of code and documentation from the community. These contributions are made in the form of Issues or [Pull Requests](http://help.github.com/send-pull-requests/) on the [CodeIgniter repository](https://github.com/bcit-ci/CodeIgniter>) on GitHub.
5+
6+
Issues are a quick way to point out a bug. If you find a bug or documentation error in CodeIgniter then please check a few things first:
7+
8+
1. There is not already an open Issue
9+
2. The issue has already been fixed (check the develop branch, or look for closed Issues)
10+
3. Is it something really obvious that you can fix yourself?
11+
12+
Reporting issues is helpful but an even better approach is to send a Pull Request, which is done by "Forking" the main repository and committing to your own copy. This will require you to use the version control system called Git.
13+
14+
## Guidelines
15+
16+
Before we look into how, here are the guidelines. If your Pull Requests fail
17+
to pass these guidelines it will be declined and you will need to re-submit
18+
when you’ve made the changes. This might sound a bit tough, but it is required
19+
for us to maintain quality of the code-base.
20+
21+
### PHP Style
22+
23+
All code must meet the [Style Guide](https://codeigniter.com/user_guide/general/styleguide.html), which is
24+
essentially the [Allman indent style](https://en.wikipedia.org/wiki/Indent_style#Allman_style), underscores and readable operators. This makes certain that all code is the same format as the existing code and means it will be as readable as possible.
25+
26+
### Documentation
27+
28+
If you change anything that requires a change to documentation then you will need to add it. New classes, methods, parameters, changing default values, etc are all things that will require a change to documentation. The change-log must also be updated for every change. Also PHPDoc blocks must be maintained.
29+
30+
### Compatibility
31+
32+
CodeIgniter recommends PHP 5.4 or newer to be used, but it should be
33+
compatible with PHP 5.2.4 so all code supplied must stick to this
34+
requirement. If PHP 5.3 (and above) functions or features are used then
35+
there must be a fallback for PHP 5.2.4.
36+
37+
### Branching
38+
39+
CodeIgniter uses the [Git-Flow](http://nvie.com/posts/a-successful-git-branching-model/) branching model which requires all pull requests to be sent to the "develop" branch. This is
40+
where the next planned version will be developed. The "master" branch will always contain the latest stable version and is kept clean so a "hotfix" (e.g: an emergency security patch) can be applied to master to create a new version, without worrying about other features holding it up. For this reason all commits need to be made to "develop" and any sent to "master" will be closed automatically. If you have multiple changes to submit, please place all changes into their own branch on your fork.
41+
42+
One thing at a time: A pull request should only contain one change. That does not mean only one commit, but one change - however many commits it took. The reason for this is that if you change X and Y but send a pull request for both at the same time, we might really want X but disagree with Y, meaning we cannot merge the request. Using the Git-Flow branching model you can create new branches for both of these features and send two requests.
43+
44+
### Signing
45+
46+
You must sign your work, certifying that you either wrote the work or otherwise have the right to pass it on to an open source project. git makes this trivial as you merely have to use `--signoff` on your commits to your CodeIgniter fork.
47+
48+
`git commit --signoff`
49+
50+
or simply
51+
52+
`git commit -s`
53+
54+
This will sign your commits with the information setup in your git config, e.g.
55+
56+
`Signed-off-by: John Q Public <john.public@example.com>`
57+
58+
If you are using [Tower](http://www.git-tower.com/) there is a "Sign-Off" checkbox in the commit window. You could even alias git commit to use the `-s` flag so you don’t have to think about it.
59+
60+
By signing your work in this manner, you certify to a "Developer's Certificate of Origin". The current version of this certificate is in the `DCO.txt` file in the root of this repository.
61+
62+
63+
## How-to Guide
64+
65+
There are two ways to make changes, the easy way and the hard way. Either way you will need to [create a GitHub account](https://github.com/signup/free).
66+
67+
Easy way GitHub allows in-line editing of files for making simple typo changes and quick-fixes. This is not the best way as you are unable to test the code works. If you do this you could be introducing syntax errors, etc, but for a Git-phobic user this is good for a quick-fix.
68+
69+
Hard way The best way to contribute is to "clone" your fork of CodeIgniter to your development area. That sounds like some jargon, but "forking" on GitHub means "making a copy of that repo to your account" and "cloning" means "copying that code to your environment so you can work on it".
70+
71+
1. Set up Git (Windows, Mac & Linux)
72+
2. Go to the CodeIgniter repo
73+
3. Fork it
74+
4. Clone your CodeIgniter repo: git@github.com:<your-name>/CodeIgniter.git
75+
5. Checkout the "develop" branch At this point you are ready to start making changes.
76+
6. Fix existing bugs on the Issue tracker after taking a look to see nobody else is working on them.
77+
7. Commit the files
78+
8. Push your develop branch to your fork
79+
9. Send a pull request [http://help.github.com/send-pull-requests/](http://help.github.com/send-pull-requests/)
80+
81+
The Reactor Engineers will now be alerted about the change and at least one of the team will respond. If your change fails to meet the guidelines it will be bounced, or feedback will be provided to help you improve it.
82+
83+
Once the Reactor Engineer handling your pull request is happy with it they will merge it into develop and your patch will be part of the next release.
84+
85+
### Keeping your fork up-to-date
86+
87+
Unlike systems like Subversion, Git can have multiple remotes. A remote is the name for a URL of a Git repository. By default your fork will have a remote named "origin" which points to your fork, but you can add another remote named "codeigniter" which points to `git://github.com/bcit-ci/CodeIgniter.git`. This is a read-only remote but you can pull from this develop branch to update your own.
88+
89+
If you are using command-line you can do the following:
90+
91+
1. `git remote add codeigniter git://github.com/bcit-ci/CodeIgniter.git`
92+
2. `git pull codeigniter develop`
93+
3. `git push origin develop`
94+
95+
Now your fork is up to date. This should be done regularly, or before you send a pull request at least.

dist/license.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2014 - 2016, British Columbia Institute of Technology
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in
13+
all copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21+
THE SOFTWARE.

dist/public_html/.htaccess

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# 1. Enable the rule-based rewriting engine
2+
# 2. Set the directory index file
3+
# 3. Add support for APPCACHE file types
4+
#
5+
RewriteEngine On
6+
DirectoryIndex index.php
7+
AddType text/cache-manifest .appcache
8+
9+
# 1. proc/self/environ? no way!
10+
# 2. Block out any script trying to set a mosConfig value through the URL
11+
# 3. Block out any script trying to base64_encode crap to send via URL
12+
# 4. Block out any script that includes a <script> tag in URL
13+
# 5. Block out any script trying to set a PHP GLOBALS variable via URL
14+
# 6. Block out any script trying to modify a _REQUEST variable via URL
15+
# 7. Send all blocked request to homepage with 403 Forbidden error!
16+
#
17+
RewriteCond %{QUERY_STRING} proc/self/environ [OR]
18+
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
19+
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
20+
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
21+
RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]
22+
RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})
23+
RewriteRule ^(.*)$ index.php [F,L]
24+
25+
# secure sensitive file types
26+
<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
27+
Order Allow,Deny
28+
Deny from all
29+
</FilesMatch>
30+
31+
# secure this directory by disabling script execution
32+
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
33+
Options -ExecCGI
34+
35+
# disable directory browsing
36+
Options All -Indexes
37+
38+
# any request other than for existing files and folders is treated as a request for your index.php file
39+
RewriteEngine On
40+
RewriteCond %{REQUEST_FILENAME} !-f
41+
RewriteCond %{REQUEST_FILENAME} !-d
42+
RewriteRule ^(.*)$ index.php/$1 [L]
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<IfModule authz_core_module>
2+
Require all denied
3+
</IfModule>
4+
<IfModule !authz_core_module>
5+
Deny from all
6+
</IfModule>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<IfModule authz_core_module>
2+
Require all denied
3+
</IfModule>
4+
<IfModule !authz_core_module>
5+
Deny from all
6+
</IfModule>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>403 Forbidden</title>
5+
</head>
6+
<body>
7+
8+
<p>Directory access is forbidden.</p>
9+
10+
</body>
11+
</html>
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
<?php
2+
defined('BASEPATH') OR exit('No direct script access allowed');
3+
4+
/*
5+
| -------------------------------------------------------------------
6+
| AUTO-LOADER
7+
| -------------------------------------------------------------------
8+
| This file specifies which systems should be loaded by default.
9+
|
10+
| In order to keep the framework as light-weight as possible only the
11+
| absolute minimal resources are loaded by default. For example,
12+
| the database is not connected to automatically since no assumption
13+
| is made regarding whether you intend to use it. This file lets
14+
| you globally define which systems you would like loaded with every
15+
| request.
16+
|
17+
| -------------------------------------------------------------------
18+
| Instructions
19+
| -------------------------------------------------------------------
20+
|
21+
| These are the things you can load automatically:
22+
|
23+
| 1. Packages
24+
| 2. Libraries
25+
| 3. Drivers
26+
| 4. Helper files
27+
| 5. Custom config files
28+
| 6. Language files
29+
| 7. Models
30+
|
31+
*/
32+
33+
/*
34+
| -------------------------------------------------------------------
35+
| Auto-load Packages
36+
| -------------------------------------------------------------------
37+
| Prototype:
38+
|
39+
| $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared');
40+
|
41+
*/
42+
$autoload['packages'] = array();
43+
44+
/*
45+
| -------------------------------------------------------------------
46+
| Auto-load Libraries
47+
| -------------------------------------------------------------------
48+
| These are the classes located in system/libraries/ or your
49+
| application/libraries/ directory, with the addition of the
50+
| 'database' library, which is somewhat of a special case.
51+
|
52+
| Prototype:
53+
|
54+
| $autoload['libraries'] = array('database', 'email', 'session');
55+
|
56+
| You can also supply an alternative library name to be assigned
57+
| in the controller:
58+
|
59+
| $autoload['libraries'] = array('user_agent' => 'ua');
60+
*/
61+
$autoload['libraries'] = array();
62+
63+
/*
64+
| -------------------------------------------------------------------
65+
| Auto-load Drivers
66+
| -------------------------------------------------------------------
67+
| These classes are located in system/libraries/ or in your
68+
| application/libraries/ directory, but are also placed inside their
69+
| own subdirectory and they extend the CI_Driver_Library class. They
70+
| offer multiple interchangeable driver options.
71+
|
72+
| Prototype:
73+
|
74+
| $autoload['drivers'] = array('cache');
75+
|
76+
| You can also supply an alternative property name to be assigned in
77+
| the controller:
78+
|
79+
| $autoload['drivers'] = array('cache' => 'cch');
80+
|
81+
*/
82+
$autoload['drivers'] = array();
83+
84+
/*
85+
| -------------------------------------------------------------------
86+
| Auto-load Helper Files
87+
| -------------------------------------------------------------------
88+
| Prototype:
89+
|
90+
| $autoload['helper'] = array('url', 'file');
91+
*/
92+
$autoload['helper'] = array();
93+
94+
/*
95+
| -------------------------------------------------------------------
96+
| Auto-load Config files
97+
| -------------------------------------------------------------------
98+
| Prototype:
99+
|
100+
| $autoload['config'] = array('config1', 'config2');
101+
|
102+
| NOTE: This item is intended for use ONLY if you have created custom
103+
| config files. Otherwise, leave it blank.
104+
|
105+
*/
106+
$autoload['config'] = array();
107+
108+
/*
109+
| -------------------------------------------------------------------
110+
| Auto-load Language files
111+
| -------------------------------------------------------------------
112+
| Prototype:
113+
|
114+
| $autoload['language'] = array('lang1', 'lang2');
115+
|
116+
| NOTE: Do not include the "_lang" part of your file. For example
117+
| "codeigniter_lang.php" would be referenced as array('codeigniter');
118+
|
119+
*/
120+
$autoload['language'] = array();
121+
122+
/*
123+
| -------------------------------------------------------------------
124+
| Auto-load Models
125+
| -------------------------------------------------------------------
126+
| Prototype:
127+
|
128+
| $autoload['model'] = array('first_model', 'second_model');
129+
|
130+
| You can also supply an alternative model name to be assigned
131+
| in the controller:
132+
|
133+
| $autoload['model'] = array('first_model' => 'first');
134+
*/
135+
$autoload['model'] = array();

0 commit comments

Comments
 (0)