Вход Регистрация
Файл: 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
Реклама