| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- <?php
- // use Monolog\Handler\StreamHandler;
- // use Monolog\Formatter\JsonFormatter;
- Lib::loadClass('RouteBase');
- Lib::loadClass('P5');
- Lib::loadClass('Core_AclHelper');
- Lib::loadClass('ACL');
- class Route_WfsJsRequestPanel extends RouteBase {
- public function defaultAction() {
- UI::gora();
- try {
- $exampleFltr = [
- " <ogc:Filter>",
- " <ogc:Or>",
- " <ogc:PropertyIsEqualTo>",
- " <ogc:PropertyName>ID</ogc:PropertyName>",
- " <ogc:Literal>1003</ogc:Literal>",
- " </ogc:PropertyIsEqualTo>",
- " <ogc:PropertyIsEqualTo>",
- " <ogc:PropertyName>ID</ogc:PropertyName>",
- " <ogc:Literal>608</ogc:Literal>",
- " </ogc:PropertyIsEqualTo>",
- " </ogc:Or>",
- " </ogc:Filter>",
- ];
- $listExampleProp = [];
- $listExampleProp['lvl1'] = [
- " <wfs:PropertyName>ID</wfs:PropertyName>",
- " <wfs:PropertyName>PARENT_ID</wfs:PropertyName>",
- " <wfs:PropertyName>TYPE</wfs:PropertyName>",
- " <wfs:PropertyName>DESC</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES</wfs:PropertyName>",
- ];
- $listExampleProp['lvl2'] = [
- " <wfs:PropertyName>ID</wfs:PropertyName>",
- " <wfs:PropertyName>PARENT_ID</wfs:PropertyName>",
- " <wfs:PropertyName>TYPE</wfs:PropertyName>",
- " <wfs:PropertyName>DESC</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/ID</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/PARENT_ID</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/TYPE</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/DESC</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/default_db__x3A__CRM_PROCES:PROCES</wfs:PropertyName>",
- ];
- $listExampleProp['lvl2wsk'] = [
- " <wfs:PropertyName>ID</wfs:PropertyName>",
- " <wfs:PropertyName>PARENT_ID</wfs:PropertyName>",
- " <wfs:PropertyName>TYPE</wfs:PropertyName>",
- " <wfs:PropertyName>DESC</wfs:PropertyName>",
- " <wfs:PropertyName>OPIS</wfs:PropertyName>",
- " <wfs:PropertyName>path</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/ID</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/PARENT_ID</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/TYPE</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/DESC</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/default_db__x3A__CRM_PROCES:PROCES</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/default_db__x3A__CRM_WSKAZNIK:CRM_WSKAZNIK</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES_INIT/*</wfs:PropertyName>",
- " <!-- <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES_INIT/**</wfs:PropertyName> -->",
- " <wfs:PropertyName>default_db__x3A__CRM_WSKAZNIK:CRM_WSKAZNIK/*</wfs:PropertyName>",
- ];
- $listExampleProp['lvl3'] = [
- " <wfs:PropertyName>ID</wfs:PropertyName>",
- " <wfs:PropertyName>PARENT_ID</wfs:PropertyName>",
- " <wfs:PropertyName>TYPE</wfs:PropertyName>",
- " <wfs:PropertyName>DESC</wfs:PropertyName>",
- " <wfs:PropertyName>OPIS</wfs:PropertyName>",
- " <wfs:PropertyName>path</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/ID</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/PARENT_ID</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/TYPE</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/DESC</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/default_db__x3A__CRM_PROCES:PROCES/ID</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/default_db__x3A__CRM_PROCES:PROCES/PARENT_ID</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/default_db__x3A__CRM_PROCES:PROCES/TYPE</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/default_db__x3A__CRM_PROCES:PROCES/DESC</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/default_db__x3A__CRM_PROCES:PROCES/default_db__x3A__CRM_PROCES:PROCES</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES/default_db__x3A__CRM_WSKAZNIK:CRM_WSKAZNIK/*</wfs:PropertyName>",
- " <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES_INIT/*</wfs:PropertyName>",
- " <!-- <wfs:PropertyName>default_db__x3A__CRM_PROCES:PROCES_INIT/**</wfs:PropertyName> -->",
- " <wfs:PropertyName>default_db__x3A__CRM_WSKAZNIK:CRM_WSKAZNIK/*</wfs:PropertyName>",
- ];
- $exampleWfsRequestBody = "<wfs:Query>" . implode("\n", array_merge($listExampleProp['lvl1'], $exampleFltr)) . "</wfs:Query>";
- UI::startContainer();
- // Lib::loadClass('Vendor_Monolog');
- // $logger = new Vendor_Monolog('dbg-logger-name');
- // $logger->pushHandler(new StreamHandler('/tmp/monolog-test.log', Vendor_Monolog::WARNING));
- // $logger->warning('Foo');
- // $logger->error('Bar');
- //
- // $logFile = '/tmp/monolog-test-json.log';
- // $formatter = new JsonFormatter();
- // // Create a handler
- // $stream = new StreamHandler($logFile, Vendor_Monolog::INFO);
- // $stream->setFormatter($formatter);
- // // bind it to a logger object
- // $securityLogger = new Vendor_Monolog('View Info');
- // $securityLogger->pushHandler($stream);
- // $securityLogger->addInfo('debug message / label', [ 'dbg-object' => [ 'x' => 'y', 'z' ] ]);
- echo UI::h('textarea', [ 'id' => 'wfsRequestBody', 'style' => "width:100%; height:300px" ], htmlspecialchars($exampleWfsRequestBody));
- echo UI::h('button', [ 'class' => "btn btn-primary", 'onClick' => "return sendWfsRequest(this)" ], "Wyslij");
- echo UI::h('div', [ 'style' => "display:inline", 'id' => "wfs-example-btns" ]);
- echo UI::h('pre', [ 'id' => 'wfsResponse' ], 'loading...');
- UI::endContainer();
- $examples = array_map(function ($props) use ($exampleFltr) {
- return "<wfs:Query>" . implode("\n", array_merge($props, $exampleFltr)) . "</wfs:Query>";
- }, $listExampleProp);
- echo UI::h('script', [], "
- var examples = " . json_encode($examples) . ";
- console.log('examples', examples)
- function setWfsExample(i) {
- document.getElementById('wfsRequestBody').value = examples[i]
- sendWfsRequest()
- }
- for (var i in examples) {
- jQuery(document.getElementById('wfs-example-btns')).append('<button class=\"btn btn-default\" style=\"margin-left:12px\" onClick=\"setWfsExample(\''+i+'\')\">'+i+'</button>')
- }
- ");
- echo UI::h('script', [], "
- function sendWfsRequest() {
- document.getElementById('wfsResponse').innerHTML = 'loading...'
- var postBody = document.getElementById('wfsRequestBody').value.replace(/</g, '<').replace(/>/g, '>')
- console.log('wfsRequestBody:', postBody)
- p5WFS_GetFeature('default_db__x3A__CRM_PROCES:PROCES', {
- 'ogc:Filter': postBody,
- }).then(function (features) {
- console.log('features', features)
- document.getElementById('wfsResponse').innerHTML = JSON.stringify(features, null, 2)
- }).catch(function (e) {
- console.warn(e)
- document.getElementById('wfsResponse').innerHTML = JSON.stringify(e, null, 2)
- p5UI__notifyAjaxCallback({ type: 'error', msg: e })
- })
- return false
- }
- (function () {
- console.log('p5WFS_GetFeature(default_db__x3A__CRM_PROCES:PROCES, ...)')
- sendWfsRequest()
- })()
- ");
- } catch (Exception $e) {
- UI::alert('danger', $e);
- }
- UI::dol();
- }
- }
|