<?php

extract($_POST);

class Feriados {

  public function getFeriados($param) {
    if ($param['ano'] === null) {
      $ano = intval(date('Y'));
    } else {
      $ano = $param['ano'];
    }
    $pascoa = easter_date($ano);
    $dia_pascoa = date('j', $pascoa);
    $mes_pascoa = date('n', $pascoa);
    $ano_pascoa = date('Y', $pascoa);

    $feriados = array();
    // Datas Fixas dos feriados Nacional Brasileiro
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, 1, 1, $ano)), 'desc' => 'ANO NOVO');
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, 4, 21, $ano)), 'desc' => 'TIRADENTES');
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, 5, 1, $ano)), 'desc' => 'DIA DO TRABALHADOR');
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, 9, 7, $ano)), 'desc' => 'DIA DA INDEPENDÊNCIA');
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, 10, 12, $ano)), 'desc' => 'N. S. APARECIDA');
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, 11, 2, $ano)), 'desc' => 'FINADOS');
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, 11, 15, $ano)), 'desc' => 'PROCLAMAÇÃO DA REPÚBLICA');
//    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, 11, 30, $ano)), 'desc' => 'DIA DO EVANGÉLIO');
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, 12, 25, $ano)), 'desc' => 'NATAL');
    // Feriados moveis
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, $mes_pascoa, $dia_pascoa - 48, $ano_pascoa)), 'desc' => '2ª FEIRA CARNAVAL'); //2º feira Carnaval
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, $mes_pascoa, $dia_pascoa - 47, $ano_pascoa)), 'desc' => '3º FEIRA CARNAVAL'); //3º feira Carnaval
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, $mes_pascoa, $dia_pascoa - 2, $ano_pascoa)), 'desc' => '6º FEIRA SANTA'); //6º feira Santa
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, $mes_pascoa, $dia_pascoa, $ano_pascoa)), 'desc' => 'PASCOA'); //Pascoa
    $feriados[] = array('data' => date("d/m/Y", mktime(0, 0, 0, $mes_pascoa, $dia_pascoa + 60, $ano_pascoa)), 'desc' => 'CORPUS CRIST'); //Corpus Crist

    $array_lowercase = array_map('strtolower', $feriados);
    array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $feriados);
    echo json_encode($feriados);
  }

}

$class = new $class();
$class->$call(@$param);
