<?
require('ini.php');
$link=connect();
@$mod=$_GET['mod'];
@$photo=$_FILES['photo'];
$user=login('nick, plim');
if(stristr($agent, 'Opera Mini')) $om = true;
else $om = false;
header("Content-type:text/html");
echo '<!doctype html public "-//w3c//dtd html 4.0 transitional//en">';
echo '<html><head><title>Закачка фотографии</title>';
//echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
echo '<meta http-equiv="content-type" content="text/html;">';
echo '</head><body>';
switch($mod){
default:
@$aid=intval($_GET['aid']);
$add=($aid)?"and id='$aid'":'';
$select=mysql_query("select id,name from wip_photos_albums where uid='$user[id]' $add;");
if(mysql_affected_rows()<1){
if($aid) echo 'Неверный фотоальбом!<br/>';
else echo 'У Вас нет фотоальбомов [<a href="my_photos.php?sid='.$sid.'&mod=add_album">создать</a>]<br/>';
break;
}
if($om) echo '<form action="add_photo.php?sid='.$sid.'&mod=load&" method="post">';
else echo '<form enctype="multipart/form-data" action="add_photo.php?sid='.$sid.'&mod=load&" method="post">';
echo 'Добавление фотографии для <b>'.$user['nick'].'</b>:<br/>';
echo 'Если размеры фотографии больше чем 320*240, она автоматически урезается до этих размеров<br/>';
echo '---<br/>';
echo '* Выберите файл: ';
if($om) echo '<input name="photo" value=""><a href="op:fileselect">Обзор</a><br/>';
else echo '<input name="photo" type="file" size="20"><br/>';
echo '* Название: <input name="name" type="text" maxlength="50"><br/>';
echo 'Описание:<br/><textarea class=button name="descr" rows=3 cols=20></textarea><br/>';
if(!$aid){
echo 'Сохранить в альбом: ';
echo '<select name="aid">';
while($res=mysql_fetch_assoc($select)) echo '<option value="'.$res['id'].'">'.$res['name'].'</option>';
echo '</select><br/>';
}
else {
$res=mysql_fetch_assoc($select);
echo 'Сохранить в альбом: <b>'.$res['name'].'</b><br/>';
echo '<input name="aid" type="hidden" value="'.$aid.'">';
}
echo '<input type="submit" value="Добавить"><br/>';
echo '</form>';
break;
case 'load':
@$aid=intval($_POST['aid']);
@$descr= mb_substr(trim(htmlspecialchars($_POST['descr'])), 0, 400, 'UTF-8');
@$name = mb_substr(trim(htmlspecialchars($_POST['name'])), 0, 400, 'UTF-8');
if($om){
if(!isset($_POST['photo'])){
echo 'Выберите файл для загрузки!<br/>';
break;
}
$arr = explode('file=', $_POST['photo']);
$rnd_tmp = rand(10, 1000);
$f_tmp = fopen('temp/'.$rnd_tmp, 'w');
fputs($f_tmp, base64_decode($arr[1]));
fclose($f_tmp);
$photo['tmp_name'] = 'temp/'.$rnd_tmp;
}
if(!$name){
echo 'Вы должны ввести название фотографии!<br/>';
break;
}
$select=mysql_query("select name from wip_photos_albums where id='$aid' and uid='$user[id]';");
if(mysql_affected_rows()<1){
echo 'Неверный фотоальбом!<br/>';
break;
}
$album=mysql_fetch_row($select);
if(!$photo['tmp_name']){
echo 'Выберите файл для загрузки!<br/>';
break;
}
$par=getimagesize($photo['tmp_name']);
$format=strtolower(substr($par['mime'], strpos($par['mime'], '/')+1));
/*if ($format!='jpeg'){
echo 'Фотография должна иметь формат JPEG!<br/>';
break;
}*/
while (true) {
$file = false;
while(strlen($file)<9) $file .= mt_rand(0, 9);
if(!file_exists('photos/ '.$file. '.jpg')) break;
}
$upd=mysql_query("INSERT INTO `wip_photos_photos` SET `aid`='".$aid."', `name`='".$name."', `descr`='".$descr."', `file`='".$file."', `time`='".time()."', uid='".$user['id']."';");
# Параметры обработки
$qual = 70; # Качество выходного JPEG
$w_max = 320; # Максимальная ширина картинки
$h_max = 240; # Максимальная высота картинки
$w_max_t = 120; # Максимальная ширина превью
$h_max_t = 90; # Максимальная высота превью
# Открываем изображение
$func = 'imagecreatefrom'.$format;
$im = $func($photo['tmp_name']);
# Определяем размеры в пикселях
# Основное изображение
$w_i = imagesx($im);
$h_i = imagesy($im);
if($w_i > $w_max){
$w_i = $w_max;
$h_i = ( imagesy($im) / imagesx($im) ) * $w_max;
}
if ( $h_i > $h_max ){
$w_i = ( imagesx($im) / imagesy($im) ) * $h_max;
$h_i = $h_max;
}
$im1 = imagecreatetruecolor($w_i, $h_i);
imagecopyresampled($im1, $im, 0, 0, 0, 0, $w_i, $h_i, imagesx($im), imagesy($im));
imagejpeg($im1, 'photos/'.$file.'.jpg', $qual);
####
# Превью:
$w_t = imagesx($im);
$h_t = imagesy($im);
if($w_t > $w_max_t){
$w_t = $w_max_t;
$h_t = ( imagesy($im) / imagesx($im) ) * $w_max_t;
}
if ( $h_t > $h_max_t ){
$w_t = ( imagesx($im) / imagesy($im) ) * $h_max_t;
$h_t = $h_max_t;
}
$im1 = imagecreatetruecolor($w_i, $h_i);
imagecopyresampled($im1, $im, 0, 0, 0, 0, $w_i, $h_i, imagesx($im), imagesy($im));
imagejpeg($im1, 'files/'.$file.'.jpg', $qual);
###
# Очищаем память
imagedestroy($im);
imagedestroy($im1);
if($om){
if(file_exists($rnd_tmp)) unlink($rnd_tmp);
}
echo '<img src="thumbs/'.$file.'.jpg" alt="photo"><br/>Фотография успешно добавлена!<br/>';
break;
}
echo '---<br/>';
if($mod) echo '<a href="add_photo.php?sid='.$sid.'">Назад</a><br/>';
echo '<a href="my_photos.php?sid='.$sid.'">Мои фотографии</a><br/>';
echo '<a href="enter.php?sid='.$sid.'">Главное меню</a>';
echo '</body></html>';
mysql_close($link);
?>