<?php

namespace AirQuality\Actions;

use \SBRL\TomlConfig;


class Changelog implements IAction {
	/** @var TomlConfig */
	private $settings;
	/** @var \SBRL\PerformanceCounter */
	private $perfcounter;
	
	/** @var \ParsedownExtra */
	private $parsedown_ext;
	
	public function __construct(
		TomlConfig $in_settings,
		\ParsedownExtra $in_parsedown_ext,
		\SBRL\PerformanceCounter $in_perfcounter) {
		$this->settings = $in_settings;
		$this->parsedown_ext = $in_parsedown_ext;
		$this->perfcounter = $in_perfcounter;
	}
	
	public function handle() : bool {
		global $start_time;
		
		
		
		// 1: Parse markdown
		$this->perfcounter->start("parse");
		$result = $this->parsedown_ext->text(file_get_contents(ROOT_DIR."Changelog.md"));
		$this->perfcounter->end("parse");
		
		
		// 2: Send response
		header("content-length: " . strlen($result));
		header("content-type: text/html");
		header("x-time-taken: " . $this->perfcounter->render());
		echo($result);
		return true;
	}
}