<?php /* Copyright (c) 2024 Freya Murphy */
abstract class Model {
	// the main model
	// shared by all controllers and models
	public $main;
	public $load;

	// the database
	public $db;

	private $config;

	/**
	 * Creates a model
	 * @param Loader $load - the main loader object
	 */
	function __construct($load) {
		$this->load = $load;
		$this->main = $this->load->model('main');
		$this->db = $this->main->db;
		$this->config = new Aesthetic();
	}

	/**
	 * @returns the base model data
	 */
	public function get_data(): array {
		$data = array();
		$data['self'] = $this->main->user();

		$info = $this->main->info;
		$app = $info['app'];

		if ($app) {
			$files = $this->config->get_files($app);
			$data = array_merge($data, $files);
		} else {
			$files = $this->config->get_files();
			$data = array_merge($data, $files);
		}

		return $data;
	}
}