View file ä󿪫¬/modules/support/foto_edit.php

File size: 13.26Kb
<?
/* Mixanza
 * Дата последнего редактирования 02.10.2018
 * Модифицировал Mixanza
 */
 
 
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
    require_once "../../sys/inc/$inc.php";
}
$ban_f = $pdo->query("SELECT * FROM `ban_files` WHERE `id_user` = '$user[id]' AND `status` = '1' AND `type` = 'photo' LIMIT 1")->fetch(PDO::FETCH_ASSOC);

if ($ban_f['status']==1)
{
header('location: /modules/foto/admin/ban_user.php');
}

if (isset($user) && $pdo->query(("SELECT COUNT(*) FROM `promotion_blacklist` WHERE `id_user` = '".$user['id']."' LIMIT 1"),0)->fetchColumn()){    
header('location: index.php'); 
}


if(isset($user)){
$set['title']='Прикрепить фото';
include_once '../../sys/inc/thead.php';
aut(); // форма авторизации

$post = $pdo->query(("select * from `promotion` where `id` = '".intval($_GET['id'])."'"))->fetch(PDO::FETCH_ASSOC);
$access = $pdo->query(("select * from `promotion_access` where `id_user` = '".intval($user['id'])."'"))->fetchColumn();

#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltipecho' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='/modules/support/'>тех.поддержка</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='/modules/support/edit.php?id=$post[id]'>";
echo lang('редактирование запроса');
echo "</a> <i class='fa fa-angle-right fa-fw'></i> Прикрепить фото</div>";



if (access('adm_mysql') || $access){
}else{    
if ($pdo->query(("SELECT COUNT(*) FROM `promotion` WHERE `id` = '".intval($_GET['id'])."' AND `id_user` = '".intval($user['id'])."' LIMIT 1"), 0)->fetchColumn()==0){
header("Location: index.php?".SID);
exit;
}
}

if(isset($_GET['act']) && $_GET['act']=='foto'){
	//==================Фото-начало===============//
echo "<div class='list-group-item'>";	
echo "<table style='width: 100%; text-align: center;'><tr>
<td class='fn-lefti'><a style='display: block;padding: 10px;' href='?id=$post[id]&act=upload' ".(isset($_GET['act']) && $_GET['act']=='upload'?"class='activ'":NULL)."><font color=#587C94><b>НОВОЕ</b></font></a></td>
<td class='fn-righti-o'><a style='display: block;padding: 10px;' href='?id=$post[id]&act=foto' ".(isset($_GET['act']) && $_GET['act']=='foto'?"class='activ'":NULL)."><b><font color=#587C94>ИЗ АЛЬБОМОВ</font></b></a></td>
</tr></table></div>";

	
if(isset($_GET['add']) && is_numeric($_GET['add']) && $pdo->query(("SELECT COUNT(*) FROM `gallery_foto` WHERE `id_user` = '$user[id]' AND `id` = '".intval($_GET['add'])."'"),0)->fetchColumn()!=0){
$file_id = $pdo->query("SELECT * FROM `gallery_foto` WHERE `id_user` = '$user[id]' AND `id` = '".intval($_GET['add'])."'")->fetch(PDO::FETCH_BOTH);
		
if(isset($file_id['id'])){
$pdo->query("INSERT INTO `promotion_files` (`id_post`, `type`, `id_file`, `id_user`, `time`) values('".intval($post['id'])."', 'foto', '$file_id[id]', '$user[id]', '$time')");
$_SESSION['message'] = 'Фото успешно добавлено';
header("Location: edit.php?id=$post[id]");
}
}



	$k_post = $pdo->query(("SELECT COUNT(*) FROM `gallery_foto` WHERE `id_user` = '$user[id]' AND `block_yes` = '0'"),0)->fetchColumn();
	$k_page = k_page($k_post,$set['p_str']);
	$page = page($k_page);
	$start = $set['p_str']*$page-$set['p_str'];
	
$q = $pdo->query("SELECT * FROM `gallery_foto` WHERE `id_user` = '$user[id]' AND `block_yes` = '0' ORDER BY `id` DESC LIMIT $start, $set[p_str]");
	if ($k_post==0)
{
$doc->NoResult();
}

echo'<div class="list-group-item">';
while ($post2 = $q->fetch(PDO::FETCH_ASSOC))
{
echo "<a href='?id=$post[id]&act=foto&add=$post2[id]'><img class='avatar' src='/modules/foto/foto128/$post2[id].$post2[ras]'/></a> ";
}
echo'</div>';

	
if ($k_page>1){
echo'<div class="list-group-item">';    
str('?id='.$post['id'].'&act=foto&',$k_page,$page); // Вывод страниц
echo'</div">';
}
	//====================The End=================//
}else{
    
    
    
    
    
    
echo "<div class='list-group-item'>";	
echo "<table style='width: 100%; text-align: center;'><tr>
<td class='fn-lefti-o'><a style='display: block;padding: 10px;' href='?id=$post[id]&act=upload' ".(isset($_GET['act']) && $_GET['act']=='upload'?"class='activ'":NULL)."><font color=#587C94><b>НОВОЕ</b></font></a></td>
<td class='fn-righti'><a style='display: block;padding: 10px;' href='?id=$post[id]&act=foto' ".(isset($_GET['act']) && $_GET['act']=='foto'?"class='activ'":NULL)."><b><font color=#587C94>ИЗ АЛЬБОМОВ</font></b></a></td>
</tr></table></div>";	
	
	
echo "<div class='list-group-item'>";	
	
	
	
	
	
	
	


$dir_id = $pdo->query("SELECT * FROM `obmennik_dirb` WHERE `my` = '1' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
	
	
// отправка файла если он прикреплен
		if (isset($_FILES['file']) && filesize($_FILES['file']['tmp_name'])<=$dir_id['maxfilesize']) {



			$file = htmlspecialchars($_FILES['file']['name']);
				$file = preg_replace('(\#|\?)', NULL, $file);	$name = preg_replace('#\.[^\.]*$#', NULL, $file);
				$ras = strtolower(preg_replace('#^.*\.#', NULL, $file));	
			$rasss=explode(';', $dir_id['ras']);
$ras_ok=false;
for($i=0;$i<count($rasss);$i++)
{
if ($rasss[$i]!=NULL && $ras==$rasss[$i])$ras_ok=true;
}
if (!$ras_ok){
	$err='Неверное расширение фото';
	}
if (!isset($err)){
    
   
    
			$pdo->query("INSERT INTO `promotion_files` (`id_post`, `type`, `name`, `id_file`, `id_user`, `time`) values('$post[id]', 'files', '$name', '0', '$user[id]', '$time')");
			$id_file = $pdo->lastInsertId();

			if (!@copy(htmlspecialchars($_FILES['file']['tmp_name']), H."files/foto_support/$id_file.jpg")) {  			
				$errs = 'Ошибка при выгрузке фото'; 
}


				
					
$_SESSION['message'] = 'Фото успешно загружено';
header("Location: edit.php?id=$post[id]");


			}
		}






function resizePhoto($attach_id, $size = 640) {
    global $img_x, $img_y, $imgc;

    if ($img_x == $img_y) {
        $dstW = $size;
        $dstH = $size;
    } elseif ($img_x > $img_y) {
        $prop = $img_x / $img_y;
        $dstW = $size;
        $dstH = ceil($dstW / $prop);
    } else {
        $prop = $img_y / $img_x;
        $dstH = $size;
        $dstW = ceil($dstH / $prop);
    }

    $screen = imagecreatetruecolor($dstW, $dstH);
    imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
    imagejpeg($screen, H . 'sys/gallery/' . $size . '/' . $attach_id . '.jpg', 90);
    @chmod(H . 'sys/gallery/' . $size . '/' . $attach_id . '.jpg', 0777);
    imagedestroy($screen);
}

if ($imgc = @imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name']))) {

    $access = 'only_me';

    if ($pdo->query(("SELECT COUNT(*) FROM `gallery` WHERE `name` = 'Вложения' AND `id_user` = '$user[id]' LIMIT 1"), 0)->fetchColumn() == 0) {
        $pdo->query("INSERT INTO `gallery` (`time_create`, `id_user`, `name`, `time`, `pass`, `access`) values('$time', '$user[id]', 'Вложения', '$time', '" . mt_rand(11111111, 99999999) . "', '$access')");
    }

    $gallery = $pdo->query(("SELECT * FROM `gallery` WHERE `name` = 'Вложения' AND `id_user` = '$user[id]' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);

    $name = htmlspecialchars(preg_replace('#\.[^\.]*$#i', NULL, $_FILES['file']['name']));

    if (!preg_match("#^([A-zА-я0-9\-\_\ ])+$#ui", $name)) {
        $err[] = lang('В названии фото присутствуют запрещенные символы');
    }

    $adult = 0;
    if (isset($_POST['adult'])) {
        $adult = 1;
    }

    $msg = htmlspecialchars($_POST['msg']);

    $img_x = imagesx($imgc);
    $img_y = imagesy($imgc);

    if ($img_x > $set['max_upload_foto_x'] || $img_y > $set['max_upload_foto_y']) {
        $err = lang('Размер изображения превышает ограничения в') . ' ' . $set['max_upload_foto_x'] . '*' . $set['max_upload_foto_y'];
    }

    if (!isset($err)) {
        $pdo->query("INSERT INTO `gallery_foto` (`id_gallery`, `name`, `ras`, `type`, `opis`, `id_user`, `adult`, `time`) values ('$gallery[id]', '$name', 'jpg', 'image/jpeg', '$msg', '$user[id]', '$adult', '".time()."')");

        $attach_id = $pdo->lastInsertId();

        $pdo->query("UPDATE `gallery` SET `time` = '$time' WHERE `id` = '$gallery[id]' LIMIT 1");

        if ($img_x == $img_y) {
            $dstW = 48; // ширина
            $dstH = 48; // высота 
        } elseif ($img_x > $img_y) {
            $prop = $img_x / $img_y;
            $dstW = 48;
            $dstH = ceil($dstW / $prop);
        } else {
            $prop = $img_y / $img_x;
            $dstH = 48;
            $dstW = ceil($dstH / $prop);
        }

        $screen = imagecreatetruecolor($dstW, $dstH);
        imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
        #imagedestroy($imgc);
        imagejpeg($screen, H . "sys/gallery/48/$attach_id.jpg", 90);
        @chmod(H . "sys/gallery/48/$attach_id.jpg", 0777);
        imagedestroy($screen);
        
         if ($img_x == $img_y) {
            $dstW = 50; // ширина
            $dstH = 50; // высота 
        } elseif ($img_x > $img_y) {
            $prop = $img_x / $img_y;
            $dstW = 50;
            $dstH = ceil($dstW / $prop);
        } else {
            $prop = $img_y / $img_x;
            $dstH = 50;
            $dstW = ceil($dstH / $prop);
        }

        $screen = imagecreatetruecolor($dstW, $dstH);
        imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
        #imagedestroy($imgc);
        imagejpeg($screen, H . "sys/gallery/50/$attach_id.jpg", 90);
        @chmod(H . "sys/gallery/50/$attach_id.jpg", 0777);
        imagedestroy($screen);

        if ($img_x == $img_y) {
            $dstW = 128; // ширина
            $dstH = 128; // высота 
        } elseif ($img_x > $img_y) {
            $prop = $img_x / $img_y;
            $dstW = 128;
            $dstH = ceil($dstW / $prop);
        } else {
            $prop = $img_y / $img_x;
            $dstH = 128;
            $dstW = ceil($dstH / $prop);
        }

        $screen = imagecreatetruecolor($dstW, $dstH);
        imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
        #imagedestroy($imgc);
        $screen = img_copyright($screen); // наложение копирайта
        imagejpeg($screen, H . "sys/gallery/128/$attach_id.jpg", 90);
        @chmod(H . "sys/gallery/128/$attach_id.jpg", 0777);
        imagedestroy($screen);

        if ($img_x > 640 || $img_y > 640) {
            if ($img_x == $img_y) {
                $dstW = 640; // ширина
                $dstH = 640; // высота 
            } elseif ($img_x > $img_y) {
                $prop = $img_x / $img_y;
                $dstW = 640;
                $dstH = ceil($dstW / $prop);
            } else {
                $prop = $img_y / $img_x;
                $dstH = 640;
                $dstW = ceil($dstH / $prop);
            }

            $screen = imagecreatetruecolor($dstW, $dstH);
            imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
            #imagedestroy($imgc);
            imagejpeg($screen, H . "sys/gallery/640/$attach_id.jpg", 90);
            imagedestroy($screen);
            imagejpeg($imgc, H . "sys/gallery/foto/$attach_id.jpg", 90);
            @chmod(H . "sys/gallery/foto/$attach_id.jpg", 0777);
        } else {
            imagejpeg($imgc, H . "sys/gallery/640/$attach_id.jpg", 90);
            imagejpeg($imgc, H . "sys/gallery/foto/$attach_id.jpg", 90);
            @chmod(H . "sys/gallery/foto/$attach_id.jpg", 0777);
        }

        @chmod(H . "sys/gallery/640/$attach_id.jpg", 0777);

        imagedestroy($imgc);
    }
}










	echo "<div class=\"forms\"><form enctype=\"multipart/form-data\" name='message' action='?id=$post[id]&act=upload' method=\"post\">
	 <b>Выберите фото</b>: (<font color=gray><small>Не более ".size_file($dir_id['maxfilesize'])."</small></font>)<br />
	 <input class='form-control' style='width:50%;' name='file' type='file' maxlength='$dir_id[maxfilesize]' /><br />";

    $doc->Textarea('msg', '<b>Описание</b>', 256);
    echo "<br />";

	 echo "<br><button class='knopka' name=''><i class='fa fa-upload fa-fw'></i>  Загрузить</button><br /><br />";
	 
	 
	  echo "</form></div>
	 <div class='mess'>*Разрешается выгружать фото форматов: ";
	 
$i5=explode(';', $dir_id['ras']);
for ($i = 0; $i < count($i5); $i++) 
{
echo $i5[$i].', ';
}
echo '...<br><br>Фото будет сохранено в специальной папке "Вложения" которая доступна только вам</div></form>';    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}

echo "</div>";











}else{
	header('Location: /');exit;
}
include_once '../../sys/inc/tfoot.php';
?>