<?php
require_once('Parsedown.php');
if(file_exists('config.php')) {
  require_once('config.php');
} else {
  require_once('config.example.php');
}

$func = $_GET['f'];
switch($func) {
case 'build': // Build the worship.html page
  buildStaticPage();
  break;
default:
  showAdminPage();
  break;
}

function buildStaticPage() {
  $pd = new Parsedown();
  $title = !empty($_POST['title'])?$_POST['title']:TITLE;
  $out = outputHTMLHeader($title, true);
  $out .= '<pre>';
  $out .= print_r($_POST, true);
  $out .= '</pre>';
  $out .= '======';
  foreach($_POST['chosen_files'] as $file) {
    if(file_exists($file)) {
      $md = file_get_contents($file);
      $out .= '<div class="afile">';
      $out .= $pd->text($md);
      $out .= "</div>";
    }
  }
  $out .= outputHTMLFooter(true);
  $outfile = !empty($_POST['outfile'])?$_POST['outfile']:DEFAULT_FILE;
  file_put_contents($outfile, $out);
}

function showAdminPage() {
  outputHTMLHeader();
  $out = '<form action="/manager.php?f=build" method="POST">'."\n"
        .'  <div>'."\n"
        .'    <label for="filename">Output File:</label>'."\n"
        .'    <input name="filename" value="worship.html" placeholder="File Name" />'."\n"
        .'  </div>'."\n"
        .'  <div>'."\n"
        .'    <label for="filter">Filter</label>'."\n"
        .'    <input name="filter" value="" placeholder="Filter Files" />'."\n"
        .'    <table>'."\n"
        .'      <thead><th>File</th><th></th></thead>'."\n"
        .'      <tbody>'."\n";
  foreach(glob(MD_DIR.'/*.md') as $file) {
    $out.='      <tr>'."\n"
         .'        <td>'.basename($file, '.md').'</td><td><button onclick="addSong('.$filename.');">Add</button></td>'."\n"
         .'      </tr>'."\n";
  }
  $out.= '      </tbody>'."\n"
        .'    </table>'."\n"
        .'  </div>'."\n"
        .'  <button type="submit">Build</button>'."\n"
        .'</form>'."\n"
        .'<script>'."\n"
        .'</script>'."\n";
  outputHTMLFooter();
}

function outputHTMLHeader($title = TITLE, $ret = false) {
  $out = '<!DOCTYPE html>'."\n"
        .'<html lang="en">'."\n"
        .'  <head>'."\n"
        .'    <title>'.$title.'</title>'."\n"
        .'    <link rel="stylesheet" href="https://unpkg.com/purecss@1.0.0/build/pure-min.css" integrity="sha384-nn4HPE8lTHyVtfCBi5yW9d20FjT8BJwUXyWZT9InLYax14RDjBj46LmSztkmNP9w" crossorigin="anonymous">'."\n"
        .' </head>'."\n"
        .' <body>'."\n";
  if($ret) {
    return $out;
  }
  echo $out;
}

function outputHTMLFooter($ret = false) {
  $out = '  </body>'."\n"
        .'</html>'."\n";
  if($ret) {
    return $out;
  }
  echo $out;
}

?>