Conversie codeigniter 4
This commit is contained in:
@@ -0,0 +1,331 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Common helper functions for DBOIS application
|
||||
* Migrated from CodeIgniter 3 to CodeIgniter 4
|
||||
*/
|
||||
|
||||
if (!function_exists('dump')) {
|
||||
/**
|
||||
* Dump helper - dumps variables to the screen in a nicely formatted manner
|
||||
*/
|
||||
function dump($var, string $label = 'Dump', bool $echo = true): ?string
|
||||
{
|
||||
ob_start();
|
||||
var_dump($var);
|
||||
$output = ob_get_clean();
|
||||
|
||||
// Add formatting
|
||||
$output = preg_replace("/]=>n(s+)/m", "] => ", $output);
|
||||
$output = '<pre style="background: #FFFEEF; color: #000; border: 1px dotted #000; padding: 10px; margin: 10px 0; text-align: left;">' . $label . ' => ' . $output . '</pre>';
|
||||
|
||||
if ($echo) {
|
||||
echo $output;
|
||||
return null;
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('dump_exit')) {
|
||||
/**
|
||||
* Dump and exit
|
||||
*/
|
||||
function dump_exit($var, string $label = 'Dump', bool $echo = true): void
|
||||
{
|
||||
dump($var, $label, $echo);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('mysql2text')) {
|
||||
function mysql2text(?string $message): string
|
||||
{
|
||||
$regeleinden = ['\r\n', '\r', '\n'];
|
||||
$message = str_replace($regeleinden, chr(13), $message ?? '');
|
||||
$message = stripslashes($message);
|
||||
|
||||
return $message;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('mysql2html')) {
|
||||
function mysql2html(?string $message): string
|
||||
{
|
||||
$regeleinden = ['\r\n', '\r', '\n'];
|
||||
$message = str_replace($regeleinden, "<br />", $message ?? '');
|
||||
$message = stripslashes($message);
|
||||
|
||||
return $message;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('textarea2html')) {
|
||||
function textarea2html(?string $message): string
|
||||
{
|
||||
$regeleinden = [chr(13)];
|
||||
$message = str_replace($regeleinden, "<br />", $message ?? '');
|
||||
$message = stripslashes($message);
|
||||
|
||||
return $message;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('date2mysql')) {
|
||||
function date2mysql(?string $date): ?string
|
||||
{
|
||||
if (!check_date($date)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return date('Y-m-d', strtotime($date));
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('mysql2date')) {
|
||||
function mysql2date(?string $date): string
|
||||
{
|
||||
if (!check_date($date)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return date('d-m-Y', strtotime($date));
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('mysql2dateWithTime')) {
|
||||
function mysql2dateWithTime(?string $date): string
|
||||
{
|
||||
if (!check_date($date)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return date('d-m-Y H:i:s', strtotime($date));
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('check_date')) {
|
||||
function check_date(?string $date): bool
|
||||
{
|
||||
if (is_null($date) || strlen($date) < 6) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('mysql2timestamp')) {
|
||||
function mysql2timestamp(string $date): int
|
||||
{
|
||||
$a = strptime($date, '%Y-%m-%d');
|
||||
$timestamp = mktime(0, 0, 0, $a['tm_mon'] + 1, $a['tm_mday'], $a['tm_year'] + 1900);
|
||||
|
||||
return $timestamp;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('readTextFromStorage')) {
|
||||
function readTextFromStorage(?string $text): string
|
||||
{
|
||||
return base64_decode($text ?? '');
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('cleanTextForStorage')) {
|
||||
function cleanTextForStorage(?string $text): string
|
||||
{
|
||||
$text = str_replace('/r/n', '', $text ?? '');
|
||||
$text = str_replace('\r\n', '', $text);
|
||||
$text = str_replace('/n', '', $text);
|
||||
$text = str_replace('\n', '', $text);
|
||||
$text = stripslashes($text);
|
||||
|
||||
return base64_encode($text);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('setTextareaForStorage')) {
|
||||
function setTextareaForStorage(?string $text): string
|
||||
{
|
||||
$text = setTextArea($text);
|
||||
|
||||
return base64_encode($text);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('setTextArea')) {
|
||||
function setTextArea(?string $text): string
|
||||
{
|
||||
$text = str_replace('/r/n', chr(13), $text ?? '');
|
||||
$text = str_replace('\r\n', chr(13), $text);
|
||||
$text = str_replace('/n', chr(13), $text);
|
||||
$text = str_replace('\n', chr(13), $text);
|
||||
$text = str_replace('\r', chr(13), $text);
|
||||
$text = str_replace('/r', chr(13), $text);
|
||||
$text = str_replace('\n\n', chr(13) . chr(13), $text);
|
||||
$text = stripslashes($text);
|
||||
|
||||
return $text;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('setTextAreaHtml')) {
|
||||
function setTextAreaHtml(?string $text): string
|
||||
{
|
||||
$text = str_replace('/r/n', '<br />', $text ?? '');
|
||||
$text = str_replace('\r\n', '<br />', $text);
|
||||
$text = str_replace('/n', '<br />', $text);
|
||||
$text = str_replace('\n', '<br />', $text);
|
||||
$text = str_replace('\r', '<br />', $text);
|
||||
$text = str_replace('/r', '<br />', $text);
|
||||
$text = str_replace('\n\n', '<br /><br />', $text);
|
||||
$text = stripslashes($text);
|
||||
|
||||
return $text;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('checkBsn')) {
|
||||
function checkBsn(string $bsn): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('isNotNullOrEmpty')) {
|
||||
/**
|
||||
* Validate an object property
|
||||
*/
|
||||
function isNotNullOrEmpty($in, ?string $property = null, bool $zeroAllowed = false): bool
|
||||
{
|
||||
if ($property === null) {
|
||||
if (is_object($in) && count((array)$in) === 0) {
|
||||
return false;
|
||||
}
|
||||
$isNotEmpty = $zeroAllowed ? !empty($in) : $in === 0 || $in === '0' || !empty($in);
|
||||
if (is_string($in)) {
|
||||
return $isNotEmpty && strtoupper($in) !== 'NULL' && strtoupper($in) !== 'FALSE' && strtoupper($in) !== 'UNDEFINED';
|
||||
}
|
||||
|
||||
return $isNotEmpty;
|
||||
}
|
||||
|
||||
if (!is_object($in)) {
|
||||
throw new Exception('Provided test $in must be a class instance(object) or a valid classname(string)');
|
||||
}
|
||||
if (!property_exists($in, $property)) {
|
||||
return false;
|
||||
}
|
||||
$prop = $in->{$property};
|
||||
$isNotEmpty = $zeroAllowed ? !empty($prop) : $prop === 0 || $prop === '0' || !empty($prop);
|
||||
if (is_string($prop)) {
|
||||
return $isNotEmpty && strtoupper($prop) !== 'NULL' && strtoupper($prop) !== 'FALSE' && strtoupper($prop) !== 'UNDEFINED';
|
||||
}
|
||||
|
||||
return $isNotEmpty;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('isNotNullOrEmptyOrZero')) {
|
||||
function isNotNullOrEmptyOrZero($in, ?string $property = null): bool
|
||||
{
|
||||
return isNotNullOrEmpty($in, $property, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('isNullOrEmpty')) {
|
||||
function isNullOrEmpty($in, ?string $property = null): bool
|
||||
{
|
||||
return !isNotNullOrEmpty($in, $property);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('isNullOrEmptyOrZero')) {
|
||||
function isNullOrEmptyOrZero($in, ?string $property = null): bool
|
||||
{
|
||||
return !isNotNullOrEmpty($in, $property, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('parseNotNullField')) {
|
||||
function parseNotNullField($in): string
|
||||
{
|
||||
if (isNullOrEmpty($in)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return (string)$in;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('unique_multidim_array')) {
|
||||
function unique_multidim_array(array $array, string $key): array
|
||||
{
|
||||
$temp_array = [];
|
||||
$key_array = [];
|
||||
|
||||
foreach ($array as $val) {
|
||||
$keyValue = is_array($val) ? $val[$key] : $val->$key;
|
||||
if (!in_array($keyValue, $key_array)) {
|
||||
$key_array[] = $keyValue;
|
||||
$temp_array[] = $val;
|
||||
}
|
||||
}
|
||||
|
||||
return $temp_array;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('validate_password_strength')) {
|
||||
/**
|
||||
* Validate password strength
|
||||
* Password must contain:
|
||||
* - At least 8 characters
|
||||
* - At least 1 uppercase letter
|
||||
* - At least 1 lowercase letter
|
||||
* - At least 1 number
|
||||
* - At least 1 special character
|
||||
*/
|
||||
function validate_password_strength(string $password): bool
|
||||
{
|
||||
if (strlen($password) < 8) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!preg_match('/[A-Z]/', $password)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!preg_match('/[a-z]/', $password)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!preg_match('/[0-9]/', $password)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!preg_match('/[^A-Za-z0-9]/', $password)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('get_password_requirements_nl')) {
|
||||
/**
|
||||
* Get password validation requirements in Dutch
|
||||
*/
|
||||
function get_password_requirements_nl(): array
|
||||
{
|
||||
return [
|
||||
'Minimaal 8 karakters',
|
||||
'Minimaal 1 hoofdletter',
|
||||
'Minimaal 1 kleine letter',
|
||||
'Minimaal 1 cijfer',
|
||||
'Minimaal 1 speciaal teken (!@#$%^&* etc.)'
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user