/** * Store a newly created resource in storage. * * @return Response */ public function store() { $novoPost = new Post(); $novoPost->descricao = Request::input('descricao'); $novoPost->tipo_post = Request::input('tipo_post'); $novoPost->relevancia = 999; // Caso seja uma foto ou status, coloca relevancia maior if ($novoPost->tipo_post == 'foto') { $novoPost->relevancia_rate = 20; } elseif ($novoPost->tipo_post == 'status') { $novoPost->relevancia_rate = 15; } else { $novoPost->relevancia_rate = 10; } // Relevancia adicionada 5 vezes na criação $novoPost->relevancia += $novoPost->relevancia_rate * 5; //Salvando novoPost para entidadeAtiva Auth::user()->entidadeAtiva->posts()->save($novoPost); // Adiciona a foto no post através do id recebido $idFoto = Request::input('fotos'); //ta no plural mas vem só uma por enquanto if (is_numeric($idFoto)) { $Foto = Foto::find($idFoto); $novoPost->fotos()->save($Foto); } return redirect('conectar'); }
public function store(Request $request) { $regras = array('foto' => 'mimes:png'); $mensagens = array('required' => 'O campo :attribute deve ser preenchido.', 'mimes' => 'A imagem deve ser .png'); $this->validate($request, $regras, $mensagens); $foto = Foto::Create(['Foto' => '']); $nomeImage = $foto->id . '.' . $request->file('image')->getClientOriginalExtension(); $request->file('image')->move(base_path() . '/public/images/', $nomeImage); $foto->foto = $nomeImage; $foto->save(); Session::flash('flash_message', 'Foto adicionada com sucesso!'); return redirect()->back(); }
public function postCropandsave($id = 0, CropPhotoRequest $request) { $file = Input::file('file'); if ($file && $file->isValid()) { $entidade = Auth::user()->entidadeAtiva; $destinationPath = public_path() . '/uploads/'; $extension = Input::file('file')->getClientOriginalExtension(); // Pega o formato da imagem $widthCrop = round($request->input('w')); $heightCrop = round($request->input('h')); $xSuperior = round($request->input('x')); $ySuperior = round($request->input('y')); //Se tem owner, caso nao esteja pre criano uma foto para uma entidade $naoTemOwner = $request->input('NoOwner'); // pega o tipo da foto (avatar, capa, etc) $tipo = $request->input('tipo'); if (!$tipo) { $tipo = 'avatar'; } $fileName = $this->formatFileNameWithUserAndTimestamps($file->getClientOriginalName()) . '.' . $extension; $file = \Image::make($file->getRealPath())->crop($widthCrop, $heightCrop, $xSuperior, $ySuperior); $upload_success = $file->save($destinationPath . $fileName); if ($upload_success) { //Se nao tiver owner, entao estou pre settando a foto de //avatar antes de criar a entidade. if ($naoTemOwner) { $foto = Foto::create(['path' => $fileName, 'tipo' => $tipo]); //Se tiver um owner, entao ja salvar a foto para a //entidade ativa } else { $foto = new Foto(['path' => $fileName, 'tipo' => $tipo]); /* Settando tipo da foto atual para null, checando se existe antes */ if ($tipo == 'avatar' && $entidade->avatar) { $avatares = $entidade->fotos()->where('tipo', 'avatar')->get(); foreach ($avatares as $currentAvatar) { $currentAvatar->tipo = null; $currentAvatar->save(); } } $entidade->fotos()->save($foto); } return $foto; } else { return false; } } }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { $foto = Foto::find($id); if (!is_null($foto)) { $image_path = public_path('images/slideshow/' . $foto->file_name); if (file_exists($image_path) && !unlink($image_path)) { return response()->json(['message' => 'Could not complete the requested action'], 500); } $foto->delete(); return response()->json(['message' => 'deleted']); } else { return response()->json(['message' => 'Record not found'], 404); } }
/** * Salva a Ong no BD e redireciona pra home, * criando também a prettyUrl associada com essa Ong * * @return Response */ public function store(CriarOngRequest $request) { $novaOng = Auth::user()->ongs()->create($request->all()); $novaOng->responsavel()->associate(Auth::user()->perfil)->push(); $novaPrettyUrl = new PrettyUrl(); $novaPrettyUrl->tipo = 'ong'; $foto = Request::input('foto'); if ($foto && $foto > 0) { $novaOng->fotos()->save(Foto::find($foto)); } $User = Auth::user(); Mail::send('emails.obrigadoong', ['user' => $User], function ($message) use($User) { $message->to($User->email, $User->username)->subject('Olá, tudo bem?'); $message->from('*****@*****.**', 'Vivalá'); }); //se ja nao existir uma ong com essa prettyUrl $novaPrettyUrl->url = $novaPrettyUrl->giveAvailableUrl($novaOng->nome); $novaOng->prettyUrl()->save($novaPrettyUrl); $novaPrettyUrl->push(); Session::put('entidadeAtiva_id', $novaOng->id); Session::put('entidadeAtiva_tipo', 'ong'); $perfil = $novaOng; $follow = $novaOng->followPerfil; $followedBy = $novaOng->followedByPerfil; $entidadeAtiva = $novaOng; $posts = $novaOng->posts; return view('perfil.index', compact('user', 'perfil', 'follow', 'followedBy', 'posts', 'entidadeAtiva')); }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { Foto::find($id)->delete(); return redirect('fotos'); }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id, EditarVagaRequest $request) { $vaga = Vaga::findOrFail($id); if (!$vaga->podeEditar) { App::abort(403, "Voce não tem permissao para editar essa Vaga"); } $vaga->update($request->all()); $foto = Request::input('foto'); if ($foto && $foto > 0) { $vaga->fotos()->save(Foto::find($foto)); } $voluntarios = $vaga->voluntarios; return view('vaga.show', compact('vaga', 'voluntarios')); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update($id, Request $request) { //Session::flash('flash_message', 'Persona Actualizada satisfactoriamente'); $fotos = Foto::findOrFail($id); $input = $request->all(); $this->validate($input, Foto::$reglas); ///esto no anda $fotos->fill($input)->save(); return redirect('fotos')->with('key', 'You have done successfully'); }
public function store(Request $request) { $usuarioLogado = Auth::user(); $regras = array('nomeEmpreendedor' => 'required|string', 'razaoSocial' => 'string', 'nomeFantasia' => 'required|string', 'slogan' => 'string', 'cpfCnpj' => 'required|string', 'email' => 'required|string', 'descricao' => 'required|string', 'horarioFuncionamento' => 'required|string', 'linkFacebook' => 'string', 'linkSite' => 'string', 'tiposEmpreendimentos' => 'required|not_in:-1', 'categorias' => 'required|not_in:-1', 'tiposCartoes' => 'required|not_in:-1', 'imagemPrincipal' => 'required', 'numeroWhatsapp' => 'required|string'); $mensagens = array('nomeEmpreendedor.required' => 'O campo Nome do Empreendedor deve ser preenchido.', 'nomeFantasia.required' => 'O campo Nome Fantasia deve ser preenchido.', 'cpfCnpj.required' => 'O campo CPF ou CNPJ deve ser preenchido.', 'email.required' => 'O campo Email deve ser preenchido.', 'descricao.required' => 'O campo Descrição deve ser preenchido.', 'horarioFuncionamento.required' => 'O campo Horário de Funcionamento deve ser preenchido.', 'tiposEmpreendimentos.required' => 'O campo Tipo do Empreendimento deve ser selecionado.', 'categorias.required' => 'O campo Categorias deve ser selecionado.', 'tiposCartoes.required' => 'O campo Tipos de cartões aceitos deve ser selecionado.', 'tiposEmpreendimentos.not_in' => 'O campo Tipo do Empreendimento deve ser selecionado.', 'categorias.not_in' => 'O campo Categorias deve ser selecionado.', 'tiposCartoes.not_in' => 'O campo Tipos de cartões aceitos deve ser selecionado.', 'imagemPrincipal.required' => 'É necessário carregar a imagem principal.', 'numeroWhatsapp.required' => 'O campo Número Whatsapp deve ser preenchido.', 'string' => 'O campo :attribute deve ser texto.'); $validator = Validator::make($request->all(), $regras, $mensagens); if ($validator->fails()) { return redirect('Empresa/Cadastrar')->withErrors($validator)->withInput(); } if (Gate::allows('AcessoComerciante')) { //$planoUsuario = $usuarioLogado->Comerciante->AssinaturaComerciante->Assinatura->Plano; //$plano = $planoUsuario->Plano->nome; $plano = "Basico"; if (!empty($plano)) { $empresa = Empresa::create(['nomeEmpreendedor' => $request['nomeEmpreendedor'], 'razaoSocial' => $request['razaoSocial'], 'cpfCnpj' => $request['cpfCnpj'], 'email' => $request['email'], 'nomeFantasia' => $request['nomeFantasia'], 'slogan' => $request['slogan'], 'descricao' => $request['descricao'], 'horarioFuncionamento' => $request['horarioFuncionamento'], 'atendeCasa' => $request['atendeCasa'], 'linkSite' => $request['linkSite'], 'linkFacebook' => $request['linkFacebook'], 'numeroWhatsapp' => $request['numeroWhatsapp'], 'idUsuario' => $usuarioLogado->id, 'idTipoEmpresa' => $request['tiposEmpreendimentos'], 'idVendedor' => $usuarioLogado->Comerciante->id, 'idTipoCartao' => $request['tiposCartoes'], 'dataCadastro' => date('y-m-d')]); $categoria = CategoriaEmpresa::create(['idEmpresa' => $empresa->id, 'idCategoria' => $request['categorias']]); $qtdCartao = DB::table('cartoes')->count(); //TODO: Refatorar isso depois, pode dar errado caso os ids não estejam em ordem na tabela for ($i = 0; $i <= $qtdCartao; $i++) { if (!is_null($request[$i])) { $cartoesAceitos = CartaoAceito::create(['idEmpresa' => $empresa->id, 'idCartao' => $i]); } } //$usuario = User::where('id', '=', $request['usuarios']) // ->first() //->load('Comerciante'); //->load('Comerciante.AssinaturaComerciante') //->load('Comerciante.AssinaturaComerciante.Assinatura') //->load('Comerciante.AssinaturaComerciante.Assinatura.Plano'); if ($plano == 'Básico') { $tags = explode(',', $request['tags']); if (count($tags) <= 5) { //if ($usuario->Comerciante->AssinaturaComerciante->Assinatura->Plano->nome == 'Básico') { if ($plano == 'Básico') { for ($i = 0, $max = 0; $i < count($tags) && $max < 5; $i++) { if (!empty($tags[$i])) { $tag = Tag::create(['nome' => $tags[$i]]); $tagEmpresa = TagEmpresa::create(['idEmpresa' => $empresa->id, 'idTag' => $tag->id]); $max++; } } } } else { $errors = $validator->getMessageBag(); $errors->add('ErroTags', 'Seu plano não permite mais de 5 tags.'); return redirect()->back()->with('errors', $errors); } } else { if ($plano == 'Pro') { $tags = explode(',', $request['tags']); if (count($tags) <= 15) { //if ($usuario->Comerciante->Plano->nome == 'Pro') { if ($plano == 'Pro') { for ($i = 0, $max = 0; $i < count($tags) && $max < 15; $i++) { if (!empty($tags[$i])) { $tag = Tag::create(['nome' => $tags[$i], 'slug' => str_slug($tags[$i])]); $tagEmpresa = TagEmpresa::create(['idEmpresa' => $empresa->id, 'idTag' => $tag->id]); $max++; } } } } else { $errors = $validator->getMessageBag(); $errors->add('ErroTags', 'Seu plano não permite mais de 15 tags.'); return redirect()->back()->with('errors', $errors); } } } } else { } } else { if (Gate::allows('AcessoVendedor')) { $usuarioLogado = $usuarioLogado->load('Vendedor'); $regras = array('usuarios' => 'required|not_in:-1'); $mensagens = array('usuarios.required' => 'O campo Clientes deve ser selecionado.', 'usuarios.not_in' => 'O campo Clientes deve ser selecionado.'); $validator = Validator::make($request->all(), $regras, $mensagens); if ($validator->fails()) { return redirect('Empresa/Create')->withErrors($validator)->withInput(); } DB::beginTransaction(); try { $empresa = Empresa::create(['nomeEmpreendedor' => $request['nomeEmpreendedor'], 'razaoSocial' => $request['razaoSocial'], 'cpfCnpj' => $request['cpfCnpj'], 'email' => $request['email'], 'nomeFantasia' => $request['nomeFantasia'], 'slogan' => $request['slogan'], 'descricao' => $request['descricao'], 'horarioFuncionamento' => $request['horarioFuncionamento'], 'atendeCasa' => $request['atendeCasa'], 'linkSite' => $request['linkSite'], 'linkFacebook' => $request['linkFacebook'], 'numeroWhatsapp' => $request['numeroWhatsapp'], 'idUsuario' => $usuarioLogado->id, 'idTipoEmpresa' => $request['tiposEmpreendimentos'], 'idVendedor' => $usuarioLogado->Vendedor->id, 'idTipoCartao' => $request['tiposCartoes'], 'dataCadastro' => date('y-m-d')]); $categoria = CategoriaEmpresa::create(['idEmpresa' => $empresa->id, 'idCategoria' => $request['categorias']]); $qtdCartao = DB::table('cartoes')->count(); //TODO: Refatorar isso depois, pode dar errado caso os ids não estejam em ordem na tabela for ($i = 0; $i <= $qtdCartao; $i++) { if (!is_null($request[$i])) { $cartoesAceitos = CartaoAceito::create(['idEmpresa' => $empresa->id, 'idCartao' => $i]); } } $tags = explode(',', $request['tags']); $usuario = User::where('id', '=', $request['usuarios'])->first()->load('Comerciante'); //->load('Comerciante.AssinaturaComerciante') //->load('Comerciante.AssinaturaComerciante.Assinatura') //->load('Comerciante.AssinaturaComerciante.Assinatura.Plano'); //TODO: verificar o que está ocorrendo aqui //if ($usuario->Comerciante->AssinaturaComerciante->Assinatura->Plano->nome == 'Básico') { if ($plano == 'Básico') { for ($i = 0, $max = 0; $i < count($tags) && $max < 5; $i++) { if (!empty($tags[$i])) { $tag = Tag::create(['nome' => $tags[$i], 'slug' => str_slug($tags[$i])]); $tagEmpresa = TagEmpresa::create(['idEmpresa' => $empresa->id, 'idTag' => $tag->id]); $max++; } } } else { //if ($usuario->Comerciante->AssinaturaComerciante->Assinatura->Plano->nome == 'Pro') { if ($plano == 'Pro') { for ($i = 0, $max = 0; $i < count($tags) && $max < 15; $i++) { if (!empty($tags[$i])) { $tag = Tag::create(['nome' => $tags[$i], 'slug' => str_slug($tags[$i])]); $tagEmpresa = TagEmpresa::create(['idEmpresa' => $empresa->id, 'idTag' => $tag->id]); $max++; } } } } // $servicoEmpresa = ServicoEmpresa::create([ // 'idEmpresa' => $empresa->id, // 'idServico' =>'', // ]); } catch (Exception $exception) { DB::rollBack(); $errors = $validator->getMessageBag(); $errors->add('ErroException', 'Não foi possivel cadastrar a empresa.'); return redirect('SuaEmpresa/Cadastrar'); } DB::commit(); //imagem principal if ($request->file('imagemPrincipal') != null) { $imagem_principal = $request->file('imagemPrincipal'); if ($imagem_principal->isValid()) { $extensao = $imagem_principal->getClientOriginalExtension(); $destinationPath = 'uploads'; $fileName = "imagem_principal_" . $empresa->id . '.' . $extensao; $imagem_principal->move($destinationPath, $fileName); $foto = Foto::create(['foto' => $fileName]); $fotoEmpresa = FotoEmpresa::create(['idEmpresa' => $empresa->id, 'idFoto' => $foto->id, 'destaque' => true]); } else { Session::flash('error', 'A imagem principal não parece ser válida.'); } } //adicionando imagens da galeria $files = []; if ($request->file('imagem1')) { $files[] = $request->file('imagem1'); } if ($request->file('imagem2')) { $files[] = $request->file('imagem2'); } if ($request->file('imagem3')) { $files[] = $request->file('imagem3'); } if ($request->file('imagem4')) { $files[] = $request->file('imagem4'); } $index = 0; foreach ($files as $file) { if ($file->isValid()) { $extensao = $file->getClientOriginalExtension(); $destinationPath = 'uploads'; $fileName = "imagem_galeria_" . $empresa->id . '_' . $index . '.' . $extensao; $file->move($destinationPath, $fileName); $foto = Foto::create(['foto' => $fileName]); $fotoEmpresa = FotoEmpresa::create(['idEmpresa' => $empresa->id, 'idFoto' => $foto->id, 'destaque' => false]); } else { Session::flash('error', 'Uma das imagens da galeria parece não ser válida.'); } $index = $index + 1; } Session::flash('flash_message', 'Empresa adicionada com sucesso!'); return redirect('SuaEmpresa'); } } }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function postUpdate($id) { $album = Album::findOrFail($id); $album->update(Request::all()); $fotos_array = Request::get('fotos'); if ($fotos_array && count($fotos_array) > 0) { $fotos = Foto::whereIn('id', $fotos_array)->get(); if ($fotos) { foreach ($fotos as $key => $foto) { $album->fotos()->save($foto); } } } return redirect('albums/' . $id); }
public function getHome() { $slides = Foto::all(); return view('static.home')->with('slides', $slides); }