コード例 #1
0
ファイル: CampController.php プロジェクト: vi1004t/pfg
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(CrearCampRequest $request)
 {
     $camp = new Camp($request->all());
     if (!($request->punts == "")) {
         //dd($request->poligon);
         $centre = GoogleMapsController::calcularCentrePoligon($request->punts);
         $arraycoords = GoogleMapsController::stringToArray($request->punts);
         //es forma el string per a insertar en mysql el linestring. Entre punt i
         //punt s'inserta una ',' excepte l'ultim punt (no es guarda si acaba en ',')
         $string = 'GeomFromText(\'LINESTRING(';
         for ($i = 0; $i < count($arraycoords); $i++) {
             $string = $string . $arraycoords[$i] . ' ';
             $i++;
             if (!($i < count($arraycoords) - 1)) {
                 $string = $string . $arraycoords[$i];
             } else {
                 $string = $string . $arraycoords[$i] . ',';
             }
         }
         $string = $string . ')\')';
         $camp->poligon = DB::raw($string);
         $camp->centre = DB::raw('PointFromText(\'POINT(' . $centre[0] . ' ' . $centre[1] . ')\')');
     }
     $camp->user_profile_id = UserProfile::perfilId(Auth::user()->id);
     $camp->save();
     return redirect('home/camp/' . $camp->id);
 }
コード例 #2
0
ファイル: IsCultiu.php プロジェクト: vi1004t/pfg
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (UserProfile::perfilId($this->auth->user()->id) === Cultiu::perfilId(app()->router->getCurrentRoute()->getParameter('cultiu'))) {
         return $next($request);
     } else {
         if ($request->ajax()) {
             return response('Unauthorized.', 401);
         } else {
             return new RedirectResponse(url('/home'));
         }
     }
 }
コード例 #3
0
ファイル: HomeController.php プロジェクト: vi1004t/pfg
 public function actualitzarEvents()
 {
     $camps = Camp::idCampsUsuari(UserProfile::perfilId(Auth::user()->id));
     if (!is_null($camps)) {
         foreach ($camps as $item) {
             $resultatcultius[] = Cultiu::idCultiusCamp($item['id']);
         }
         foreach ($resultatcultius as $cultiuscamp) {
             if (isset($cultiuscamp)) {
                 if (!is_null($cultiuscamp)) {
                     foreach ($cultiuscamp as $item) {
                         if (isset($item)) {
                             if (!is_null($item)) {
                                 $cultius[] = $item;
                             }
                         }
                     }
                 }
             }
         }
     }
     //dd($cultius);
     if (!is_null($cultius)) {
         $events = Event::eventsUsuari($cultius);
     }
     //dd($events);
     foreach ($events as $event) {
         //dd($event['cultiu_id']);
         //$event->cultiu_id =
         //obtindre el registre del cultiu_id actual
         $key1 = array_search($event['id'], array_column($events, 'id'));
         //array multidimensional
         //obtindre el registre dins de $cultius on està el cultiu_id actual
         $key2 = array_search($event['cultiu_id'], array_column($cultius, 'id'));
         //array multidimensional
         //obtindre el registre dins de "camps del camp_id actual
         //$key3 = $cultius[$key2]['camp_id'];
         //dd($cultius[$key2]['camp_id']);
         $key3 = array_search($cultius[$key2]['camp_id'], array_column($camps, 'id'));
         //array multidimensional
         //dd($key3);
         //modificar a $events el id del cultiu pel nom del cultiu
         $events[$key1]['cultiu_nom'] = $cultius[$key2]['nom'];
         $events[$key1]['bancal_nom'] = $camps[$key3]['nom'];
         $events[$key1]['bancal_id'] = $camps[$key3]['id'];
         //$key = array_search($event['cultiu_id'], $cultius); //array unidimensional
         //dd($events[$key1]);
     }
     //dd($events);
     return view('homeevents')->with('dades', $events);
 }
コード例 #4
0
ファイル: IsUser.php プロジェクト: vi1004t/pfg
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     //	dd("hola");
     //	dd(app()->router->getCurrentRoute()->getParameter('perfil'));
     //dd($this->auth->user()->id);
     //dd(UserProfile::perfilId($this->auth->user()->id));
     if (UserProfile::perfilId($this->auth->user()->id) === app()->router->getCurrentRoute()->getParameter('id')) {
         return $next($request);
     } else {
         if ($request->ajax()) {
             return response('Unauthorized.', 401);
         } else {
             dd("NO");
             //return redirect()->guest('/');
             return new RedirectResponse(url('/home'));
         }
     }
 }
コード例 #5
0
ファイル: CultiuController0.php プロジェクト: vi1004t/pfg
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function create()
 {
     $cultiu = new Cultiu();
     $array = ['user' => UserProfile::perfilId(\Auth::user()->id), 'camp' => \Input::get('id')];
     return view('crear.cultiu', ['user' => UserProfile::perfilId(\Auth::user()->id), 'camp' => \Input::get('id'), 'cultiu' => $cultiu]);
 }
コード例 #6
0
ファイル: GoogleMapsController.php プロジェクト: vi1004t/pfg
 static function dibuixarMapa($id, $tipus)
 {
     $llistat = "";
     $centre = "";
     $coordenades = null;
     $items = null;
     switch ($tipus) {
         case 0:
             //usuari
             $info['poble'] = UserProfile::poblacio($id);
             $llistat = HomeController::llistarCamps($id);
             $items = Camp::campsUsuari($id);
             $ubicacio_centre = 'no_valor';
             break;
         case 1:
             //camp
             $info = Camp::infoCamp($id);
             $ubicacio = Camp::coordenades($id);
             $llistat = CampController::llistarCultius($id);
             if (!is_null($ubicacio['ubicacio'])) {
                 $coordenades[] = ['punts' => GoogleMapsController::formarPoligon($ubicacio['ubicacio']), 'color' => '#FF0000', 'info' => GoogleMapsController::crearInfowindow($id, UserProfile::perfilId(Auth::user()->id))];
                 $ubicacio_centre['y'] = $ubicacio['centrey'];
                 $ubicacio_centre['x'] = $ubicacio['centrex'];
                 $items = Camp::campsVeins($id);
             } else {
                 $ubicacio_centre = 'no_valor';
             }
             break;
         default:
             return false;
             break;
     }
     foreach ($items as $item) {
         if (!is_null($temp = Camp::coordenades($item->id))) {
             $coordenades[] = ['punts' => GoogleMapsController::formarPoligon($temp['ubicacio']), 'color' => GoogleMapsController::getColor($item->id, UserProfile::perfilId(Auth::user()->id)), 'info' => GoogleMapsController::crearInfowindow($item->id, UserProfile::perfilId(Auth::user()->id))];
         }
     }
     $dades = ['ubicacio' => $info['poble'], 'ubicacio_centre' => $ubicacio_centre, 'info' => $info, 'id' => $id, 'cultius' => $llistat, 'coordenades' => $coordenades];
     return $dades;
 }