diff --git a/.github/workflows/test-phpunit.yml b/.github/workflows/test-phpunit.yml index 81e4dc5e269..ab7e2d2603b 100644 --- a/.github/workflows/test-phpunit.yml +++ b/.github/workflows/test-phpunit.yml @@ -15,10 +15,28 @@ jobs: strategy: fail-fast: false matrix: - php: [ '8.1', '8.0', '7.4', '7.3', '7.2', '7.1', '7.0', '5.6', '5.5', '5.4'] + php: [ '8.2', '8.1', '8.0', '7.4', '7.3', '7.2', '7.1', '7.0', '5.6', '5.5', '5.4'] DB: [ 'pdo/mysql', 'pdo/pgsql', 'pdo/sqlite', 'mysqli', 'pgsql', 'sqlite' ] compiler: [ default ] include: + - php: '8.2' + DB: 'pdo/mysql' + compiler: jit + - php: '8.2' + DB: 'pdo/pgsql' + compiler: jit + - php: '8.2' + DB: 'pdo/sqlite' + compiler: jit + - php: '8.2' + DB: 'mysqli' + compiler: jit + - php: '8.2' + DB: 'pgsql' + compiler: jit + - php: '8.2' + DB: 'sqlite' + compiler: jit - php: '8.1' DB: 'pdo/mysql' compiler: jit diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php index 87dd868f966..ae69c23d9da 100644 --- a/system/core/CodeIgniter.php +++ b/system/core/CodeIgniter.php @@ -253,10 +253,11 @@ */ $URI =& load_class('URI', 'core', $CFG); -/* +/** * ------------------------------------------------------ * Instantiate the routing class and set the routing * ------------------------------------------------------ + * @var CI_Router|NULL */ $RTR =& load_class('Router', 'core', isset($routing) ? $routing : NULL); diff --git a/system/core/Common.php b/system/core/Common.php index c7bb34549b5..462300e6b94 100644 --- a/system/core/Common.php +++ b/system/core/Common.php @@ -57,7 +57,7 @@ /** * Determines if the current version of PHP is equal to or greater than the supplied value * - * @param string + * @param string $version * @return bool TRUE if the current version is $version or higher */ function is_php($version) @@ -85,7 +85,7 @@ function is_php($version) * the file, based on the read-only attribute. * * @link https://bugs.php.net/bug.php?id=54709 - * @param string + * @param string $file * @return bool */ function is_really_writable($file) @@ -133,9 +133,9 @@ function is_really_writable($file) * exist it is instantiated and set to a static variable. If it has * previously been instantiated the variable is returned. * - * @param string the class name being requested - * @param string the directory where the class should be found - * @param mixed an optional argument to pass to the class constructor + * @param string $class the class name being requested + * @param string $directory the directory where the class should be found + * @param mixed $param an optional argument to pass to the class constructor * @return object */ function &load_class($class, $directory = 'libraries', $param = NULL) @@ -206,7 +206,7 @@ function &load_class($class, $directory = 'libraries', $param = NULL) * Keeps track of which libraries have been loaded. This function is * called by the load_class() function above * - * @param string + * @param string $class * @return array */ function &is_loaded($class = '') @@ -232,7 +232,7 @@ function &is_loaded($class = '') * This function lets us grab the config file even if the Config class * hasn't been instantiated yet * - * @param array + * @param array $replace * @return array */ function &get_config(Array $replace = array()) @@ -287,7 +287,7 @@ function &get_config(Array $replace = array()) /** * Returns the specified config item * - * @param string + * @param string $item * @return mixed */ function config_item($item) @@ -395,9 +395,9 @@ function is_cli() * This function will send the error page directly to the * browser and exit. * - * @param string - * @param int - * @param string + * @param string $message + * @param int $status_code + * @param string $heading * @return void */ function show_error($message, $status_code = 500, $heading = 'An Error Was Encountered') @@ -430,8 +430,8 @@ function show_error($message, $status_code = 500, $heading = 'An Error Was Encou * However, instead of the standard error template it displays * 404 errors. * - * @param string - * @param bool + * @param string $page + * @param bool $log_error * @return void */ function show_404($page = '', $log_error = TRUE) @@ -452,8 +452,8 @@ function show_404($page = '', $log_error = TRUE) * We use this as a simple mechanism to access the logging * class and send messages to be logged. * - * @param string the error level: 'error', 'debug' or 'info' - * @param string the error message + * @param string $level the error level: 'error', 'debug' or 'info' + * @param string $message the error message * @return void */ function log_message($level, $message) @@ -477,8 +477,8 @@ function log_message($level, $message) /** * Set HTTP Status Header * - * @param int the status code - * @param string + * @param int $code the status code + * @param string $text * @return void */ function set_status_header($code = 200, $text = '') @@ -706,8 +706,8 @@ function _shutdown_handler() * This prevents sandwiching null characters * between ascii characters, like Java\0script. * - * @param string - * @param bool + * @param string $str + * @param bool $url_encoded * @return string */ function remove_invisible_characters($str, $url_encoded = TRUE) @@ -777,8 +777,8 @@ function html_escape($var, $double_encode = TRUE) * Helper function used to convert a string, array, or object * of attributes to a string. * - * @param mixed string, array, object - * @param bool + * @param mixed $attributes string, array, object + * @param bool $js * @return string */ function _stringify_attributes($attributes, $js = FALSE) diff --git a/system/core/Controller.php b/system/core/Controller.php index aeccd60ee4c..3713ae06308 100644 --- a/system/core/Controller.php +++ b/system/core/Controller.php @@ -50,6 +50,7 @@ * @author EllisLab Dev Team * @link https://codeigniter.com/userguide3/general/controllers.html */ +#[AllowDynamicProperties] class CI_Controller { /** diff --git a/system/core/Loader.php b/system/core/Loader.php index 648b7cfc7c2..1a7ef65f6d3 100644 --- a/system/core/Loader.php +++ b/system/core/Loader.php @@ -49,6 +49,7 @@ * @author EllisLab Dev Team * @link https://codeigniter.com/userguide3/libraries/loader.html */ +#[AllowDynamicProperties] class CI_Loader { // All these are set automatically. Don't mess with them. @@ -443,7 +444,7 @@ class_exists('CI_DB', FALSE) OR $this->database(); /** * Load the Database Forge Class * - * @param object $db Database object + * @param CI_DB $db Database object * @param bool $return Whether to return the DB Forge class object or not * @return object */ @@ -685,7 +686,7 @@ public function helpers($helpers = array()) * Loads language files. * * @param string|string[] $files List of language file names to load - * @param string Language name + * @param string $lang Language name * @return object */ public function language($files, $lang = '') @@ -1424,7 +1425,7 @@ protected function _ci_prepare_view_vars($vars) * Get a reference to a specific library or model. * * @param string $component Component name - * @return bool + * @return object */ protected function &_ci_get_component($component) { diff --git a/system/core/Router.php b/system/core/Router.php index e0fb922f1a6..299f5588792 100644 --- a/system/core/Router.php +++ b/system/core/Router.php @@ -58,6 +58,13 @@ class CI_Router { */ public $config; + /** + * CI_URI class object + * + * @var object + */ + public $uri; + /** * List of routes * @@ -84,7 +91,7 @@ class CI_Router { * * @var string */ - public $directory = ''; + public $directory; /** * Default controller (and method if specific) @@ -333,7 +340,7 @@ protected function _set_default_controller() protected function _validate_request($segments) { $c = count($segments); - $directory_override = $this->directory !== ''; + $directory_override = isset($this->directory); // Loop through our segments and return as soon as a controller // is found or when such a directory doesn't exist diff --git a/system/core/Security.php b/system/core/Security.php index d3c8b976ed6..595081f5619 100644 --- a/system/core/Security.php +++ b/system/core/Security.php @@ -1041,7 +1041,7 @@ protected function _decode_entity($match) * Do Never Allowed * * @used-by CI_Security::xss_clean() - * @param string + * @param string $str * @return string */ protected function _do_never_allowed($str) diff --git a/system/core/URI.php b/system/core/URI.php index 1e948588354..95b9c926c96 100644 --- a/system/core/URI.php +++ b/system/core/URI.php @@ -51,6 +51,13 @@ */ class CI_URI { + /** + * CI_Config instance + * + * @var CI_Config + */ + public $config; + /** * List of cached URI segments * diff --git a/system/database/DB.php b/system/database/DB.php index d029054b6fb..0e9258b2b74 100644 --- a/system/database/DB.php +++ b/system/database/DB.php @@ -38,6 +38,25 @@ */ defined('BASEPATH') OR exit('No direct script access allowed'); + +// S. Imp moved this here from the conditional below because it +// accomplishes the same thing more efficiently while dramatically +// reducing the number of errors reported by phpstan +require_once(BASEPATH.'database/DB_driver.php'); +require_once(BASEPATH.'database/DB_query_builder.php'); +/** + * CI_DB + * + * Acts as an alias for both CI_DB_driver and CI_DB_query_builder. + * + * @see CI_DB_query_builder + * @see CI_DB_driver + */ +class CI_DB extends CI_DB_query_builder {} + + + + /** * Initialize the database * @@ -148,21 +167,6 @@ function &DB($params = '') show_error('You have not selected a database type to connect to.'); } - require_once(BASEPATH.'database/DB_driver.php'); - require_once(BASEPATH.'database/DB_query_builder.php'); - if ( ! class_exists('CI_DB', FALSE)) - { - /** - * CI_DB - * - * Acts as an alias for both CI_DB_driver and CI_DB_query_builder. - * - * @see CI_DB_query_builder - * @see CI_DB_driver - */ - class CI_DB extends CI_DB_query_builder {} - } - // Load the DB driver $driver_file = BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver.php'; file_exists($driver_file) OR show_error('Invalid DB driver'); @@ -174,6 +178,9 @@ class CI_DB extends CI_DB_query_builder {} // Instantiate the DB adapter $driver = 'CI_DB_'.$params['dbdriver'].'_driver'; + /** + * @var CI_DB_driver + */ $DB = new $driver($params); // Check for a subdriver diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php index de03a418567..6ec586d7f5c 100644 --- a/system/database/DB_driver.php +++ b/system/database/DB_driver.php @@ -51,6 +51,7 @@ * @author EllisLab Dev Team * @link https://codeigniter.com/userguide3/database/ */ +#[AllowDynamicProperties] abstract class CI_DB_driver { /** @@ -721,7 +722,7 @@ public function query($sql, $binds = FALSE, $return_object = NULL) * we only use it when running transaction commands since they do * not require all the features of the main query() function. * - * @param string the sql query + * @param string $sql the sql query * @return mixed */ public function simple_query($sql) @@ -926,8 +927,8 @@ public function trans_rollback() /** * Compile Bindings * - * @param string the sql statement - * @param array an array of bind data + * @param string $sql the sql statement + * @param array $binds an array of bind data * @return string */ public function compile_binds($sql, $binds) @@ -991,7 +992,7 @@ public function compile_binds($sql, $binds) /** * Determines if a query is a "write" type. * - * @param string An SQL query string + * @param string $sql An SQL query string * @return bool */ public function is_write_type($sql) @@ -1004,7 +1005,7 @@ public function is_write_type($sql) /** * Calculate the aggregate query elapsed time * - * @param int The number of decimal places + * @param int $decimals The number of decimal places * @return string */ public function elapsed_time($decimals = 6) @@ -1044,7 +1045,7 @@ public function last_query() * Escapes data based on type * Sets boolean and null types * - * @param string + * @param string $str * @return mixed */ public function escape($str) @@ -1114,7 +1115,7 @@ public function escape_str($str, $like = FALSE) * Calls the individual driver for platform * specific escaping for LIKE conditions * - * @param string|string[] + * @param string|string[] $str * @return mixed */ public function escape_like_str($str) @@ -1127,7 +1128,7 @@ public function escape_like_str($str) /** * Platform-dependent string escape * - * @param string + * @param string $str * @return string */ protected function _escape_str($str) @@ -1160,7 +1161,7 @@ public function primary($table) * Generates a platform-specific query string that counts all records in * the specified database * - * @param string + * @param string $table * @return int */ public function count_all($table = '') @@ -1298,8 +1299,8 @@ public function list_fields($table) /** * Determine if a particular field exists * - * @param string - * @param string + * @param string $field_name + * @param string $table_name * @return bool */ public function field_exists($field_name, $table_name) @@ -1391,8 +1392,8 @@ public function escape_identifiers($item, $split = TRUE) /** * Generate an insert string * - * @param string the table upon which the query will be performed - * @param array an associative array data of key/values + * @param string $table the table upon which the query will be performed + * @param array $data an associative array data of key/values * @return string */ public function insert_string($table, $data) @@ -1415,9 +1416,9 @@ public function insert_string($table, $data) * * Generates a platform-specific insert string from the supplied data * - * @param string the table name - * @param array the insert keys - * @param array the insert values + * @param string $table the table name + * @param array $keys the insert keys + * @param array $values the insert values * @return string */ protected function _insert($table, $keys, $values) @@ -1430,9 +1431,9 @@ protected function _insert($table, $keys, $values) /** * Generate an update string * - * @param string the table upon which the query will be performed - * @param array an associative array data of key/values - * @param mixed the "where" statement + * @param string $table the table upon which the query will be performed + * @param array $data an associative array data of key/values + * @param mixed $where the "where" statement * @return string */ public function update_string($table, $data, $where) @@ -1462,8 +1463,8 @@ public function update_string($table, $data, $where) * * Generates a platform-specific update string from the supplied data * - * @param string the table name - * @param array the update data + * @param string $table the table name + * @param array $values the update data * @return string */ protected function _update($table, $values) @@ -1484,7 +1485,7 @@ protected function _update($table, $values) /** * Tests whether the string has an SQL operator * - * @param string + * @param string $str * @return bool */ protected function _has_operator($str) @@ -1497,7 +1498,7 @@ protected function _has_operator($str) /** * Returns the SQL string operator * - * @param string + * @param string $str * @return string */ protected function _get_operator($str) @@ -1563,7 +1564,7 @@ public function call_function($function) /** * Set Cache Directory Path * - * @param string the path to the cache directory + * @param string $path the path to the cache directory * @return void */ public function cache_set_path($path = '') @@ -1682,9 +1683,9 @@ protected function _close() /** * Display an error message * - * @param string the error message - * @param string any "swap" values - * @param bool whether to localize the message + * @param string $error the error message + * @param string $swap any "swap" values + * @param bool $native whether to localize the message * @return string sends the application/views/errors/error_db.php template */ public function display_error($error = '', $swap = '', $native = FALSE) @@ -1754,10 +1755,10 @@ public function display_error($error = '', $swap = '', $native = FALSE) * insert the table prefix (if it exists) in the proper position, and escape only * the correct identifiers. * - * @param string - * @param bool - * @param mixed - * @param bool + * @param string $item + * @param bool $prefix_single + * @param mixed $protect_identifiers + * @param bool $field_exists * @return string */ public function protect_identifiers($item, $prefix_single = FALSE, $protect_identifiers = NULL, $field_exists = TRUE) diff --git a/system/database/DB_query_builder.php b/system/database/DB_query_builder.php index de6aa04fc08..adf910e1404 100644 --- a/system/database/DB_query_builder.php +++ b/system/database/DB_query_builder.php @@ -278,8 +278,8 @@ abstract class CI_DB_query_builder extends CI_DB_driver { * * Generates the SELECT portion of the query * - * @param string - * @param mixed + * @param string $select + * @param mixed $escape * @return CI_DB_query_builder */ public function select($select = '*', $escape = NULL) @@ -320,8 +320,8 @@ public function select($select = '*', $escape = NULL) * * Generates a SELECT MAX(field) portion of a query * - * @param string the field - * @param string an alias + * @param string $select the field + * @param string $alias an alias * @return CI_DB_query_builder */ public function select_max($select = '', $alias = '') @@ -336,8 +336,8 @@ public function select_max($select = '', $alias = '') * * Generates a SELECT MIN(field) portion of a query * - * @param string the field - * @param string an alias + * @param string $select the field + * @param string $alias an alias * @return CI_DB_query_builder */ public function select_min($select = '', $alias = '') @@ -352,8 +352,8 @@ public function select_min($select = '', $alias = '') * * Generates a SELECT AVG(field) portion of a query * - * @param string the field - * @param string an alias + * @param string $select the field + * @param string $alias an alias * @return CI_DB_query_builder */ public function select_avg($select = '', $alias = '') @@ -368,8 +368,8 @@ public function select_avg($select = '', $alias = '') * * Generates a SELECT SUM(field) portion of a query * - * @param string the field - * @param string an alias + * @param string $select the field + * @param string $alias an alias * @return CI_DB_query_builder */ public function select_sum($select = '', $alias = '') @@ -518,10 +518,10 @@ public function from($from) * * Generates the JOIN portion of the query * - * @param string - * @param string the join condition - * @param string the type of join - * @param string whether not to try to escape identifiers + * @param string $table + * @param string $cond the join condition + * @param string $type the type of join + * @param string $escape whether not to try to escape identifiers * @return CI_DB_query_builder */ public function join($table, $cond, $type = '', $escape = NULL) @@ -607,9 +607,9 @@ public function join($table, $cond, $type = '', $escape = NULL) * Generates the WHERE portion of the query. * Separates multiple calls with 'AND'. * - * @param mixed - * @param mixed - * @param bool + * @param mixed $key + * @param mixed $value + * @param bool $escape * @return CI_DB_query_builder */ public function where($key, $value = NULL, $escape = NULL) @@ -625,9 +625,9 @@ public function where($key, $value = NULL, $escape = NULL) * Generates the WHERE portion of the query. * Separates multiple calls with 'OR'. * - * @param mixed - * @param mixed - * @param bool + * @param mixed $key + * @param mixed $value + * @param bool $escape * @return CI_DB_query_builder */ public function or_where($key, $value = NULL, $escape = NULL) @@ -1373,9 +1373,9 @@ protected function _limit($sql) * * Allows key/value pairs to be set for inserting or updating * - * @param mixed - * @param string - * @param bool + * @param mixed $key + * @param string $value + * @param bool $escape * @return CI_DB_query_builder */ public function set($key, $value = '', $escape = NULL) @@ -1405,8 +1405,8 @@ public function set($key, $value = '', $escape = NULL) * * Compiles a SELECT query string and returns the sql. * - * @param string the table name to select from (optional) - * @param bool TRUE: resets QB values; FALSE: leave QB values alone + * @param string $table the table name to select from (optional) + * @param bool $reset TRUE: resets QB values; FALSE: leave QB values alone * @return string */ public function get_compiled_select($table = '', $reset = TRUE) @@ -1435,9 +1435,9 @@ public function get_compiled_select($table = '', $reset = TRUE) * Compiles the select statement based on the other functions called * and runs the query * - * @param string the table - * @param string the limit clause - * @param string the offset clause + * @param string $table the table + * @param string $limit the limit clause + * @param string $offset the offset clause * @return CI_DB_result */ public function get($table = '', $limit = NULL, $offset = NULL) @@ -1466,8 +1466,8 @@ public function get($table = '', $limit = NULL, $offset = NULL) * Generates a platform-specific query string that counts all records * returned by an Query Builder query. * - * @param string - * @param bool the reset clause + * @param string $table + * @param bool $reset the reset clause * @return int */ public function count_all_results($table = '', $reset = TRUE) @@ -1620,9 +1620,9 @@ protected function _insert_batch($table, $keys, $values) /** * The "set_insert_batch" function. Allows key/value pairs to be set for batch inserts * - * @param mixed - * @param string - * @param bool + * @param mixed $key + * @param string $value + * @param bool $escape * @return CI_DB_query_builder */ public function set_insert_batch($key, $value = '', $escape = NULL) @@ -1680,8 +1680,8 @@ public function set_insert_batch($key, $value = '', $escape = NULL) * * Compiles an insert query and returns the sql * - * @param string the table to insert into - * @param bool TRUE: reset QB values; FALSE: leave QB values alone + * @param string $table the table to insert into + * @param bool $reset TRUE: reset QB values; FALSE: leave QB values alone * @return string */ public function get_compiled_insert($table = '', $reset = TRUE) @@ -1714,8 +1714,8 @@ public function get_compiled_insert($table = '', $reset = TRUE) * * Compiles an insert string and runs the query * - * @param string the table to insert data into - * @param array an associative array of insert values + * @param string $table the table to insert data into + * @param array $set an associative array of insert values * @param bool $escape Whether to escape values and identifiers * @return bool TRUE on success, FALSE on failure */ @@ -1752,7 +1752,7 @@ public function insert($table = '', $set = NULL, $escape = NULL) * validate that the there data is actually being set and that table * has been chosen to be inserted into. * - * @param string the table to insert data into + * @param string $table the table to insert data into * @return string */ protected function _validate_insert($table = '') @@ -1781,8 +1781,8 @@ protected function _validate_insert($table = '') * * Compiles an replace into string and runs the query * - * @param string the table to replace data into - * @param array an associative array of insert values + * @param string $table the table to replace data into + * @param array $set an associative array of insert values * @return bool TRUE on success, FALSE on failure */ public function replace($table = '', $set = NULL) @@ -1820,9 +1820,9 @@ public function replace($table = '', $set = NULL) * * Generates a platform-specific replace string from the supplied data * - * @param string the table name - * @param array the insert keys - * @param array the insert values + * @param string $table the table name + * @param array $keys the insert keys + * @param array $values the insert values * @return string */ protected function _replace($table, $keys, $values) @@ -1854,8 +1854,8 @@ protected function _from_tables() * * Compiles an update query and returns the sql * - * @param string the table to update - * @param bool TRUE: reset QB values; FALSE: leave QB values alone + * @param string $table the table to update + * @param bool $reset TRUE: reset QB values; FALSE: leave QB values alone * @return string */ public function get_compiled_update($table = '', $reset = TRUE) @@ -1930,7 +1930,7 @@ public function update($table = '', $set = NULL, $where = NULL, $limit = NULL) * validate that data is actually being set and that a table has been * chosen to be update. * - * @param string the table to update data on + * @param string $table the table to update data on * @return bool */ protected function _validate_update($table) @@ -1959,9 +1959,10 @@ protected function _validate_update($table) * * Compiles an update string and runs the query * - * @param string the table to retrieve the results from - * @param array an associative array of update values - * @param string the where key + * @param string $table the table to retrieve the results from + * @param array $set an associative array of update values + * @param string $index the where key + * @param int $batch_size * @return int number of rows affected or FALSE on failure */ public function update_batch($table, $set = NULL, $index = NULL, $batch_size = 100) @@ -2063,9 +2064,9 @@ protected function _update_batch($table, $values, $index) /** * The "set_update_batch" function. Allows key/value pairs to be set for batch updating * - * @param array - * @param string - * @param bool + * @param array $key + * @param string $index + * @param bool $escape * @return CI_DB_query_builder */ public function set_update_batch($key, $index = '', $escape = NULL) @@ -2114,7 +2115,7 @@ public function set_update_batch($key, $index = '', $escape = NULL) * * Compiles a delete string and runs "DELETE FROM table" * - * @param string the table to empty + * @param string $table the table to empty * @return bool TRUE on success, FALSE on failure */ public function empty_table($table = '') @@ -2147,7 +2148,7 @@ public function empty_table($table = '') * If the database does not support the truncate() command * This function maps to "DELETE FROM table" * - * @param string the table to truncate + * @param string $table the table to truncate * @return bool TRUE on success, FALSE on failure */ public function truncate($table = '') @@ -2181,7 +2182,7 @@ public function truncate($table = '') * If the database does not support the truncate() command, * then this method maps to 'DELETE FROM table' * - * @param string the table name + * @param string $table the table name * @return string */ protected function _truncate($table) @@ -2196,8 +2197,8 @@ protected function _truncate($table) * * Compiles a delete query string and returns the sql * - * @param string the table to delete from - * @param bool TRUE: reset QB values; FALSE: leave QB values alone + * @param string $table the table to delete from + * @param bool $reset TRUE: reset QB values; FALSE: leave QB values alone * @return string */ public function get_compiled_delete($table = '', $reset = TRUE) @@ -2215,10 +2216,10 @@ public function get_compiled_delete($table = '', $reset = TRUE) * * Compiles a delete string and runs the query * - * @param mixed the table(s) to delete from. String or array - * @param mixed the where clause - * @param mixed the limit clause - * @param bool + * @param mixed $table the table(s) to delete from. String or array + * @param mixed $where the where clause + * @param mixed $limit the limit clause + * @param bool $reset_data * @return mixed */ public function delete($table = '', $where = '', $limit = NULL, $reset_data = TRUE) @@ -2282,7 +2283,7 @@ public function delete($table = '', $where = '', $limit = NULL, $reset_data = TR * * Generates a platform-specific delete string from the supplied data * - * @param string the table name + * @param string $table the table name * @return string */ protected function _delete($table) @@ -2298,7 +2299,7 @@ protected function _delete($table) * * Prepends a database prefix if one exists in configuration * - * @param string the table + * @param string $table the table * @return string */ public function dbprefix($table = '') @@ -2318,7 +2319,7 @@ public function dbprefix($table = '') * * Set's the DB Prefix to something new without needing to reconnect * - * @param string the prefix + * @param string $prefix the prefix * @return string */ public function set_dbprefix($prefix = '') @@ -2333,7 +2334,7 @@ public function set_dbprefix($prefix = '') * * Used to track SQL statements written with aliased tables. * - * @param string The table to inspect + * @param string $table The table to inspect * @return string */ protected function _track_aliases($table) @@ -2603,7 +2604,7 @@ protected function _compile_order_by() * * Takes an object as input and converts the class variables to array key/vals * - * @param object + * @param object $object * @return array */ protected function _object_to_array($object) @@ -2633,7 +2634,7 @@ protected function _object_to_array($object) * * Takes an object as input and converts the class variables to array key/vals * - * @param object + * @param object $object * @return array */ protected function _object_to_array_batch($object) @@ -2819,7 +2820,7 @@ public function reset_query() /** * Resets the query builder values. Called by the get() function * - * @param array An array of fields to reset + * @param array $qb_reset_items An array of fields to reset * @return void */ protected function _reset_run($qb_reset_items) diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php index 317e1bc8d52..78614aecb20 100644 --- a/system/database/DB_utility.php +++ b/system/database/DB_utility.php @@ -230,7 +230,7 @@ public function repair_table($table_name) /** * Generate CSV from a query result object * - * @param object $query Query result object + * @param CI_DB_result $query Query result object * @param string $delim Delimiter (default: ,) * @param string $newline Newline character (default: \n) * @param string $enclosure Enclosure (default: ") @@ -266,7 +266,7 @@ public function csv_from_result(CI_DB_result $query, $delim = ',', $newline = "\ /** * Generate XML data from a query result object * - * @param object $query Query result object + * @param CI_DB_result $query Query result object * @param array $params Any preferences * @return string */ diff --git a/system/database/drivers/cubrid/cubrid_driver.php b/system/database/drivers/cubrid/cubrid_driver.php index bd01be6a0e7..637556ac4f3 100644 --- a/system/database/drivers/cubrid/cubrid_driver.php +++ b/system/database/drivers/cubrid/cubrid_driver.php @@ -253,7 +253,7 @@ protected function _trans_rollback() /** * Platform-dependent string escape * - * @param string + * @param string $str * @return string */ protected function _escape_str($str) diff --git a/system/database/drivers/cubrid/cubrid_utility.php b/system/database/drivers/cubrid/cubrid_utility.php index ca81568c3c1..0f5a36f4089 100644 --- a/system/database/drivers/cubrid/cubrid_utility.php +++ b/system/database/drivers/cubrid/cubrid_utility.php @@ -67,7 +67,7 @@ public function list_databases() /** * CUBRID Export * - * @param array Preferences + * @param array $params Preferences * @return mixed */ protected function _backup($params = array()) diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php index 5c4d2d8fb5b..522edcb591f 100644 --- a/system/database/drivers/mysql/mysql_driver.php +++ b/system/database/drivers/mysql/mysql_driver.php @@ -154,7 +154,7 @@ public function db_connect($persistent = FALSE) { log_message('error', "Database: Unable to set the configured connection charset ('{$this->char_set}')."); $this->close(); - return ($this->db->debug) ? $this->display_error('db_unable_to_set_charset', $this->char_set) : FALSE; + return ($this->db_debug) ? $this->display_error('db_unable_to_set_charset', $this->char_set) : FALSE; } if (isset($this->stricton)) @@ -339,7 +339,7 @@ protected function _trans_rollback() /** * Platform-dependent string escape * - * @param string + * @param string $str * @return string */ protected function _escape_str($str) diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php index 61e7adee3c7..2399f1fadbe 100644 --- a/system/database/drivers/mysqli/mysqli_driver.php +++ b/system/database/drivers/mysqli/mysqli_driver.php @@ -227,7 +227,7 @@ public function db_connect($persistent = FALSE) { log_message('error', "Database: Unable to set the configured connection charset ('{$this->char_set}')."); $this->_mysqli->close(); - return ($this->db->db_debug) ? $this->display_error('db_unable_to_set_charset', $this->char_set) : FALSE; + return ($this->db_debug) ? $this->display_error('db_unable_to_set_charset', $this->char_set) : FALSE; } return $this->_mysqli; @@ -387,7 +387,7 @@ protected function _trans_rollback() /** * Platform-dependent string escape * - * @param string + * @param string $str * @return string */ protected function _escape_str($str) diff --git a/system/database/drivers/odbc/odbc_driver.php b/system/database/drivers/odbc/odbc_driver.php index cfb9d5733ff..5a7d64c9075 100644 --- a/system/database/drivers/odbc/odbc_driver.php +++ b/system/database/drivers/odbc/odbc_driver.php @@ -294,7 +294,7 @@ protected function _trans_rollback() /** * Determines if a query is a "write" type. * - * @param string An SQL query string + * @param string $sql An SQL query string * @return bool */ public function is_write_type($sql) @@ -312,7 +312,7 @@ public function is_write_type($sql) /** * Platform-dependent string escape * - * @param string + * @param string $str * @return string */ protected function _escape_str($str) diff --git a/system/database/drivers/pdo/pdo_driver.php b/system/database/drivers/pdo/pdo_driver.php index 559e865552c..6fae0e732f5 100644 --- a/system/database/drivers/pdo/pdo_driver.php +++ b/system/database/drivers/pdo/pdo_driver.php @@ -234,7 +234,7 @@ protected function _trans_rollback() /** * Platform-dependent string escape * - * @param string + * @param string $str * @return string */ protected function _escape_str($str) diff --git a/system/database/drivers/pdo/subdrivers/pdo_odbc_driver.php b/system/database/drivers/pdo/subdrivers/pdo_odbc_driver.php index 6b7f2373e9b..68498688940 100644 --- a/system/database/drivers/pdo/subdrivers/pdo_odbc_driver.php +++ b/system/database/drivers/pdo/subdrivers/pdo_odbc_driver.php @@ -164,7 +164,7 @@ public function __construct($params) /** * Platform-dependent string escape * - * @param string + * @param string $str * @return string */ protected function _escape_str($str) @@ -177,7 +177,7 @@ protected function _escape_str($str) /** * Determines if a query is a "write" type. * - * @param string An SQL query string + * @param string $sql An SQL query string * @return bool */ public function is_write_type($sql) diff --git a/system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php b/system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php index 297cc6f5858..d12a3ab98b5 100644 --- a/system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php +++ b/system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php @@ -150,7 +150,7 @@ public function insert_id($name = NULL) /** * Determines if a query is a "write" type. * - * @param string An SQL query string + * @param string $sql An SQL query string * @return bool */ public function is_write_type($sql) diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php index 1cd473f2b5d..ce83a66c9f1 100644 --- a/system/database/drivers/postgre/postgre_driver.php +++ b/system/database/drivers/postgre/postgre_driver.php @@ -269,7 +269,7 @@ protected function _trans_rollback() /** * Determines if a query is a "write" type. * - * @param string An SQL query string + * @param string $sql An SQL query string * @return bool */ public function is_write_type($sql) @@ -287,7 +287,7 @@ public function is_write_type($sql) /** * Platform-dependent string escape * - * @param string + * @param string $str * @return string */ protected function _escape_str($str) diff --git a/system/database/drivers/sqlite3/sqlite3_driver.php b/system/database/drivers/sqlite3/sqlite3_driver.php index be79ddd5c74..dfe4212f6a7 100644 --- a/system/database/drivers/sqlite3/sqlite3_driver.php +++ b/system/database/drivers/sqlite3/sqlite3_driver.php @@ -171,7 +171,7 @@ protected function _trans_rollback() /** * Platform-dependent string escape * - * @param string + * @param string $str * @return string */ protected function _escape_str($str) diff --git a/system/database/drivers/sqlsrv/sqlsrv_driver.php b/system/database/drivers/sqlsrv/sqlsrv_driver.php index 787779483e5..361d5ff33f6 100644 --- a/system/database/drivers/sqlsrv/sqlsrv_driver.php +++ b/system/database/drivers/sqlsrv/sqlsrv_driver.php @@ -285,8 +285,8 @@ public function version() * * Generates a platform-specific query string so that the table names can be fetched * - * @param bool - * @return string $prefix_limit + * @param bool $prefix_limit + * @return string */ protected function _list_tables($prefix_limit = FALSE) { diff --git a/system/helpers/array_helper.php b/system/helpers/array_helper.php index 0617fdec49d..e4843c96f18 100644 --- a/system/helpers/array_helper.php +++ b/system/helpers/array_helper.php @@ -58,9 +58,9 @@ * Lets you determine whether an array index is set and whether it has a value. * If the element is empty it returns NULL (or whatever you specify as the default value.) * - * @param string - * @param array - * @param mixed + * @param string $item + * @param array $array + * @param mixed $default * @return mixed depends on what the array contains */ function element($item, array $array, $default = NULL) @@ -76,7 +76,7 @@ function element($item, array $array, $default = NULL) /** * Random Element - Takes an array as input and returns a random element * - * @param array + * @param array $array * @return mixed depends on what the array contains */ function random_element($array) @@ -95,9 +95,9 @@ function random_element($array) * Returns only the array items specified. Will return a default value if * it is not set. * - * @param array - * @param array - * @param mixed + * @param array $items + * @param array $array + * @param mixed $default * @return mixed depends on what the array contains */ function elements($items, array $array, $default = NULL) diff --git a/system/helpers/cookie_helper.php b/system/helpers/cookie_helper.php index 0325e3db34b..9cc6096d95c 100644 --- a/system/helpers/cookie_helper.php +++ b/system/helpers/cookie_helper.php @@ -58,14 +58,14 @@ * Accepts seven parameters, or you can submit an associative * array in the first parameter containing all the values. * - * @param mixed - * @param string the value of the cookie - * @param int the number of seconds until expiration - * @param string the cookie domain. Usually: .yourdomain.com - * @param string the cookie path - * @param string the cookie prefix - * @param bool true makes the cookie secure - * @param bool true makes the cookie accessible via http(s) only (no javascript) + * @param mixed $name + * @param string $value the value of the cookie + * @param int $expire the number of seconds until expiration + * @param string $domain the cookie domain. Usually: .yourdomain.com + * @param string $path the cookie path + * @param string $prefix the cookie prefix + * @param bool $secure true makes the cookie secure + * @param bool $httponly true makes the cookie accessible via http(s) only (no javascript) * @return void */ function set_cookie($name, $value = '', $expire = 0, $domain = '', $path = '/', $prefix = '', $secure = NULL, $httponly = NULL, $samesite = NULL) @@ -82,8 +82,8 @@ function set_cookie($name, $value = '', $expire = 0, $domain = '', $path = '/', /** * Fetch an item from the COOKIE array * - * @param string - * @param bool + * @param string $index + * @param bool $xss_clean * @return mixed */ function get_cookie($index, $xss_clean = FALSE) @@ -100,10 +100,10 @@ function get_cookie($index, $xss_clean = FALSE) /** * Delete a COOKIE * - * @param mixed - * @param string the cookie domain. Usually: .yourdomain.com - * @param string the cookie path - * @param string the cookie prefix + * @param mixed $name + * @param string $domain the cookie domain. Usually: .yourdomain.com + * @param string $path the cookie path + * @param string $prefix the cookie prefix * @return void */ function delete_cookie($name, $domain = '', $path = '/', $prefix = '') diff --git a/system/helpers/date_helper.php b/system/helpers/date_helper.php index 6ea9d82bd98..1c33332c544 100644 --- a/system/helpers/date_helper.php +++ b/system/helpers/date_helper.php @@ -58,7 +58,7 @@ * Returns time() based on the timezone parameter or on the * "time_reference" setting * - * @param string + * @param string $timezone * @return int */ function now($timezone = NULL) @@ -96,8 +96,8 @@ function now($timezone = NULL) * have to worry about escaping your text letters that * match the date codes. * - * @param string - * @param int + * @param string $datestr + * @param int $time * @return int */ function mdate($datestr = '', $time = '') @@ -131,9 +131,9 @@ function mdate($datestr = '', $time = '') * Returns a span of seconds in this format: * 10 days 14 hours 36 minutes 47 seconds * - * @param int a number of seconds - * @param int Unix timestamp - * @param int a number of display units + * @param int $seconds a number of seconds + * @param int $time Unix timestamp + * @param int $units a number of display units * @return string */ function timespan($seconds = 1, $time = '', $units = 7) @@ -235,8 +235,8 @@ function timespan($seconds = 1, $time = '', $units = 7) * Takes a month/year as input and returns the number of days * for the given month/year. Takes leap years into consideration. * - * @param int a numeric month - * @param int a numeric year + * @param int $month a numeric month + * @param int $year a numeric year * @return int */ function days_in_month($month = 0, $year = '') @@ -280,7 +280,7 @@ function days_in_month($month = 0, $year = '') /** * Converts a local Unix timestamp to GMT * - * @param int Unix timestamp + * @param int $time Unix timestamp * @return int */ function local_to_gmt($time = '') @@ -312,9 +312,9 @@ function local_to_gmt($time = '') * at the local value based on the timezone and DST setting * submitted * - * @param int Unix timestamp - * @param string timezone - * @param bool whether DST is active + * @param int $time Unix timestamp + * @param string $timezone timezone + * @param bool $dst whether DST is active * @return int */ function gmt_to_local($time = '', $timezone = 'UTC', $dst = FALSE) @@ -337,7 +337,7 @@ function gmt_to_local($time = '', $timezone = 'UTC', $dst = FALSE) /** * Converts a MySQL Timestamp to Unix * - * @param int MySQL timestamp YYYY-MM-DD HH:MM:SS + * @param int $time MySQL timestamp YYYY-MM-DD HH:MM:SS * @return int Unix timstamp */ function mysql_to_unix($time = '') @@ -369,9 +369,9 @@ function mysql_to_unix($time = '') * * Formats Unix timestamp to the following prototype: 2006-08-21 11:35 PM * - * @param int Unix timestamp - * @param bool whether to show seconds - * @param string format: us or euro + * @param int $time Unix timestamp + * @param bool $seconds whether to show seconds + * @param string $fmt format: us or euro * @return string */ function unix_to_human($time = '', $seconds = FALSE, $fmt = 'us') @@ -410,7 +410,7 @@ function unix_to_human($time = '', $seconds = FALSE, $fmt = 'us') * * Reverses the above process * - * @param string format: us or euro + * @param string $datestr format: us or euro * @return int */ function human_to_unix($datestr = '') @@ -458,10 +458,10 @@ function human_to_unix($datestr = '') * * Generates a drop-down menu of timezones. * - * @param string timezone - * @param string classname - * @param string menu name - * @param mixed attributes + * @param string $default timezone + * @param string $class classname + * @param string $name menu name + * @param mixed $attributes attributes * @return string */ function timezone_menu($default = 'UTC', $class = '', $name = 'timezones', $attributes = '') @@ -500,7 +500,7 @@ function timezone_menu($default = 'UTC', $class = '', $name = 'timezones', $attr * Returns an array of timezones. This is a helper function * for various other ones in this library * - * @param string timezone + * @param string $tz timezone * @return string */ function timezones($tz = '') @@ -569,14 +569,14 @@ function timezones($tz = '') * * Returns a list of dates within a specified period. * - * @param int unix_start UNIX timestamp of period start date - * @param int unix_end|days UNIX timestamp of period end date + * @param int $unix_start UNIX timestamp of period start date + * @param int $mixed UNIX timestamp of period end date * or interval in days. - * @param mixed is_unix Specifies whether the second parameter + * @param mixed $is_unix Specifies whether the second parameter * is a UNIX timestamp or a day interval * - TRUE or 'unix' for a timestamp * - FALSE or 'days' for an interval - * @param string date_format Output date format, same as in date() + * @param string $format Output date format, same as in date() * @return array */ function date_range($unix_start = '', $mixed = '', $is_unix = TRUE, $format = 'Y-m-d') diff --git a/system/helpers/download_helper.php b/system/helpers/download_helper.php index 2c72c563a89..58d9f2869ea 100644 --- a/system/helpers/download_helper.php +++ b/system/helpers/download_helper.php @@ -57,9 +57,9 @@ * * Generates headers that force a download to happen * - * @param mixed filename (or an array of local file path => destination filename) - * @param mixed the data to be downloaded - * @param bool whether to try and send the actual file MIME type + * @param mixed $filename filename (or an array of local file path => destination filename) + * @param mixed $data the data to be downloaded + * @param bool $set_mime whether to try and send the actual file MIME type * @return void */ function force_download($filename = '', $data = '', $set_mime = FALSE) diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php index a751f771eb9..7fb779f531b 100644 --- a/system/helpers/file_helper.php +++ b/system/helpers/file_helper.php @@ -150,9 +150,9 @@ function delete_files($path, $del_dir = FALSE, $htdocs = FALSE, $_level = 0) * Reads the specified directory and builds an array containing the filenames. * Any sub-folders contained within the specified path are read as well. * - * @param string path to source - * @param bool whether to include the path as part of the filename - * @param bool internal variable to determine recursion status - do not use in calls + * @param string $source_dir path to source + * @param bool $include_path whether to include the path as part of the filename + * @param bool $_recursion internal variable to determine recursion status - do not use in calls * @return array */ function get_filenames($source_dir, $include_path = FALSE, $_recursion = FALSE) @@ -200,9 +200,9 @@ function get_filenames($source_dir, $include_path = FALSE, $_recursion = FALSE) * * Any sub-folders contained within the specified path are read as well. * - * @param string path to source - * @param bool Look only at the top level directory specified? - * @param bool internal variable to determine recursion status - do not use in calls + * @param string $source_dir path to source + * @param bool $top_level_only Look only at the top level directory specified? + * @param bool $_recursion internal variable to determine recursion status - do not use in calls * @return array */ function get_dir_file_info($source_dir, $top_level_only = TRUE, $_recursion = FALSE) @@ -254,8 +254,8 @@ function get_dir_file_info($source_dir, $top_level_only = TRUE, $_recursion = FA * Options are: name, server_path, size, date, readable, writable, executable, fileperms * Returns FALSE if the file cannot be found. * - * @param string path to file - * @param mixed array or comma separated string of information returned + * @param string $file path to file + * @param mixed $returned_values array or comma separated string of information returned * @return array */ function get_file_info($file, $returned_values = array('name', 'server_path', 'size', 'date')) diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php index 191fc7e6d98..5d2b94e8345 100644 --- a/system/helpers/form_helper.php +++ b/system/helpers/form_helper.php @@ -57,9 +57,9 @@ * * Creates the opening portion of the form. * - * @param string the URI segments of the form destination - * @param array a key/value pair of attributes - * @param array a key/value pair hidden data + * @param string $action the URI segments of the form destination + * @param array $attributes a key/value pair of attributes + * @param array $hidden a key/value pair hidden data * @return string */ function form_open($action = '', $attributes = array(), $hidden = array()) @@ -147,9 +147,9 @@ function form_open($action = '', $attributes = array(), $hidden = array()) * * Creates the opening portion of the form, but with "multipart/form-data". * - * @param string the URI segments of the form destination - * @param array a key/value pair of attributes - * @param array a key/value pair hidden data + * @param string $action the URI segments of the form destination + * @param array $attributes a key/value pair of attributes + * @param array $hidden a key/value pair hidden data * @return string */ function form_open_multipart($action = '', $attributes = array(), $hidden = array()) @@ -225,9 +225,9 @@ function form_hidden($name, $value = '', $recursing = FALSE) /** * Text Input Field * - * @param mixed - * @param string - * @param mixed + * @param mixed $data + * @param string $value + * @param mixed $extra * @return string */ function form_input($data = '', $value = '', $extra = '') @@ -251,9 +251,9 @@ function form_input($data = '', $value = '', $extra = '') * * Identical to the input function but adds the "password" type * - * @param mixed - * @param string - * @param mixed + * @param mixed $data + * @param string $value + * @param mixed $extra * @return string */ function form_password($data = '', $value = '', $extra = '') @@ -273,8 +273,8 @@ function form_password($data = '', $value = '', $extra = '') * * Identical to the input function but adds the "file" type * - * @param mixed - * @param mixed + * @param mixed $data + * @param mixed $extra * @return string */ function form_upload($data = '', $extra = '') @@ -330,10 +330,10 @@ function form_textarea($data = '', $value = '', $extra = '') /** * Multi-select menu * - * @param string - * @param array - * @param mixed - * @param mixed + * @param string $name + * @param array $options + * @param mixed $selected + * @param mixed $extra * @return string */ function form_multiselect($name = '', $options = array(), $selected = array(), $extra = '') @@ -450,10 +450,10 @@ function form_dropdown($data = '', $options = array(), $selected = array(), $ext /** * Checkbox Field * - * @param mixed - * @param string - * @param bool - * @param mixed + * @param mixed $data + * @param string $value + * @param bool $checked + * @param mixed $extra * @return string */ function form_checkbox($data = '', $value = '', $checked = FALSE, $extra = '') @@ -494,10 +494,10 @@ function form_checkbox($data = '', $value = '', $checked = FALSE, $extra = '') /** * Radio Button * - * @param mixed - * @param string - * @param bool - * @param mixed + * @param mixed $data + * @param string $value + * @param bool $checked + * @param mixed $extra * @return string */ function form_radio($data = '', $value = '', $checked = FALSE, $extra = '') @@ -516,9 +516,9 @@ function form_radio($data = '', $value = '', $checked = FALSE, $extra = '') /** * Submit Button * - * @param mixed - * @param string - * @param mixed + * @param mixed $data + * @param string $value + * @param mixed $extra * @return string */ function form_submit($data = '', $value = '', $extra = '') @@ -540,9 +540,9 @@ function form_submit($data = '', $value = '', $extra = '') /** * Reset Button * - * @param mixed - * @param string - * @param mixed + * @param mixed $data + * @param string $value + * @param mixed $extra * @return string */ function form_reset($data = '', $value = '', $extra = '') @@ -564,9 +564,9 @@ function form_reset($data = '', $value = '', $extra = '') /** * Form Button * - * @param mixed - * @param string - * @param mixed + * @param mixed $data + * @param string $content + * @param mixed $extra * @return string */ function form_button($data = '', $content = '', $extra = '') @@ -595,9 +595,9 @@ function form_button($data = '', $content = '', $extra = '') /** * Form Label Tag * - * @param string The text to appear onscreen - * @param string The id the label applies to - * @param mixed Additional attributes + * @param string $label_text The text to appear onscreen + * @param string $id The id the label applies to + * @param mixed $attributes Additional attributes * @return string */ function form_label($label_text = '', $id = '', $attributes = array()) @@ -626,8 +626,8 @@ function form_label($label_text = '', $id = '', $attributes = array()) * Used to produce
text. To close fieldset * use form_fieldset_close() * - * @param string The legend text - * @param array Additional attributes + * @param string $legend_text The legend text + * @param array $attributes Additional attributes * @return string */ function form_fieldset($legend_text = '', $attributes = array()) @@ -649,7 +649,7 @@ function form_fieldset($legend_text = '', $attributes = array()) /** * Fieldset Close Tag * - * @param string + * @param string $extra * @return string */ function form_fieldset_close($extra = '') @@ -665,7 +665,7 @@ function form_fieldset_close($extra = '') /** * Form Close Tag * - * @param string + * @param string $extra * @return string */ function form_close($extra = '') @@ -713,9 +713,9 @@ function set_value($field, $default = '', $html_escape = TRUE) * Let's you set the selected value of a