Ejemplo n.º 1
0
function AlteraArquivo($id)
{
    $arquivo = new Arquivos();
    $selected = $arquivo->GetArquivoByID($id);
    $albumID = $selected['album'];
    // Procura se já existe algum arquivo no BD,
    // Se existir, usa este prefixo, se não cria um novo
    $prefix = null;
    // Verifica Arquivo 1
    $myFile1 = $selected['arquivo1'];
    if ($myFile1 != null) {
        $prefix = pathinfo($myFile1, PATHINFO_DIRNAME);
    }
    // Verifica Arquivo 2
    $myFile2 = $selected['arquivo2'];
    if ($myFile2 != NULL) {
        $prefix = pathinfo($myFile2, PATHINFO_DIRNAME);
    }
    // Verifica Arquivo 3
    $myFile3 = $selected['arquivo3'];
    if ($myFile3 != NULL) {
        $prefix = pathinfo($myFile3, PATHINFO_DIRNAME);
    }
    // Caso não tenha nenhum, cria um novo
    if ($prefix == NULL) {
        $prefix = GetArquivosPrefix($albumID);
    }
    $nome = null;
    $desc = null;
    $tipo = null;
    $imagem1 = null;
    $imagem2 = null;
    $imagem3 = null;
    if (isset($_POST['ARQ_NOME'])) {
        $nome = $_POST['ARQ_NOME'];
    }
    if (isset($_POST['ARQ_DESC'])) {
        $desc = $_POST['ARQ_DESC'];
    }
    if (isset($_POST['ARQ_TIPO'])) {
        $tipo = $_POST['ARQ_TIPO'];
    }
    if (isset($_FILES['ARQ_FILE_1']) && $_FILES['ARQ_FILE_1']['size'] > 0) {
        $file1 = $_FILES['ARQ_FILE_1'];
        if ($file1["error"] > 0) {
            RedirecionaArquivo($albumID, FALSE);
        }
        if ($myFile1 != NULL) {
            $ret = Arquivos::RemoveFile($myFile1);
            if ($ret == FALSE) {
                RedirecionaArquivo($albumID, FALSE);
            }
        }
        $imagem1 = Arquivos::UpdateArquivo($prefix . "/", $file1);
        $imagem1 = $prefix . "/" . $imagem1;
    }
    if (isset($_FILES['ARQ_FILE_2']) && $_FILES['ARQ_FILE_2']['size'] > 0) {
        $file2 = $_FILES['ARQ_FILE_2'];
        if ($file2["error"] > 0) {
            RedirecionaArquivo($albumID, FALSE);
        }
        if ($myFile2 != NULL) {
            $ret = Arquivos::RemoveFile($myFile2);
            if ($ret == FALSE) {
                RedirecionaArquivo($albumID, FALSE);
            }
        }
        $imagem2 = Arquivos::UpdateArquivo($prefix . "/", $file2);
        $imagem2 = $prefix . "/" . $imagem2;
    }
    if (isset($_FILES['ARQ_FILE_3']) && $_FILES['ARQ_FILE_3']['size'] > 0) {
        $file3 = $_FILES['ARQ_FILE_3'];
        if ($file3["error"] > 0) {
            RedirecionaArquivo($albumID, FALSE);
        }
        if ($myFile3 != NULL) {
            $ret = Arquivos::RemoveFile($myFile3);
            if ($ret == FALSE) {
                RedirecionaArquivo($albumID, FALSE);
            }
        }
        $imagem3 = Arquivos::UpdateArquivo($prefix . "/", $file3);
        $imagem3 = $prefix . "/" . $imagem3;
    }
    $ret = $arquivo->AlteraArquivo($id, $nome, $desc, $tipo, $imagem1, $imagem2, $imagem3);
    RedirecionaArquivo($albumID, $ret);
}