<?php

include_once(dirname(__FILE__).'/Base.php');

class TypeMacAddress extends TypeString
{
  function __construct(FormManager $FormManager)
  {
    parent::__construct($FormManager);
    $this->DatabaseCompareOperators = array('Jako' => 'LIKE', 'Rovno' => '=', 'Nerovno' => '!=');
  }

  function OnView(array $Item): ?string
  {
    $Output = $Item['Value'];
    return $Output;
  }

  function OnEdit(array $Item): string
  {
    $Output = '<input type="text" name="'.$Item['Name'].'" id="'.$Item['Name'].'" value="'.$Item['Value'].'"/>';
    return $Output;
  }

  function OnLoad(array $Item): ?string
  {    
    return strtoupper($_POST[$Item['Name']]);
  }

  function DatabaseEscape(string $Value): string
  {
    return '"'.addslashes($Value).'"';
  }

  function Validate(array $Item): bool
  {
    if ($Item['Null'] and ($Item['Value'] == '')) return true;
    return preg_match('/^([0-9A-F]{2}[:]){5}([0-9A-F]{2})$/', $Item['Value']);
  }

  function GetValidationFormat(): string
  {
    return 'XX:XX:XX:XX:XX:XX kde X je hexa hodnota 0..F';
  }
}