A unf. social network done poorly.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

297 lines
10KB

  1. <?php
  2. ini_set('display_errors', '1');
  3. require_once($_SERVER['DOCUMENT_ROOT'] . '/socialtune/includes/session.php');
  4. require_once($_SERVER['DOCUMENT_ROOT'] . '/socialtune/includes/config.php');
  5. require_once($_SERVER['DOCUMENT_ROOT'] . '/socialtune/includes/user-data.php');
  6. if(isset($_SESSION['Authenticated']) && $_SESSION['Authenticated']){
  7. if($_SESSION['Expires'] < time()){
  8. // Log out here.
  9. exit();
  10. header("Location: logout.php");
  11. }
  12. $_SESSION['Expires'] = time() + 86400; // if logged in, set to 24 hours.
  13. //header("Location: Dashboard.php");
  14. }else{
  15. header("Location: index.php");
  16. }
  17. ?>
  18. <!DOCTYPE html>
  19. <html lang="en">
  20. <head>
  21. <meta charset="utf-8">
  22. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  23. <meta name="viewport" content="width=device-width, initial-scale=1">
  24. <title>SocialTune | Dashboard</title>
  25. <!--// bootstrap //-->
  26. <link href="css/bootstrap.css" rel="stylesheet">
  27. <link href="css/specialFX.css" rel="stylesheet">
  28. <script type="text/javascript"
  29. src="socialtune-chat/client/js/jquery-1.11.0.js">
  30. </script>
  31. <script type="text/javascript"
  32. src="socialtune-chat/client/js/md5.js">
  33. </script>
  34. <script type="text/javascript"
  35. src="socialtune-chat/client/js/store.js">
  36. </script>
  37. <script type="text/javascript"
  38. src="socialtune-chat/client/js/cookies.js">
  39. </script>
  40. <script type="text/javascript"
  41. src="socialtune-chat/client/js/dateformat.js">
  42. </script>
  43. <script type="text/javascript"
  44. src="socialtune-chat/client/js/im.js">
  45. </script>
  46. <script type="text/javascript">
  47. $(function(){
  48. if (!cookies.get('sessionid')) {
  49. cookies.set('sessionid', uid(40));
  50. }
  51. var u =
  52. window.location.href.split('/');
  53. var p = 8000; // Node.js port
  54. u = u[0]+'//'+u[2]+':'+p;
  55. var im = AjaxIM.init({pollServer: u,
  56. theme: 'themes/default'});
  57. });
  58. </script>
  59. <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  60. <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  61. <!--[if lt IE 9]>
  62. <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  63. <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  64. <![endif]-->
  65. <style>
  66. html,
  67. body{
  68. height: 100%;
  69. }
  70. #wrap{
  71. min-height: 100%;
  72. height: auto !important;
  73. height: 100%
  74. margin: 0 auto -60px;
  75. }
  76. #push,
  77. #footer{
  78. height: 60px;
  79. }
  80. @media(max-width: 767px){
  81. #footer{
  82. margin-left: -20px;
  83. margin-right: -20px;
  84. padding-left: 20px;
  85. padding-right: 20px;
  86. }
  87. }
  88. </style>
  89. </head>
  90. <body>
  91. <div id="wrap">
  92. <!--// Navigation //-->
  93. <nav class="navbar navbar-default navbar-fixed-top">
  94. <div class="container">
  95. <div class="navbar-header">
  96. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
  97. <span class="sr-only">Toggle Navigation</span>
  98. <span class="icon-bar"></span>
  99. <span class="icon-bar"></span>
  100. <span class="icon-bar"></span>
  101. </button>
  102. <a class="navbar-brand" href="#">Social.Tune</a>
  103. </div>
  104. <div id="navbar" class="navbar-collapse collapse">
  105. <ul class="nav navbar-nav">
  106. <li class="active"><a href="dashboard.php">Home</a></li>
  107. <?php if($pending_notification == 1){
  108. echo '<li><span class="relative_blink"><span class="notification_blink"><span class="online_blink">New</span></span></span><a href="notifications.php">Notifications</a></li>';
  109. }else{ echo '<li><a href="notifications.php">Notifications</a><li>'; } // HOLY SHIT THIS IS A CLUSTERFUCK OF BAD. ~~ Ashton
  110. ?> <li><?php echo'<a href="profile.php?id='.$user_id.'">View Profile</a>'; ?></li>
  111. <li><a href="edit-profile.php">Edit Profile</a></li>
  112. <li><?php echo '<a href="friends.php?id='.$user_id.'">Friends</a></li>'; ?>
  113. <li><a href="about.php">About</a></li>
  114. <li><a href="logout.php">Log out</a></li>
  115. </ul>
  116. </div>
  117. </div>
  118. </nav>
  119. <!--// Content //-->
  120. <div class="container">
  121. <div class="jumbotron">
  122. <div class="row">
  123. <div class="col-md-8">
  124. <!-- add image here.-->
  125. <?php echo $user_First_Name." ".$user_Last_Name."'s Dashboard<br/>"; ?>
  126. <?php echo '<img src="user-images/'.$user_image_ext.'" style="width: 150px; height: 150px; float: left; margin: 1em 1em 1em 1em;">'; ?>
  127. <?php
  128. $emptyStatus = (!empty($_GET['ps'])) ? $_GET['ps'] : false;
  129. $emptyStatus = mysqli_real_escape_string($connection, $emptyStatus);
  130. ?>
  131. Update Status: <?php if($emptyStatus){ echo '<b>|This appears to be empty.|</b>'; } ?>
  132. <form method="POST" action="post-status.php">
  133. <div class="form-group">
  134. <textarea type="message" style="width: 300px;" class="form-group" rows="" name="message" id="message" placeholder=""></textarea>
  135. <?php echo '<input type="hidden" id="poster_id" name="poster_id" value="'.$user_id.'">';?>
  136. <button type="submit" class="btn btn-primary" style="margin-top:-60px;">Post</button>
  137. </div>
  138. </form>
  139. <br /><br /><br /><br /><br />
  140. <center><u><h3>Matrix feed</h3></u></center>
  141. <?php
  142. /* Ok.. This is the status stuff. :| */
  143. $status_query = "SELECT * FROM status ORDER BY post_date DESC";
  144. $get_status = mysqli_query($connection, $status_query);
  145. while($status_row = mysqli_fetch_array($get_status, MYSQLI_NUM)){
  146. $status_id = $status_row[0];
  147. $status_owner = $status_row[1];
  148. $status_date = $status_row[2];
  149. $status_body = $status_row[3];
  150. $status_user_data = "SELECT * FROM users WHERE id='$status_owner'"; // ORDER BY isn't working?
  151. $get_status_user_data = mysqli_query($connection, $status_user_data);
  152. while($status_user = mysqli_fetch_array($get_status_user_data, MYSQLI_NUM)){
  153. $status_user_id = $status_user[0];
  154. $status_owner_name = $status_user[3].' '.$status_user[4];
  155. $status_owner_picture = $status_user[11];
  156. }
  157. echo '<table class="table table-bordered"><tr>';
  158. echo '<tbody><img style="width: 30px; height:30px;" src="user-images/'.$status_owner_picture.'">'.$status_owner_name.'
  159. <sub style="float:right;margin-top:15px;"><sub>'.$status_date.'</sub></sub></tbody></tr>';
  160. echo '<tr><td>'.$status_body.'';
  161. if($status_user_id == $user_id){
  162. echo '
  163. <form method="POST" action="post-status.php">
  164. <input type="hidden" name="removal" id="removal" value="1">
  165. <input type="hidden" name="post_id" id="post_id" value="'.$status_id.'">
  166. <button type="submit" class="btn btn-primary" style="margin: 5px; float:right;">Remove</button>
  167. </form>
  168. </td></tr></table>';
  169. }else{ echo '</tr></table>'; }
  170. }
  171. ?>
  172. </table>
  173. <div style="height: 10px;"></div><?php //stupid fix. ?>
  174. </div>
  175. <div class="col-md-4">
  176. <center><h3><?php echo '<a href="friends.php?id='.$user_id.'">Friends List</a>'; ?></h3></center>
  177. <?php
  178. $connection = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);
  179. $isPending = 0;
  180. $query = "SELECT * FROM friends WHERE user_two='$user_id' AND pending='$isPending' OR user_one='$user_id' AND pending='$isPending' LIMIT 6";
  181. $get_friends = mysqli_query($connection, $query);
  182. $counter = 0;
  183. while($row = mysqli_fetch_array($get_friends, MYSQLI_NUM)){
  184. $friend_A = $row[1];
  185. $friend_B = $row[2];
  186. if($friend_A == $user_id){
  187. // use friend_B.
  188. $friend_search = "SELECT * FROM users WHERE id='$friend_B'";
  189. $get_friend_info = mysqli_query($connection, $friend_search);
  190. while($friend_info = mysqli_fetch_array($get_friend_info)){
  191. $friend_info_id = $friend_info[0];
  192. $friend_info_name = $friend_info[3].' '.$friend_info[4];
  193. $friend_info_img = $friend_info[11];
  194. $friend_info_online = $friend_info[13];
  195. }
  196. }else{
  197. // use friend_A.
  198. $friend_search = "SELECT * FROM users WHERE id='$friend_A'";
  199. $get_friend_info = mysqli_query($connection, $friend_search);
  200. while($friend_info = mysqli_fetch_array($get_friend_info)){
  201. $friend_info_id = $friend_info[0];
  202. $friend_info_name = $friend_info[3].' '.$friend_info[4];
  203. $friend_info_img = $friend_info[11];
  204. $friend_info_online = $friend_info[13];
  205. }
  206. }
  207. if($counter == 0 || $counter == 3){ echo '<div class="col-md-6">';}
  208. echo'<table class="table table-bordered"><tr><td><a href="profile.php?id='.$friend_info_id.'"><img style="width:100px; height:100px;" src="user-images/'.$friend_info_img.'">';
  209. if($friend_info_online == 1){
  210. echo '<sup><span class="online_blink_bg"><span class="online_blink">Online</span></span></sup></a></td></tr>';
  211. }else{
  212. echo'<sup><span class="offline_blink_bg"><span class="offline_blink">Offline</span></span></sup></a></td></tr>';
  213. }
  214. echo '<tr><td><a style="font-size: 10px;" href="profile.php?id='.$friend_info_id.'">'.$friend_info_name.'</a></td></tr>';
  215. if($counter == 2 || $counter == 5){
  216. echo '</table></div>';
  217. }
  218. $counter = $counter + 1;
  219. }
  220. ?>
  221. </table>
  222. </div>
  223. </div>
  224. <div class="row">
  225. <div class="col-md-12">
  226. &nbsp;
  227. </div>
  228. </div>
  229. <div class="row">
  230. <div class="col-md-8">
  231. &nbsp;
  232. </div>
  233. <div class="col-md-4">
  234. &nbsp;
  235. </div>
  236. </div>
  237. </div>
  238. </div>
  239. <div class="container">
  240. <div class="jumbotron">
  241. <div id="push"></div>
  242. </div>
  243. </div>
  244. </div> <!--## ending wrap ##-->
  245. <!--// Footer //-->
  246. <div id="footer">
  247. <div class="container">
  248. <div class="row">
  249. <div class="col-md-4">
  250. <p style="font-size: 12px;">Social.Tune &copy; 2015</p>
  251. </div>
  252. <div class="col-md-8">
  253. <p class="text-right" style="font-size: 12px;">
  254. | <a href="">English</a> | <a href="">汉语</a> | <a href="">日本語</a> |
  255. <a href="">français</a> |<br /> | <a href="">Social-Tune</a> |
  256. <a href="">About Us</a> |<a href="">Contact Us</a> | <a href="">Careers</a> |
  257. <a href="">Privacy</a> | <a href="">License</a> | <a href="">Help</a> |
  258. </p>
  259. </div>
  260. </div>
  261. </div>
  262. </div>
  263. </div>
  264. </body>
  265. </html>