Вход Регистрация
Файл: sys/inc/scrmaker.php
Строк: 58
<?php
$pre_w 
= 120; // ширина превью изображения
$dir   = array(
     
'tmp' => H . 'sys/tmp/',
    
'scr' => 'scr/' 
); // папки для временных файлов и скринов
function make_pre( $dir_loads2, $file2 )
{
    global 
$dir, $pre_w;
    
$filename = $dir_loads2 . '/' . $file2;
    
$now      = time();
    
$xml      = NULL;
    
$scr_name = '';
    if ( 
file_exists( $filename ) ) {
        
$file    = $filename;
        
$archive = new Archive_Tar( $filename );
        
$xml     = $archive->extractInString( 'Theme.xml' );
        if ( 
$xml === NULL ) {
            
$list = $archive->listContent();
            if ( 
is_array( $list ) ) {
                if ( 
preg_match( '/.xml$/i', $list[$i]['filename'] ) ) {
                    
$xml = $archive->extractInString( $list[$i]['filename'] );
                    break;
                }
            }
        }
        if ( 
$xml !== NULL ) {
            if ( ( 
preg_match( '#<Standby_image Source="(.*?)"/>#si', $xml, $res ) or preg_match( '#<Desktop_image Source="(.*?)"/>#si', $xml, $res ) ) and !empty( $res[1] ) )
                
$scr_name = $res[1];
            unset( 
$res );
            if ( !empty( 
$scr_name ) and preg_match( '/[a-z0-9]{3,4}$/i', $scr_name, $res ) ) {
                
$scr_ext  = strtolower( $res[0] );
                
$filename = $dir['tmp'] . $now . rand( 1, 999 ) . '.' . $scr_ext;
                
$fp       = fopen( $filename, 'wb' );
                
fputs( $fp, $archive->extractInString( $scr_name ) );
                
fclose( $fp );
                @
chmod( $filename, 0666 );
                
$scr_stat = getimagesize( $filename );
                if ( 
$scr_stat !== false ) {
                    if ( 
$scr_stat[0] > $pre_w ) {
                        switch ( 
$scr_stat[2] ) {
                            case 
1: //gif
                                
$i_scr = imagecreatefromgif( $filename );
                                break;
                            case 
2: //jpg
                                
$i_scr = imagecreatefromjpeg( $filename );
                                break;
                            case 
3: //png
                                
$i_scr = imagecreatefrompng( $filename );
                                break;
                            default:
                                
$i_scr = '';
                        }
                        if ( !empty( 
$i_scr ) ) {
                            
$ratio = $scr_stat[0] / $pre_w;
                            
$pre_h = round( $scr_stat[1] / $ratio );
                            
$i_pre = imagecreatetruecolor( $pre_w, $pre_h );
                            
imagecopyresampled( $i_pre, $i_scr, 0, 0, 0, 0, $pre_w, $pre_h, $scr_stat[0], $scr_stat[1] );
                            
$color1 = imagecolorallocate( $i_pre, 255, 250, 50 );
                            
$color2 = imagecolorallocate( $i_pre, 0, 0, 0 );
                            
//#### ###  ####
                            
$font   = '../SYSTEM/images/a.ttf';
                            
$text   = '.::ZonArt::.';
                            
//imagepstext($i_pre,$text,$font,10,$color1,$color2,4,130,1,2,0,20);
                            //$logo=imagecreatefrompng('../style/logo.png');
                            ///imagecopy($i_pre, $logo, 65, 85, 0, 0, 51, 45);
                            //imagecopy($i_pre, $logo, 0, 0, 0, 0, 120, 120);
                            //imagedestroy($logo);
                            //imagecolorallocatealpha($alpha,0,0,255,120);
                            
$data   = explode( '/', $file );
                            
$var    = $data[( sizeof( $data ) - 1 )];
                            
$var    = preg_replace( '/[a-z]{3,4}$/i', 'thm.JPG', $var );
                            
//header('Content-type: image/jpeg');
                            
$var    = $dir['scr'] . $var;
                            @
chmod( $var, 0777 );
                            
//imagejpeg($i_pre, $var);
                            
$i_pre = img_copyright( $i_pre ); // копирайт
                            
imagejpeg( $i_pre, $dir_loads2 . '/' . $file2 . '.JPG', 100 );
                            
imagedestroy( $i_pre );
                            
imagedestroy( $i_scr );
                            
unlink( $filename );
                            return 
$var;
                        }
                        
//else echo "<img src="../style/swf.jpg" alt="SWF!" /><br />n";
                    
} else
                        echo 
'ненадо преобразований<br />';
                } else
                    echo 
'не изображение<br/>';
                
unlink( $filename );
            } else
                echo 
'не найдены изображения для создания скрина<br/>';
        }
        
//else echo "<img src="../style/xml.jpg" alt="XML не найден!" /><br />n";
    
} else
        echo 
'файл не найден<br />';
    
clearstatcache();
    return 
false;
}
?>
Онлайн: 3
Реклама