<?php
namespace Empire\Core;
use Empire\Legacy\cgt;
use Doctrine\DBAL\FetchMode;
class Document extends AbstractEntity implements Named {
const TABLE = "DOCUMENT_LIBRARY";
const PRIMARY_FIELD = "DOLI_ID";
private $DOLI_ID, $DOLI_REF, $DOLI_NAME, $DOLI_RELEASE, $CLEA_ORDER, $DOLI_STATUS, $DOLI_LINK, $BRAN_ID;
public $name, $type, $date, $clearance;
function initialize() {
$this->id = $this->DOLI_ID;
$this->ref = $this->DOLI_REF;
$this->name = $this->DOLI_NAME;
$this->type = "Library Document";
$this->date = cgt::evaluateString($this->DOLI_RELEASE);
$this->clearance = Clearance::loadByOrder($this->CLEA_ORDER);
$this->status = $this->DOLI_STATUS;
$this->branch = Branch::load([$this->BRAN_ID]);
$this->link = $this->DOLI_LINK;
if($this->branch->id == cint_BRANCH_THRONE) $this->branch->name = "Empire";
}
function getPrimaryField() {
return self::PRIMARY_FIELD;
}
function getTable() {
return self::TABLE;
}
public function getName() {
return $this->name;
}
public function printDocStatus() {
if($this->status == '1'){
return "<span style='color:#0EE71A'>IN FORCE</span>";
} else {
return "<span style='color:#7e0202'>TERMINATED</span>";
}
}
/**
* @return self[]
* @throws \Exception
*/
public static function loadAll() {
$stmt = Core::db()->executeQuery("SELECT * FROM DOCUMENT_LIBRARY WHERE DOLI_STATUS = 1 ORDER BY BRAN_ID DESC, DOLI_RELEASE DESC");
$stmt->setFetchMode(FetchMode::CUSTOM_OBJECT, self::class, [true]);
return $stmt->fetchAll();
}
public static function loadByRef($ref) {
$stmt = Core::db()->executeQuery("SELECT * FROM DOCUMENT_LIBRARY WHERE DOLI_REF = ?", [$ref]);
$stmt->setFetchMode(FetchMode::CUSTOM_OBJECT, self::class, [true]);
return $stmt->fetch();
}
}