Skip to content

Instantly share code, notes, and snippets.

@valdiney
Created December 5, 2015 23:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save valdiney/3275cf70c0af27c63edf to your computer and use it in GitHub Desktop.
Save valdiney/3275cf70c0af27c63edf to your computer and use it in GitHub Desktop.
<?php require_once dirname(__DIR__).'../../start/app_start.php'; Session::start();
$mapas_model = Container::Mapas();
$upload_model = Container::Upload();
$resaze_imagem_model = Container::Image();
# Realiza o Cadastro da Imagem dos Mapas
if (Context::get_context('cadastrar_imagem'))
{
$data['cadastrado_por'] = Session::get_session('id_usuario');
# Seta os Valores da Classe de Upload
$upload_model->setInputFile($_FILES['imagem_mapa']);
$upload_model->sendTo('imgMapas/');
$upload_model->SetMaxFileSize(2);
$upload_model->setExtensions(array('jpg','png'));
if (empty($_FILES['imagem_mapa']['name']))
{
Session::flash('error', 'Escolha um arquivo de imagem antes de tentar realizar o cadastro.');
return Redirect::to_view('mapas.cadastrar_mapa_imagem');
}
if ($upload_model->getErros() == 1)
{
Session::flash('error', 'Erro Critico! Entre em contato com o Administrador do Sistema.');
return Redirect::to_view('mapas.cadastrar_mapa_imagem');
}
if ($upload_model->getErros() == 3)
{
Session::flash('error', 'Essa imagem é muito grande. Escolha uma imagem menor.');
return Redirect::to_view('mapas.cadastrar_mapa_imagem');
}
if ($upload_model->getErros() == 4)
{
Session::flash('error', 'O Sistema não aceita esse tipo de Arquivo. Por favor, somente <b>(JPG e PNG)</b>');
return Redirect::to_view('mapas.cadastrar_mapa_imagem');
}
# Realiza o Upload da Imagem
if ($upload_model->move())
{
# Recupera o caminho completo da Imagem
$data['imagem_mapa'] = $upload_model->getPath();
# Realiza uma cópia da imagem e envia para pasta Thumb
copy($data['imagem_mapa'], 'imgMapas/thumbs/'.$upload_model->getNameOnly());
# Realiza uma modificação no tamanho da imagem width = 300px, height = 200px
$resaze_imagem_model->crop = new Image('imgMapas/thumbs/'.$upload_model->getNameOnly());
$resaze_imagem_model->crop->proportionalImageResize(300,200);
# Salva a foto com as novas medidas
$resaze_imagem_model->crop->save();
}
# Realiza o Cadastro da Imagem
if ($mapas_model->save($data))
{
# Recupera os arquivos do Mapa que acabou de ser cadastrado via ID de quem fez o Cadastro
# O ID desse arquivo será enviado para a página de Cadastro dos outros dados do Mapa
$recupera_mapa_id = $mapas_model->last_id();
$mensagem = 'Imagem do Mapa foi cadastrado com Sucesso';
$mensagem .= ' Continue com a segunda parte do Cadastro';
Session::flash('success', $mensagem);
return Redirect::to_view('mapas.cadastro_informacaos', "id_mapa_cadastrado={$recupera_mapa_id}");
}
}
# Cadastro das Informações do Mapa
if (Context::get_context('cadastrar_informacoes_mapas'))
{
# Form Inicial
$data['nome_mapa'] = Request::in_post('nome_mapa');
$data['descricao_mapa'] = Request::in_post('descricao_mapa');
$data['link_google_maps'] = Request::in_post('link_google_maps');
# Form Informações Gerais
$data['instituicao_ogirem_mapas'] = Request::in_post('instituicao_ogirem_mapas');
$data['notacao_original_mapas'] = Request::in_post('notacao_original_mapas');
$data['titulo_mapas'] = Request::in_post('titulo_mapas');
$data['autor_mapas'] = Request::in_post('autor_mapas');
$data['seculo_mapas'] = Request::in_post('seculo_mapas');
$data['ano_execucao_mapas'] = Request::in_post('ano_execucao_mapas');
$data['local_execucao_mapas'] = Request::in_post('local_execucao_mapas');
$data['idioma_mapas'] = Request::in_post('idioma_mapas');
$data['assunto_mapas'] = Request::in_post('assunto_mapas');
$data['escola_mapas'] = Request::in_post('escola_mapas');
$data['notas_mapas'] = Request::in_post('notas_mapas');
$data['incricoes_mapas'] = Request::in_post('incricoes_mapas');
# Form Dados Geograficos
$data['escala_mapas'] = Request::in_post('escala_mapas');
$data['meridiano_origem_mapas'] = Request::in_post('meridiano_origem_mapas');
$data['rosa_dos_ventos_mapas'] = Request::in_post('rosa_dos_ventos_mapas');
$data['tecnica_representacao_mapas'] = Request::in_post('tecnica_representacao_mapas');
$data['cobertura_geografica_mapas'] = Request::in_post('cobertura_geografica_mapas');
# Form Dados Fisicos
$data['categoria_mapas'] = Request::in_post('categoria_mapas');
$data['impressao_mapas'] = Request::in_post('impressao_mapas');
$data['comprimento_mapas'] = Request::in_post('comprimento_mapas');
$data['largura_mapas'] = Request::in_post('largura_mapas');
$data['cor_mapas'] = Request::in_post('cor_mapas');
# Form Comentários Gerais
$data['comentarios_observacao'] = Request::in_post('comentarios_observacao');
$data['referencia'] = Request::in_post('referencia');
# Dados Adicionais, Identificação de Cadastro
$data['cadastrado_por'] = Session::get_session('id_usuario');
$data['data_cadastro'] = Date::date_now('br');
# Id do Mapa que será Edtado
$id_mapa = Request::in_get('id_mapa');
# Verifica se Trata-se de uma requisição de para segunda parte do Cadastro dos Mapas ou uma Edição
if (Context::get_context('editar_somente_informacoes_mapas'))
{
$data['editado_por'] = $data['cadastrado_por'];
$data['data_edicao'] = Date::date_now('br');
# Realiza a Edição dos Mapas
if ($mapas_model->update($data, $id_mapa))
{
Session::flash('success', 'Mapa Editado com Sucesso.');
return Redirect::to_view('mapas.editar_somente_informacoes_mapas', "cadastro_completo=true|id_mapa={$id_mapa}");
}
}
# Realiza uma Edição (Segunda parte do Cadastro dos Mapas)
if ($mapas_model->update($data, $id_mapa))
{
Session::flash('success', 'Mapa Cadastrado com Sucesso.');
return Redirect::to_view('admin_home.mapas_cadastrados');
}
}
# Verifica qual informação vinculada ao Mapa o Usuário deseja Editar
if (Context::get_context('opcao_edicao_mapa'))
{
$id_mapa = Request::in_get('id_mapa');
$opcao = Request::in_post('opcao');
if (Filter::is_empty($opcao))
{
Session::flash('error', 'Escolha uma das opções antes de Confirmar.');
return Redirect::to_view('mapas.editar_mapas', "id_mapa={$id_mapa}");
}
# Verifica qual Opção de Edição foi escolhida pelo Usuário
if ($opcao == 'opcao_editar_imagem')
{
return Redirect::to_view('mapas.editar_somente_imagem_mapa', "id_mapa={$id_mapa}");
}
if ($opcao == 'opcao_editar_informacoes')
{
return Redirect::to_view('mapas.editar_somente_informacoes_mapas', "id_mapa={$id_mapa}");
}
}
# Realiza a Edição da Imagem do Mapa
if (Context::get_context('editar_imagem'))
{
$data['imagem_mapa'] = $_FILES['imagem_mapa'];
$id_mapa = Request::in_get('id_mapa');
if (empty($data['imagem_mapa']['name']))
{
Session::flash('error', 'Escolha um arquivo de imagem antes de tentar realizar o cadastro.');
return Redirect::to_view('mapas.editar_somente_imagem_mapa', "id_mapa={$id_mapa}");
}
# Busca os dados do Mapa
$data_mapas = $mapas_model->find($id_mapa);
# Retorna o caminho, nome e extensão das iimagens de Thumbnails
$thumbnail = $mapas_model->extrai_nome_thumbnail($data_mapas['imagem_mapa']);
# Verifica se essa Imagem do Mapa existe na pasta
if (file_exists($data_mapas['imagem_mapa']))
{
# Deleta a Imagem Atual do Mapa
unlink($data_mapas['imagem_mapa']);
# Deleta a Imagem de Thumbnail
if (file_exists($thumbnail)) {
unlink($thumbnail);
}
# Seta os Valores da Classe de Upload
$upload_model->setInputFile($_FILES['imagem_mapa']);
$upload_model->sendTo('imgMapas/');
$upload_model->SetMaxFileSize(10);
$upload_model->setExtensions(array('jpg','png'));
if ($upload_model->getErros() == 1)
{
Session::flash('error', 'Erro Critico! Entre em contato com o Administrador do Sistema.');
return Redirect::to_view('mapas.editar_somente_imagem_mapa');
}
if ($upload_model->getErros() == 3)
{
Session::flash('error', 'Essa imagem é muito grande. Escolha uma imagem menor.');
return Redirect::to_view('mapas.editar_somente_imagem_mapa');
}
if ($upload_model->getErros() == 4)
{
Session::flash('error', 'O Sistema não aceita esse tipo de Arquivo. Por favor, somente <b>(JPG e PNG)</b>');
return Redirect::to_view('mapas.editar_somente_imagem_mapa');
}
# Realiza o Upload da Imagem
if ($upload_model->move())
{
# Recupera o caminho completo da Imagem
$data['imagem_mapa'] = $upload_model->getPath();
# Realiza uma cópia da imagem e envia para pasta Thumb
copy($data['imagem_mapa'], 'imgMapas/thumbs/'.$upload_model->getNameOnly());
# Realiza uma modificação no tamanho da imagem width = 300px, height = 200px
$resaze_imagem_model->crop = new Image('imgMapas/thumbs/'.$upload_model->getNameOnly());
$resaze_imagem_model->crop->proportionalImageResize(300,200);
# Salva a foto com as novas medidas
$resaze_imagem_model->crop->save();
}
}
else
{
# Continua com a mesma Imagem do Mapa que já tinha
$data['imagem_mapa'] = $data_mapas['imagem_mapa'];
}
if ($mapas_model->update($data, $id_mapa))
{
Session::flash('success', 'Imagem do Mapa Editada com Sucesso.');
return Redirect::to_view('mapas.editar_somente_imagem_mapa', "id_mapa={$id_mapa}");
}
}
# Realiza a Edição da Imagem do Mapa
if (Context::get_context('deletar_mapa'))
{
$id_mapa = Request::in_get('id_mapa');
# Busca os dados do Mapa
$data_mapas = $mapas_model->find($id_mapa);
# Retorna o caminho, nome extensão das iimagens de Thumbnails
$thumbnail = $mapas_model->extrai_nome_thumbnail($data_mapas['imagem_mapa']);
# Verifica se essa Imagem do Mapa existe na pasta
if (file_exists($data_mapas['imagem_mapa']))
{
# Deleta a Imagem na Pasta
unlink($data_mapas['imagem_mapa']);
# Deleta a Imagem de Thumbnail
if (file_exists($thumbnail)) {
unlink($thumbnail);
}
}
# Realiza a Deleção dos Arquivos do Mapa
if ($mapas_model->delete($id_mapa))
{
Session::flash('success', 'Mapa Deletado com Sucesso.');
return Redirect::to_view('admin_home.mapas_cadastrados');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment