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

Размер файла: 5.05Kb
  1. <?php
  2. // coding by Felis
  3. require_once('sys/kernel.php');
  4. require_once('temp/cap.php');
  5.  
  6. $user_info = $db->query("SELECT * FROM `users` WHERE `id`=$u LIMIT 1");
  7. switch($mode)
  8. {
  9. default:
  10. if($user_info->num_rows > 0)
  11. {
  12. $ui = $user_info->fetch_assoc();
  13. echo $fnc->head('Профиль '.$ui['login']);
  14. echo $fnc->cont2('<b><span class="online">'.($ui['ontime'] >= $time - $conf['online'] ? 'В сети' : 'Не в сети').'</span></b>');
  15. echo $fnc->cont('<b>Дата регистрации:</b><br />'.date('d.m.Y', $ui['regdate']));
  16. echo $fnc->cont('<b>Последний визит:</b><br />'.date('d '.$fnc->rm(date('m')).', H:i', $ui['lastdate']));
  17. echo $fnc->head('Личная информация');
  18. echo !empty($ui['rname']) ? $fnc->cont('<b>Настоящее имя:</b><br />'.$ui['rname']) : NULL;
  19. echo !empty($ui['birth']) ? $fnc->cont2('<b>День рождения:</b><br />'.$ui['birth']) : NULL;
  20. echo !empty($ui['from']) ? $fnc->cont('<b>Откуда:</b><br />'.$ui['from']) : NULL;
  21. echo !empty($ui['ints']) ? $fnc->cont2('<b>Интересы:</b><br />'.$ui['ints']) : NULL;
  22. echo !empty($ui['site']) ? $fnc->cont('<b>Сайт:</b><br /><a href="http://'.$ui['site'].'">'.$ui['site'].'</a>') : NULL;
  23. echo ($op == true and ($uid == $u || $adm == true)) ? $fnc->cont('<b>Изменить:</b><br />- <a href="'.CFILE.'?mode=edit&u='.$u.'">личные данные</a><br />- <a href="'.CFILE.'?mode=passwd&u='.$u.'">пароль</a><br />- <a href="enter.php?mode=logout">выход</a><br />') : NULL;
  24. echo $fnc->cont2('<a href="main.php">На главную</a>');
  25. }
  26. else
  27. {
  28. echo $fnc->alert('Ошибка!', 'Данного пользователя не существует..');
  29. }
  30. break;
  31.  
  32. case 'edit':
  33. if($op == true and ($uid == $u || $adm == true))
  34. {
  35. if(!$_POST)
  36. {
  37. $ui = $user_info->fetch_assoc();
  38. echo $fnc->alert('Личные данные', '<form action="'.CFILE.'?mode=edit&u='.$u.'" method="post">
  39. Настоящее имя:<br />
  40. <input type="text" name="rname" value="'.$ui['rname'].'" maxlength="22" /><br />
  41. День рождения:<br />
  42. <input type="text" name="birth" value="'.$ui['birth'].'" maxlength="10" /><br />
  43. Откуда:<br />
  44. <input type="text" name="from" value="'.$ui['from'].'" /><br />
  45. Интересы:<br />
  46. <input type="text" name="ints" value="'.$ui['ints'].'" /><br />
  47. Сайт <span class="sim">(без http://)</span>:<br />
  48. <input type="text" name="site" value="'.$ui['site'].'" /><br />
  49. Элементов на стр. <span class="sim">(от 5 до 50)</span>:<br />
  50. <input type="text" name="onpage" value="'.$ui['onpage'].'" /><br />
  51. Автообновление <span class="sim">(от 5 до 60)</span>:<br />
  52. <input type="text" name="auto_refresh" value="'.$ui['auto_refresh'].'" /><br />
  53. <input type="submit" value="Сохранить" />
  54. </form>');
  55. echo $fnc->cont2('<a href="profile.php?u='.$u.'">В профиль</a>');
  56. }
  57. else
  58. {
  59. $prp = $db->prepare("UPDATE `users` SET `rname`=?, `birth`=?, `from`=?, `ints`=?, `site`=?, `onpage`=?, `auto_refresh`=? WHERE `id`=".$u);
  60. $prp->bind_param('sssssii', $rname, $birth, $from, $ints, $site, $onpage, $auto_refresh);
  61. $rname = $fnc->out($_POST['rname'], 1);
  62. $birth = $fnc->out($_POST['birth'], 1);
  63. $from = $fnc->out($_POST['from'], 1);
  64. $ints = $fnc->out($_POST['ints'], 1);
  65. $site = $fnc->out($_POST['site'], 1);
  66. $onpage = abs((int)$_POST['onpage']); if($onpage < 5 || $onpage > 50) $onpage = 7;
  67. $auto_refresh = abs((int)$_POST['auto_refresh']); if($auto_refresh < 5 || $auto_refresh > 60) $auto_refresh = 20;
  68. if($prp->execute())
  69. {
  70. $prp->close();
  71. header('Location: profile.php?u='.$u);
  72. }
  73. }
  74. }
  75. else
  76. {
  77. echo $fnc->alert('Ошибка!', _AUTH_ERROR);
  78. }
  79. break;
  80.  
  81. case 'passwd':
  82. if($op == true and ($uid == $u || $adm == true))
  83. {
  84. if(!$_POST)
  85. {
  86. $ui = $user_info->fetch_assoc();
  87. echo $fnc->alert('Личные данные', '<form action="'.CFILE.'?mode=passwd&u='.$u.'" method="post">
  88. Текущий пароль:<br />
  89. <input type="text" name="passwd" /><br />
  90. Новый пароль:<br />
  91. <input type="text" name="new_passwd" /><br />
  92. <input type="submit" value="Сохранить" />
  93. </form>');
  94. echo $fnc->cont2('<a href="profile.php?u='.$u.'">В профиль</a>');
  95. }
  96. else
  97. {
  98. $passwd = $fnc->out($_POST['passwd'], 1);
  99. $new_passwd = $fnc->out($_POST['new_passwd'], 1);
  100. $c_pass = $db->query("SELECT `passwd` FROM `users` WHERE `id`=".$u)->fetch_assoc();
  101. if($fnc->encode($passwd) == $c_pass['passwd'])
  102. {
  103. $prp = $db->prepare("UPDATE `users` SET `passwd`=? WHERE `id`=".$u);
  104. $prp->bind_param('s', $password);
  105. $password = $fnc->encode($new_passwd);
  106. if($prp->execute())
  107. {
  108. $prp->close();
  109. header('Location: profile.php?u='.$u);
  110. }
  111. }
  112. else
  113. {
  114. echo $fnc->alert('Ошибка!', 'Пароль не совпадает..');
  115. }
  116. }
  117. }
  118. else
  119. {
  120. echo $fnc->alert('Ошибка!', _AUTH_ERROR);
  121. }
  122. break;
  123. }
  124.  
  125. require_once('temp/foot.php');
  126.  
  127. // конец файла ./profile.php