Files
dbois/application/helpers/common_helper.php
T

307 lines
7.3 KiB
PHP

<?php
/**
* Dump helper. Functions to dump variables to the screen, in a nicley formatted manner.
* @author Joost van Veen
* @version 1.0
*/
if ( ! function_exists( 'dump' ) )
{
function dump( $var, $label = 'Dump', $echo = TRUE )
{
// Store dump in variable
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>';
// Output
if ( $echo == TRUE )
{
echo $output;
}
else
{
return $output;
}
}
}
if ( ! function_exists( 'dump_exit' ) )
{
function dump_exit( $var, $label = 'Dump', $echo = TRUE )
{
dump( $var, $label, $echo );
exit;
}
}
function mysql2text( $message )
{
$regeleinden = ['\r\n', '\r', '\n'];
$message = str_replace( $regeleinden, chr( 13 ), $message );
$message = stripslashes( $message );
return ( $message );
}
function mysql2html( $message )
{
$regeleinden = ['\r\n', '\r', '\n'];
$message = str_replace( $regeleinden, "<br />", $message );
$message = stripslashes( $message );
return ( $message );
}
function textarea2html( $message )
{
$regeleinden = [chr( 13 )];
$message = str_replace( $regeleinden, "<br />", $message );
$message = stripslashes( $message );
return ( $message );
}
function date2mysql( $date )
{
if ( ! check_date( $date ) ) return NULL;
return date( 'Y-m-d', strtotime( $date ) );
}
function mysql2date( $date )
{
if ( ! check_date( $date ) ) return '';
return date( 'd-m-Y', strtotime( $date ) );
}
function mysql2dateWithTime( $date )
{
if ( ! check_date( $date ) ) return '';
return date( 'd-m-Y H:i:s', strtotime( $date ) );
}
function check_date( $date )
{
if ( is_null( $date ) || ( strlen( $date ) < 6 ) ) return FALSE;
return TRUE;
}
function mysql2timestamp( $date )
{
$a = strptime( $date, '%Y-%m-%d' );
$timestamp = mktime( 0, 0, 0, $a['tm_mon'] + 1, $a['tm_mday'], $a['tm_year'] + 1900 );
return $timestamp;
}
function readTextFromStorage( $text )
{
return base64_decode( $text );
}
function cleanTextForStorage( $text )
{
$text = str_replace( '/r/n', '', $text );
$text = str_replace( '\r\n', '', $text );
$text = str_replace( '/n', '', $text );
$text = str_replace( '\n', '', $text );
$text = strip_slashes( $text );
return base64_encode( $text );
}
function setTextareaForStorage( $text )
{
$text = setTextArea( $text );
return base64_encode( $text );
}
function setTextArea( $text )
{
$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 = strip_slashes( $text );
return $text;
}
function setTextAreaHtml( $text )
{
$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 = strip_slashes( $text );
return $text;
}
function checkBsn( $bsn )
{
// if ( strlen( $bsn ) < 8 || strlen( $bsn ) > 9 )
// {
// return FALSE;
// }
// else
// {
// $sum = 0;
// $counter = strlen( $bsn );
// $pos = 0;
// for ( $i = $counter; $i > 0; $i -- )
// {
// if ( $i == 1 )
// {
// $sum = $sum + intval( $bsn{$pos} ) * - 1;
// }
// else
// {
// $sum = $sum + ( intval( $bsn{$pos} ) * $i );
// }
// $pos ++;
// }
// if ( $sum % 11 != 0 )
// {
// return FALSE;
// }
// }
return TRUE;
}
/**
* Validate an object property
*
* @param object $in
* @param string $property Can be NULL, in that case the first parameter is evaluated
* @param boolean $zeroAllowed ,
* default FALSE
*
* @return boolean TRUE if the property exists ans in not null or empty
*/
function isNotNullOrEmpty( $in, $property = NULL, $zeroAllowed = FALSE )
{
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';
}
else
{
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';
}
else
{
return $isNotEmpty;
}
}
/**
* Validate an object property
*
* @param object $in
* @param string $property Can be NULL, in that case the first parameter is evaluated
*
* @return boolean TRUE if the property exists and is not NULL or empty or zero
*/
function isNotNullOrEmptyOrZero( $in, $property = NULL )
{
return isNotNullOrEmpty( $in, $property, TRUE );
}
/**
* Validate an object property
*
* @param object $in
* @param string $property Can be NULL, in that case the first parameter is evaluated
*
* @return boolean TRUE if the property exists and is NULL or empty
*/
function isNullOrEmpty( $in, $property = NULL )
{
return ! isNotNullOrEmpty( $in, $property );
}
/**
* Validate an object property
*
* @param object $in
* @param string $property Can be NULL, in that case the first parameter is evaluated
*
* @return boolean TRUE if the property exists and is NULL or empty or zero
*/
function isNullOrEmptyOrZero( $in, $property = NULL )
{
return ! isNotNullOrEmpty( $in, $property, TRUE );
}
/**
*
* @param sting|integer $in
*
* @return string
*/
function parseNotNullField( $in )
{
if ( isNullOrEmpty( $in ) )
{
return '';
}
return (string) $in;
}
function unique_multidim_array( $array, $key )
{
$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;
}