diff --git a/src/module_urbalyon/web_service/ws/Popup.class.inc b/src/module_urbalyon/web_service/ws/Popup.class.inc new file mode 100644 index 0000000000000000000000000000000000000000..dfcae2fc33e298991f7644da36b2c4a1bcee366e --- /dev/null +++ b/src/module_urbalyon/web_service/ws/Popup.class.inc @@ -0,0 +1,97 @@ +<?php + +require_once __DIR__ . '/Urbalyon.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/ws/vitis/Vitis.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vitis_lib/Connection.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vmlib/BdDataAccess.inc'; + +/** + * \file Popup.class.inc + * \class Popup + * + * \author Armand Bahi <armand.bahi@veremes.com>. + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Popup php class + * + * This class defines the rest api for popup + * + */ +class Popup extends Urbalyon { + /** + * @SWG\Definition( + * definition="/popup", + * allOf={ + * @SWG\Schema(ref="#/definitions/popup") + * } + * ) + * * @SWG\Tag( + * name="Popup", + * description="Popup for map" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $bShortcut false to reinit variables + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties, $bShortcut = false, $oConnection = false) { + parent::__construct($aPath, $aValues, $properties, $bShortcut, $oConnection); + } + + /** + * @SWG\Get(path="/popup/{map_id}", + * tags={"Popup"}, + * summary="Get the popup content", + * description="Request to get popup content", + * operationId="GET", + * produces={"application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="map_id", + * in="path", + * description="map Id", + * required=true, + * type="integer" + * ), + * @SWG\Response( + * response=200, + * description="Popup Response", + * @SWG\Schema(ref="#/definitions/popup") + * ) + * ) + */ + + /** + * Get function to get popup content + * @return the popup content values + */ + function GET() { + $iMapId = $this->aPath[2]; + + if ($iMapId==-2){ + $sContent = file_get_contents('template_popup/'.$iMapId.'.html', true); + $aReturn=array("result"=>1, "title"=>'<p class="text-center mb-0" style="font-weight: bold;font-size: 30px;">Atlas numérique du sport</p>', "message"=>$sContent); + } elseif ($iMapId==28) { + $sContent = file_get_contents('template_popup/'.$iMapId.'.html', true); + $aReturn=array("result"=>1, "title"=>'<p class="text-center mb-0" style="font-weight: bold;font-size: 30px;">Atlas numérique du sport</p>', "message"=>$sContent); + }else{ + $aReturn=array("result"=>0, "message"=>'carte numéro '.$iMapId.' inconnu'); + } + + return json_encode($aReturn); + } + +} + +?> diff --git a/src/module_urbalyon/web_service/ws/Urbalyon.class.inc b/src/module_urbalyon/web_service/ws/Urbalyon.class.inc new file mode 100644 index 0000000000000000000000000000000000000000..09809ab2f92544f4196294f70e0c46e9ac5e312f --- /dev/null +++ b/src/module_urbalyon/web_service/ws/Urbalyon.class.inc @@ -0,0 +1,17 @@ +<?php + +require_once dirname($_SERVER['SCRIPT_FILENAME']) . "/class/vitis_lib/DbClass.class.inc"; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/ws/vitis/Vitis.class.inc'; +require_once 'vmlib/logUtil.inc'; + +class Urbalyon extends Vitis { + + //Chemin du fichier de ressources contenant les requêtes SQL + var $sRessourcesFile = 'ws/urbalyon/Urbalyon.class.sql.inc'; + + function __construct($aPath, $aValues, $properties, $bShortcut = false, $oConnection = false) { + parent::__construct($aPath, $aValues, $properties, $bShortcut, $oConnection); + } + +} +?> \ No newline at end of file diff --git a/src/module_urbalyon/web_service/ws/Urbalyon.class.sql.inc b/src/module_urbalyon/web_service/ws/Urbalyon.class.sql.inc new file mode 100644 index 0000000000000000000000000000000000000000..32e49d777219b99b4bd321549fa7125a6e2cd267 --- /dev/null +++ b/src/module_urbalyon/web_service/ws/Urbalyon.class.sql.inc @@ -0,0 +1,13 @@ +<?php +//Définition des requêtes de l'api Vitis +$aSql['checkIP'] = "SELECT user_id, ip_constraint FROM [sSchemaFramework].user WHERE login ='[sLogin]'"; +$aSql['getGroups'] = "SELECT group_id FROM [sSchemaFramework].user_group WHERE user_id = [user_id]"; +$aSql['loginUnique'] = 'SELECT UPPER("login") FROM [sSchemaFramework]."user" WHERE UPPER("login")=UPPER(\'sLoginUser\')'; +$aSql['getLoginbyId'] = 'SELECT "login" FROM [sSchemaFramework]."user" WHERE user_id=[user_id]'; +$aSql['getTableColumn'] = 'SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema = \'[sSchemaFramework]\' and table_name= \'[sTable]\''; +$aSql['getUserPrivileges'] = 'SELECT groname FROM pg_user s LEFT OUTER JOIN pg_group g on (s.usesysid = any(g.grolist) )inner join [sSchemaFramework].user on "user".login = usename WHERE user_id = [user_id]'; +$aSql['listDomain'] = 'SELECT distinct domain, alias FROM [sSchemaFramework].domain WHERE "type" = \'AD\''; +$aSql['createRolname'] = 'CREATE ROLE "vitis_[sDomain]" NOSUPERUSER INHERIT NOCREATEDB CREATEROLE;'; +$aSql['getInfoRolname'] = 'SELECT * FROM pg_catalog.pg_roles WHERE rolname = \'vitis_[sDomain]\''; + +?> \ No newline at end of file diff --git a/src/module_urbalyon/web_service/ws/template_popup/-2.html b/src/module_urbalyon/web_service/ws/template_popup/-2.html new file mode 100644 index 0000000000000000000000000000000000000000..8f054c8464eb198c5200bdf1e47f6d601d5ce75b --- /dev/null +++ b/src/module_urbalyon/web_service/ws/template_popup/-2.html @@ -0,0 +1,32 @@ +<p class="text-center mb-0" style="font-weight: bold;font-size: 20px;">Observatoire métropolitain du sport</p> +<br> +<p class="text-center mb-0">Cartographies et atlas réalisés avec les données du RES et du Ministère des Sports de février 2019.</p> +<br> +Vous pouvez consulter : +<ul> + <li>l'ensemble des équipement sportifs geolocalisés à l'adresse</li> + <li>des cartographhies dynamiques des taux d'équipement et de licence par commune et par CTM</li> + <li>des fiches détaillées sur las caractéristiques par équipements et des activités sportives pour chaque CTM (PDF)</li> + <li>des fiches synthètiques des équipements et des activités sportives pour chaque CTM</li> +</ul> +<br> +<br> +<p class="text-center mb-0" style="font-style: italic;font-size: 16px;">Cliquer sur le bouton <img height="35" src="images/urbalyon/btn_map_vmap.png"> pour afficher la légende, les cartes, ...</p> +<p class="text-center mb-0" style="font-style: italic;font-size: 16px;">Utiliser l'outil de sélection pour consulter les données et accéder aux fiches ...</p> +<br> +<p class="text-center mb-0" style="font-style: italic;font-size: 19px;color: red;">Cliquer sur "Continuer" pour afficher la carte</p> +<br> +<br> +<div class="row"> + <div class="col-sm-4"> + <img height="80" src="images/urbalyon/urbalyon_logo.png"> + </div> + <div class="col-sm-4"> + <img height="60" src="images/urbalyon/grand_lyon_logo.png"> + </div> + <div class="col-sm-4"> + <img height="70" src="images/urbalyon/ministere_logo.png"> + </div> +</div> +<br> +<p style="font-style: italic;font-size: 10px;">V1 septembre 2019</p> \ No newline at end of file diff --git a/src/module_urbalyon/web_service/ws/template_popup/28.html b/src/module_urbalyon/web_service/ws/template_popup/28.html new file mode 100644 index 0000000000000000000000000000000000000000..8f054c8464eb198c5200bdf1e47f6d601d5ce75b --- /dev/null +++ b/src/module_urbalyon/web_service/ws/template_popup/28.html @@ -0,0 +1,32 @@ +<p class="text-center mb-0" style="font-weight: bold;font-size: 20px;">Observatoire métropolitain du sport</p> +<br> +<p class="text-center mb-0">Cartographies et atlas réalisés avec les données du RES et du Ministère des Sports de février 2019.</p> +<br> +Vous pouvez consulter : +<ul> + <li>l'ensemble des équipement sportifs geolocalisés à l'adresse</li> + <li>des cartographhies dynamiques des taux d'équipement et de licence par commune et par CTM</li> + <li>des fiches détaillées sur las caractéristiques par équipements et des activités sportives pour chaque CTM (PDF)</li> + <li>des fiches synthètiques des équipements et des activités sportives pour chaque CTM</li> +</ul> +<br> +<br> +<p class="text-center mb-0" style="font-style: italic;font-size: 16px;">Cliquer sur le bouton <img height="35" src="images/urbalyon/btn_map_vmap.png"> pour afficher la légende, les cartes, ...</p> +<p class="text-center mb-0" style="font-style: italic;font-size: 16px;">Utiliser l'outil de sélection pour consulter les données et accéder aux fiches ...</p> +<br> +<p class="text-center mb-0" style="font-style: italic;font-size: 19px;color: red;">Cliquer sur "Continuer" pour afficher la carte</p> +<br> +<br> +<div class="row"> + <div class="col-sm-4"> + <img height="80" src="images/urbalyon/urbalyon_logo.png"> + </div> + <div class="col-sm-4"> + <img height="60" src="images/urbalyon/grand_lyon_logo.png"> + </div> + <div class="col-sm-4"> + <img height="70" src="images/urbalyon/ministere_logo.png"> + </div> +</div> +<br> +<p style="font-style: italic;font-size: 10px;">V1 septembre 2019</p> \ No newline at end of file diff --git a/src/module_vmap/module/javascript/app/modules/Urbalyon/urbalyonpopup.js b/src/module_vmap/module/javascript/app/modules/Urbalyon/urbalyonpopup.js index 98f410583d6f352042760d74b3b6b3d96fc0a7b8..c03e7f55b94378d1be28e58dc148d3cdab3cdab6 100644 --- a/src/module_vmap/module/javascript/app/modules/Urbalyon/urbalyonpopup.js +++ b/src/module_vmap/module/javascript/app/modules/Urbalyon/urbalyonpopup.js @@ -1,9 +1,44 @@ + + goog.provide('nsVmap.nsUrbalyon.popup'); +goog.require('oVmap'); + // Doc bootboxjs.com/v4.x/documentation.html nsVmap.nsUrbalyon.popup=function (map_id) { - bootbox.alert('id : '+map_id); + //console.log(oVmap); + + // récupération du contenu sur le serveur + ajaxRequest({ + "method": "GET", + "url": oVmap['properties']['web_server_name'] + "/" + oVmap['properties']['services_alias'] + "/urbalyon/popup/"+ map_id, + 'async': false, + 'responseType': '', + "success": function (response) { + data = JSON.parse(response.data); + //console.log(data); + if(data.result==1){ + var dialog = bootbox.dialog({ + title: data.title, + message: data.message, + size: 'large', + buttons: { + ok: { + label: "Continuer", + className: 'btn-info', + callback: function(){ + console.log('Custom OK clicked'); + } + } + } + }); + }else{ + console.log(data.message); + } + } + }); + } diff --git a/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js b/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js index 248a6c8c508dde1c0ca578301e10aaf7741c7335..ce753f095d9939d8165ffbb0fdce6edd85a14956 100755 --- a/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js +++ b/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js @@ -499,7 +499,8 @@ nsVmap.nsMapManager.LayersTree.prototype.LayertreeController.prototype.loadTree } } - nsVmap.nsUrbalyon.popup(oVmap.getMapManager().oMapCatalog_.usedMap); + // urbalyon get popup at init map + nsVmap.nsUrbalyon.popup(oVmap.getMapManager().oMapCatalog_.maps[oVmap.getMapManager().oMapCatalog_.usedMap].map_id); }; /** diff --git a/src/vitis/client/images/urbalyon/btn_carte.png b/src/vitis/client/images/urbalyon/btn_carte.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0c9205e85d7daab44cced0ea1962744f908e55 Binary files /dev/null and b/src/vitis/client/images/urbalyon/btn_carte.png differ diff --git a/src/vitis/client/images/urbalyon/btn_map_vmap.png b/src/vitis/client/images/urbalyon/btn_map_vmap.png new file mode 100644 index 0000000000000000000000000000000000000000..b0cf73f8118a870adacb1ce2503f14852e546c40 Binary files /dev/null and b/src/vitis/client/images/urbalyon/btn_map_vmap.png differ diff --git a/src/vitis/client/images/urbalyon/grand_lyon_logo.png b/src/vitis/client/images/urbalyon/grand_lyon_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7ecc936312a5c68eef586224b011b81ddc58adae Binary files /dev/null and b/src/vitis/client/images/urbalyon/grand_lyon_logo.png differ diff --git a/src/vitis/client/images/urbalyon/map_vieux_1.png b/src/vitis/client/images/urbalyon/map_vieux_1.png new file mode 100644 index 0000000000000000000000000000000000000000..0829c0065bfcc0d2b1712df16e3332062ce11fc6 Binary files /dev/null and b/src/vitis/client/images/urbalyon/map_vieux_1.png differ diff --git a/src/vitis/client/images/urbalyon/map_vieux_2.png b/src/vitis/client/images/urbalyon/map_vieux_2.png new file mode 100644 index 0000000000000000000000000000000000000000..105fa9c947b76d79d6eabd931bc0a89da2600a21 Binary files /dev/null and b/src/vitis/client/images/urbalyon/map_vieux_2.png differ diff --git a/src/vitis/client/images/urbalyon/map_vieux_3.png b/src/vitis/client/images/urbalyon/map_vieux_3.png new file mode 100644 index 0000000000000000000000000000000000000000..cc5be08d0c16bbb04f0f31d677653fe2f8eb6bc2 Binary files /dev/null and b/src/vitis/client/images/urbalyon/map_vieux_3.png differ diff --git a/src/vitis/client/images/urbalyon/ministere_logo.png b/src/vitis/client/images/urbalyon/ministere_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e6e7f278a8c9eb5be8ce611520908f86aa259bc3 Binary files /dev/null and b/src/vitis/client/images/urbalyon/ministere_logo.png differ diff --git a/src/vitis/client/images/urbalyon/observa_metropo_sport.png b/src/vitis/client/images/urbalyon/observa_metropo_sport.png new file mode 100644 index 0000000000000000000000000000000000000000..52593558f65b8e4675bb396c9136dc04417167d5 Binary files /dev/null and b/src/vitis/client/images/urbalyon/observa_metropo_sport.png differ diff --git a/src/vitis/client/images/urbalyon/urbalyon_logo.png b/src/vitis/client/images/urbalyon/urbalyon_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bb6f1787ae8cbb79e536c4702f0f45b77ab3c5be Binary files /dev/null and b/src/vitis/client/images/urbalyon/urbalyon_logo.png differ