diff --git a/src/vitis/.gitignore b/src/vitis/.gitignore index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fb23a1f31378cce575900e083e4179591effa425 100644 --- a/src/vitis/.gitignore +++ b/src/vitis/.gitignore @@ -0,0 +1,6 @@ +vas/rest/class/* +vas/rest/class/!*/ +vas/rest/class/!*.* +vas/sql/* +vas/sql/!*/ +vas/sql/!*.* diff --git a/src/vitis/_install/client/fileToDelete.txt b/src/vitis/_install/client/fileToDelete.txt new file mode 100644 index 0000000000000000000000000000000000000000..ca3a9114882b45d4b55b25a40380235fc553ceb9 --- /dev/null +++ b/src/vitis/_install/client/fileToDelete.txt @@ -0,0 +1,4 @@ +javascript/externs/formreader/formreader.js +javascript/externs/formreader/formreaderCtrl.js +javascript/externs/formreader/formreaderDrtv.js +javascript/externs/formreader/formreaderSrvc.js \ No newline at end of file diff --git a/src/vitis/_install/client/folderToDelete.txt b/src/vitis/_install/client/folderToDelete.txt new file mode 100644 index 0000000000000000000000000000000000000000..a0e7984dc0bc0ee6987ebffa481549c126c7ef9b --- /dev/null +++ b/src/vitis/_install/client/folderToDelete.txt @@ -0,0 +1,8 @@ +javascript/app +javascript/require +javascript/test +javascript/externs/openLayers/ol +javascript/externs/openLayers/ol.ext +javascript/externs/studio/properties +javascript/externs/studio/javascript +modules/vitis/javascript \ No newline at end of file diff --git a/src/vitis/_install/client/listModuleApache.txt b/src/vitis/_install/client/listModuleApache.txt new file mode 100644 index 0000000000000000000000000000000000000000..2c0309e320b509b2ba74dc5f3ddd6a211245e922 --- /dev/null +++ b/src/vitis/_install/client/listModuleApache.txt @@ -0,0 +1,5 @@ +alias +deflate +headers +rewrite +ssl \ No newline at end of file diff --git a/src/vitis/_install/vas/apache.conf b/src/vitis/_install/vas/apache.conf new file mode 100644 index 0000000000000000000000000000000000000000..2281b2e2673c513df20924e94a224bfa45673fad --- /dev/null +++ b/src/vitis/_install/vas/apache.conf @@ -0,0 +1,70 @@ +PassEnv TEMP +Alias /rest[ENV] "[VASDIRECTORY]/rest" + <Directory "[VASDIRECTORY]/rest"> + <FilesMatch ".+\.ph(p[345]?|t|tml)$"> + SetHandler application/x-httpd-php_vitis[ENV] + </FilesMatch> + AllowOverride FileInfo + Options FollowSymLinks + Require all granted + <Files ~ "\.(map|log|inc|php)$"> + Order allow,deny + Deny from all + </Files> + </Directory> + +Alias /doc[ENV] "[VASDIRECTORY]/doc" + <Directory "[VASDIRECTORY]/doc"> + <FilesMatch ".+\.ph(p[345]?|t|tml)$"> + SetHandler application/x-httpd-php_vitis[ENV] + </FilesMatch> + AllowOverride FileInfo + Options FollowSymLinks + Require all granted + </Directory> + +Alias /public[ENV] "[VASDIRECTORY]/public" + <Directory "[VASDIRECTORY]/public"> + AllowOverride FileInfo + Options FollowSymLinks + Require all granted + <Files ~ "\.(map|inc|php)$"> + Order allow,deny + Deny from all + </Files> + SetHandler application/x-download + </Directory> +Alias /ws_data[ENV] "[VASDIRECTORY]/ws_data" + <Directory "[VASDIRECTORY]/ws_data"> + AllowOverride All + Options FollowSymLinks + Require all granted + <Files ~ "\.(map|log|inc|php)$"> + Order allow,deny + Deny from all + </Files> + SetHandler application/x-download + </Directory> +Alias /proxy[ENV] "[VASDIRECTORY]/util/proxy" + <Directory "[VASDIRECTORY]/util/proxy"> + <FilesMatch ".+\.ph(p[345]?|t|tml)$"> + SetHandler application/x-httpd-php_vitis[ENV] + </FilesMatch> + AllowOverride FileInfo + Options FollowSymLinks + Require all granted + <Files ~ "\.(map|log|inc)$"> + Order allow,deny + Deny from all + </Files> + </Directory> +Alias /printserver[ENV] "[VASDIRECTORY]/util/printserver" + <Directory "[VASDIRECTORY]/util/printserver"> + AllowOverride FileInfo + Options FollowSymLinks + Require all granted + <Files ~ "\.(map|log|inc|php)$"> + Order allow,deny + Deny from all + </Files> + </Directory> \ No newline at end of file diff --git a/src/vitis/_install/vas/listModuleApache.txt b/src/vitis/_install/vas/listModuleApache.txt new file mode 100644 index 0000000000000000000000000000000000000000..c2626d946f4a9bbaad4d7ca16423af23007c0ca3 --- /dev/null +++ b/src/vitis/_install/vas/listModuleApache.txt @@ -0,0 +1,16 @@ +actions +alias +cgi +deflate +headers +ldap +rewrite +ssl +proxy +proxy_ajp +proxy_connect +proxy_fcgi +proxy_ftp +proxy_http +proxy_scgi +proxy_wstunnel \ No newline at end of file diff --git a/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js b/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js index 283bbc430a4b12761af760ab9563956ee0ac3e1e..48e7a37a22b78e1f1154bcaec9471d51e4a1c3a5 100644 --- a/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js +++ b/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js @@ -176,6 +176,8 @@ formReader.formReaderDirective = function ($q, formReaderService, propertiesSrvc } }); }); + } else { + console.error('Error: form not valid'); } }; @@ -711,6 +713,9 @@ formReader.appFormFieldSpecificParamsDrtv = function ($timeout, $translate, prop $(element)["datetimepicker"](oOptions); // Si sélection d'une date : mise à jour du modèle (NE PAS SUPPRIMER!). + $(element).on("dp.hide", function (e) { + scope["oFormValues"][scope["sFormDefinitionName"]][element[0].name] = element[0].value; + }); $(element).on("dp.change", function (e) { scope["oFormValues"][scope["sFormDefinitionName"]][element[0].name] = element[0].value; }); @@ -2151,8 +2156,8 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, // Récupère lélément en sélectionné formReaderService['getWebServiceData'](oFormWebService).then(function (aResult) { - var oSubformDefinition = aResult[0]['bo_json_form']; + var sSubformJSDefinition = aResult[0]['bo_json_form_js']; var oSubformValues = {}; var sModalId = 'formreader_' + scope['sFormUniqueName'] + '_grid_subform_modal'; @@ -2219,7 +2224,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, } }); - formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues); + formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues, sSubformJSDefinition); }); }; @@ -2247,6 +2252,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, }; var sModalId = 'formreader_' + scope['sFormUniqueName'] + '_grid_subform_modal'; var oSubformDefinition = oBusinessObject['json_form'][0]; + var sSubformJSDefinition = oBusinessObject['json_form_js']; var sSubformDefinitionName = 'insert'; // Grise le champ contenant la valeur du parent @@ -2288,7 +2294,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, }); }); }; - formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues); + formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues, sSubformJSDefinition); }; /** diff --git a/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js b/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js index 6ca6ef291e6a45bdf3b6298b998729bd7abddef5..613652f9c35ccf385e3b72c1c26432d8e0e8a09f 100644 --- a/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js +++ b/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js @@ -1230,15 +1230,15 @@ formReader.formReaderService = function ($translate, $rootScope, $q, $log, $time * @param {object} oSubformDefinition * @param {object} oSubformDefinitionName * @param {object} oSubformValues + * @param {string|null} sSubformJSDefinition */ - "showModalSubform": function (sModalId, oSubformScope, oSubformDefinition, oSubformDefinitionName, oSubformValues) { + "showModalSubform": function (sModalId, oSubformScope, oSubformDefinition, oSubformDefinitionName, oSubformValues, sSubformJSDefinition) { $log.log("showModalSubform"); var sToken = this['sToken']; var oProperties = this['oProperties']; - if (goog.isDefAndNotNull(oSubformScope['loadSubForm'])) { - + var loadForm = function(){ oSubformScope['loadSubForm']({ 'sFormDefinitionName': oSubformDefinitionName, 'oFormDefinition': oSubformDefinition, @@ -1246,6 +1246,30 @@ formReader.formReaderService = function ($translate, $rootScope, $q, $log, $time 'oProperties': oProperties, 'sToken': sToken }); + } + + if (goog.isDefAndNotNull(oSubformScope['loadSubForm'])) { + + if (goog.isDefAndNotNull(sSubformJSDefinition)) { + var sUrl = sSubformJSDefinition; + oVmap.log("initHtmlForm : javascript assoc. to : " + sUrl); + loadExternalJs([sUrl], { + "callback": function () { + loadForm(); + try { + if (goog.isDef(constructor_form)) { + constructor_form(oSubformScope, sUrl); + } + } catch (e) { + oVmap.log("constructor_form does not exist"); + } + }, + "async": true, + "scriptInBody": true + }); + } else { + loadForm(); + } $('#' + sModalId).modal('show'); } diff --git a/src/vitis/vas/doc/index.phtml b/src/vitis/vas/doc/index.phtml index 086cb768856aca4ecc21b4767186d05547388f71..d4fedf02fc3fd79b18c6da0ffab7f8110a02c8e3 100755 --- a/src/vitis/vas/doc/index.phtml +++ b/src/vitis/vas/doc/index.phtml @@ -1,6 +1,9 @@ <?php session_start(); -require_once '../rest/conf/properties.inc'; + +$_SERVER['VAS_PATH'] = pathinfo(dirname($_SERVER['SCRIPT_FILENAME']))['dirname']; + +require_once $_SERVER['VAS_PATH'] . '/rest/conf/properties.inc'; function returnOverview($sFolder, $parent) { $aModules = array(); @@ -17,10 +20,12 @@ function returnOverview($sFolder, $parent) { } } } + return $aModules; } -$aOverview = returnOverview(__DIR__ . "/../rest/ws", ""); +$aOverview = returnOverview($_SERVER['VAS_PATH'] . "/rest/ws", ""); +error_log('$aOverview: '. print_r($aOverview, true)); ?> <!DOCTYPE html> @@ -59,7 +64,7 @@ $aOverview = returnOverview(__DIR__ . "/../rest/ws", ""); sToken = json.PrivateToken.token; } else { sToken = code[0].outerText.split('<token>')[1].split('</token>')[0]; - } + } if (sToken != "") { $("input[name='token']").each(function () { $(this).attr("value", sToken); @@ -154,4 +159,3 @@ foreach ($aOverview as $key => $value) { </div> </body> </html> - diff --git a/src/vitis/vas/doc/swagger.php b/src/vitis/vas/doc/swagger.php index 3437171a291a5f277b6518b72ff0afdd04f8dab5..aca8acffc87a164aedf500bb1f31effd57cf8e5c 100755 --- a/src/vitis/vas/doc/swagger.php +++ b/src/vitis/vas/doc/swagger.php @@ -1,8 +1,9 @@ <?php +$_SERVER['VAS_PATH'] = pathinfo(dirname($_SERVER['SCRIPT_FILENAME']))['dirname']; header('Content-Type: application/json'); -require_once "../rest/conf/properties.inc"; +require_once $_SERVER['VAS_PATH'] . "/rest/conf/properties.inc"; require("vendor/autoload.php"); -$swagger = \Swagger\scan('../rest/ws/'.$_REQUEST['service']); +$swagger = \Swagger\scan($_SERVER['VAS_PATH'] . '/rest/ws/'.$_REQUEST['service']); $aServer = explode("://", $properties["web_server_name"]); $swagger = str_replace("[service_alias]", $properties["services_alias"], $swagger); $swagger = str_replace("[protocol]", $aServer[0], $swagger); diff --git a/src/vitis/vas/rest/index.phtml b/src/vitis/vas/rest/index.phtml index 86af3b21c85db3857e6e5be0ffccaae43e8a50f7..d4b4cffa2cb95cad6d52b949c6476345429ae154 100755 --- a/src/vitis/vas/rest/index.phtml +++ b/src/vitis/vas/rest/index.phtml @@ -1,5 +1,7 @@ <?php +$_SERVER['VAS_PATH'] = pathinfo(dirname($_SERVER['SCRIPT_FILENAME']))['dirname']; + require_once("class/vitis_lib/VitisError.class.inc"); require_once("class/vmlib/cryptUtil.inc"); require_once("conf/properties.inc"); @@ -199,4 +201,4 @@ function customErrorHandler ($errno, $errstr, $errfile, $errline, $context){ } include ("index.vhtml"); -?> \ No newline at end of file +?> diff --git a/src/vitis/vas/util/printserver/client/map/map.js b/src/vitis/vas/util/printserver/client/map/map.js index 2a870d9a00d0935c5b31cc776ac42210b8d84ed9..d6dcd882b6e15b31919e02a1799a6bb2b0212263 100755 --- a/src/vitis/vas/util/printserver/client/map/map.js +++ b/src/vitis/vas/util/printserver/client/map/map.js @@ -7,7 +7,7 @@ PrintMap = function (opt_options) { var this_ = this; - + this.mapSize = [document.getElementById('map').offsetWidth, document.getElementById('map').offsetHeight]; this.tileSize = (isDef(window.oProperties.print.tile_size) && window.oProperties.print.features_zoom >= 0) ? window.oProperties.print.tile_size : 2048; @@ -29,7 +29,7 @@ PrintMap = function (opt_options) { this.mapJsonParser = new MapJSON({ 'properties': window.oProperties }); - + this.view = this.mapJsonParser.getViewFromDef(this.mapDefinition, { 'size': this.mapSize, 'tileSize': [this.tileSize, this.tileSize] @@ -39,13 +39,13 @@ PrintMap = function (opt_options) { this.extent = this.getExtent(opt_options); - this.tileGrid = this.getTileGridFromDefinition(this.tileSize); - + this.tileGrid = this.getTileGridFromDefinition(this.tileSize); + this.layers = this.mapJsonParser.getLayersFromDef(this.mapDefinition, { 'size': this.mapSize, 'tileSize': [this.tileSize, this.tileSize] }); - + this.map = this.setMap(this.layers, this.view); this.featuresOverlay = this.setFeaturesOverlay(this.map); @@ -63,6 +63,9 @@ PrintMap = function (opt_options) { // Supprime tous les controls par défaut this.removeMapControls(); + // Taille des icones en fonction de la résolution demandée + this.setMapSymbolsResolution(this.map, this.resolutionCoeff) + // Si aucune étendue a été donnée et que seul un point a été donné, alors zoom sur this.defaultScale if (!isDef(opt_options.extent) && !isDef(this.features)) { if (this.features.length === 1 && this.features[0].getGeometry().getType() === 'Point') { @@ -310,7 +313,7 @@ PrintMap.prototype.getFeaturesFromEWKT = function (aEWKTFeatures) { }; /** - * Return true if EWKTGeom is an EWKT geometry + * Return true if EWKTGeom is an EWKT geometry * @param {string} EWKTGeom * @returns {boolean} */ @@ -367,4 +370,21 @@ PrintMap.prototype.getGeomFromEWKT = function (EWKTGeom, proj) { return null; } -}; \ No newline at end of file +}; + +/** + * For WMS layers set MAP.RESOLUTION and MAP.DEFRESOLUTION to rise the symbols size + * + * @param {object} olMap + * @param {integer} resolutionCoeff + */ +PrintMap.prototype.setMapSymbolsResolution = function (olMap, resolutionCoeff) { + + var newRes = resolutionCoeff * 72; + var aLayers = olMap.getLayers().getArray(); + for (var i = 0; i < aLayers.length; i++) { + if (aLayers[i].get('type') === 'imagewms' || aLayers[i].get('type') === 'tilewms') { + aLayers[i].getSource().updateParams({'MAP.RESOLUTION': newRes, 'MAP.DEFRESOLUTION': 72}); + } + } +}