Файл: moduls/profile.php
Строк: 303
<?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">Настройки сохранены → <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">Изменили личный статус → <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">Аватар загружен → <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.' → <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&id='.$id.'">'.$link_b.'</a></div>
<div class="menu"><a href="/moduls/delete.php?act=1&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';
?>