Вход Регистрация
Файл: monst/core/pag/clan/clanicon.php
Строк: 208
<?
if ( !$clan ) {
    
g('/main');
}

if ( 
$clan['master_id'] != $user['id'] ) {
    
g('/mail');
}

upd_loc('upload clan icon');
$temp_clanicon_path $HOME '/content/clan/temp/' $clan['id'] . '.png';
$clanicon_path $HOME '/content/clan/' $clan['id'] . '.png';

switch ( @
$index[2] ) {
    default:
        if ( isset(
$_GET['bad_size']) ) print '<div class="error_box">'.$lang['clan.php']['clanicon']['error']['bad_size'].'</div><br/><br/>';
        if ( isset(
$_GET['not_im']) ) print '<div class="error_box">'.$lang['clan.php']['clanicon']['error']['not_im'].'</div><br/><br/>';
        if ( isset(
$_GET['no_aspect']) ) print '<div class="error_box">'.$lang['clan.php']['clanicon']['error']['no_aspect'].'</div><br/><br/>';
        if ( isset(
$_GET['no_file']) ) print '<div class="error_box">'.$lang['clan.php']['clanicon']['error']['no_file'].'</div><br/><br/>';

        
?>
        <div style='text-align: center;'>
            <div class='padding'>
                <?=$lang['clan.php']['clanicon']['desc']?><br/>
                <br/>
            </div>

            <form method='post' action='/clan/clanicon/crop' enctype="multipart/form-data">
                <input type="hidden" name="MAX_FILE_SIZE" value="<?= 1024 1024 10 ?>"/>
                <input type='file' name='im'/><br/>
                <br/>
                <input type='submit' value='<?=$lang['clan.php']['clanicon']['submit']['upload']?>'/>
            </form>

        </div>

        <br/><br/>
        <div style='text-align: center;'>
            <a href='/clan/setting'><?=$lang['clan.php']['clanicon']['back']?></a>
        </div>
        <br/>

        <?
        
break;

    case 
'crop':

        function 
isImage($img){
            return (bool)
getimagesize($img);
        }

        if ( !
isImage($_FILES['im']['tmp_name']) ) {
            
g('/main');
        }

        
$im $_FILES['im'];

        if (
$im['size'] > 1024 1024 10) {
            
g('/clan/clanicon?bad_size');
        }


        
$w getimagesize($im['tmp_name']);

        if ( !
$w ) {
            
g('/clan/clanicon?not_im');
        }

        if ( 
$w['mime'] == 'image/jpg' OR $w['mime'] == 'image/jpeg') {
            
$im_type 'jpg';
        } elseif ( 
$w['mime'] == 'image/png') {
            
$im_type 'png';
        } elseif ( 
$w['mime'] == 'image/gif') {
            
$im_type 'gif';
        } else {
            
g('/clan/clanicon?not_im');
        }

        if (
$w[0] < 1000) {
            
$new_w $w[0];
            
$new_h $w[1];
        } else {
            
$new_w 1000;
            
$new_h round($new_w $w[1] / $w[0]);
        }

        if ( 
$im_type == 'jpg' ) {
            
$img_r imagecreatefromjpeg($im['tmp_name']);
        } elseif ( 
$im_type == 'png' ) {
            
$img_r imagecreatefrompng($im['tmp_name']);
        } elseif ( 
$im_type == 'gif' ) {
            
$img_r imagecreatefromgif($im['tmp_name']);
        }

        
$dst_r ImageCreateTrueColor$new_w$new_h );

        
imagealphablending($dst_rfalse);
        
imagesavealpha($dst_rtrue);

        
imagecopyresampled($dst_r,$img_r,0,0,0,0,
            
$new_w,$new_h$w[0], $w[1]);

        
imagepng($dst_r$temp_clanicon_path);
        @
chmod($HOME $temp_clanicon_path0666);

        
?>
        <link rel='stylesheet' href='/core/s/css/Jcrop/jquery.Jcrop.css' type='text/css'/>
        <script src='/core/j/jquery-3.2.1.min.js'></script>
        <script src='/core/j/jquery.Jcrop.js'></script>

        <script type="text/javascript">

            $(function () {
                $('#target').Jcrop({
                    aspectRatio: 1,
                    onSelect: updateCoords,
                    bgFade: true,
                    //                        bgOpacity: .5,
                    setSelect: [0, 0, 999, 999]
                });

            });

            function updateCoords(c) {
                $('#x').val(c.x);
                $('#y').val(c.y);
                $('#w').val(c.w);
                $('#h').val(c.h);
            }
            ;

            function checkCoords() {
                if (parseInt($('#w').val())) return true;
                alert('Error!');
                return false;
            }
            ;

        </script>

        <div style='text-align: center;'>
            <div class='padding'>
                <?=$lang['clan.php']['clanicon']['crop_desc']?>
            </div>
            <br/>
            <img src="/content/clan/temp/<?=$clan['id']?>.png?<?=r()?>" id="target" style="border: 1px solid #222;"/>

            <form action="/clan/clanicon/create" method="post" onsubmit="return checkCoords();">
                <input type="hidden" name="crop" value="1"/>

                <input type='hidden' id="x" name="x"/>
                <input type='hidden' id="y" name="y"/>
                <input type='hidden' id="w" name="w"/>
                <input type='hidden' id="h" name="h"/>

                <br/>
                <input type="submit" value="<?=$lang['clan.php']['clanicon']['submit']['save']?>"/>
            </form>
        </div>

        <br/><br/>
        <div style='text-align: center;'>
            <a href='/clan'><?=$lang['clan.php']['clanicon']['back']?></a>
        </div>
        <br/>

        <?
        
break;

    case 
'create':
        if ( !
file_exists($temp_clanicon_path) ) {
            
g('/clan/clanicon?no_file');
        }

        if ( !isset(
$_POST['crop']) ) {
            
g('/clan/clanicon?no_aspect');
        }

        
$w = (int)$_POST['w'];
        
$h = (int)$_POST['h'];
        
$x = (int)$_POST['x'];
        
$y = (int)$_POST['y'];

        
$targ_w $targ_h 1000;

        
$src $temp_clanicon_path;

        
$img_r imagecreatefrompng($src);
        
$dst_r ImageCreateTrueColor($targ_w$targ_h);

        
imagealphablending($dst_rfalse);
        
imagesavealpha($dst_rtrue);

        
imagecopyresampled($dst_r$img_r00$x$y,
            
$targ_w$targ_h$w$h);

        
imagepng($dst_r$clanicon_path);
        @
chmod($clanicon_path0666);
        @
unlink($temp_clanicon_path);

        
?>
        <div class='padding'>
            <?=$lang['clan.php']['clanicon']['upload_ok']?><br/>
        </div>
        <?
        
break;
}
Онлайн: 1
Реклама