Просмотр файла moduls/profile.php

Размер файла: 16.98Kb
<?php
include_once'../system/xcms_core.php';$title='Профиль';
if($_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
if($user){
	switch($act){
		case 'friends':
		$w=$db->query("select `id` from `user` where `id`='$id'")->rowCount();
		if($w){
			$nw1=$db->query("SELECT COUNT(*) as count FROM `friend` where `user1`='$id' and `status`='0'");$nw1->setFetchMode(PDO::FETCH_ASSOC);$nw=$nw1->fetch();
			if($nw['count']){
				$k_page=k_page($nw['count'],$elem);$page=page($k_page);$start=$elem*$page-$elem;
				$sql=$db->query("select * from `friend` where `user1`='$id' and `status`='0'");
				while($res=$sql->fetch(PDO::FETCH_ASSOC)){
					$q=$db->query("select `visit`,`avatar`,`login` from `user` where `id`='$res[user2]'")->fetch(PDO::FETCH_ASSOC);
					if($q['visit']>($time-90))$onl='<span style="color:#9ACD32;">В сети</span>';else $onl='<span style="color:#B22222;">Не в сети</span>';
					echo'<div class="menu">'.avatar($q['avatar']).' <a href="/profile'.$res['user2'].'">'.$q['login'].on($q['visit']).'</a><br />';
					if($res['user2']!==$user['id'])
						echo'<a href="/dialog/'.$res['user2'].'">Написать сообщение</a>';
					else
						echo'<a href="/profile'.$user['id'].'">Мой профиль</a>';
					echo'</div>';
				}
				if ($k_page>1)str('/profile'.$id.'/friends/',$k_page,$page);
			}else{echo'<div class="menu">У пользователя нет друзей</div>';}
			echo back('/profile'.$id);
		}else{echo'<div class="menu">Пользователь не найден</div>';}
		break;
		
		case 'edit':
		if(!empty($_POST['submit'])){
			if (!empty($_POST['names']))$names = protect($_POST['names']); else $names=0;
			if (!empty($_POST['inf']))$inf = protect($_POST['inf']); else $inf=0;
			if (!empty($_POST['icq']))$icq = protect($_POST['icq']); else $icq=0;
			if (!empty($_POST['bday']))$bday = protect($_POST['bday']); else $bday=00;
			if (!empty($_POST['bmon']))$bmon = protect($_POST['bmon']); else $bmon=00;
			if (!empty($_POST['byea']))$byea = protect($_POST['byea']); else $byea=0000;
			if (!empty($_POST['sex']))$sex = protect($_POST['sex']); else $text=0;
			if(!empty($_POST['elem']))$elem=abs(intval($_POST['elem']));else $elem=0;
			if(!empty($_POST['themes_home_page']))$themes_home_page=abs(intval($_POST['themes_home_page']));else $themes_home_page=0;
			if (!empty($_POST['design']))$design = protect($_POST['design']);
			if(!empty($_POST['vk'])){
				$vk=abs(intval($_POST['vk']));
				$vk_us=$db->query("select `id` from `user` where `social_vk_id`='$vk'")->fetch(PDO::FETCH_ASSOC);
				if($vk_us){
					if($vk_us['id']==$user['id'])
						$vk=$vk;
					else
						$vk=0;
				}else{$vk=$vk;}
			}else{$vk=0;}
				$strd=strlen($bday);$strm=strlen($bmon);$stry=strlen($byea);
				if($bday>0 and $bday<32){
					if($bmon>0 and $bmon<13){
						if($byea>1900 and $byea<(date('Y')+1)){
							$db->prepare("UPDATE `user` SET `names`='$names', `inf`='$inf', `icq`='$icq',  `bday`='$bday',
							`bmon`='$bmon', `byea`='$byea', `sex`='$sex', `social_vk_id`='$vk',
							`design`='$design', `elements`='$elem', `themes_home_page`='$themes_home_page' WHERE `id`='$user[id]'")->execute();
							echo '<div class="menu">Настройки сохранены &rarr; <a href="/profile'.$user['id'].'">Далее</a></div>';
						}else{echo'<div class="menu">Год должен быть от 1900 до '.date('Y').'</div>';}
					}else{echo'<div class="menu">Месяц должен быть от 1 до 12</div>';}
				}else{echo'<div class="menu">День должен быть от 1 до 31</div>';}
		}else{
			echo'<div class="menu" style="text-align:center;">Профиль | <a href="/my/edit/avatar">Аватар</a> | <a href="/my/edit/status">Статус</a> | <a href="/my/edit/city">Город</a></div>
			<form action="#" method="post">
			<div class="menu">
			<b>Имя:</b><br><input name="names" value="'.$user['names'].'" type="text" size="30"><br>
			<b>О себе:</b><br><input name="inf" value="'.$user['inf'].'" type="text" size="30"><br>
			<b>ICQ:</b><br><input name="icq" value="'.$user['icq'].'" type="text" size="30"><br>
			<b>Ваш ID Вконтакте:</b><br /><input type="text" name="vk" value="'.$user['social_vk_id'].'" size="10"><br />
			<b>День рождения:</b><br>
			<select name="bday">';
			$j1 = 1; while ($j1 <= 31) {
				if($j1==$user['bday'])
					echo'<option selected value="'.$j1.'">'.$j1.'</option>';
				else
					echo "<option value='".$j1."'>$j1</option>";
				$j1++;
			}
			echo'</select>
			<select name="bmon">';
			$j2 = 1; while ($j2 <= 12) {
				if($j2==$user['bmon'])
					echo'<option selected value="'.$j2.'">'.$j2.'</option>';
				else
					echo "<option value='".$j2."'>$j2</option>";
				$j2++;
			}
			echo'</select>
			<select name="byea">';
			$j3 = 1920; while ($j3 <= date('Y')) {
				if($j3==$user['byea'])
					echo'<option selected value="'.$j3.'">'.$j3.'</option>';
				else
					echo "<option value='".$j3."'>$j3</option>";
				$j3++;
			}
			echo'</select><br />
			Пол:<br/><select name="sex">
			<option value="1">Мужской</option>
			<option value="2">Женский</option>
			</select><br/>
			Дизайн :<br/><select name="design">';
			$sef = $db->query("select * from `design` order by `id`");
			while($ff = $sef->fetch(PDO::FETCH_ASSOC)){
				if($user['design']==$ff['link'])
					echo '<option selected value="'.$ff['link'].'">'.$ff['name'].'</option>';
				else
					echo'<option value="'.$ff['link'].'">'.$ff['name'].'</option>';
			}
			echo '</select><br />
			Элементов на страницу:<br /><input type="text" name="elem" value="'.$user['elements'].'"><br />
			Новых тем на главной:<br /><input type="text" name="themes_home_page" value="'.$user['themes_home_page'].'"><br />
			<input type="submit" name="submit" value="Изменяем"></form></div>
			<div class="touch"><div class="menu"><a href="/my/edit/city">Изменить город</a></div></div>';
		}
		back('/profile'.$user['id']);
		break;
		
		case 'status':
		echo'<div class="menu" style="text-align:center;"><a href="/my/edit/profile">Профиль</a> | <a href="/my/edit/avatar">Аватар</a> | Статус | <a href="/my/edit/city">Город</a></div>';
		if(!empty($_POST['status'])){
			$status=protect($_POST['status']);$status_strl=strlen($status);
			if($status_strl>$da['min_simb']){
				$db->prepare("update `user` set `status`='$status' where `id`='$user[id]'")->execute();
				echo'<div class="menu">Изменили личный статус &rarr; <a href="/profile'.$user['id'].'">Далее</a></div>';
			}else{echo'<div class="menu">Мин. длина текста - '.$da['min_simb'].' символов</div>';}
		}else{
			echo'<form action="#" method="post">
			<div class="menu">
			Личный статус:<input type="text" name="status"><input type="submit" value="Изменить">
			</div>
			</form>';
		}
		back('/profile'.$user['id']);
		break;
		
		case 'avatar':
		echo'<div class="menu" style="text-align:center;"><a href="/my/edit/profile">Профиль</a> | Аватар | <a href="/my/edit/status">Статус</a> | <a href="/my/edit/city">Город</a></div>
		<div class="menu">Не более 500Кб(JPG, JPEG, PNG, GIF)<br/>
		<form action = "#" method = "post" enctype = "multipart/form-data"> 
		<input type = "file" name = "somename" /> 
		<input type = "submit" value = "Загрузить" /> 
		</form></div> ';
		$uploadfile1 = rand(0,999999).$_FILES['somename']['name'];
		$uploadfile2='../files/avatar/'.$uploadfile1;
		$ex=strtolower(substr(strrchr($uploadfile1, '.'), 1));
		if($ex=='jpg' or $ex=='jpeg' or $ex=='png' or $ex=='gif'){
			if(move_uploaded_file($_FILES['somename']['tmp_name'], $uploadfile2)){
				if($user['avatar']!=='default.png')unlink('../files/avatar/'.$user['avatar']); // Удаляем старый аватар
				$db->prepare("update `user` set `avatar`='$uploadfile1' where `id`='$user[id]'")->execute();
				echo'<div class="menu">Аватар загружен &rarr; <a href="/profile'.$user['id'].'">Далее</a></div>';
			}
		}
		back('/profile'.$user['id']);
		break;
		
		case 'ank':
		$q=$db->query("select * from `user` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
		if($q){
			echo'<div class="head">Анкета '.$q['login'].on($q['visit']).'</div>
			<div class="menu">';
			if(($time-$q['visit'])>90)echo'<div style="text-align:center;"><i>Был(a) в сети '.clock($q['visit']).'</i></div>';
			if(!empty($q['avatar']))echo'<div style="text-align:center;"><img src="/files/avatar/'.$q['avatar'].'" style="width:75px;height:75px;" alt="Аватар пользователя" /></div>';
			if(!empty($q['names']))echo '<b>Имя:</b> '.$q['names'].'<br/>';
			if(!empty($q['sex'])){if($q['sex']=='1')echo'<b>Пол:</b> Мужской<br/>';else echo'<b>Пол:</b> Женский<br/>';}
			if(!empty($q['icq'])) echo '<b>ICQ:</b> '.$q['icq'].'<br/>';
			if(!empty($q['city'])){
				$gor=$db->query("select * from `city` where `city_id`='$q[city]'")->fetch(PDO::FETCH_ASSOC);
				$str=$db->query("select `name` from `country` where `country_id`='$gor[country_id]'")->fetch(PDO::FETCH_ASSOC);
				$obl=$db->query("select `name` from `region` where `region_id`='$gor[region_id]'")->fetch(PDO::FETCH_ASSOC);
				echo '<b>Город:</b> '.$gor['name'].' ('.$str['name'].', '.$obl['name'].')<br/>';
			}
			if($user['level']==6 and !empty($q['ip']))echo'<b>IP:</b> '.$q['ip'].'<br />';
			if($user['level']==6 and !empty($q['ua']))echo'<b>Soft:</b> '.$q['ua'].'<br />';
			if(!empty($q['inf'])) echo '<b>Обо мне:</b> '.$q['inf'].'<br/>';
			if(!empty($q['time']))echo '<b>Зарегистрирован(a):</b> '.clock($q['time']).'<br/>';
			if(!empty($q['bday']) and !empty($q['bmon']) and !empty($q['byea']))echo '<b>День рождения:</b> '.$q['bday'].'-'.$q['bmon'].'-'.$q['byea'].' ('.age($q['byea'],$q['bmon'],$q['bday']).')<br />';
			echo'<b>Постов:</b> '.$db->query("select `id` from `posts` where `author_id`='$id'")->rowCount().'</div>';
			back('/profile'.$id);
		}else{echo'<div class="menu">Пользователь не найден</div>';}
		break;
		
		case 'community':
		$q=$db->query("select `id` from `user` where `id`='$id'")->rowCount();
		if($q){
			$total=$db->query("select `id` from `groups_users` where `user`='$id'")->rowCount();
			if($total){
				$k_page=k_page($total,$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
				$sql=$db->query("select * from `groups_users` where `user`='$id'");
				echo'<div class="touch">';
				while($res=$sql->fetch(PDO::FETCH_ASSOC)){
					$gr=$db->query("select * from `groups` where `id`='$res[group]'")->fetch(PDO::FETCH_ASSOC);
					echo'<div class="menu"><a href="/community/'.$res['group'].'">';
					if($gr['avatar'])$ava=$gr['avatar'];else $ava='default.png';
					echo avatar_group_small($ava).$gr['name'].'<br />
					Участников: '.$db->query("select `id` from `groups_users` where `group`='$gr[id]'")->rowCount().'</a></div>';
				}
				echo'</div>';
				if ($k_page>1)str('/profile'.$id.'/community/',$k_page,$page); // Вывод страниц
			}else{echo'<div class="menu">Пользователь не состоит ни в одном сообществе</div>';}
			back('/profile'.$id);
		}else{echo'<div class="menu">Пользователь не найден</div>';}
		break;
		
		case 'rate':
		$q=$db->query("select * from `user` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
		if($q){
			if($q['id']!==$user['id']){
				$golos=abs(intval($_GET['vote']));
				if($golos==1){$gols='+1';$not='плюс';}else{$gols='-1';$not='минус';}
				$w=$db->query("select `id` from `user_rate` where `user`='$user[id]' and `user2`='$id'")->rowCount();
				if(!$w){
					$db->query("insert into `user_rate` set `user`='$user[id]', `user2`='$id', `time`='$time', `vote`='$golos'");
					$db->prepare("update `user` set `rate`=`rate`$gols where `id`='$id'")->execute();
					$db->query("insert into `notice` set `to`='$id', `status`='1', `time`='$time', `user`='$user[id]',
					`text`='Пользователь <a href=\"/profile$user[id]\">$user[login]</a> поставил вам $not'");
					$usl='Ваш голос учтен';
				}else{
					$usl='Вы уже голосовали';
				}
				echo'<div class="menu">'.$usl.' &rarr; <a href="/profile'.$id.'">К профилю</a></div>';
			}else{echo'<div class="menu">Недоступно для себя</div>';}
		}else{echo'<div class="menu">Пользователь не найден</div>';}
		break;

		default:
		$q=$db->query("select * from `user` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
		if($q){
			if($q['ban_time']>$time){
				$r=$db->query("select `login` from `user` where `id`='$q[ban_adm]'")->fetch(PDO::FETCH_ASSOC);
				echo'<div class="menu" style="text-align:center;color:red;">АКТИВНОСТЬ ЗАБЛОКИРОВАНА</div>
			<div class="menu"><b>Причина:</b> '.$q['ban_reas'].'<br />
			<b>Заканчивается:</b> '.clock($q['ban_time']).'<br />
			<b>Админ:</b> <a href="/profile'.$q['ban_adm'].'">'.$r['login'].'</a>
			</div>';
			}
				echo'<div class="head">Профиль '.$q['login'].on($q['visit']).'</div>
				<div class="menu">';
				if(($time-$q['visit'])>90)echo'<div style="text-align:center;"><i>Был(a) в сети '.clock($q['visit']).'</i></div>';
				if(!empty($q['avatar']))echo'<div style="text-align:center;"><img src="/files/avatar/'.$q['avatar'].'" style="width:75px;height:75px;" alt="Аватар пользователя" /></div>';
				echo'</div>';
				echo'<div class="menu" style="text-align:center;">
				<a href="/profile'.$id.'/rate/plus" style="background-color:#ADFF2F;color:#000;padding:6px;width:30%;border:0;border-radius:2px;padding:8px;">За</a>
				<span style="color:#000;padding:6px;width:30%;border:0;border-radius:2px;padding:8px;"><b>['.$q['rate'].']</b></span>
				<a href="/profile'.$id.'/rate/minus" style="background-color:#FF6347;color:#000;padding:6px;width:30%;border:0;border-radius:2px;padding:8px;">Против</a>
				</div>';
				if(!empty($q['status']))echo'<div class="status" style="text-align:center;"><b>'.$q['status'].'</b></div>';
				echo'<div class="touch">
				<div class="menu"><a href="/profile'.$id.'/ank">Анкета</a></div>
				<div class="menu"><a href="/profile'.$id.'/obmen">Файлы '.right($db->query("select `id` from `obmen` where `avtor`='$id'")->rowCount()).'</a></div>
				<div class="menu"><a href="/profile'.$id.'/gifts">Подарки '.right($db->query("select `id` from `gifts_user` where `to`='$id'")->rowCount()).'</a></div>
				<div class="menu"><a href="/profile'.$id.'/community">Сообщества '.right($db->query("select `id` from `groups_users` where `user`='$id'")->rowCount()).'</a></div>
				<div class="menu"><a href="/profile'.$id.'/friends">Друзья '.right($db->query("select `id` from `friend` where `user1`='$id' and `status`='0'")->rowCount()).'</a></div>
				</div>';
				if($q['id'] == $user['id']){
					echo '<div class="touch">
					<div class="menu"><a href="/my/edit/avatar">Сменить аватар</a></div>
					<div class="menu"><a href="/my/edit/profile">Редактировать профиль</a></div>
					<div class="menu"><a href="/my/edit/status">Изменить личный статус</a></div>
					<div class="menu"><a href="/my/edit/city">Выбрать город</a></div>
					</div>';
				}else{
					echo'<div class="touch">
					<div class="menu"><a href="/dialog/'.$q['id'].'">Отправить сообщение</a></div>
					<div class="menu"><a href="/profile'.$id.'/send_gift">Отправить подарок</a></div>';
					$u=$db->query("select `id` from `friend` where `user1`='$user[id]' and `user2`='$id' and `status`='0'")->rowCount();
					if($u)echo'<div class="menu"><a href="/profile'.$id.'/del_friend">Удалить из друзей</a></div>';else echo'<div class="menu"><a href="/profile'.$id.'/add_friend">Добавить в друзья</a></div>';
					echo'</div>';
				}
				if($user['level']>4 and $id!==$user['id'] and $q['level']<6){
					echo'<div class="touch">';
					if($q['ban_time']>$time)$link_b='Разблокировать';else $link_b='Заблокировать';
					echo'<div class="menu"><a href="/moduls/edit.php?act=1&amp;id='.$id.'">'.$link_b.'</a></div>
					<div class="menu"><a href="/moduls/delete.php?act=1&amp;id='.$id.'">Удалить пользователя</a></div>
					<div class="menu"><a href="/admin?act=users&id='.$id.'">Редактировать пользователя</a></div>
					</div>';
				}
			
		}else{echo'<div class="menu">Ошибка идентификатора</div>';}
		back('/');
	}
}else{echo'<div class="menu">Авторизуйтесь, чтобы просматривать эту страницу</div>';}
if($_COOKIE['style']=='web')require_once '../system/web_foot.php'; else require_once '../system/foot.php';
?>