<?php

class Themes
{
  private $themes = [];

  public function __construct()
  {
    $_themes = glob("../content/themes/*", GLOB_ONLYDIR);
    foreach ($_themes as $theme) {
      array_push(
        $this->themes,
        json_decode(file_get_contents($theme . "/theme.json"), true)
      );
    }
  }

  public function getThemes()
  {
    return $this->themes;
  }

  public function getCustomIndex()
  {
    $settings = (new Settings())->getSettings();
    $currentTheme = $settings["global"]["theme"];
    $folder = "../content/themes/" . $currentTheme;
    $files = array_filter(glob("$folder/*twig"), "is_file");
    $views = [];

    foreach ($files as $file) {
      $path = explode("/", $file);
      $fileName = $path[4];
      if (str_contains($fileName, "index")) {
        $page = explode(".", $fileName);
        $views[] = $page[0];
      }
    }
    return $views;
  }

  public function getCustomViews()
  {
    $settings = (new Settings())->getSettings();
    $currentTheme = $settings["global"]["theme"];
    $folder = "../content/themes/" . $currentTheme;
    $files = array_filter(glob("$folder/*twig"), "is_file");
    $views = [];

    foreach ($files as $file) {
      $path = explode("/", $file);
      $fileName = $path[4];
      if (str_contains($fileName, "page")) {
        $page = explode(".", $fileName);
        $views[] = $page[0];
      }
    }
    return $views;
  }
}