index.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <?php
  2. include_once 'auth.php';
  3. //Get information of local data storage from auth.php
  4. $userAccountName = $_SESSION['login']; //使用者登入名稱,不可重複
  5. $dataStorage = $sysConfigDir . '/userdata/' . $_SESSION['login'] . "/"; //使用者個人資料資料夾
  6. if (!file_exists($dataStorage)){
  7. //如果使用者是第一次使用 TeaBag,幫他開個新資料夾,並創建用家資料檔
  8. mkdir($dataStorage,0777,true);
  9. file_put_contents($dataStorage . "userdata.json",'{"username":"' . $userAccountName .'",
  10. "accountCreationTime":"' . time() . '",
  11. "invitedByUser":"Admin",
  12. "permissionLevel":3,
  13. "banned":false
  14. }');
  15. include_once("functions/createUserDirectories.php");
  16. }
  17. date_default_timezone_set("Asia/Hong_Kong");
  18. $time = date("Y-m-d H:m:s");
  19. include_once("getUserImage.php"); //Handle user image location. Call with getUserIconpath()
  20. $userIcon = getUserIconPath();
  21. ?>
  22. <html>
  23. <head>
  24. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  25. <title>TeaBag.tw</title>
  26. <link rel="stylesheet" href="script/tocas/tocas.css">
  27. <script src="script/tocas/tocas.js"></script>
  28. <script src="script/jquery.min.js"></script>
  29. <style>
  30. .extrapadding{
  31. padding-left:10%;
  32. padding-right:10%;
  33. }
  34. .removePadding{
  35. padding:0px !important;
  36. }
  37. .active.item{
  38. color:#4287f5 !important;
  39. font-weight: bold !important;
  40. }
  41. .postAvator{
  42. height:50px !important;
  43. padding-right:25px;
  44. }
  45. .teabag.card{
  46. max-width:350px;
  47. }
  48. .nopadding{
  49. padding:0px !important;
  50. }
  51. .selectable{
  52. cursor:pointer;
  53. padding:5px !important;
  54. }
  55. .selectable:hover{
  56. background-color:#f2f2f2 !important;
  57. }
  58. .online{
  59. color: #88db99;
  60. }
  61. .linebreak{
  62. white-space: pre-wrap;
  63. }
  64. </style>
  65. </head>
  66. <body>
  67. <div class="ts tabbed menu extrapadding">
  68. <a class="item" href="index.php"><img src="img/minilogo.png" style="height:25px;"></a>
  69. <a class="item" href="home.php"><i class="home icon"></i> Following</a>
  70. <a class="active item" href="index.php"><i class="user outline icon"></i>Timeline</a>
  71. <a class="item"><i class="mail outline icon"></i>Notification</a>
  72. <div class="right item removePadding">
  73. <div class="ts icon tiny input">
  74. <input type="text" placeholder="Search...">
  75. <i class="circular search link icon"></i>
  76. </div>
  77. <a class="item" href="logout.php"><i class="log out icon"></i>Logout</a>
  78. </div>
  79. </div>
  80. <div class="ts container">
  81. <div class="ts grid">
  82. <div class="four wide column">
  83. <div class="ts teabag card">
  84. <div class="image">
  85. <img src="<?php echo $userIcon;?>" style="max-width:300px;">
  86. </div>
  87. <div class="content">
  88. <div class="ts comments">
  89. <div class="comment">
  90. <div class="avatar">
  91. <img src="<?php echo $userIcon; ?>">
  92. </div>
  93. <div class="content">
  94. <a class="author"><?php include_once("functions/getUserName.php");?></a>
  95. <div class="text">@<?php echo $_SESSION['login']; ?></div>
  96. </div>
  97. </div>
  98. </div>
  99. <button class="ts basic mini button" onClick='$("#changeIconDiv").slideToggle();'>Change Icon</button>
  100. <div id="changeIconDiv" style="display:none;">
  101. <iframe src="uploadIcon.php">
  102. </iframe>
  103. </div>
  104. </div>
  105. </div>
  106. <!-- 聊天室列表-->
  107. <div class="ts segment" style='height:300px; overflow-y:auto;'>
  108. <div class="ts nopadding comments">
  109. <div class="comment selectable">
  110. <a class="avatar">
  111. <img src="img/dummy.png">
  112. </a>
  113. <div class="content">
  114. <a class="author">小白</a>
  115. <div class="inline text">
  116. 現時在線
  117. </div>
  118. <div class="middoted actions">
  119. <a>
  120. <i class="comment online icon"></i> 打開聊天室
  121. </a>
  122. </div>
  123. </div>
  124. </div>
  125. <div class="comment selectable">
  126. <a class="avatar">
  127. <img src="img/dummy.png">
  128. </a>
  129. <div class="content">
  130. <a class="author">小綠</a>
  131. <div class="inline text">
  132. 10分鐘前在線
  133. </div>
  134. <div class="middoted actions">
  135. <a>
  136. <i class="comment icon"></i> 留言
  137. </a>
  138. </div>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. <div class="twelve wide column">
  145. <div class="ts text container">
  146. <div class="ts segment">
  147. <div class="ts form">
  148. <form name="message" action="updateSql.php" method="post">
  149. <div class="field">
  150. <label>Share Post</label>
  151. <textarea rows="4" placeholder="Want to share something?" name="message" cols="40"></textarea>
  152. </div>
  153. <input type="submit" class="ts primary fluid button" value="Post">
  154. </form>
  155. </div>
  156. </div>
  157. <?php
  158. include_once("requestDB.php"); //Handle all Database access, see the query command below
  159. $postData = query("select * from post where username='" . $_SESSION['login'] . "' ORDER BY postid DESC","teabag");
  160. foreach ($postData as $post){
  161. echo '
  162. <div class="ts card">
  163. <div class="content">
  164. <div class="header"><img class="ts image postAvator" src="' . $userIcon .'" style="margin-right:-20px;width:80px;height:80px;">' . $post["username"] . '</div>
  165. <div class="meta">
  166. <a>@ '.$post["posttime"].'</a>
  167. </div>
  168. <div class="description">
  169. <p>'.$post["content"].'</p>
  170. </div>
  171. </div>
  172. </div>
  173. ';
  174. }
  175. ?>
  176. </div>
  177. </div>
  178. </div>
  179. </div>
  180. <script>
  181. function refreshPage(){
  182. window.location.reload();
  183. }
  184. </script>
  185. </body>
  186. </html>