function expand() { if ($this->commandLine) { $pwd = getcwd(); chdir($this->baseDir); exec(escapeshellcmd($this->commandLine . " " . $this->fileName), $out, $ret_error); chdir($pwd); $files = array(); if (!$ret_error) { if ($this->commandLine == "unzip") { $out = $this->parseUnzipOutput($out); } foreach ($out as $key => $fileName) { if (is_file($this->baseDir . $fileName)) { if (function_exists('mime_content_type')) { $type = mime_content_type($fileName); } else { $type = ''; } $fields = array('type' => $type, 'size' => filesize($this->baseDir . $fileName), 'publicationId' => $this->publicationId, 'name' => $fileName, 'tmp_name' => $fileName); $fileClass = FileReference::getSubClass($fileName, $this->baseDir . $fileName); require_once $fileClass . ".php"; $files[] =& new $fileClass($fields); } else { unset($out[$key]); } } } return $files; } }
function validateUpload($fileName, $i) { $objResponse = new xajaxResponse(); if ($error = FileReference::isForbiddenExtension($fileName)) { // Estranho ficar aqui, mas onde colocar? $error .= ' Veja a <a href="tiki-index.php?page=Formatos+de+arquivos+do+Acervo+Livre">lista de formatos suportados</a>'; $objResponse->script("setUploadErrorMsg('{$error}')"); return $objResponse; } $objResponse->script("newUpload({$i});"); return $objResponse; }
<?php // esse arquivo salva o upload require_once "tiki-setup.php"; include_once "el-gallery_set_publication.php"; $formNum = isset($_REQUEST['formNum']) ? $_REQUEST['formNum'] : "0"; $fileName = "arquivo" . $formNum; if ($arquivoId && isset($_FILES[$fileName]) && !empty($_FILES[$fileName]['name'])) { $errorMsg = ''; if (!is_uploaded_file($_FILES[$fileName]['tmp_name'])) { require_once "lib/filegals/filegallib.php"; $errorMsg = tra('Upload was not successful') . ': ' . FileGalLib::convert_error_to_string($_FILES[$fileName]['error']); } elseif ($error = FileReference::isForbiddenExtension($_FILES[$fileName]['name'])) { $errorMsg = $error . ' Veja a <a href="tiki-index.php?page=Formatos+de+arquivos+do+Acervo+Livre">lista de formatos suportados</a>'; } else { echo "<script language=\"javaScript\">parent.finishedUpload({$formNum});</script>"; require_once "FileReference.php"; $fileClass = FileReference::getSubClass($_FILES[$fileName]['name'], $_FILES[$fileName]['tmp_name']); $fields = $_FILES[$fileName]; $fields["publicationId"] = $arquivoId; require_once $fileClass . ".php"; $file = new $fileClass($fields); if ($arquivo->allFile) { unlink($arquivo->allFile); } } if ($errorMsg) { echo "<script language=\"javaScript\">parent.setUploadErrorMsg('{$errorMsg}');</script>"; } }