<?php
  include 'inc/includes.inc.php';
  $db = new database();
  
  $repo = 0;
  foreach($_GET as $key => $value) $$key = htmlspecialchars(strip_tags($value));
  $id = $repo;
  unset($repo);
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Repository viewer</title>
  <style type="text/css">
  /* Καθολικές ρυθμίσεις για καθαρή, μινιμαλιστική εμφάνιση */
  :root {
    --bg-color: #f8fafc;       
    --card-bg: #ffffff;       
    --text-color: #1e293b;    
    --text-muted: #64748b;    
    --primary: #0284c7;       
    --primary-hover: #0369a1; 
    --border-color: #e2e8f0;  
  }

  body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    line-height: 1.6;
    padding: 0 20px 20px 20px; 
    margin: 0;
    
    /* Απενεργοποιεί πλήρως το Font Boosting στα κινητά */
    -webkit-text-size-adjust: 100% !important;
    -moz-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  /* Στυλ για την επάνω μπάρα πλοήγησης (απόλυτη πρώτη γραμμή) */
  .top-nav {
    font-size: 0.95rem;
    margin-top: 0;          
    margin-bottom: 25px;    
    padding-top: 12px;      
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-color);
  }

  /* Μοντέρνα Links */
  a:link, a:visited {
    text-decoration: none; 
    color: var(--primary) !important;
    font-weight: 500;
    font-size: 0.95rem;
    transition: color 0.15s ease-in-out;
  }
  a:hover {
    text-decoration: underline; 
    color: var(--primary-hover) !important;
  }

  /* Ελεγχόμενος container */
  .content-wrapper {
    font-size: 0.95rem;
  }

  /* Μοντέρνος Πίνακας .tab */
  .tab {
    width: 100% !important;
    border-collapse: collapse;
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    margin-bottom: 1.5rem;
    font-size: 0.95rem;
  }
  
  .tab th {
    background-color: #f1f5f9;
    color: #334155;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.85rem 1rem;
    text-align: left;
    border-bottom: 2px solid var(--border-color);
    border-right: 1px solid var(--border-color);
  }

  .tab th:last-child {
    border-right: none;
  }
  
  .tab td {
    border-top: 1px solid var(--border-color);
    border-right: 1px solid #f1f5f9;
    padding: 0.75rem 1rem;
    color: var(--text-color);
    transition: background-color 0.15s ease-in-out;
  }

  .tab td:last-child {
    border-right: none;
  }

  .tab tr:first-child td {
    border-top: none;
  }

  .tab tr:hover td {
    background-color: #f8fafc;
  }

  .repo-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 15px;
    display: block;
  }

   /* Μοντέρνο στυλ για το footer κείμενο */
  .footer-text {
    font-size: 0.85rem !important;
    color: var(--text-muted) !important;
    line-height: 1.6 !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    
    /* Κλειδώνει το μέγεθος στα κινητά */
    -webkit-text-size-adjust: 100% !important;
    -moz-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  /* ΚΡΙΣΙΜΟ: Αναγκάζει και όλα τα links μέσα στο footer να έχουν το ίδιο μέγεθος */
  .footer-text, 
  .footer-text * {
    font-size: 0.85rem !important;
  }


  hr {
    border: none;
    border-top: 1px solid var(--border-color);
    margin-top: 30px;
    margin-bottom: 20px;
  }

  /* 📱 ΕΙΔΙΚΕΣ ΡΥΘΜΙΣΕΙΣ ΓΙΑ ΚΙΝΗΤΑ (Οθόνες έως 768px) */
  @media (max-width: 768px) {
    body {
      padding: 0 15px 15px 15px;
    }
    
    .top-nav {
      margin-bottom: 30px;
    }

    /* ΚΡΙΣΙΜΟ ΓΙΑ ΤΑ ΚΙΝΗΤΑ: Εξαναγκάζει ΟΛΑ τα εσωτερικά tags (ακόμα και κρυφά font size tags)
       να υπακούσουν στο μικρό μέγεθος γραμματοσειράς */
    .content-wrapper, 
    .content-wrapper *, 
    .tab, 
    .tab * {
      font-size: 0.85rem !important;
    }

    /* Επιτρέπει οριζόντιο scrollbar στον πίνακα για να μην ξεχειλώνει */
    .tab {
      display: block;
      width: 100% !important;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    .tab td, .tab th {
      padding: 10px 8px;
    }
  }
</style>    
</head>
<body>
<div class="top-nav"><a href='javascript:history.go(-1)'>Back</a> | <a href='index.php'>Slakfinder Home</a></div>

<div class="content-wrapper">
<?php
  if($id){
    $repo = new repository($id);
    if($repo->id){
      echo "<span class='repo-title'>Repository Info:</span>";
      echo tables(array(),1,"class='tab'");
      echo tables(array("ID",$repo->id));
      echo tables(array("URL","<a href='{$repo->url}' target='_blank'>{$repo->url}</a>"));
      echo tables(array("Rank",$repo->rank));
      echo tables(array("File list",(($repo->manifest)?"<a href='{$repo->url}{$repo->manifest}' target='_blank'>{$repo->manifest}</a>":"unsupported")));
      echo tables(array("Packages","<a href='{$repo->url}{$repo->packages}' target='_blank'>{$repo->packages}</a>"));
      echo tables(array("Slackware Version",$repo->version));
      echo tables(array("Arch",$repo->arch));
      echo tables(array("Class",$repo->class));
      echo tables(array("Last update",$repo->mtime));
      echo tables(array("Name",$repo->name));
      echo tables(array("Nr. of packages",$repo->npkgs));
      echo tables(array("Nr. of files",$repo->nfiles));
      echo tables(array("Dependencies",(($repo->deps)?"supported":"unsupported")));
      echo tables(array("Description",$repo->description."<br>"));
      echo tables(array("Brief Descr.",$repo->brief));
      echo tables();
    }else{
      $id=0;
    }
  }

  if(!$id){
      echo tables(array('id','brief','arch','version','description'),1,"class='tab'");
      $repo = new repository();
      $repo->find();
      while($r=$repo->fetch()){
        echo tables(array(
          $repo->id,
          "<a href='showrepo.php?repo={$repo->id}'>{$repo->brief}</a>",
          $repo->arch,
          $repo->version,
          $repo->description."<br>"
        ));
      }
      echo tables();
  }
?>
</div> <!-- Τέλος content-wrapper -->

<?php
  echo "<hr>";
  echo "<div class='footer-text'>";
  echo "The <a href='http://slakfinder.org'>slakfinder</a> is created by <a href='mailto:zerouno@slacky.it'>zerouno@slacky.it</a>.<br>";
  /* echo "AlienBOB <a href='mailto:alien@slackware.com'>alien@slackware.com</a> modified the code to work on PHP 7 or higher.<br>"; */
  echo "This is another modified instance at slackel.sourceforge.io/slakfinder containing repositories for slackware 15.0 and slackware current.<br>";
  echo "Dimitris Tzemos modified the code for php 8 to have modern theme for desktop, laptop and mobile.";
  echo "</div>";
?>
</body>
</html>
