Age | Commit message (Collapse) | Author | Files | Lines |
|
- min and max values are 0 and mt_getrandmax() by default
- remove useless mt_srand() seed calls
|
|
|
|
|
|
to begin with
Signed-off-by: Daniel Hunsaker <danhunsaker@gmail.com>
|
|
- Removed commented lists of constants from the three reference conventions,
replacing each with the URLs at which more information can be found.
- Renamed a few constants to more closely reflect CodeIgniter conventions.
- Modified a couple of lines which were in violation of the CI Style Guide.
Signed-off-by: Daniel Hunsaker <danhunsaker@gmail.com>
|
|
Re-allocated exit status codes according to three references, which follow:
BSD sysexits.h:http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=sysexits
GNU recomendations:http://www.gnu.org/software/libc/manual/html_node/Exit-Status.html
Bash scripting:http://tldp.org/LDP/abs/html/exitcodes.html
The GNU recommendations stem from and expand upon the standard C/C++ library (stdlibc)
definitions, while also suggesting some best-practice conventions which happen to prevent
exit status code collisions with bash, and probably other shells.
The re-allocated codes are now mapped to constant values, set in *application/config/constants.php*,
and used throughout the CodeIgniter core. They would additionally be used in *index.php*,
but the constants file hasn't been loaded at that point, so the integer values are used
instead, and a comment follows each such use with amplifying information on why that
particular value was selected.
Finally, the errors documentation has been updated accordingly.
Signed-off-by: Daniel Hunsaker <danhunsaker@gmail.com>
|
|
feature/exit-status
|
|
Note: The Driver libary tests seem to depend on that, so one occurence in CI_Loader is left until we resolve that.
|
|
|
|
|
|
|
|
Updated is_https() to avoid "NULL" or "0" values to set HTTPS.
|
|
(where it makes sense)
Also:
- Implemented caching of configuration arrays for smileys, foreign characters and doctypes.
- Implemented cascading-style loading of configuration files (except for library configs, DB and constants.php).
|
|
As suggested in issue #2134 & PR #2149
|
|
Specific codes are as follows, but can easily be changed if a different order/breakdown makes more sense:
- 0: Success; everything executed as planned
- 1: Configuration Error; something is wrong with/in the configuration file(s)
- 2: Class Not Found; what it says
- 3: Driver Method Unsupported; the method you're trying to use on a Driver doesn't exist
- 4: File Not Found; 404 error
- 5: Database Error; something is broken in the database somewhere
- 6: Invalid Input; the user attempted to submit a request with invlaid characters in 1+ key names
7 through 26 are reserved for future use
- 27: Generic Error; generated by show_error() when the status code is >= 100
28 through 127 are errors generated by user applications, normally by using show_error() with a status code below 100
128 through 254 should not be used by applications, as they are reserved by system-level functions
- 255: PHP Fatal Error; automatically generated by PHP for fatal errors, and therefore not allowed for our use
Status codes below 100 are shifted up by 28 to place them in the user error range. It may make more sense to have these codes
left alone and instead shift the CI errors into the 101 through 127 space, but that's not what I opted for here.
It would probably also be a good idea to replace the hard-coded numbers with constants or some such, but I was in a bit of a
hurry when I made these changes, so I didn't look around for the best place to do this. With proper guidance, I could
easily amend this commit with another that uses such constant values.
Signed-off-by: Daniel Hunsaker <danhunsaker@gmail.com>
|
|
threshold and Log library instance to reduce function calls
|
|
|
|
|
|
It is a core class after all, I guess somebody forgot it when the rest of them were moved.
|
|
It is now used to check whether dangerous functions like eval() and exec() are available.
It appears that the Suhosin extension (which is becoming popular) terminates script
execution instead of returning e.g. FALSE when it has a function blacklisted.
function_exists() checks are insufficient and our only option is to check the ini
settings here.
Filed an issue here: https://github.com/stefanesser/suhosin/issues/18
... hopefully we'll be able to deal with this in a more elegant way in the future.
(this commit supersedes PR #1809)
|
|
Also partially fixes issue #1295, fixes inconsistencies in some page-level docblocks and adds include checks in language files.
|
|
|
|
|
|
Logging should obey error_reporting() setting
|
|
Signed-off-by: Daniel Morris <daniel@honestempire.com>
|
|
Signed-off-by: Daniel Morris <daniel@honestempire.com>
|
|
Signed-off-by: Daniel Morris <daniel@honestempire.com>
|
|
|
|
If the php error level is not included in the current
error_reporting() setting, we should not log it.
Also, the log_threshold check is redundant, it's
already taken care of by the write_log() method.
|
|
|
|
|
|
|
|
|
|
environments where you want to log errors, but not show them.
|
|
|
|
|
|
is_php()
|
|
config/mimes.php is used by multiple core classes, libraries and helpers and each of them has implemented an own way of getting it, which is not needed and is hard to maintain. This also fixes issue #1411
|
|
|
|
|
|
|
|
|
|
|
|
If we want E_STRICT, don't suppress it.
|
|
|
|
15be8fc "Changed the 'development' environment default error
reporting to included E_STRICT"
Not present in any tagged release, so
no need for -stable or a changlelog entry.
|
|
|
|
|
|
|
|
Yes I know PHP 5.4 just came out, and yes I know PHP 5.3 has lovely features, but there are plenty of corporate systems running on CodeIgniter and PHP 5.3 still is not widely supported enough. CodeIgniter is great for distributed applications, and this is the highest we can reasonably go without breaking support. PHP 5.3 will most likely happen in another year or so. Fingers crossed on that one anyway...
|