Newer
Older
moodlog_web / habit_ui.php
<?php
/*
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
*/
session_start();
include('config.php');
include('habit.php');
$error = "";

if(isset($_REQUEST['password']) && md5($_REQUEST['password']) == $password){
	$_SESSION['loggedin'] = true;
}

if( $_SERVER['HTTP_USER_AGENT'] == $password)
	$_SESSION['loggedin'] = true;


function getMyUrl(){
  $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
    $host = $_SERVER['HTTP_HOST'];
    $port = $_SERVER['SERVER_PORT'];

    // Exclude standard ports to prevent redundancy in the URL
    if (($protocol === 'http' && $port != 80) || ($protocol === 'https' && $port != 443)) {
        $url = "$protocol://$host";
    } else {
        $url = "$protocol://$host";
    }

    return $url;   
}

?>

<html>
	<head>

		<link rel="stylesheet" href="/deps/all.css" >

		<script type="text/javascript" src="/deps/d3.v3.min.js"></script>
		<script type="text/javascript" src="/deps/cal-heatmap.min.js"></script>
		<link rel="stylesheet" href="/deps/cal-heatmap.css" />

		<link href="/deps/google-fonts.css" rel="stylesheet">
		<link rel="stylesheet" href="/deps/jquery-ui.css">
		<link rel="stylesheet" href="/deps/fa.css">
  		<script src="/deps/jquery-1.12.4.js"></script>
  		<script src="/deps/jquery-ui.js"></script>
		<link rel="stylesheet" href="habit_ui_style.css" >

		<script src="habit_ui_script.js"></script>
	</head>
	<body>
		
		<center>
			<?php if($error <> ""){echo $error; } ?>



			<div class="habit-container-wrapper">


<?php

$fileContent = file_get_contents($habitlog);
if ($fileContent === false) {
    die("Error reading the file.");
}
$resultArray = habit_parse_file($fileContent);

foreach ($resultArray as $section) {
	$align = "";
	$buttonClass = "";
	$buttText = "";
	if($section['Category'][0] == "d"){

		$type = "day";
		$cat = "(daily)";
		if($section['Category'][1] == "+"){
			$align = "good";
			$calCol = "#58e81b";
			$title1 = "Streak";
			$title2 = "Missed";
			$title3 = "Top";
			$result1 = habit_get_stat_streak($section['Activity'], $moodlog);
			$result2 = habit_get_stat_missed($section['Activity'], $moodlog);
			$result3 = habit_get_stat_top($section['Activity'], $moodlog);

		}
		if($section['Category'][1] == "-"){
			$align = "bad";
			$calCol = "#e81b1b";
			$title1 = "Streak";
			$title2 = "Total";
			$title3 = "Top";
			$result1 = habit_get_stat_missed($section['Activity'], $moodlog);
			$result2 = habit_get_stat_year($section['Activity'], $moodlog);
			$result3 = habit_get_stat_top_missing($section['Activity'], $moodlog);
		}
		$todayCheck = habit_check_daily($section['Activity'], $moodlog);
		$last10 = habit_last_10_daily($section['Activity'], $moodlog);
		foreach ($last10 as $key => $value) {
            $last10_conv[$key] = "neut";
            if ($section['Category'][1] == "+" && $value == 1)
                $last10_conv[$key] = "green";
            if ($section['Category'][1] == "+" && $value == 0)
                $last10_conv[$key] = "red";
            if ($section['Category'][1] == "-" && $value == 1)
                $last10_conv[$key] = "red";
            if ($section['Category'][1] == "-" && $value == 0)
                $last10_conv[$key] = "green";
            
        }

		if ($todayCheck) {
		    $buttonClass = 'button-'.$align;
		}
	}
	if($section['Category'][0] == "w"){
		$multiplier = $section['Category'][1];
		$type = "week";
		$cat = "(weekly x $multiplier)";
		$align = "good";
		$title1 = "Streak";
		$title2 = "Missed";
		$title3 = "Top";
		$result1 = habit_get_stat_streak_week($section['Activity'], $multiplier, $moodlog);
		$result2 = habit_get_stat_missed_week($section['Activity'], $multiplier, $moodlog);
		$result3 = habit_get_stat_top_week($section['Activity'], $multiplier, $moodlog);

		$todayCheck = habit_check_daily($section['Activity'], $moodlog);
		$weekCount = habit_count_weekly($section['Activity'], $moodlog);
		$last10 = habit_last_10_weekly($section['Activity'], $moodlog);
		foreach ($last10 as $key => $value) {
            $last10_conv[$key] = "neut";
            if ($value >= $multiplier)
                $last10_conv[$key] = "green";
            if ($value < $multiplier)
                $last10_conv[$key] = "yellow";
            if ($value === "x")
                $last10_conv[$key] = "neut";
            if ($value === 0)
                $last10_conv[$key] = "red"; 
        }

	
        if ($weekCount < $multiplier) {
            $buttText = $weekCount;
            $buttonClass = 'button-yellow';
        } elseif ($weekCount >= $multiplier) {
            $buttonClass = 'button-done';
            if($todayCheck){
                $buttonClass= 'button-good';
                $buttText = "";
            }
        } 
        if ($todayCheck) {
            $buttonClass = 'button-neut';

            if ($weekCount >= $multiplier) {
                $buttonClass = 'button-good';
            }
        }
        if($weekCount == 0){
        	$buttonClass = '';	
        	$buttText = "";
        }

	}
	
	

	echo '
				<div class="habit-container" id="'.$section['Activity'].'">
			    	<div class="habit-log">
			    		 <button class="habit-log-button '.$buttonClass.'" onClick="updateHabit(\''.$section['Activity'].'\')">'.$buttText.'</button>
			    	</div>
			    	<div class="habit-main">
			    		<div class="'.$align.' habit-title">#'.$section['Activity'].' <div class="habit-timescale">'.$cat.'</div></div>
			    		<div class="habit-desc">'.$section['Description'].'</div>
			    	</div>
			    	<div class="habit-info">
				    	<div class="habit-score"><div class="score-title">'.$title1.'</div><div class="score-result result1">'.$result1.'</div></div>
				    	<div class="habit-score"><div class="score-title">'.$title2.'</div><div class="score-result result2">'.$result2.'</div></div>
				    	<div class="habit-score"><div class="score-title">'.$title3.'</div><div class="score-result result3">'.$result3.'</div></div>
					</div>
					<div class="habit_long_container">
			            <div class="long_tick lt'.$last10_conv['last_10_1'].'"></div>
			            <div class="long_tick lt'.$last10_conv['last_10_2'].'"></div>
			            <div class="long_tick lt'.$last10_conv['last_10_3'].'"></div>
			            <div class="long_tick lt'.$last10_conv['last_10_4'].'"></div>
			            <div class="long_tick lt'.$last10_conv['last_10_5'].'"></div>
			            <div class="long_tick lt'.$last10_conv['last_10_6'].'"></div>
			            <div class="long_tick lt'.$last10_conv['last_10_7'].'"></div>
			            <div class="long_tick lt'.$last10_conv['last_10_8'].'"></div>
			            <div class="long_tick lt'.$last10_conv['last_10_9'].'"></div>
			            <div class="long_tick lt'.$last10_conv['last_10_10'].'"></div>
			        </div>

			    </div>
	';
	

}

?>



			    </div>
			</div>

		</center> 
	</body>
</html>