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.

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