<?php
|
/**
|
* User: Cristiano Magro
|
* Date: 08/07/2019
|
*/
|
|
class FilesFilter
|
{
|
|
private $filtro = array();
|
|
public function toJson()
|
{
|
|
$temp = array ();
|
|
/** @var FilterExt $filtro */
|
foreach ($this->filtro as $filtro){
|
$temp[] = $filtro->getFilterObj();
|
}
|
|
return json_encode($temp);
|
}
|
|
public function addExt($extension = '')
|
{
|
if ($extension != '') {
|
$titolo = $this->decodeTitolo($extension);
|
if ($titolo != null) {
|
if($this->filtro[$titolo] instanceof FilterExt){
|
$this->filtro[$titolo]->addExt($extension);
|
} else {
|
$filtro = new FilterExt($titolo, $extension);
|
$this->filtro[$titolo] = $filtro;
|
}
|
}
|
}
|
return $this;
|
}
|
|
/**
|
* Decodifico il titolo in base all'estensione.
|
* Il confronto viene eseguito in lowercase
|
* @param string $ext
|
* @return string
|
*/
|
public function decodeTitolo($ext)
|
{
|
switch (strtolower($ext)) {
|
case 'gif':
|
$titolo = "Image files";
|
break;
|
case 'doc':
|
case 'txt':
|
$titolo = "Documenti";
|
break;
|
}
|
|
return $titolo;
|
}
|
|
}
|