Newer
Older
moodlog_web / habit_ui.php
  1. <?php
  2. /*
  3. ini_set('display_errors', 1);
  4. ini_set('display_startup_errors', 1);
  5. error_reporting(E_ALL);
  6. */
  7. session_start();
  8. include('config.php');
  9. include('habit.php');
  10. $error = "";
  11.  
  12. if(isset($_REQUEST['password']) && md5($_REQUEST['password']) == $password){
  13. $_SESSION['loggedin'] = true;
  14. }
  15.  
  16. if( $_SERVER['HTTP_USER_AGENT'] == $password)
  17. $_SESSION['loggedin'] = true;
  18.  
  19.  
  20. function getMyUrl(){
  21. $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
  22. $host = $_SERVER['HTTP_HOST'];
  23. $port = $_SERVER['SERVER_PORT'];
  24.  
  25. // Exclude standard ports to prevent redundancy in the URL
  26. if (($protocol === 'http' && $port != 80) || ($protocol === 'https' && $port != 443)) {
  27. $url = "$protocol://$host";
  28. } else {
  29. $url = "$protocol://$host";
  30. }
  31.  
  32. return $url;
  33. }
  34.  
  35. ?>
  36.  
  37. <html>
  38. <head>
  39.  
  40. <link rel="stylesheet" href="/deps/all.css" >
  41.  
  42. <script type="text/javascript" src="/deps/d3.v3.min.js"></script>
  43. <script type="text/javascript" src="/deps/cal-heatmap.min.js"></script>
  44. <link rel="stylesheet" href="/deps/cal-heatmap.css" />
  45.  
  46. <link href="/deps/google-fonts.css" rel="stylesheet">
  47. <link rel="stylesheet" href="/deps/jquery-ui.css">
  48. <link rel="stylesheet" href="/deps/fa.css">
  49. <script src="/deps/jquery-1.12.4.js"></script>
  50. <script src="/deps/jquery-ui.js"></script>
  51. <link rel="stylesheet" href="habit_ui_style.css" >
  52.  
  53. <script src="habit_ui_script.js"></script>
  54. </head>
  55. <body>
  56. <center>
  57. <?php if($error <> ""){echo $error; } ?>
  58.  
  59.  
  60.  
  61. <div class="habit-container-wrapper">
  62.  
  63.  
  64. <?php
  65.  
  66. $fileContent = file_get_contents($habitlog);
  67. if ($fileContent === false) {
  68. die("Error reading the file.");
  69. }
  70. $resultArray = habit_parse_file($fileContent);
  71.  
  72. foreach ($resultArray as $section) {
  73. $align = "";
  74. $buttonClass = "";
  75. $buttText = "";
  76. if($section['Category'][0] == "d"){
  77.  
  78. $type = "day";
  79. $cat = "(daily)";
  80. if($section['Category'][1] == "+"){
  81. $align = "good";
  82. $calCol = "#58e81b";
  83. $title1 = "Streak";
  84. $title2 = "Missed";
  85. $title3 = "Top";
  86. $result1 = habit_get_stat_streak($section['Activity'], $moodlog);
  87. $result2 = habit_get_stat_missed($section['Activity'], $moodlog);
  88. $result3 = habit_get_stat_top($section['Activity'], $moodlog);
  89.  
  90. }
  91. if($section['Category'][1] == "-"){
  92. $align = "bad";
  93. $calCol = "#e81b1b";
  94. $title1 = "Streak";
  95. $title2 = "Total";
  96. $title3 = "Top";
  97. $result1 = habit_get_stat_missed($section['Activity'], $moodlog);
  98. $result2 = habit_get_stat_year($section['Activity'], $moodlog);
  99. $result3 = habit_get_stat_top_missing($section['Activity'], $moodlog);
  100. }
  101. $todayCheck = habit_check_daily($section['Activity'], $moodlog);
  102. $last10 = habit_last_10_daily($section['Activity'], $moodlog);
  103. foreach ($last10 as $key => $value) {
  104. $last10_conv[$key] = "neut";
  105. if ($section['Category'][1] == "+" && $value == 1)
  106. $last10_conv[$key] = "green";
  107. if ($section['Category'][1] == "+" && $value == 0)
  108. $last10_conv[$key] = "red";
  109. if ($section['Category'][1] == "-" && $value == 1)
  110. $last10_conv[$key] = "red";
  111. if ($section['Category'][1] == "-" && $value == 0)
  112. $last10_conv[$key] = "green";
  113. }
  114.  
  115. if ($todayCheck) {
  116. $buttonClass = 'button-'.$align;
  117. }
  118. }
  119. if($section['Category'][0] == "w"){
  120. $multiplier = $section['Category'][1];
  121. $type = "week";
  122. $cat = "(weekly x $multiplier)";
  123. $align = "good";
  124. $title1 = "Streak";
  125. $title2 = "Missed";
  126. $title3 = "Top";
  127. $result1 = habit_get_stat_streak_week($section['Activity'], $multiplier, $moodlog);
  128. $result2 = habit_get_stat_missed_week($section['Activity'], $multiplier, $moodlog);
  129. $result3 = habit_get_stat_top_week($section['Activity'], $multiplier, $moodlog);
  130.  
  131. $todayCheck = habit_check_daily($section['Activity'], $moodlog);
  132. $weekCount = habit_count_weekly($section['Activity'], $moodlog);
  133. $last10 = habit_last_10_weekly($section['Activity'], $moodlog);
  134. foreach ($last10 as $key => $value) {
  135. $last10_conv[$key] = "neut";
  136. if ($value >= $multiplier)
  137. $last10_conv[$key] = "green";
  138. if ($value < $multiplier)
  139. $last10_conv[$key] = "yellow";
  140. if ($value === "x")
  141. $last10_conv[$key] = "neut";
  142. if ($value === 0)
  143. $last10_conv[$key] = "red";
  144. }
  145.  
  146. if ($weekCount < $multiplier) {
  147. $buttText = $weekCount;
  148. $buttonClass = 'button-yellow';
  149. } elseif ($weekCount >= $multiplier) {
  150. $buttonClass = 'button-done';
  151. if($todayCheck){
  152. $buttonClass= 'button-good';
  153. $buttText = "";
  154. }
  155. }
  156. if ($todayCheck) {
  157. $buttonClass = 'button-neut';
  158.  
  159. if ($weekCount >= $multiplier) {
  160. $buttonClass = 'button-good';
  161. }
  162. }
  163. if($weekCount == 0){
  164. $buttonClass = '';
  165. $buttText = "";
  166. }
  167.  
  168. }
  169.  
  170. echo '
  171. <div class="habit-container" id="'.$section['Activity'].'">
  172. <div class="habit-log">
  173. <button class="habit-log-button '.$buttonClass.'" onClick="updateHabit(\''.$section['Activity'].'\')">'.$buttText.'</button>
  174. </div>
  175. <div class="habit-main">
  176. <div class="'.$align.' habit-title">#'.$section['Activity'].' <div class="habit-timescale">'.$cat.'</div></div>
  177. <div class="habit-desc">'.$section['Description'].'</div>
  178. </div>
  179. <div class="habit-info">
  180. <div class="habit-score"><div class="score-title">'.$title1.'</div><div class="score-result result1">'.$result1.'</div></div>
  181. <div class="habit-score"><div class="score-title">'.$title2.'</div><div class="score-result result2">'.$result2.'</div></div>
  182. <div class="habit-score"><div class="score-title">'.$title3.'</div><div class="score-result result3">'.$result3.'</div></div>
  183. </div>
  184. <div class="habit_long_container">
  185. <div class="long_tick lt'.$last10_conv['last_10_1'].'"></div>
  186. <div class="long_tick lt'.$last10_conv['last_10_2'].'"></div>
  187. <div class="long_tick lt'.$last10_conv['last_10_3'].'"></div>
  188. <div class="long_tick lt'.$last10_conv['last_10_4'].'"></div>
  189. <div class="long_tick lt'.$last10_conv['last_10_5'].'"></div>
  190. <div class="long_tick lt'.$last10_conv['last_10_6'].'"></div>
  191. <div class="long_tick lt'.$last10_conv['last_10_7'].'"></div>
  192. <div class="long_tick lt'.$last10_conv['last_10_8'].'"></div>
  193. <div class="long_tick lt'.$last10_conv['last_10_9'].'"></div>
  194. <div class="long_tick lt'.$last10_conv['last_10_10'].'"></div>
  195. </div>
  196.  
  197. </div>
  198. ';
  199.  
  200. }
  201.  
  202. ?>
  203.  
  204.  
  205.  
  206. </div>
  207. </div>
  208.  
  209. </center>
  210. </body>
  211. </html>
Buy Me A Coffee