219 lines
6.9 KiB
PHP
219 lines
6.9 KiB
PHP
<?php
|
|
|
|
function fnc_getNavPathArray ( $tblPrefix , $navId )
|
|
{
|
|
global $db;
|
|
|
|
$return = $navId;
|
|
|
|
if ( $navId !== '0' )
|
|
{
|
|
$result = $db -> query ( 'SELECT * FROM ' . $tblPrefix . '_' . TBL_NAVI . ' WHERE ' . $tblPrefix . '_navId = "' . $navId . '";' );
|
|
if ( $result -> num_rows !== 0 )
|
|
{
|
|
$navPoint = $result -> fetch_assoc( );
|
|
$return .= ' ' . fnc_getNavPathArray ( $tblPrefix , $navPoint[ $tblPrefix . '_navStart' ] );
|
|
}
|
|
}
|
|
|
|
return $return;
|
|
}
|
|
|
|
function fnc_buildUniqueLinkName ( $tblPrefix , $navStart , $navName )
|
|
{
|
|
global $db;
|
|
|
|
$return = false;
|
|
$search = array ( 'ä' , 'ö' , 'ü' , 'ß' , ' ' , '.' , '/' );
|
|
$replace = array ( 'ae' , 'oe' , 'ue' , 'ss' , '_' , '' , '' );
|
|
$ent = array_keys( get_html_translation_table( ENT_HTML5 ) );
|
|
|
|
$return = str_replace ( $search , $replace , mb_strtolower( $navName , mb_detect_encoding ( $navName ) ) );
|
|
$return = str_replace ( $ent , '' , $return );
|
|
|
|
$result = $db -> query ( 'SELECT * FROM ' . $tblPrefix . '_' . TBL_NAVI . ' WHERE ' . $tblPrefix . '_navStart = "' . $navStart . '" AND ( ' . $tblPrefix . '_navLink = "' . $return . '" OR ' . $tblPrefix . '_navLink REGEXP "' . $return . '\_[0-9]" );' );
|
|
$count = $result -> num_rows;
|
|
|
|
$return = ( $count > 0 )
|
|
? $return . '_' . $count
|
|
: $return;
|
|
|
|
return $return;
|
|
}
|
|
|
|
function fnc_buildUniqueFileName ( $prefix , $navId , $fileName , $fileExt )
|
|
{
|
|
$return = false;
|
|
$search = array ( 'ä' , 'ö' , 'ü' , 'ß' , ' ' , '/' );
|
|
$replace = array ( 'ae' , 'oe' , 'ue' , 'ss' , '_' , '' );
|
|
$ent = array_keys( get_html_translation_table( ENT_HTML5 ) );
|
|
|
|
$return = str_replace ( $search , $replace , mb_strtolower( $fileName , mb_detect_encoding ( $fileName ) ) );
|
|
$return = str_replace ( $ent , '' , $return );
|
|
|
|
$result = glob ( PATH_MED . $prefix . '/' . $navId . '/' . $return . '*_orig.' . $fileExt );
|
|
$count = count ( $result );
|
|
$return = ( $count > 0 )
|
|
? $return . '_' . $count
|
|
: $return;
|
|
|
|
$return .= '.' . $fileExt;
|
|
|
|
return $return;
|
|
}
|
|
|
|
function fnc_checkOrigResize ( $filePath , $fileName_orig , $fileName_temp , $fileExt , $newSize )
|
|
{
|
|
global $vC;
|
|
list ( $width , $height ) = getimagesize( $filePath . $fileName_temp );
|
|
|
|
if ( $width > $newSize[ 'width' ] || $height > $newSize[ 'height' ] )
|
|
{
|
|
if ( $newSize[ 'width' ] / $width < $newSize[ 'height' ] / $height )
|
|
{
|
|
$newWidth = $newSize[ 'width' ];
|
|
$newHeight = $height * $newSize[ 'width' ] / $width;
|
|
}
|
|
else
|
|
{
|
|
$newWidth = $width * $newSize[ 'height' ] / $height;
|
|
$newHeight = $newSize[ 'height' ];
|
|
}
|
|
$newImage = imagecreatetruecolor ( $newWidth , $newHeight );
|
|
|
|
if ( $fileExt === 'jpg' )
|
|
{
|
|
$origImg = imagecreatefromjpeg( $filePath . $fileName_temp );
|
|
}
|
|
else if ( $fileExt === 'png' )
|
|
{
|
|
$origImg = imagecreatefrompng( $filePath . $fileName_temp );
|
|
}
|
|
else if ( $fileExt === 'gif' )
|
|
{
|
|
$origImg = imagecreatefromgif( $filePath . $fileName_temp );
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
|
|
$return = imagecopyresampled( $newImage , $origImg , 0 , 0 , 0 , 0 , $newWidth , $newHeight , $width , $height );
|
|
|
|
if ( $return === true )
|
|
{
|
|
if ( $fileExt === 'jpg' )
|
|
{
|
|
$return = imagejpeg( $newImage , $filePath . $fileName_orig , $vC[ 'portal' ][ 'imgQuality' ] );
|
|
}
|
|
else if ( $fileExt === 'png' )
|
|
{
|
|
$return = imagepng( $newImage , $filePath . $fileName_orig );
|
|
}
|
|
else if ( $fileExt === 'gif' )
|
|
{
|
|
$return = imagegif( $newImage , $filePath . $fileName_orig );
|
|
}
|
|
}
|
|
|
|
unlink ( $filePath . $fileName_temp );
|
|
return $return;
|
|
}
|
|
else
|
|
{
|
|
rename ( $filePath . $fileName_temp , $filePath . $fileName_orig );
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
function fnc_buildImage ( $filePath , $fileName , $fileExt , $newSize , $previewParams )
|
|
{
|
|
global $vC;
|
|
|
|
list ( $width , $height ) = getimagesize( $filePath . $fileName );
|
|
$newImage = imagecreatetruecolor ( $newSize[ 'width' ] , $newSize[ 'height' ] );
|
|
|
|
if ( $fileExt === 'jpg' )
|
|
{
|
|
$origImg = imagecreatefromjpeg( $filePath . $fileName );
|
|
}
|
|
else if ( $fileExt === 'png' )
|
|
{
|
|
$origImg = imagecreatefrompng( $filePath . $fileName );
|
|
}
|
|
else if ( $fileExt === 'gif' )
|
|
{
|
|
$origImg = imagecreatefromgif( $filePath . $fileName );
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
|
|
$return = imagecopyresampled( $newImage , $origImg , 0 , 0 , $previewParams[ 'previewLeft' ] * ( $width / $newSize[ 'width' ] ) , $previewParams[ 'previewTop' ] * ( $width / $newSize[ 'width' ] ) , $newSize[ 'width' ] , $newSize[ 'height' ] , $width * ( $previewParams[ 'previewWidth' ] / $newSize[ 'width' ] ) , $newSize[ 'height' ] * ( $width / $newSize[ 'width' ] ) * ( $previewParams[ 'previewWidth' ] / $newSize[ 'width' ] ) );
|
|
|
|
if ( $return === true )
|
|
{
|
|
if ( $fileExt === 'jpg' )
|
|
{
|
|
$return = imagejpeg( $newImage , $filePath . str_replace ( '_orig' , '' , $fileName ) , $vC[ 'portal' ][ 'imgQuality' ] );
|
|
}
|
|
else if ( $fileExt === 'png' )
|
|
{
|
|
$return = imagepng( $newImage , $filePath . str_replace ( '_orig' , '' , $fileName ) );
|
|
}
|
|
else if ( $fileExt === 'gif' )
|
|
{
|
|
$return = imagegif( $newImage , $filePath . str_replace ( '_orig' , '' , $fileName ) );
|
|
}
|
|
}
|
|
|
|
return $return;
|
|
}
|
|
|
|
function fnc_buildThumbnail ( $filePath , $fileName , $fileExt , $newSize )
|
|
{
|
|
global $vC;
|
|
|
|
list ( $width , $height ) = getimagesize( $filePath . $fileName );
|
|
$newImage = imagecreatetruecolor ( $newSize[ 'width' ] , $newSize[ 'height' ] );
|
|
|
|
if ( $fileExt === 'jpg' )
|
|
{
|
|
$origImg = imagecreatefromjpeg( $filePath . $fileName );
|
|
}
|
|
else if ( $fileExt === 'png' )
|
|
{
|
|
$origImg = imagecreatefrompng( $filePath . $fileName );
|
|
}
|
|
else if ( $fileExt === 'gif' )
|
|
{
|
|
$origImg = imagecreatefromgif( $filePath . $fileName );
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
|
|
$return = imagecopyresampled( $newImage , $origImg , 0 , 0 , 0 , 0 , $newSize[ 'width' ] , $newSize[ 'height' ] , $width , $height );
|
|
|
|
if ( $return === true )
|
|
{
|
|
if ( $fileExt === 'jpg' )
|
|
{
|
|
$return = imagejpeg( $newImage , $filePath . str_replace ( '.' . $fileExt , '_thumb.' . $fileExt , $fileName ) , $vC[ 'portal' ][ 'imgQuality' ] );
|
|
}
|
|
else if ( $fileExt === 'png' )
|
|
{
|
|
$return = imagepng( $newImage , $filePath . str_replace ( '.' . $fileExt , '_thumb.' . $fileExt , $fileName ) );
|
|
}
|
|
else if ( $fileExt === 'gif' )
|
|
{
|
|
$return = imagegif( $newImage , $filePath . str_replace ( '.' . $fileExt , '_thumb.' . $fileExt , $fileName ) );
|
|
}
|
|
}
|
|
|
|
return $return;
|
|
}
|
|
?>
|