示例#1
0
 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>";
    }
}