Файл: modules/profile/index.php
Строк: 211
<?php
  include '../../system/core.php';
  include '../../system/header.php';
  if(!$user['id']){
  header('Location: /index.php'); exit;
  }
  switch($_GET['m']){
  
  #Главная
  default:
  if($user['status'] >= 1)echo '<div class="menu"><a href="/admin" style="color:#ffffff;">Панель управления</a></div>';
 
  echo '<div class="menu2"><a href="/np" style="color:#ffffff;">Газета</a> ('.mysql_result(mysql_query('select count(`id`) from `newspaper`'),0).')</div>';
  $np = mysql_query("SELECT * FROM `newspaper` order by `id` desc limit 5");
  while($np2 = mysql_fetch_assoc($np)){
  echo '<div class="list1"><img src="/modules/profile/images/newspaper.png" alt="*"/> <a href="/np_view'.$np2['id'].'">'.$np2['name'].'</a> <font color="grey">('.times($np2['time']).')</font></div>';
  }
 
  
  echo '<div class="menu2">Информация</div>';
  $c = mysql_result(mysql_query('select count(`id`) from `privat` where `ho` = "'.$user['id'].'" and `read` = "0"'),0);
  echo '<div class="list1"><img src="/modules/profile/images/mai5l.png"/> <a href="/privat">Почта</a>';
  if($c != 0) echo ' (+'.$c.')';
  echo '</div>';
  $c = mysql_result(mysql_query('select count(`id`) from `op` where `who` = "'.$user['id'].'" and `read` = "0"'),0);
  echo '<div class="list1"><img src="/modules/profile/images/rss.png"/> <a href="/op">Оповещения</a>';
  if($c != 0) echo ' (+'.$c.')';
  echo '</div>';
  echo '<div class="list1"><img src="/modules/profile/images/newspaper.png"/> <a href="/us'.$user['id'].'?m=feeds">Новости</a></div>';
  echo '<div class="list1"><img src="/modules/profile/images/page_forum_16_ns.png"/> <a href="/forum?m=new">Наблюдаемые темы</a></div>';
  echo '<div class="list1"><img src="/modules/profile/images/gnome_dialog_question.png"/> <a href="/profile?m=faq">FAQ</a></div>';
  echo '</div><div class="menu2">Настройки</div>
  <div class="list1"><img src="/modules/profile/images/my-account.png"> <a href="?m=anketa">Личные данные</a></div>
  <div class="list1"><img src="/modules/profile/images/css.png"/> <a href="/cab?m=css">Дизайны</a></div>
  <div class="list1"><img src="/modules/profile/images/057.png"> <a href="?m=ava">Аватар</a></div>
  <div class="list1"><img src="/modules/profile/images/synaptic.png"> <a href="?m=password">Смена пароля</a></div>
  <div class="list1"><img src="/modules/profile/images/settings.png"> <a href="?m=settings">Дополнительные настройки</a></div>
  </div><div class="menu2">Прочее</div>
  <div class="list1"><img src="/modules/forum/images/emoc.png"/> <a href="/smiles.php">Смайлы</a></div>
  <div class="list1"><img src="/modules/forum/images/cod.png"/> <a href="/bbcode.php">ББ коды</a></div>  
  </div>';
  break;
  case 'ava':
  echo '<div class="menu2"><a href="/cab" style="color:#ffffff;">Кабинет</a> | Аватар</div>';
  
  if(isset($_POST['submit'])){
  if(!@file_exists($_FILES['filename']['tmp_name'])) $err[] = 'Вы не выбрали файл!';
  if($_FILES['filename']['size'] != 0 and $_FILES['filename']['size'] > 1024000) $err[] = 'Слишком большой файл...';
  
  $filetype = array ( 'jpg', 'gif', 'png', 'jpeg', 'bmp' );
  $upfiletype = substr($_FILES['filename']['name'],  strrpos( $_FILES['filename']['name'], "." )+1);  
  
  if(!in_array($upfiletype,$filetype)) $err[] = 'Вы пытаетесь загрузить недопустимый формат файла...';
  if(!$err){
  if(!empty($user['ava'])){
  unlink('ava/'.$user['ava'].'');
  }
  $fn = date('dmY').'_fn'.rand(1234,5678).'_'.$_FILES['filename']['name'];
  move_uploaded_file($_FILES['filename']['tmp_name'], "ava/".$fn."");
  mysql_query("UPDATE `user` SET `ava`='".$fn."' WHERE `id`='".$user['id']."' limit 1");
  
  header('Location: /cab?m=ava'); exit;
  
  }else{
  echo '<div class="rega">';
  foreach($err as $err_info){
  echo $err_info.'<br>';
  }
  echo '</div>';
  }
  }
  echo '<div class="list1"><img src="/modules/profile/';
  
  if(empty($user['ava'])) echo 'images/noava.png'; else echo 'ava/'.$user['ava'];
  echo '" style="max-width:150px;"/><br>';
  
  if(isset($_GET['del']) && !empty($user['ava'])){
  unlink('ava/'.$user['ava'].'');
  mysql_query("UPDATE `user` SET `ava`='' WHERE `id`='".$user['id']."' limit 1");
  header('Location: /cab?m=ava'); exit;
  }
  
  if(!empty($user['ava'])) echo '<img src="/modules/profile/images/stop_2.png"/> <a href="/cab?m=ava&del">Удалить</a>';
  
  echo '</div><div class="list1">
  <form action="" method="post" enctype="multipart/form-data">
  Файл:<br><input type="file" name="filename"/><br>  
  <input type="submit" value="Загрузить" name="submit"/>
  </form></div>';
  
  break;
  case 'anketa':
  echo '<div class="menu2"><a href="/cab">Кабинет</a> | Личные данные</div>';
  if(isset($_POST['submit'])){
  $name = TextGuard($_POST['name']);
  $country = TextGuard($_POST['country']);
  $city = TextGuard($_POST['city']);
  $bd = TextGuard($_POST['bd']);
  if(!empty($bd)) if(!is_numeric($bd) or $bd > 31 or $bd <= 0) $err[] = 'Ошибка ввода дня даты рождения...';
  $bm = TextGuard($_POST['bm']);
  if(!empty($bm)) if(!is_numeric($bm) or $bm > 12 or $bd <= 0) $err[] = 'Ошибка ввода месяца даты рождения...';
  $by = TextGuard($_POST['by']);
  if(!empty($by)) if(!is_numeric($by) or $by <= 0) $err[] = 'Ошибка ввода года даты рождения...';
  $about = TextGuard($_POST['about']);
  $icq = TextGuard($_POST['icq']);
  
  if(!$err){
  if(empty($bd)) $bd2 = 1; else $bd2 = $bd;
  if(empty($bm)) $bm2 = 1; else $bm2 = $bm;
  if(empty($by)) $by2 = 0; else $by2 = $by;
  
  $birthday = $bd2.'.'.$bm2.'.'.$by2;
  mysql_query("UPDATE `user` SET `name`='".$name."',`country`='".$country."',`city`='".$city."',`about`='".$about."',`icq`='".$icq."',`birthday`='".$birthday."' WHERE `id`='".$user['id']."' limit 1");
  
  echo '<div class="rega"><img src="/modules/profile/images/clean.png"/> Профиль успешно сохранен!</div>';
  
  }else{
  echo '<div class="rega">';
  foreach($err as $err_info){
  echo $err_info.'<br>';
  }
  echo '</div>';
  }
  }
  
  echo '
  <div class="list1">
  <form action="" method="post">
  Имя:<br><input name="name" value="'.$user['name'].'"/><br>
  Дата рождения:<br>';
  
  $birthday = explode('.',$user['birthday']);
  
  echo '
  <input name="bd" size="2" value="'.$birthday[0].'"/>.<input name="bm" size="2" value="'.$birthday[1].'"/>.<input name="by" size="4" value="'.$birthday[2].'"/><br>
  Страна:<br><input name="country" value="'.$user['country'].'"/><br>
  Город:<br><input name="city" value="'.$user['city'].'"/><br>
  О себе:<br><textarea name="about" style="width:98%;"  rows="3">'.$user['about'].'</textarea><br>
  ICQ:<br><input name="icq" value="'.$user['icq'].'"/><br>
  <input type="submit" value="Сохранить" name="submit"/>
  </form></div>
  ';
  
  break;
  case 'password':
  echo '<div class="menu">Смена пароля</div>';
  if(isset($_POST['submit'])){
  $old = TextGuard($_POST['old']);
  if(empty($old) or $old != $user['password']) $err[] = 'Неверный старый пароль...';
  $slovo = TextGuard($_POST['slovo']);
  if(empty($slovo) or $slovo != $user['secret_word']) $err[] = 'Неверное секретное слово...';
  $new = TextGuard($_POST['new']);
  
  if(!$err){
  mysql_query("UPDATE `user` SET `password`='".$new."' WHERE `id`='".$user['id']."' limit 1");
  
  setcookie('upassword', $new, time()+86400*365, '/');
  echo '<div class="rega"><img src="/modules/profile/images/clean.png"/> Новый пароль успешно установлен!</div>';
  
  }else{
  echo '<div class="rega">';
  foreach($err as $err_info){
  echo $err_info.'<br>';
  }
  echo '</div>';
  }
  }
  
  echo '
  <div class="list1">
  <form action="" method="post">
  Старый пароль:<br><input name="old" type="password"/><br>
  Секретное слово:<br><input name="slovo" type="password"/><br>
  Новый пароль:<br><input name="new" type="password"/></div><div class="lst">
  <input type="submit" value="Сменить" name="submit"/>
  </form></div>
  ';
  
  break;
  case 'css':
  switch($_GET['mod']){
  default:
  echo '<div class="menu2"><a href="/cab" style="color:#ffffff;">Кабинет</a> | Дизайн</div>
  <div class="list1"><img src="/modules/profile/images/cs2_standard.png"/> <a href="/cab?m=css&mod=new">Создать дизайн</a></div>
  <div class="list1"><img src="/modules/profile/images/cs2_standard.png"/> <a href="/cab?m=css&mod=my">Мои стили</a> ('.mysql_result(mysql_query('select count(`id`) from `css` where `who` = "'.$user['id'].'"'),0).')</div>
  <div class="list1"><img src="/modules/profile/images/cs2_standard.png"/> <a href="/cab?m=css&mod=list">Доступные стили</a> ('.mysql_result(mysql_query('select count(`id`) from `css` where `who` = "0"'),0).')</div>  
  ';
  break;
  case 'list':
  echo '<div class="menu2"><a href="/cab" style="color:#ffffff;">Кабинет</a> | <a href="/cab?m=css" style="color:#ffffff;">Дизайны</a> | Доступные стили</div>';
  $cop = 10;
  $ca = mysql_result(mysql_query("SELECT COUNT(*) FROM `css` where `who` = '0'"),0);
  $cp = ceil($ca/$cop);
  if(isset($_GET['p']) && is_numeric($_GET['p']) && $ca != 0){
  $p = $_GET['p'];
  if($_GET['p']>$cp) $p = $cp;
  if($_GET['p']<1)$p = 1;
  }else{
  $p = 1;
  }
  $start = $p*$cop-$cop;
  
  if(isset($_GET['go'])){
  $id = TextGuard($_GET['id']);
  $css = mysql_fetch_array(mysql_query('select * from `css` where `id` = '.$id.''));
  if(empty($id) or !is_numeric($id) or $css == 0 or $css['who'] != "0"){
  header('Location: /cab?m=css&mod=list'); exit;
  }
  mysql_query("UPDATE `user` SET `css`='".$id."' WHERE `id` = '".$user['id']."' limit 1");
  echo '<div class="rega">Стиль успешно установлен!</div>';
  }
  
  $css = mysql_query("SELECT * FROM `css` where `who` = '0' ORDER BY `id` DESC LIMIT $start,$cop");
  while($css2 = mysql_fetch_assoc($css)){
  echo '<div class="list1"><a href="/cab?m=css&mod=list&go&id='.$css2['id'].'">'.$css2['file'].'</a><br><small>'.$css2['about'].'</small></div>';
  }
  echo '<div class="navg">Стр. ';
  if($p-2>0) echo '<a href="/cab?m=css&mod=list&p=1"><<</a> ';
  if($p-1>0) echo '<a href="/cab?m=css&mod=list&p='.($p-1).'"><</a> ';
  if($p-3>0) echo '<a href="/cab?m=css&mod=list&p='.($p-3).'">'.($p-3).'</a> | ';
  if($p-2>0) echo '<a href="/cab?m=css&mod=list&p='.($p-2).'">'.($p-2).'</a> | ';  
  if($p-1>0) echo '<a href="/cab?m=css&mod=list&p='.($p-1).'">'.($p-1).'</a> | ';
  
  echo '<b>'.$p.'</b>';
  if($p+1<=$cp) echo ' | <a href="/cab?m=css&mod=list&p='.($p+1).'">'.($p+1).'</a>';
  if($p+2<=$cp) echo ' | <a href="/cab?m=css&mod=list&p='.($p+2).'">'.($p+2).'</a>';
  if($p+3<=$cp) echo ' | <a href="vp='.($p+3).'">'.($p+3).'</a>';
  if($p+1<=$cp) echo ' <a href="/cab?m=css&mod=list&p='.($p+1).'">></a>';
  if($p+2<=$cp) echo ' <a href="/cab?m=css&mod=list&p='.ceil($ca/$cop).'">>></a>';
  echo '</div>';
  break;
  case 'new':
  echo '<div class="menu2"><a href="/cab" style="color:#ffffff;">Кабинет</a> | <a href="/cab?m=css" style="color:#ffffff;">Дизайны</a> | Создать дизайн</div>';
  if(isset($_POST['submit'])){
  $name = TextGuard($_POST['name']);
  if(empty($name)) $err[] = 'Название дизайна осталось пустым...';
  if(!preg_match('|^[a-z0-9-]+$|i', $name)) $err[] = 'В названии присутствуют запрещенные символы...';
  $str = trim(htmlspecialchars($_POST['str']));
  if(empty($str)) $err[] = 'Струкура осталось пустой...';
  $about = TextGuard($_POST['about']);
  if(empty($about)) $err[] = 'Описание осталось пустым...';
  if(!$err){
  $name = ''.date('dmY').'_'.rand(11111,99999).'_css'.$name.'';
     mysql_query("INSERT INTO `css`(
    `file`,
    `who`,
    `about`
    )VALUES(
    '".$name."',
    '".$user['id']."',
    '".$about."'
    )");
  $text    = ''.$str.'';
  
  $fp      =  fopen('../../css/'.$name.'.css', 'w');  
  flock($fp,LOCK_EX);                                          
  fputs($fp, $text);
  fflush($fp);
  flock($fp,LOCK_UN);
  fclose($fp);  
  echo '<div class="rega"><img src="/modules/profile/images/clean.png"/> Дизайн успешно создан!</div>';
  
  }else{
  echo '<div class="rega">';
  foreach($err as $err_info){
  echo $err_info.'<br>';
  }
  echo '</div>';
  }
  }
  
  echo '
  <div class="list1">
  <form action="" method="post">
  Название:<br><input name="name"/><br>
  Структура:<br><textarea name="str" style="width:98%;" rows="10"/>
  body{
  
  }
  select{
  
  }
  textarea{
  
  }
  input{
  
  }
  input[type="checkbox"]{
  
  }
  input[type="submit"]{
  
  }
  input[type="submit"]:hover{
  
  }
  input[type="submit"]:active{
  
  }
  a:link, a:visited{
  
  }
  a:hover{
  
  }
  img{
  
  }
  .menu{
  
  }
  .menu2{
  
  }
  .ram{
  
  }
  .raz{
  
  }
  .verx{
  
  }
  .razd1{
  
  }
  .list1{
  
  }
  .blk{
  
  }
  .pod_razd{
  
  }
  .autxing{
  
  }
  .navg{
  
  }
  .lst{
  
  }
  .pr{
  
  }
  .navg{
  
  }
  .lst{
  
  }
  .cit{
  
  }
  .post2{
  
  }
  .rega{
  
  }
  </textarea><br>
  Описание:<br><textarea name="about" style="width:98%;" rows="2"/></textarea><br>
  <input type="submit" value="Создать" name="submit"/>
  </form></div>
  ';
  break;
  case 'my':
  echo '<div class="menu2"><a href="/cab" style="color:#ffffff;">Кабинет</a> | <a href="/cab?m=css" style="color:#ffffff;">Дизайны</a> | Мои стили</div>';
  $cop = 10;
  $ca = mysql_result(mysql_query("SELECT COUNT(*) FROM `css` where `who` = '".$user['id']."'"),0);
  $cp = ceil($ca/$cop);
  if(isset($_GET['p']) && is_numeric($_GET['p']) && $ca != 0){
  $p = $_GET['p'];
  if($_GET['p']>$cp) $p = $cp;
  if($_GET['p']<1)$p = 1;
  }else{
  $p = 1;
  }
  $start = $p*$cop-$cop;
  
  if(isset($_GET['go'])){
  $id = TextGuard($_GET['id']);
  $css = mysql_fetch_array(mysql_query('select * from `css` where `id` = '.$id.''));
  if(empty($id) or !is_numeric($id) or $css == 0 or $css['who'] != $user['id']){
  header('Location: /cab?m=css&mod=my'); exit;
  }
  mysql_query("UPDATE `user` SET `css`='".$id."' WHERE `id` = '".$user['id']."' limit 1");
  echo '<div class="rega">Стиль успешно установлен!</div>';
  }
  
  if(isset($_GET['del'])){
  $id = TextGuard($_GET['id']);
  $css = mysql_fetch_array(mysql_query('select * from `css` where `id` = '.$id.''));
  if(empty($id) or !is_numeric($id) or $css == 0 or $css['who'] != $user['id']){
  header('Location: /cab?m=css&mod=my'); exit;
  }
  unlink('../../css/'.$css['file'].'.css');
  mysql_query("DELETE FROM `css` WHERE `id`='".$id."'");
  echo '<div class="rega">Стиль успешно удален!</div>';
  }
  
  $css = mysql_query("SELECT * FROM `css` where `who` = '".$user['id']."' ORDER BY `id` DESC LIMIT $start,$cop");
  while($css2 = mysql_fetch_assoc($css)){
  echo '<div class="list1"><a href="/cab?m=css&mod=my&go&id='.$css2['id'].'">'.$css2['file'].'</a> [<a href="/cab?m=css&mod=my&del&id='.$css2['id'].'">уд</a>]<br><small>'.$css2['about'].'</small></div>';
  }
  echo '<div class="navg">Стр. ';
  if($p-2>0) echo '<a href="/cab?m=css&mod=my&p=1"><<</a> ';
  if($p-1>0) echo '<a href="/cab?m=css&mod=my&p='.($p-1).'"><</a> ';
  if($p-3>0) echo '<a href="/cab?m=css&mod=my&p='.($p-3).'">'.($p-3).'</a> | ';
  if($p-2>0) echo '<a href="/cab?m=css&mod=my&p='.($p-2).'">'.($p-2).'</a> | ';  
  if($p-1>0) echo '<a href="/cab?m=css&mod=my&p='.($p-1).'">'.($p-1).'</a> | ';
  
  echo '<b>'.$p.'</b>';
  if($p+1<=$cp) echo ' | <a href="/cab?m=css&mod=my&p='.($p+1).'">'.($p+1).'</a>';
  if($p+2<=$cp) echo ' | <a href="/cab?m=css&mod=my&p='.($p+2).'">'.($p+2).'</a>';
  if($p+3<=$cp) echo ' | <a href="vp='.($p+3).'">'.($p+3).'</a>';
  if($p+1<=$cp) echo ' <a href="/cab?m=css&mod=my&p='.($p+1).'">></a>';
  if($p+2<=$cp) echo ' <a href="/cab?m=css&mod=my&p='.ceil($ca/$cop).'">>></a>';
  echo '</div>';
  break;
  }
  
  break;
  }
  echo '<div class="navg"><img src="/images/homepage.gif"/> <a href="/">На главную</a></div>';
  include '../../system/footer.php';
?>