/**
  * Salva a imagem
  * @param ImageVO $img
  * @param type $fileInput
  * @param type $last
  * @return boolean
  */
 function salvaImage(ImageVO $img, $fileInput = null, $last = true)
 {
     $files = $this->getArrayFiles($fileInput);
     if ($img->getId()) {
         if (count($files)) {
             if ($source = $this->moveFile($files[0])) {
                 $img->setSource($source);
             }
         }
         return $this->Save($img);
     } else {
         if ($files) {
             $count = 0;
             foreach ($files as $file) {
                 if ($source = $this->moveFile($file)) {
                     $newImg = $img->cloneVo();
                     $newImg->setSource($source);
                     $newImg->setPosition($last ? 9999 : 0);
                     $this->Save($newImg);
                     $count++;
                 }
             }
             $this->reorganizar($img->getRef(), $img->getRefId());
             return $count ? true : false;
         }
     }
     return false;
 }
示例#2
0
文件: Image.php 项目: reytuty/facil
 /**
  * /backend/image/update/id.N/
  * e por post enviar descricao
  * @return void da echo de string
  */
 public function update()
 {
     $ReturnResultVO = new ReturnResultVO();
     $id = DataHandler::forceInt(DataHandler::getValueByArrayIndex($this->arrayVariable, "id"));
     $descricao = DataHandler::forceInt(DataHandler::getValueByArrayIndex($_POST, "descricao"));
     if ($id > 0) {
         $ImageVO = new ImageVO();
         $ReturnResultVO = $ImageVO->setId($id, TRUE);
         if ($ReturnResultVO->success) {
             $ImageVO->setDescription($descricao);
             $ReturnResultVO = $ImageVO->commit();
         }
     }
     echo $ReturnResultVO->toJson();
     exit;
 }
示例#3
0
文件: Image.php 项目: reytuty/facil
 public function insert($echo_json = TRUE)
 {
     //para inserir imagem precisa estar logado como admin
     if (UserClient::getTypeId() == Config::ADMIN_USER_TYPE_ID && UserClient::getActiveTime() && UserClient::getActive()) {
         //se tiver ok, blz, o que me importa é o else
     } else {
         //exit();//sem explicações
     }
     $this->infoPost = new ImageInfoPostVO();
     $this->infoPost->file_data = $_FILES["Filedata"];
     //passando como null o table, ele não linka
     $this->infoPost->table = NULL;
     $retorno = parent::insert();
     if ($retorno->success) {
         //vai pegar a url da imagem
         include_once "library/facil3/core/modules/image/vo/ImageVO.class.php";
         $ImageVO = new ImageVO();
         $ImageVO->setId($retorno->result, TRUE);
         if ($this->infoPost->table_id) {
             //foi enviado para linkar, então pega o id
             $url = $ImageVO->getUrl();
             //pre-conceito na moral de que se uma imagem é enviada, é para produto
             include_once Config::FOLDER_APPLICATION . "modules/product_model/vo/ProductModelQuadroVO.class.php";
             $ProductModelQuadroVO = new ProductModelQuadroVO();
             $retorno_product = $ProductModelQuadroVO->setId($this->infoPost->table_id, TRUE);
             //ve se existe o produto
             if ($retorno_product->success) {
                 //atualiza url
                 $ProductModelQuadroVO->setQuadroImagePath($url);
                 //grava
                 $ProductModelQuadroVO->commit();
             }
         }
     }
     if ($echo_json) {
         echo utf8_encode($retorno->toJson());
         exit;
     } else {
         return $retorno;
     }
 }
示例#4
0
 function delete()
 {
     $image_id = DataHandler::getValueByArrayIndex($_POST, "id");
     $ReturnResultVO = new ReturnResultVO();
     if ($image_id > 0) {
         //vai deletar
         $ImageVO = new ImageVO();
         $ImageVO->setId($image_id, TRUE);
         $ImageVO->delete();
         $LinkDAO = LinkDAO::getInstance();
         if (FALSE) {
             $LinkDAO = new LinkDAO();
         }
         $ReturnDataVO = $LinkDAO->deleteAllFromLinkedTableAndLinkedTableId("image", $image_id);
         $ReturnResultVO->success = $ReturnDataVO->success;
         if ($ReturnResultVO->success) {
             $ReturnResultVO->addMessage(Translation::text("Image deleted successfully."));
         } else {
             $ReturnResultVO->addMessage(Translation::text("Error when deleting image."));
         }
     }
     echo $ReturnResultVO->toJson();
     exit;
 }
示例#5
0
文件: change.php 项目: reytuty/facil
<?php

$id = DataHandler::getValueByArrayIndex($_GET, "id");
$ImageVO = new ImageVO();
$ImageVO->setId($id, TRUE);
include Config::getFolderView('/backend/head.php');
?>
<script type="text/javascript">
jQuery(document).ready(function() {
	jQuery('#wysiwyg').wysiwyg({
		controls: {
			cut: { visible: true },
			copy: { visible: true },
			paste: { visible: true }
		}
	});
});
</script>

<div class="maincontent">
	<form action="<?php 
echo Config::getRootPath('/backend/image_backend/set_description/id.' . $id);
?>
" method="post">
	
        	<div class="form_default">
    			<input type="hidden" value="backend/client/change/id.<?php 
echo $id;
?>
" name="to" />
				 <p>
示例#6
0
 /**
  * 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;
     }
 }