Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
ini | |
100.00% |
1 / 1 |
|
100.00% |
6 / 6 |
19 | |
100.00% |
0 / 0 |
get | |
100.00% |
1 / 1 |
1 | |
100.00% |
0 / 0 |
|||
get_string | |
100.00% |
1 / 1 |
2 | |
100.00% |
0 / 0 |
|||
get_bool | |
100.00% |
1 / 1 |
3 | |
100.00% |
0 / 0 |
|||
get_int | |
100.00% |
1 / 1 |
2 | |
100.00% |
0 / 0 |
|||
get_float | |
100.00% |
1 / 1 |
2 | |
100.00% |
0 / 0 |
|||
get_bytes | |
100.00% |
1 / 1 |
9 | |
100.00% |
0 / 0 |
<?php | |
/** | |
* | |
* This file is part of the phpBB Forum Software package. | |
* | |
* @copyright (c) phpBB Limited <https://www.phpbb.com> | |
* @license GNU General Public License, version 2 (GPL-2.0) | |
* | |
* For full copyright and license information, please see | |
* the docs/CREDITS.txt file. | |
* | |
*/ | |
namespace phpbb\php; | |
/** | |
* Wrapper class for ini_get function. | |
* | |
* Provides easier handling of the different interpretations of ini values. | |
* @deprecated 3.2.10 (To be removed 4.0.0) | |
*/ | |
class ini | |
{ | |
/** | |
* Simple wrapper for ini_get() | |
* See http://php.net/manual/en/function.ini-get.php | |
* | |
* @param string $varname The configuration option name. | |
* @return bool|string False if configuration option does not exist, | |
* the configuration option value (string) otherwise. | |
*/ | |
public function get($varname) | |
{ | |
return ini_get($varname); | |
} | |
/** | |
* Gets the configuration option value as a trimmed string. | |
* | |
* @param string $varname The configuration option name. | |
* @return bool|string False if configuration option does not exist, | |
* the configuration option value (string) otherwise. | |
*/ | |
public function get_string($varname) | |
{ | |
$value = $this->get($varname); | |
if ($value === false) | |
{ | |
return false; | |
} | |
return trim($value); | |
} | |
/** | |
* Gets configuration option value as a boolean. | |
* Interprets the string value 'off' as false. | |
* | |
* @param string $varname The configuration option name. | |
* @return bool False if configuration option does not exist. | |
* False if configuration option is disabled. | |
* True otherwise. | |
*/ | |
public function get_bool($varname) | |
{ | |
$value = $this->get_string($varname); | |
if (empty($value) || strtolower($value) == 'off') | |
{ | |
return false; | |
} | |
return true; | |
} | |
/** | |
* Gets configuration option value as an integer. | |
* | |
* @param string $varname The configuration option name. | |
* @return bool|int False if configuration option does not exist, | |
* false if configuration option value is not numeric, | |
* the configuration option value (integer) otherwise. | |
*/ | |
public function get_int($varname) | |
{ | |
$value = $this->get_string($varname); | |
if (!is_numeric($value)) | |
{ | |
return false; | |
} | |
return (int) $value; | |
} | |
/** | |
* Gets configuration option value as a float. | |
* | |
* @param string $varname The configuration option name. | |
* @return bool|float False if configuration option does not exist, | |
* false if configuration option value is not numeric, | |
* the configuration option value (float) otherwise. | |
*/ | |
public function get_float($varname) | |
{ | |
$value = $this->get_string($varname); | |
if (!is_numeric($value)) | |
{ | |
return false; | |
} | |
return (float) $value; | |
} | |
/** | |
* Gets configuration option value in bytes. | |
* Converts strings like '128M' to bytes (integer or float). | |
* | |
* @param string $varname The configuration option name. | |
* @return bool|int|float False if configuration option does not exist, | |
* false if configuration option value is not well-formed, | |
* the configuration option value otherwise. | |
*/ | |
public function get_bytes($varname) | |
{ | |
$value = $this->get_string($varname); | |
if ($value === false) | |
{ | |
return false; | |
} | |
if (is_numeric($value)) | |
{ | |
// Already in bytes. | |
return phpbb_to_numeric($value); | |
} | |
else if (strlen($value) < 2) | |
{ | |
// Single character. | |
return false; | |
} | |
else if (strlen($value) < 3 && $value[0] === '-') | |
{ | |
// Two characters but the first one is a minus. | |
return false; | |
} | |
$value_lower = strtolower($value); | |
$value_numeric = phpbb_to_numeric($value); | |
switch ($value_lower[strlen($value_lower) - 1]) | |
{ | |
case 'g': | |
$value_numeric *= 1024; | |
case 'm': | |
$value_numeric *= 1024; | |
case 'k': | |
$value_numeric *= 1024; | |
break; | |
default: | |
// It's not already in bytes (and thus numeric) | |
// and does not carry a unit. | |
return false; | |
} | |
return $value_numeric; | |
} | |
} |