Ejemplo n.º 1
0
 public function LayerUser()
 {
     $user = \Auth::user();
     $guest = \Auth::guest();
     $currentroleuser = $user ? $user->roles : '';
     $userid = $user ? $user->id : 0;
     $layers = Layer::join('role_layer', function ($join) {
         $join->on('Layers.id_layer', '=', 'role_layer.layer_id');
     })->where('na', '=', 'N')->where('role_layer.role_id', '=', $userid)->with('roles')->orderBy('orderlayer', 'DESC');
     /*if($guest){
     			$layers = Layer::leftjoin('role_layer',function($join) {
     	      		$join->on('Layers.id_layer', '=', 'role_layer.layer_id');
     	    	})->where('na','=','N')	
     	    	->with('roles')->orderBy('orderlayer','DESC');
     		}*/
     $sql = $layers->toSql();
     $run_layers = $layers->get();
     $array = array();
     $operationallayer = array();
     foreach ($run_layers as $klyr => $layer) {
         $optionfeature['id'] = $layer->layer;
         $optionfeature['opacity'] = $layer->option_opacity;
         $optionfeature['visible'] = $layer->option_visible;
         $optionfeature['outFields'] = ['*'];
         $optionfeature['mode'] = 1;
         $optiondynamic['id'] = $layer->layer;
         $optiondynamic['opacity'] = $layer->option_opacity;
         $optiondynamic['visible'] = $layer->option_visible;
         $optiondynamic['outFields'] = ['*'];
         $optiondynamic['imageParameters'] = '';
         $options = $layer->tipelayer == 'dynamic' ? $optiondynamic : $optionfeature;
         $operationallayer_['type'] = $layer->tipelayer;
         $operationallayer_['url'] = $layer->layerurl;
         $operationallayer_['title'] = $layer->layername;
         $operationallayer_['options'] = $options;
         $layerIds = ['layerIds' => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]];
         $operationallayer_['identifyLayerInfos'] = $layerIds;
         $operationallayer_['roles'] = $layer->roles;
         array_push($operationallayer, $operationallayer_);
     }
     return json_encode($operationallayer);
     //return ($sql);
 }