View file wip-site-portal/src/my_photos.php

File size: 18.38Kb
<?
require('ini.php');
$link=connect();

@$mod=$_GET['mod'];

$user=login('nick, plim');

head('Мои фотографии');

switch($mod){
	
	default:
		echo '<small>';
		echo '<b>Мои фотографии:</b><br/>';
		echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=add_album">Cоздать</a> | <a href="my_photos.php?sid='.$sid.'&amp;mod=edit_album">Изменить</a> альбом<br/>';
		
		$new_comm = mysql_result(mysql_query("SELECT COUNT(`c`.`id`) FROM `wip_photos_comments` AS `c`, `wip_photos_photos` AS `p` WHERE `p`.`uid`='".$user['id']."' AND `p`.`id`=`c`.`pid` AND `read` = 1;"), 0);
		
		if($new_comm) echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=new_comments">Новые комментарии</a> ['.$new_comm.']<br/>';
		echo '---<br/>';
		$select=mysql_query("select * from wip_photos_albums where uid='$user[id]' order by id;");
		if(mysql_affected_rows()<1){
			echo 'У Вас нет фотоальбомов<br/>';
		}
		
		else {
			while($res=mysql_fetch_assoc($select)){
				$p=mysql_fetch_row(mysql_query("select count(id) from wip_photos_photos where aid='$res[id]' and uid='$user[id]';"));
				echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=photos&amp;aid='.$res['id'].'">'.$res['name'].'</a> ['.$p[0].']<br/>';
				if($res['descr']) echo '<i>'.$res['descr'].'</i><br/>';
			}
		}
		
		echo '</small>';
		break;
	
	case 'edit_album':
		
		echo '<small>Выберите альбом, который Вы хотите изменить:<br/>';
		echo '---<br/>';
		
		$select=mysql_query("select id, name, descr from wip_photos_albums where uid='$user[id]' order by id;");
		if(mysql_affected_rows()<1){
			echo 'У Вас нет фотоальбомов<br/>';
		}
		
		else {
			while($res=mysql_fetch_assoc($select)){
				echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=add_album&amp;photos&amp;aid='.$res['id'].'">'.$res['name'].'</a><br/>';
				if($res['descr']) echo '<i>'.$res['descr'].'</i><br/>';
			}
		}
		
		echo '</small>';
		break;
		
	case 'add_album':
		@$aid = intval($_GET['aid']);
		
		if($aid){
			$select = mysql_query("SELECT `name`, `descr` FROM `wip_photos_albums` WHERE `uid`='".$user['id']."' AND `id`='".$aid."';");
			if(mysql_affected_rows()<1){
				echo '<small>Неверный альбом!</small><br/>';
				break;
			}
			
			$res = mysql_fetch_assoc($select);
			$name = $res['name'];
			$descr = $res['descr'];
		}
		
		else {
			$name=false;
			$descr=false;
		}
		
		echo '<small>';
		if($aid) echo '<b>Изменить альбом</b>';
		else echo '<b>Новый фотоальбом</b>';
		
		echo '<br/>---<br/>';
		
		echo '* Название:</small><br/>';
		echo '<input name="name'.$ref.'" value="'.$name.'" type="text" maxlength="100"/><br/>';
		echo '<small>Описание:</small><br/>';
		echo '<input name="descr'.$ref.'" value="'.$descr.'" type="text" maxlength="200"/><br/>';
		
		if($aid) $url_aid = 'aid='.$aid;
		else $url_aid = false;
		
		echo '<small><anchor>Сохранить<go href="my_photos.php?sid='.$sid.'&amp;mod=save_album&amp;'.$url_aid.'" method="post">';
		echo '<postfield name="name" value="$(name'.$ref.')"/>';
		echo '<postfield name="descr" value="$(descr'.$ref.')"/>';
		echo '</go></anchor></small><br/>';
		break;

		
		
	case 'save_album':
		@$name = trim(htmlspecialchars($_POST['name'],ENT_QUOTES));
		@$descr = trim(htmlspecialchars($_POST['descr'],ENT_QUOTES));
		@$aid = intval($_GET['aid']);
		
		if($aid){
			mysql_query("SELECT `id` FROM `wip_photos_albums` WHERE `uid`='".$user['id']."' AND `id`='".$aid."';");
			if(mysql_affected_rows()<1){
				echo '<small>Неверный альбом!</small><br/>';
			}
		}
		
		if(!$name){
			echo '<small><b>Вы должны ввести название альбома!</b></small><br/>';
			break;
		}
		
		if(mb_strlen($name, 'UTF-8')>100){
			echo '<small><b>Введено слишком длинное название альбома!</b></small><br/>';
			break;
		}
		
		if(mb_strlen($descr, 'UTF-8')>200){
			echo '<small><b>Введено слишком длинное описание альбома!</b></small><br/>';
			break;
		}
		
		if($aid) $add_self = "AND `aid`!='".$aid."'";
		else $add_self=false;
		
		mysql_query("SELECT `id` FROM `wip_photos_albums` WHERE `name`='".$name."' AND `uid`='".$user['id']."' ".$add_self.";");
		if(mysql_affected_rows()>0){
			echo '<small><b>Альбом с таким названием у Вас уже существует!</b></small><br/>';
			break;
		}
		
		if($aid){
			mysql_query("UPDATE `wip_photos_albums` SET `name`='".$name."', `descr`='".$descr."' WHERE `id`='".$aid."';");
			echo '<small><b>Фотоальбом изменён!</b></small><br/>';
		}
		
		else {
			mysql_query("INSERT INTO `wip_photos_albums` SET `name`='".$name."', `descr`='".$descr."', `uid`='".$user['id']."';");
			echo '<small><b>Фотоальбом создан!</b></small><br/>';
		}
		
		break;
		
	case 'photos':
		@$aid=intval($_GET['aid']);
		@$s=intval($_GET['s']);
		$plim=$user['plim'];
		
		$select=mysql_query("select name from wip_photos_albums where id='$aid' and uid='$user[id]';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный фотоальбом!</small><br/>';
			break;
		}
		$album=mysql_fetch_row($select);
		
		if (!$s or $s<=0) $s=1;
		$all=mysql_fetch_row(mysql_query("select count(id) from wip_photos_photos where aid='$aid' and uid='$user[id]';"));
		$pgs=ceil($all[0]/$plim);
		if($s>$pgs) $s=$pgs;
		$n=($s-1)*$plim;
		
		echo '<small>';
		echo 'Альбом: <b>'.$album[0].'</b> [<a href="my_photos.php?sid='.$sid.'&amp;mod=add_album&amp;aid='.$aid.'">Изм.</a> / <a href="my_photos.php?sid='.$sid.'&amp;mod=del_album&amp;aid='.$aid.'">Удал.</a>]<br/>';
		echo 'Фотографий: '.$all[0].'<br/>';
		echo '<a href="add_photo.php?sid='.$sid.'&amp;aid='.$aid.'">Добавить фото</a><br/>';
		echo '---<br/>';
		
		if($all[0]<1){
			echo 'Альбом пуст!<br/>---<br/>';
		}
		
		else {
			$select=mysql_query("select id,name,time,votes,file from wip_photos_photos where aid='$aid' and uid='$user[id]' limit $n,$plim;");
			
			while($res=mysql_fetch_assoc($select)){
				echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=photo&amp;pid='.$res['id'].'"><img src="thumbs/'.$res['file'].'.jpg" alt="photo"/></a><br/>';
				echo '<b>Название:</b> '.$res['name'].'<br/>';
				echo '<b>Рейтинг:</b> '.$res['votes'].'<br/>';
				echo '---<br/>';
			}
			
			//Список страниц
			if ($all[0]>$plim){
				if ($pgs>3 and $s>2) echo '<a href="my_photos.php?sid='.$sid.'&amp;aid='.$aid.'&amp;mod=photos&amp;s=1">1</a>...';

				$beg=$s-1; $end=$s+1;
				if ($end>$pgs+1){
					$end=$pgs; $beg=$beg-2;
				}
				elseif ($end>$pgs){
					$end=$pgs; $beg=$beg-1;
				}
			
				for($m=$beg;$m<=$end;$m++){
					if ($m<=0) $end++;
					
					else{
						if($m==$s) echo '<b>'.$m.'</b>';
						else echo '<a href="my_photos.php?sid='.$sid.'&amp;aid='.$aid.'&amp;mod=photos&amp;s='.$m.'">'.$m.'</a>';
			
						if($m!=$end) echo '-';
					}
				
					if ($end>$pgs) $end=$pgs;
				}
			
				if ($pgs>3 and $s<=($pgs-2)) echo '...<a href="my_photos.php?sid='.$sid.'&amp;aid='.$aid.'&amp;mod=photos&amp;s='.$pgs.'">'.$pgs.'</a>';
			
				echo '<br/>---<br/>';
			}
			/////
			
		}
		
		echo '</small>';
		break;
		
	case 'photo':
		@$pid=intval($_GET['pid']);
		@$s=intval($_GET['s']);
		
		$select=mysql_query("select id, name, descr, time, votes, aid, file from wip_photos_photos where uid='$user[id]' and id='$pid';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверная фотография!</small><br/>';
			break;
		}
		$res=mysql_fetch_assoc($select);
		
		echo '<small>';
		echo '<a href="photos/'.$res['file'].'.jpg"><img src="thumbs/'.$res['file'].'.jpg" alt="photo"/></a><br/>---<br/>';
		
		echo '<b>Дата:</b> '.date('d.m.Y H:i',$res['time']).'<br/>';
		echo '<b>Название:</b> '.$res['name'].'<br/>';
		echo '<b>Описание:</b> '.$res['descr'].'<br/>';
		echo '<b>Рейтинг:</b> '.$res['votes'].'<br/>';
		echo '---<br/>';
		echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=del_photo&amp;pid='.$pid.'">Удалить фото</a><br/>';
		echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=move_photo&amp;pid='.$pid.'&amp;aid='.$res['aid'].'">Переместить фото</a><br/>';
		echo '---<br/>';
		
		$clim=5;
		
		echo 'Комментарии:<br/>';
		
		$new_comm = mysql_result(mysql_query("SELECT COUNT(`c`.`id`) FROM `wip_photos_comments` AS `c`, `wip_photos_photos` AS `p` WHERE `c`.`pid`='".$pid."' AND `p`.`uid`='".$user['id']."' AND `p`.`id`=`c`.`pid` AND `read` = 1;"), 0);
		if($new_comm>0) echo 'К этой фотографии добавили <b>'.$new_comm.'</b> '.word_case('новых комментарииев:новых комментария:новый комментарий', $new_comm).'<br/>';
		echo '</small>';
		
		mysql_query("UPDATE `wip_photos_comments` SET `read`=0 WHERE `pid`='".$pid."';");
		
		echo '<input name="msg'.$ref.'" type="text" maxlength="300"/> ';
		echo '<small><anchor>Добавить<go href="my_photos.php?sid='.$sid.'&amp;mod=photo&amp;pid='.$pid.'" method="post">';
		echo '<postfield name="msg" value="$(msg'.$ref.')"/>';
		echo '</go></anchor><br/>---<br/>';
		
		if(@$_POST['msg']){
			if(@$_POST['msg']){
	
	
			$msg=htmlspecialchars($_POST['msg'],ENT_QUOTES);
			$msg=str_replace('$','&#36;',$msg);
			
			mysql_query("select id from wip_photos_comments where pid='$pid' and uid='$user[id]' and msg='$msg';");
			if(mysql_affected_rows()<1){
					mysql_query("insert into wip_photos_comments set pid='$pid', uid='$user[id]', time='".time()."', msg='$msg', `read`=0;");
				}
			}
		}
		
		if (!$s or $s<=0) $s=1;
		$all=mysql_fetch_row(mysql_query("select count(id) from wip_photos_comments where pid='$pid' and uid='$user[id]';"));
		$pgs=ceil($all[0]/$clim);
		if($s>$pgs) $s=$pgs;
		$n=($s-1)*$clim;
		
		if($all[0]<1) echo 'Комментариев нет<br/>';
		else {
			
			$select=mysql_query("SELECT `u`.`id` AS `uid`, `u`.`nick`, `c`.`msg`, `c`.`time` FROM `wip_users` AS `u`, `wip_photos_comments` AS `c` WHERE `u`.`id`=`c`.`uid` AND `c`.`pid`='".$pid."' ORDER BY `c`.`id` DESC LIMIT ".$n.",".$clim.";");
			while($cres=mysql_fetch_assoc($select)){
				if($cres['uid'] == $user['id']) echo '<b>['.$cres['nick'].']</b>';
				else echo '<b>[<a href="user.php?sid='.$sid.'&amp;uid='.$cres['uid'].'">'.$cres['nick'].'</a>]</b>';
				
				echo ', '.date('d.m.y H:i',$cres['time']).'<br/>'.$cres['msg'].'<br/>';
			}
			
			//Список страниц
			if ($all[0]>$clim){
				echo '---<br/>';
				
				if ($pgs>3 and $s>2){
					echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=photo&amp;pid='.$pid.'&amp;s=1">1</a>...';
				}
				$beg=$s-1; $end=$s+1;
				if ($end>$pgs+1){
					$end=$pgs; $beg=$beg-2;
				}
				elseif ($end>$pgs){
					$end=$pgs; $beg=$beg-1;
				}
			
				for($m=$beg;$m<=$end;$m++){
					if ($m<=0){
						$end++;
					}
					
					else{
						if($m==$s){
							echo '<b>'.$m.'</b>';
						}
						else{
							echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=photo&amp;pid='.$pid.'&amp;s='.$m.'">'.$m.'</a>';
						}
			
						if($m!=$end){
							echo '-';
						}
					}
				
					if ($end>$pgs) $end=$pgs;
				}
			
				if ($pgs>3 and $s<=($pgs-2)){
					echo '...<a href="my_photos.php?sid='.$sid.'&amp;mod=photo&amp;pid='.$pid.'&amp;s='.$pgs.'">'.$pgs.'</a>';
				}
			
				echo '<br/>';
			}
			/////
			
		}
		
		echo '</small>';
		break;
		
	case 'del_photo':
		@$pid=intval($_GET['pid']);

		$select=mysql_query("SELECT `file` FROM `wip_photos_photos` WHERE `uid`='".$user['id']."' AND `id`='".$pid."';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверная фотография!</small><br/>';
			break;
		}
		
		$file = mysql_result($select, 0);
		
		$delete = mysql_query("delete from wip_photos_photos where uid='$user[id]' and id='$pid';");
		
		unlink('photos/'. $file . '.jpg');
		unlink('thumbs/'. $file . '.jpg');
		
		echo '<small>';
		
		if($delete) echo 'Фото удалено!<br/>';
		else echo 'Ошибка удаления!<br/>';
		
		echo '<anchor>Назад<prev/></anchor></small><br/>';
		break;
		
	case 'move_photo':
		@$act=$_GET['act'];
		@$pid=intval($_GET['pid']);
		@$aid=intval($_GET['aid']);
		@$album=intval($_POST['album']);
		
		$select=mysql_query("select id, name, descr, time, votes, aid from wip_photos_photos where uid='$user[id]' and aid='$aid' and id='$pid';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверная фотография!</small><br/>';
			break;
		}
		
		if(!$act){
			echo '<small>Переместить фото в альбом:</small> ';
			echo '<select name="album'.$ref.'">';
			$select=mysql_query("select id, name from wip_photos_albums where uid='$user[id]';");
			while($res=mysql_fetch_assoc($select)) echo '<option value="'.$res['id'].'">'.$res['name'].'</option>';
			echo '</select><br/>';
			echo '<small><anchor>Сохранить<go href="my_photos.php?sid='.$sid.'&amp;mod=move_photo&amp;pid='.$pid.'&amp;aid='.$aid.'&amp;act=ok" method="post">';
			echo '<postfield name="album" value="$(album'.$ref.')"/>';
			echo '</go></anchor></small><br/>';
			break;
		}
		
		$select=mysql_query("select id from wip_photos_albums where uid='$user[id]' and id='$album';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный фотоальбом!</small><br/>';
			break;
		}
		
		mysql_query("update wip_photos_photos set aid='$album' where id='$pid';");
		echo '<small>Фотография перемещена!</small><br/>';
		break;
		
	case 'del_album':
		
		@$aid = intval($_GET['aid']);
		@$act = $_GET['act'];
		
		$select = mysql_query("SELECT `name` FROM `wip_photos_albums` WHERE `id`='".$aid."' AND `uid`='".$user['id']."';");
		
		if(mysql_affected_rows()<1){
			echo '<small>Неверный альбом!</small><br/>';
			break;
		}
		
		$name = mysql_result($select, 0);
			
		if(!$act){
			echo '<small>Вы действительно хотите удалить альбом <b>'.$name.'</b> и все фотографии в нём?<br/>';
			echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=del_album&amp;aid='.$aid.'&amp;act=1">Да</a> / <a href="my_photos.php?sid='.$sid.'&amp;mod=photos&amp;aid='.$aid.'">Нет</a><br/>';
			echo '</small>';
			break;
		}
		
		# Удаляем изображения
		$select = mysql_query("SELECT `file` FROM `wip_photos_photos` WHERE `aid`='".$aid."' AND `uid`='".$user['id']."';");
		if(mysql_affected_rows()>0){
			while($res = mysql_fetch_row($select)){
				unlink('photos/'. $res[0] . '.jpg');
				unlink('thumbs/'. $res[0] . '.jpg');
			}
		}
		
		# Удаляем записи из БД
		mysql_query("DELETE FROM `wip_photos_albums` WHERE `id`='".$aid."';");
		mysql_query("DELETE `c` FROM `wip_photos_photos` AS `p`, `wip_photos_comments` AS `c` WHERE `c`.`pid`=`p`.`id` AND `p`.`aid`='".$aid."';");
		mysql_query("DELETE FROM `wip_photos_photos` WHERE `aid`='".$aid."';");
		
		echo '<small>Альбом <b>'.$name.'</b> удалён!</small><br/>';
		break;
		
	case 'new_comments':
		@$s=intval($_GET['s']);
		
		$new_comm = mysql_result(mysql_query("SELECT COUNT(`c`.`id`) FROM `wip_photos_comments` AS `c`, `wip_photos_photos` AS `p` WHERE `p`.`uid`='".$user['id']."' AND `p`.`id`=`c`.`pid` AND `read` = 1;"), 0);
		
		if($new_comm<1){
			echo '<small>Новых комментариев нет</small><br/>';
			break;
		}
		
		# Постраничный вывод
		$plim = 2;
		
		if (!$s or $s<=0) $s=1;
		$all = mysql_num_rows(mysql_query("SELECT COUNT(`c`.`id`) FROM `wip_photos_comments` AS `c`, `wip_photos_photos` AS `p` WHERE `p`.`uid`='".$user['id']."' AND `p`.`id`=`c`.`pid` AND `read` = 1 GROUP BY `c`.`pid`;"));
		$pgs=ceil($all / $plim);
		if($s > $pgs) $s = $pgs;
		$n=($s-1) * $plim;
		
		$photos = mysql_query("SELECT `c`.`pid`, `a`.`name` AS `album`, `a`.`id` AS `aid`, `p`.`name` AS `photo`, `p`.`file` FROM `wip_photos_comments` AS `c`, `wip_photos_photos` AS `p`, `wip_photos_albums` AS `a` WHERE `p`.`id`=`c`.`pid` AND `a`.`id`=`p`.`aid` AND `p`.`uid`='".$user['id']."' AND `c`.`read`=1 GROUP BY `c`.`pid` ORDER BY `c`.`time` DESC LIMIT ".$n.", ".$plim.";");
		
		echo '<small>';
		echo 'Новые комментарии были оставлены к <b>'.$all.'</b> '.word_case('фотографиям:фотографиям:фотографии', $all).':<br/>';
		echo '---<br/>';
		
		while($res_photos = mysql_fetch_assoc($photos)){
			echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=photo&amp;pid='.$res_photos['pid'].'"><img src="thumbs/'.$res_photos['file'].'.jpg" alt="photo"/></a><br/>';
			echo $res_photos['photo'].' (Альбом: <a href="my_photos.php?sid='.$sid.'&amp;mod=photos&amp;aid='.$res_photos['aid'].'">'.$res_photos['album'].'</a>) <br/>';
			
			$n_comm = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `wip_photos_comments` WHERE `pid`='".$res_photos['pid']."' AND `read`=1;"), 0);
			echo 'Новых комментариев: <b>'.$n_comm.'</b><br/>';
			
			echo '---<br/>';
		}
		
		# Список страниц
		if ($all > $plim){
			if ($pgs>3 and $s>2) echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=new_comments&amp;s=1">1</a>...';

			$beg=$s-1; $end=$s+1;
			if ($end>$pgs+1){
				$end=$pgs; $beg=$beg-2;
			}
			elseif ($end>$pgs){
				$end=$pgs; $beg=$beg-1;
			}
			
			for($m=$beg;$m<=$end;$m++){
				if ($m<=0) $end++;
				
				else{
					if($m==$s) echo '<b>'.$m.'</b>';
					else echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=new_comments&amp;s='.$m.'">'.$m.'</a>';
		
					if($m!=$end) echo '-';
				}
			
				if ($end>$pgs) $end=$pgs;
			}

			if ($pgs>3 and $s<=($pgs-2)) echo '...<a href="my_photos.php?sid='.$sid.'&amp;mod=new_comments&amp;s='.$pgs.'">'.$pgs.'</a>';
			
			echo '<br/>---<br/>';
		}
		
		echo '</small>';
		
		break;
		
}


echo '<small>';
if($mod!='photos' and $mod!='new_comments') echo '---<br/>';
if($mod=='photo') echo '<a href="my_photos.php?sid='.$sid.'&amp;mod=photos&amp;aid='.$res['aid'].'">Альбом</a><br/>';
if($mod) echo '<a href="my_photos.php?sid='.$sid.'">Мои фотографии</a><br/>';
echo '<a href="enter.php?sid='.$sid.'">Главное меню</a>';
echo '</small>';

foot();

mysql_close($link);
?>