<?php /* Copyright (c) 2024 Freya Murphy */
class Projects_model extends Model {

	private $markdown;

	function __construct($load) {
		parent::__construct($load);
		$this->markdown = new MarkdownParser();
	}

	private function load_projects(&$data) {
		$projects = array();
		$dir = $GLOBALS['assetroot'] . '/projects';
		if ($handle = opendir($dir)) {
			while (false !== ($entry = readdir($handle))) {
				if (str_starts_with($entry, ".")) {
					continue;
				}
				$path = $dir . '/' . $entry;
				$md = $this->markdown->parse($path);
				$projects[$entry] = $md;
			}
		}
		krsort($projects);
		$data['projects'] = $projects;
	}

	public function get_data(): ?array {
		$data = parent::get_data();
		$this->load_projects($data);
		$data['title'] = lang('title');
		$data['desc'] = lang('short_desc');
		return $data;
	}
}
?>