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/>"; } } }
public function remove($idConteudo, $idUsuario = '', $deleteFilhos = true) { if (!$idUsuario) { $idUsuario = Zend_Auth::getInstance()->getStorage()->read()->getId(); } $this->setIdConteudo($idConteudo)->setIdUsuario($idUsuario)->delete(null); if ($deleteFilhos) { $_conteudo = new Cms_DataView_Conteudo_MapperView(); $_where = new ZendT_Db_Where(); $_where->addFilter("cms_conteudo.id_conteudo_pai", $this->getIdConteudo(true)->get()); $_conteudo->findAll($_where, '*'); while ($_conteudo->fetch()) { $this->remove($_conteudo->getId()); } } }
public function isValidLastTime($hours = 0, $minutes = 0, $seconds = 0) { $_conteudo = new Cms_DataView_Conteudo_MapperView(); $_conteudo->setIdCategoria($this->getIdCategoria())->setIdConteudoPai($this->getIdConteudoPai())->setIdUsuarioInc($this->getIdUsuarioInc())->findAll(null, '*', 'dh_ini_pub desc'); if (!$_conteudo->exists()) { return true; } $_conteudo->fetch(); $hours *= 60 * 60; $minutes *= 60; $total = $hours + $minutes + $seconds; $now = ZendT_Type_Date::nowDateTime()->toPhp(); $last = $_conteudo->getDhIniPub()->toPhp(); $last += $total; if ($now > $last) { return true; } return false; }