コード例 #1
0
 /**
  * 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');
 }
コード例 #2
0
 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();
 }
コード例 #3
0
 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;
         }
     }
 }
コード例 #4
0
 /**
  * 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);
     }
 }
コード例 #5
0
 /**
  * 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'));
 }
コード例 #6
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     Foto::find($id)->delete();
     return redirect('fotos');
 }
コード例 #7
0
 /**
  * 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'));
 }
コード例 #8
0
 /**
  * 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');
 }
コード例 #9
0
 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');
         }
     }
 }
コード例 #10
0
 /**
  * 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);
 }
コード例 #11
0
 public function getHome()
 {
     $slides = Foto::all();
     return view('static.home')->with('slides', $slides);
 }