adding serialization methods and versions to docblocks in helpers

This commit is contained in:
Brian 2022-05-20 13:49:53 -06:00
parent 962f8eb6ad
commit 5f9d23e24a
Signed by: brian
GPG Key ID: DE1A5390A3B84CD8

View File

@ -5,6 +5,8 @@ if (! function_exists('snake2Title')) {
* Convert a snake case string to a title with spaces * Convert a snake case string to a title with spaces
* and every word capitalized. * and every word capitalized.
* *
* @since 1.0.0
*
* @param string $stakeSlug A snake case string, commonly a slug * @param string $stakeSlug A snake case string, commonly a slug
* *
* @return string * @return string
@ -22,6 +24,8 @@ if (! function_exists('carbon')) {
* It will attempt to find a timezone in the current * It will attempt to find a timezone in the current
* session but default to UTC. * session but default to UTC.
* *
* @since 1.0.0
*
* @param string|null $timestring * @param string|null $timestring
* *
* @return \Carbon\Carbon * @return \Carbon\Carbon
@ -40,6 +44,8 @@ if (! function_exists('jddayofweek')) {
/** /**
* Returns the day of the week. Can return a string or an integer depending on the mode. * Returns the day of the week. Can return a string or an integer depending on the mode.
* *
* @since 1.0.0
*
* @param int|null $intDay * @param int|null $intDay
* @param int $mode * @param int $mode
* *
@ -59,10 +65,106 @@ if (! function_exists('jddayofweek')) {
} }
} }
if (! function_exists('is_serialized')) {
/**
* Check a value to find if it was serialized.
*
* @since 1.0.0
*
* @param mixed $data
* @param bool $strict
*
* @return bool
*/
function is_serialized($data, bool $strict = true): bool
{
// If it isn't a string, it isn't serialized.
if (! is_string($data)) {
return false;
}
$data = trim($data);
if ('N;' === $data) {
return true;
}
if (strlen($data) < 4) {
return false;
}
if (':' !== $data[1]) {
return false;
}
if ($strict) {
$lastc = substr($data, -1);
if (';' !== $lastc && '}' !== $lastc) {
return false;
}
} else {
$semicolon = strpos($data, ';');
$brace = strpos($data, '}');
// Either ; or } must exist.
if (!$semicolon && !$brace) {
return false;
}
// But neither must be in the first X characters.
if ($semicolon && $semicolon < 3) {
return false;
}
if ($brace && $brace < 4) {
return false;
}
}
$token = $data[0];
switch ($token) {
case 's':
if ($strict) {
if ('"' !== substr($data, -2, 1)) {
return false;
}
} elseif (!strpos($data, '"')) {
return false;
}
// Or else fall through.
case 'a':
case 'O':
return (bool) preg_match("/^{$token}:[0-9]+:/s", $data);
case 'b':
case 'i':
case 'd':
$end = $strict ? '$' : '';
return (bool) preg_match("/^{$token}:[0-9.E+-]+;$end/", $data);
}
return false;
}
}
if (! function_exists('maybe_unserialize')) {
/**
* Unserialize data only if it was serialized. Will return
* an array if it was a serialized string, otherwise it
* will return whatever was passed into the function
* leaving it untouched.
*
* @since 1.0.0
*
* @param mixed $data
*
* @return mixed
*/
function maybe_unserialize($data)
{
if (is_serialized($data)) { // Don't attempt to unserialize data that wasn't serialized going in.
return @unserialize(trim($data));
}
return $data;
}
}
if (! function_exists('cel2Fah')) { if (! function_exists('cel2Fah')) {
/** /**
* Convert from celsius to fahrenheit. * Convert from celsius to fahrenheit.
* *
* @since 1.0.0
*
* @param float|int|string $celsius * @param float|int|string $celsius
* @param int $precision * @param int $precision
* *
@ -78,6 +180,8 @@ if (! function_exists('fah2Cel')) {
/** /**
* Convert from fahrenheit to celsius. * Convert from fahrenheit to celsius.
* *
* @since 1.0.0
*
* @param float|int|string $fahrenheit * @param float|int|string $fahrenheit
* @param int $precision * @param int $precision
* *
@ -93,6 +197,8 @@ if (! function_exists('meters2Miles')) {
/** /**
* Convert from meters to miles. * Convert from meters to miles.
* *
* @since 1.0.0
*
* @param float|int|string $meters * @param float|int|string $meters
* @param int $precision * @param int $precision
* *
@ -108,6 +214,8 @@ if (! function_exists('kilometers2Miles')) {
/** /**
* Convert from kilometers to meters. * Convert from kilometers to meters.
* *
* @since 1.0.0
*
* @param float|int|string $kilometers * @param float|int|string $kilometers
* @param int $precision * @param int $precision
* *
@ -123,6 +231,8 @@ if (! function_exists('m2Km')) {
/** /**
* Convert from meters to kilometers. * Convert from meters to kilometers.
* *
* @since 1.0.0
*
* @param float|int|string $meters * @param float|int|string $meters
* @param int $precision * @param int $precision
* *
@ -138,6 +248,8 @@ if (! function_exists('mm2Inches')) {
/** /**
* Convert from milimeters to inches. * Convert from milimeters to inches.
* *
* @since 1.0.0
*
* @param float|int|string $milimeters * @param float|int|string $milimeters
* @param int $precision * @param int $precision
* *
@ -153,6 +265,8 @@ if (! function_exists('pa2Mbar')) {
/** /**
* Convert from pascals to milibars. * Convert from pascals to milibars.
* *
* @since 1.0.0
*
* @param float|int|string $pascals * @param float|int|string $pascals
* @param int $precision * @param int $precision
* *