public function insert() { //inicia um retorno de ReturnResultVO $ReturnResultVO = new ReturnResultVO(); //pega os dados baseado na infoPost $VO = new FileVO(); if ($this->infoPost->file_info_id) { $VO->setId($this->infoPost->file_info_id, TRUE); } $VO->setActive($this->infoPost->file_info_active); $VO->setName($this->infoPost->file_info_name); $VO->setDescription($this->infoPost->file_info_description); $VO->setType($this->infoPost->file_info_type); $VO->setAuthor($this->infoPost->file_info_author); $VO->setLocale($this->infoPost->file_info_locale); $VO->setOrder($this->infoPost->file_info_order); //("JÁ") gera id para criar pasta onde vai ser guardado o arquivo $ReturnResultFileVO = $VO->commit(); if ($ReturnResultFileVO->success) { $ReturnResultFileVO->result = $VO->getId(); } else { //erro, os motivos estão na ReturnResultVO abaixo return $ReturnResultFileVO; } //pega o id da file $FILE_ID = $VO->getId(); $ReturnResultFileVO = new ReturnResultVO(); if (isset($this->infoPost->file_data) && !$this->infoPost->file_info_id > 0) { set_time_limit(0); $sentFileData = $this->infoPost->file_data; //$_FILES['Filedata']; $name = $sentFileData['name']; // extens�o enviada $sentExtension = DataHandler::returnExtensionOfFile($name); // remove caracteres escrotos $name = DataHandler::returnFilenameWithoutExtension($name); $name = DataHandler::removeAccent($name); $name = DataHandler::removeSpecialCharacters($name); $name = trim(substr($name, 0, 80)); switch ($sentFileData["type"]) { case "text/plain": $extension = "txt"; break; default: $extension = strtolower($sentExtension); break; } //verifica se a pasta existe, se não existir, inventa DataHandler::createFolderIfNotExist($this->defaultFolderForNewFiles); // pasta de upload de files está no config.php $tempFolder = DataHandler::removeDobleBars($this->defaultFolderForNewFiles . "/" . $FILE_ID); DataHandler::createFolderIfNotExist($tempFolder); $tempUrl = $tempFolder . "/" . strtolower($name . "." . $extension); $i = 2; while (file_exists($tempUrl)) { $tempUrl = $tempFolder . "/" . strtolower($name . "-" . $i . "." . $extension); $i++; } $VO->setUrl($tempUrl); $ReturnResultFileVO = $VO->commit(); //Debug::li("aaa"); if ($ReturnResultFileVO->success) { //incluir o vinculo com a linked_table e linked_table_id //receber table // table_id if ($this->infoPost->table) { $table = $this->infoPost->table; $table_id = $this->infoPost->table_id; include_once "library/facil3/core/dao/LinkDAO.class.php"; $LinkDAO = new LinkDAO(); //vincula a foto ao table e table_id enviado $ReturnResultVinculoVO = $LinkDAO->insert($table, $table_id, $this->moduleName, $VO->getId(), 1); if (!$ReturnResultVinculoVO->success) { //deu erro ao vincular $ReturnResultVO->success = false; $ReturnResultVO->appendMessage($ReturnResultVinculoVO->array_messages); return $ReturnResultVO; } } else { $ReturnResultVO->addMessage(Translation::text("LibraryLanguage::WARNING_FILE_NO_LINKED_TABLE")); } //movendo o arquivo para sua respectiva pasta. $localFile = $VO->getUrl(); if (!move_uploaded_file($sentFileData['tmp_name'], $localFile)) { $ReturnResultVO->success = false; $ReturnResultVO->addMessage(Translation::text("Arquivo não encontrado")); return $ReturnResultVO; } else { $ReturnResultVO->success = TRUE; $ReturnResultVO->result = $VO->getId(); $ReturnResultVO->addMessage(Translation::text("Arquivo gravado")); } } else { return $ReturnResultFileVO; } return $ReturnResultVO; } else { $ReturnResultFileVO = new ReturnResultVO(); $ReturnResultFileVO->addMessage("Envie o Filedata"); // nao veio filedata return $ReturnResultFileVO; } }
/** * recebe a imagem por post * @return ReturnResultVO */ public function insert() { //inicia um retorno de ReturnResultVO $ReturnResultVO = new ReturnResultVO(); //pega os dados baseado na infoPost $VO = new ImageVO(); //var_dump($this->infoPost); //exit(); if ($this->infoPost->image_info_id > 0) { //passou o id, vai atualizar essa VO // echo Debug::li("image_info_id >>>>>>>>>> ".$this->infoPost->image_info_id); $VO->setId($this->infoPost->image_info_id, TRUE); } $VO->setActive($this->infoPost->image_info_active); $VO->setName($this->infoPost->image_info_name); $VO->setDescription($this->infoPost->image_info_description); $VO->setType($this->infoPost->image_info_type); $VO->setAuthor($this->infoPost->image_info_author); $VO->setLocale($this->infoPost->image_info_locale); $VO->setOrder($this->infoPost->image_info_order); // var_dump($_FILES); // var_dump($this->infoPost->file_data); //comitando as infos enviadas, dados apenas if ($VO->getId() > 0 || $this->infoPost->file_data['tmp_name']) { //só comita a imagem se tiver ou id ou enviado o file_data, se não nem tem o que fazer $ReturnResultImageVO = $VO->commit(); } else { //nem enviou o id e nem o file_data, retorna $ReturnResultVO->addMessage(Translation::text("Have nothing to commit.")); return $ReturnResultVO; } if ($ReturnResultImageVO->success) { $ReturnResultImageVO->result = $VO->getId(); } else { //erro, os motivos estão na ReturnResultVO abaixo return $ReturnResultImageVO; } //pega o id da imagem $IMAGE_ID = $VO->getId(); $ReturnResultImageVO = new ReturnResultVO(); //echo Debug::li("this->infoPost->file_data: ".$this->infoPost->file_data); if (isset($this->infoPost->file_data) && $this->infoPost->file_data['tmp_name']) { set_time_limit(0); //var_dump($_FILES); $sentFileData = $this->infoPost->file_data; //$_FILES['Filedata']; $name = $sentFileData['name']; // extens�o enviada $sentExtension = DataHandler::returnExtensionOfFile($name); // remove caracteres escrotos $name = DataHandler::returnFilenameWithoutExtension($name); $name = DataHandler::removeAccent($name); $name = DataHandler::removeSpecialCharacters($name); $name = trim(substr($name, 0, 80)); switch ($sentFileData["type"]) { case "image/pjpeg": case "image/jpeg": case "image/jpg": $extension = "jpg"; break; case "image/gif": $extension = "gif"; break; case "image/png": case "image/x-png": $extension = "png"; break; case "image/bmp": $extension = "bmp"; break; default: $extension = strtolower($sentExtension); break; } //verifica se a pasta existe, se não existir, inventa DataHandler::createFolderIfNotExist($this->defaultFolderForNewImages); // pasta de upload de imagens est� no config.php $tempFolder = DataHandler::removeDobleBars($this->defaultFolderForNewImages . "/" . $IMAGE_ID); DataHandler::createFolderIfNotExist($tempFolder); //echo Debug::li("name: $name"); $tempUrl = $tempFolder . "/original_" . strtolower($name . "." . $extension); //echo Debug::li("tempUrl: $tempUrl"); //exit(); $i = 2; while (file_exists($tempUrl)) { $tempUrl = $tempFolder . "/original_" . strtolower($name . "-" . $i . "." . $extension); $i++; } $VO->setUrl($tempUrl); $ReturnResultImageVO = $VO->commit(); //Debug::li("aaa"); //Debug::print_r($ReturnResultImageVO); if ($ReturnResultImageVO->success) { //incluir o vinculo com a linked_table e linked_table_id //receber table // table_id if ($this->infoPost->table) { $table = $this->infoPost->table; $table_id = $this->infoPost->table_id; include_once "library/facil3/core/dao/LinkDAO.class.php"; $LinkDAO = new LinkDAO(); //vincula a foto ao table e table_id enviado $ReturnResultVinculoVO = $LinkDAO->insert($table, $table_id, $this->moduleName, $VO->getId(), 1); if (!$ReturnResultVinculoVO->success) { //deu erro ao vincular $ReturnResultVO->success = false; $ReturnResultVO->appendMessage($ReturnResultVinculoVO->array_messages); return $ReturnResultVO; } } else { $ReturnResultVO->addMessage("WARNING IMAGE NO LINKED TABLE"); } //movendo a foto original para sua respectiva pasta. $originalImage = $VO->getUrl(); if (!move_uploaded_file($sentFileData['tmp_name'], $originalImage)) { $ReturnResultVO->success = false; $ReturnResultVO->addMessage(LibraryLanguage::ERROR_IMAGE_MOVE_FILE_FAIL); return $ReturnResultVO; } else { $ReturnResultVO->success = TRUE; $ReturnResultVO->result = $VO->getId(); $ReturnResultVO->addMessage("Foto enviada com sucesso."); } } else { return $ReturnResultImageVO; } return $ReturnResultVO; } else { if ($VO->getId() > 0) { //se tem id, ele manda atualizar a parada $ReturnResultImageVO = $VO->commit(); return $ReturnResultImageVO; } $ReturnResultImageVO = new ReturnResultVO(); $ReturnResultImageVO->addMessage(Translation::text("Send file data.")); // nao veio filedata return $ReturnResultImageVO; } }
public function insertHighlights() { //inicia um retorno de ReturnResultVO $ReturnResultVO = new ReturnResultVO(); //pega os dados baseado na HighlightsInfoPostVO $VO = new HighLightsVO(); //popula no objeto $VO->setId($this->HighlightsInfoPostVO->id); $VO->setActive($this->HighlightsInfoPostVO->active); $VO->setName($this->HighlightsInfoPostVO->name); $VO->setLink($this->HighlightsInfoPostVO->link, $locale); $VO->setContent($this->HighlightsInfoPostVO->content, $locale); $VO->setImageUrl($this->HighlightsInfoPostVO->image_url, $locale); $VO->setDate($this->HighlightsInfoPostVO->date); $VO->setDateIn($this->HighlightsInfoPostVO->date_in); $VO->setDateOut($this->HighlightsInfoPostVO->date_out); $VO->setOrder($this->HighlightsInfoPostVO->order); //("Ja") gera id para criar pasta onde vai ser guardado o arquivo $ReturnResultHighLightsVO = $VO->commit(); if ($ReturnResultHighLightsVO->success) { $ReturnResultHighLightsVO->result = $VO->getId(); } else { //erro, os motivos estão na ReturnResultVO abaixo return $ReturnResultHighLightsVO; } if ($ReturnResultHighLightsVO->success) { //incluir o vinculo com a linked_table e linked_table_id //receber table // table_id if ($this->HighlightsInfoPostVO->request_table != NULL && $this->HighlightsInfoPostVO->request_table_id > 0) { $table = $this->HighlightsInfoPostVO->request_table; $table_id = $this->HighlightsInfoPostVO->request_table_id; include_once "library/facil3/core/dao/LinkDAO.class.php"; $LinkDAO = new LinkDAO(); //vincula a foto ao table e table_id enviado $ReturnResultVinculoVO = $LinkDAO->insert($table, $table_id, $this->moduleName, $VO->getId(), 1); if (!$ReturnResultVinculoVO->success) { //deu erro ao vincular $ReturnResultVO->success = false; $ReturnResultVO->appendMessage($ReturnResultVinculoVO->array_messages); return $ReturnResultVO; } } else { return $ReturnResultVO->addMessage(Translation::text("LibraryLanguage::WARNING_HIGHLIGHTS_NO_LINKED_TABLE")); } } else { return $ReturnResultHighLightsVO; } }
/** * cadastra e atualiza, conforme VO populada, retorna obj ReturnResultVO * @param (boolean) $valida * @return obj ReturnResultVO; */ function commit($validate = FALSE) { //tenta validar if ($validate) { //se for pra validar ele ja valida antes de tentar cadastrar $ReturnResultVO = $this->validate(); if (!$ReturnResultVO->success) { return $ReturnResultVO; } } $ReturnResultVO = new ReturnResultVO(); $ReturnResultVO->success = TRUE; $this->startDAO(); //se ja tiver id ele tenta update. if ($this->id > 0) { //Debug::pre($this->reference); $ReturnDataVO = $this->DAO->updateVO($this); if ($ReturnDataVO->success) { $ReturnDataVO->code_return = DbInterface::SUCCESS; } $this->resultHandler($ReturnDataVO->getCode(), $ReturnResultVO->array_messages); } else { //nao tem id, vai cadastrar como novo //se precisar de validacao, o usuario da VO deve chamar o metodo: $VO->valida() $ReturnDataVO = $this->DAO->insertVO($this); if ($ReturnDataVO->success) { $this->setId($ReturnDataVO->result); $ReturnResultVO->result = $ReturnDataVO->result; $this->resultHandler($ReturnDataVO->getCode(), $ReturnResultVO->array_messages); } else { $this->resultHandler($ReturnDataVO->getCode(), $ReturnResultVO->array_messages); } } //end if id $ReturnResultVO->success = $ReturnDataVO->success; //Debug::pre($ReturnResultVO); if ($ReturnResultVO->success) { //cadastra terms, se houver $ReturnResultVO_term = $this->insertTherm(); //Debug::pre($ReturnResultVO_term); //Debug::print_r($ReturnResultVO_term); $ReturnResultVO->success = $ReturnResultVO_term->success; if (!$ReturnResultVO->success) { $ReturnResultVO->appendMessage($ReturnResultVO_term->array_messages); } //cadastra parametros, se houver $ReturnResultVO_paramether = $this->insertParamether(); $ReturnResultVO->success = $ReturnResultVO_paramether->success; if (!$ReturnResultVO->success) { $ReturnResultVO->appendMessage($ReturnResultVO_paramether->array_messages); } //cadastra link, se houver $ReturnResultVO_link = $this->insertLink(); $ReturnResultVO->success = $ReturnResultVO_link->success; if (!$ReturnResultVO->success) { $ReturnResultVO->appendMessage($ReturnResultVO_link->array_messages); } //cadastra parameters, se houver } // Debug::li("_______"); // Debug::pre($ReturnResultVO); //exit(); return $ReturnResultVO; }