<?php
use Intervention\Image\ImageManagerStatic as Image;

$valid = true;
$usuariosDao = new \Dao\Usuarios();
$usuariosDao->getUsuarioPorId($conecta, filter_input(INPUT_POST, 'id'));
$usuariosDao->nome = $conecta->real_escape_string(filter_input(INPUT_POST, 'nome'));
$usuariosDao->email = $conecta->real_escape_string(filter_input(INPUT_POST, 'email'));
$usuariosDao->login = $conecta->real_escape_string(filter_input(INPUT_POST, 'usuario'));
$usuariosDao->tipo = $conecta->real_escape_string(filter_input(INPUT_POST, 'tipo'));
if (filter_input(INPUT_POST, 'senha') != '') {
    if (filter_input(INPUT_POST, 'senha') == filter_input(INPUT_POST, 'conf_senha')) {
        $usuariosDao->senha = $conecta->real_escape_string(filter_input(INPUT_POST, 'senha'));
    } else {
        \Dao\Funcoes::displayMessage('Erro', 'Senha informadas não são iguais!', 'meus-dados.php', 'red');
        $valid = false;
    }
}
$usuariosDao->permissoes = '';
$arr = filter_input(INPUT_POST, 'perm', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
if (is_array($arr) && !empty($arr)) {
    foreach ($arr as $key => $p) {
        $usuariosDao->permissoes .= $p;
        if ($key < (count($arr) - 1))
            $usuariosDao->permissoes .= ';';
    }
}
if ($valid) {
    if (!empty($_FILES['foto']['name'])) {
        if ($usuariosDao->image != '' &&file_exists($pasta . $usuariosDao->image))
            unlink($pasta . $usuariosDao->image);
        
        $usuariosDao->image = \Dao\Funcoes::randFileName($_FILES['foto']['name']);
        $image = Image::make($_FILES['foto']['tmp_name'])->resize(800, null, function ($constraint) {
            $constraint->aspectRatio();
        });

        $image->save($pasta . $usuariosDao->image, 85);
    }
    $res = json_decode($usuariosDao->salvar($conecta));
    if ($res->data == 'Success')
        \Dao\Funcoes::displayMessage('Confirmação', $res->message, 'meus-dados.php');
    else
        \Dao\Funcoes::displayMessage('Erro', $res->message, 'meus-dados.php', 'red');
}