Beispiel #1
0
 public function loadFilesFromPathAction()
 {
     $this->_disableRender();
     $path = "C:\\tmp_arquivos";
     $idCategoriaDownloads = "24";
     $onlyUpdate = $this->getRequest()->getParam('only_update');
     $db = $this->getModel()->getAdapter();
     $_categoria = new Cms_Model_Categoria_Mapper();
     $_conteudo = new Cms_DataView_Conteudo_MapperView();
     $sql = 'SELECT * FROM upload_arquivo WHERE aprovado = :aprovado';
     $bind = array('aprovado' => 'S');
     $dataArquivos = $db->fetchAll($sql, $bind);
     foreach ($dataArquivos as $fileData) {
         $fileDir = glob($path . "\\" . $fileData['id'] . ".*");
         if (count($fileDir)) {
             $fileDir = $fileDir['0'];
             $fileContent = file_get_contents($fileDir);
             $fileName = end(explode("\\", $fileDir));
             $_file = new ZendT_File($fileName, $fileContent);
             if ($onlyUpdate) {
                 $_conteudo->newRow()->setArquivo(array('file' => $_file->toFilenameCrypt()))->findAll(null, '*');
                 while ($_conteudo->fetch()) {
                     $_conteudo->setIdUsuarioInc($fileData['id_usuario_inc']);
                     $_conteudo->update();
                 }
                 echo ">>> Arquivo {$fileData['id']} atualizado com sucesso!<br/>";
             } else {
                 $sql = 'SELECT * FROM upload_assunto WHERE id = :id_upload_assunto';
                 $bind = array('id_upload_assunto' => $fileData['id_upload_assunto']);
                 $dataAssunto = $db->fetchRow($sql, $bind);
                 $_categoria->newRow()->setDescricao($dataAssunto['descricao'])->retrieve();
                 $idCategoria = $_categoria->getId();
                 if (!$idCategoria) {
                     $_categoria->newRow()->setIdCategoriaPai($idCategoriaDownloads)->setDescricao($dataAssunto['descricao'])->setTipo('A')->insert();
                     $idCategoria = $_categoria->getId()->toPhp();
                 }
                 $subtitulo = substr(trim($fileData['observacao']), 0, 100);
                 $_conteudo->newRow()->setIdCategoria($idCategoria)->setTitulo($fileData['nome']);
                 if (!$_conteudo->exists()) {
                     $_conteudo->setSubTitulo($subtitulo)->setIdUsuarioInc($fileData['id_usuario_inc'])->setArquivo(array('file' => $_file->toFilenameCrypt()))->insert();
                     echo "+++ Arquivo {$fileData['id']} inserido com sucesso!<br/>";
                 } else {
                     echo ">>> Arquivo {$fileData['id']} já existe na base de dados!<br/>";
                 }
             }
         } else {
             echo "--- Arquivo {$fileData['name']} não encontrado!<br/>";
         }
     }
 }