Guest User

Untitled

a guest
Dec 31st, 2017
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.82 KB | None | 0 0
  1. <?php
  2. require('../includes/config.php');
  3. require('../structure/base.php');
  4. require('../structure/forum.php');
  5. require('../structure/forum.index.php');
  6. require('../structure/forum.thread.php');
  7. require('../structure/forum.post.php');
  8. require('../structure/database.php');
  9. require('../structure/user.php');
  10.  
  11. $database = new database($db_host, $db_name, $db_user, $db_password);
  12. $base = new base($database);
  13. $user = new user($database);
  14. $forum = new forum($database);
  15. $forum_index = new forum_index($database);
  16. $thread = new thread($database);
  17. $post = new post($database);
  18. $user->updateLastActive();
  19.  
  20. //get config
  21. $config = $base->loadConfig();
  22.  
  23. //set some variables that are used a lot throughout the page
  24.  
  25. if (!empty($_GET['username'])) {
  26. $profile_name = htmlspecialchars($_GET["username"]);
  27. }
  28. else{
  29. $profile_name = $user->getUsername($_COOKIE['user'], 2);
  30. }
  31. $username = $user->getUsername($_COOKIE['user'], 2);
  32. $rank = $user->getRank($username);
  33.  
  34. $f = $_GET['forum'];
  35. $i = $_GET['id'];
  36.  
  37.  
  38. //assign data to details[] array
  39. $details['lock'] = $detail_query[0]['lock'];
  40. $details['sticky'] = $detail_query[0]['sticky'];
  41. $details['title'] = stripslashes(htmlentities($detail_query[0]['title']));
  42. $details['username'] = $detail_query[0]['username'];
  43. $details['status'] = $detail_query[0]['status'];
  44. $details['content'] = $detail_query[0]['content'];
  45. $details['date'] = $detail_query[0]['date'];
  46. $details['lastedit'] = $detail_query[0]['lastedit'];
  47. $details['qfc'] = $detail_query[0]['qfc'];
  48. $details['moved'] = $detail_query[0]['moved'];
  49. $details['hidden'] = $detail_query[0]['hidden'];
  50. $details['autohiding'] = $detail_query[0]['autohiding'];
  51.  
  52. //get forum details
  53. $forum_details = $database->processQuery("SELECT `title` FROM `forums` WHERE `id` = ?", array($f), true);
  54.  
  55.  
  56.  
  57. if(isset($_GET['username'])){
  58. if($user->doesExist($_GET['username'])){;
  59. }
  60. }else{
  61. if(!$user->isLoggedIn()){
  62. $base->redirect('../login.php');
  63. }else{
  64. $user_s = $username;
  65. }
  66. }
  67. $messages = array();
  68. $avatar = $user->getAvatar($profile_user);
  69. $usr = $user->getUsername($profile_user);
  70.  
  71. if($username == $profile_user && $user->isLoggedIn() && isset($_REQUEST['cust_title'])) {
  72. $user->setTitle($username, htmlentities($_REQUEST['cust_title']));
  73. }
  74. if($user_s == $username && $user->isLoggedIn() && isset($_FILES['uploaded'])) {
  75. if(isset($_REQUEST['delete'])) {
  76. $user->setAvatar($username, '');
  77. $messages[] = "Your avatar has been removed.";
  78. } else {
  79. $ok = false;
  80. $info = getimagesize($_FILES['uploaded']['tmp_name']);
  81. if ($_FILES['uploaded']['error'] !== UPLOAD_ERR_OK) {
  82. $messages[] = ("Upload failed with error code " . $_FILES['uploaded']['error']);
  83. } else if($info === FALSE) {
  84. $messages[] = ("Unable to determine image type of uploaded file");
  85. } else if(($info[2] !== IMAGETYPE_GIF) && ($info[2] !== IMAGETYPE_JPEG) && ($info[2] !== IMAGETYPE_PNG)) {
  86. $messages[] = ("Not a gif/jpeg/png");
  87. } else if($_FILES['uploaded']['size'] > 350000) {
  88. $messages[] = "Your file is too large.";
  89. } else if($_FILES['uploaded']['type'] == "text/php") {
  90. $messages[] = "No PHP files";
  91. } else {
  92. $ok = true;
  93. }
  94. $target = md5(strtolower(trim($username))) .'.'. pathinfo($_FILES['uploaded']['name'])['extension'];
  95. if($ok) {
  96. if(move_uploaded_file($_FILES['uploaded']['tmp_name'], "../images/avatar/" . $target)){
  97. $messages[] = "Your avatar has been uploaded. Please allow atleast 10 minutes for it to update.";
  98. $user->setAvatar($username, $target);
  99. } else {
  100. $messages[] = "Sorry, there was a problem uploading your file.";
  101. }
  102. }
  103. }
  104. }
  105.  
  106. //retrieve posts/threads
  107. $posts = $database->processQuery("SELECT `id`,`thread`,`username`,`timestamp`,`content` FROM `posts` WHERE `username` = ? AND ". time() ." - `timestamp` < 1209600 ORDER BY `id` DESC", array($user_s), true);
  108. $threads = $database->processQuery("SELECT `id`,`parent`,`title`,`username`,`timestamp`,`content` FROM `threads` WHERE `username` = ? AND ". time() ." - `timestamp` < 1209600 ORDER BY `id` DESC", array($user_s), true);
  109.  
  110. //type:id:forum:timestamp:(if post)thread
  111. $list = array();
  112.  
  113. foreach($posts as $post){
  114.  
  115. //get the thread's forum/parent
  116. $t = $database->processQuery("SELECT `parent` FROM `threads` WHERE `id` = ? LIMIT 1", array($post['thread']), true);
  117.  
  118. $list[$post['timestamp']] = 'p:'.$post['id'].':'. $t[0]['parent'] .':'.$post['timestamp'].':'.$post['thread'].':'.$post['content'];
  119. }
  120.  
  121. //add threads
  122. foreach($threads as $thread){
  123. $list[$thread['timestamp']] = 't:'.$thread['id'].':'.$thread['parent'].':'.$thread['timestamp'].':'.$thread['content'];
  124. }
  125.  
  126. //now sort them
  127. krsort($list, SORT_NUMERIC);
  128.  
  129. $r = $database->processQuery("SELECT * FROM `users` WHERE `username` = ?", array($profile_name), true);
  130. ?>
Add Comment
Please, Sign In to add comment