public function portifolio() { require_once '../App/Model/portifolio.class.php'; $portifolio = new Portifolio(); $id = $this->getURL(); if (isset($_GET['action'])) { switch ($_GET['action']) { // verifica se a acao que esta sendo passada na URL eh de insert (action=insert) case 'insert': // verifica se a imagem e o texto estao sendo inseridos // OBS: Eles sao obrigatorios, estao setados no form required if (!empty($_POST['text']) and !empty($_FILES['photo']['name'])) { $text = $_POST['text']; $photo_size = $_FILES['photo']['size']; $photo_type = $_FILES['photo']['type']; $photo_tmp_name = $_FILES['photo']['tmp_name']; // tira o image/ de $photo_edit_type deixando somente o jpg, jpeg, etc $photo_type = substr($photo_type, 6); // verifica o tipo do arquivo if (strstr('.jpg;.jpeg;.gif;.png', $photo_type)) { // gera um nome único para a imagem $photo_name = md5(uniqid(time())) . "." . $photo_type; if (file_exists('assets/img/portifolio/')) { // caminho de onde ficará a imagem $photo_path = "assets/img/portifolio/" . $photo_name; } else { echo '<h2>A imagem nao pode ser salva no diretorio assets/img/portifolio/ devido erro</h2>'; } // faz o upload da imagem para seu respectivo caminho move_uploaded_file($photo_tmp_name, $photo_path); // instancia o obj passando parametros a serem inseridos $portifolio = new Portifolio($text, $photo_name, $photo_size, $photo_type); // Insere os dados no banco $insertPortifolio = $portifolio->insertPortifolio(); // unset($portifolio); // exibe a mensagem: O conteudo foi inserido com sucesso if (!empty($insertPortifolio)) { echo $insertPortifolio; } } else { echo '<h2>Tipo de arquivo incorreto</h2>'; } } break; // verifica se a acao que esta sendo passada na URL eh de edit (action=edit) // verifica se a acao que esta sendo passada na URL eh de edit (action=edit) case 'edit': // faz um select para obter os dados do conteudo a ser editado no form $selectOnePortifolio_edit = $portifolio->selectOnePortifolio($id); // verifica se a operacao que esta sendo passada na URL e ok (operation=ok) if (isset($_GET['operation']) && $_GET['operation'] == 'ok') { // verifica se a imagem e o texto estao sendo inseridos // OBS: Eles sao obrigatorios, estao setados no form required // OBS: Isso significa que nao necessariamente quando a operacao acima for ok // o conteudo vai ser editado if (!empty($_POST['text_edit']) and !empty($_FILES['photo_edit']['name'])) { // verifica se o diretorio das imagens esta correto if (file_exists('assets/img/portifolio/')) { // deletar o file (jpg, jpeg) de assets/img/portifolio/ unlink('assets/img/portifolio/' . $selectOnePortifolio_edit[0]->content_portifolios_name); } else { echo '<h2>A imagem nao foi deletada do diretorio assets/img/portifolio/</h2>'; } $text_edit = $_POST['text_edit']; $photo_edit_size = $_FILES['photo_edit']['size']; $photo_edit_type = $_FILES['photo_edit']['type']; $photo_edit_tmp_name = $_FILES['photo_edit']['tmp_name']; // tira o image/ de $photo_edit_type deixando somente o jpg, jpeg, etc $photo_edit_type = substr($photo_edit_type, 6); // verifica o tipo do arquivo if (strstr('.jpg;.jpeg;.gif;.png', $photo_edit_type)) { // gera um nome único para a imagem $photo_edit_name = md5(uniqid(time())) . "." . $photo_edit_type; // caminho de onde ficará a imagem $photo_edit_path = "assets/img/portifolio/" . $photo_edit_name; // faz o upload da imagem para seu respectivo caminho move_uploaded_file($photo_edit_tmp_name, $photo_edit_path); // Instancia o obj passando parametros a serem editados $portifolio = new Portifolio($text_edit, $photo_edit_name, $photo_edit_size, $photo_edit_type); // edita os dados no db $updateOnePortifolio = $portifolio->updateOnePortifolio($id); // unset($portifolio); // exibe a mensagem: O conteudo foi atualizado com sucesso if (!empty($updateOnePortifolio)) { echo $updateOnePortifolio; } } else { echo '<h2>Tipo de arquivo incorreto</h2>'; } } } break; // verifica se a acao que esta sendo passada na URL e de delete (action=delete) // verifica se a acao que esta sendo passada na URL e de delete (action=delete) case 'delete': // faz um select para obter os dados do conteudo a ser deletado $selectOnePortifolio_delete = $portifolio->selectOnePortifolio($id); // deleta o conteudo do db $deleteOnePortifolio = $portifolio->deleteOnePortifolio($id); if (!empty($selectOnePortifolio_delete[0]->content_portifolios_name) && !empty($deleteOnePortifolio)) { // verifica se o diretorio das imagens esta correto if (file_exists('assets/img/portifolio/')) { // deletar o file (jpg, jpeg) de assets/img/portifolio/ unlink('assets/img/portifolio/' . $selectOnePortifolio_delete[0]->content_portifolios_name); } else { echo '<h2>A imagem nao foi deletada do diretorio assets/img/portifolio/</h2>'; } // exibe a mensagem: O conteudo foi deletado com sucesso echo $deleteOnePortifolio; } break; } } else { echo '<h2>Acao diferente de insert, edit e delete</h2>'; } // Instancia o obj para exibir todos $selectPortifolio = $portifolio->selectPortifolio(); require_once '../App/View/Adm_content/portifolio.php'; // $this->render('portifolio.php', $selectPortifolio) }