| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- Lib::loadClass('RouteBase');
- Lib::loadClass('UI');
- Lib::loadClass('DBG');
- Lib::loadClass('Request');
- Lib::loadClass('Crypt');
- Lib::loadClass('Route_Ant');
- class Route_UrlAction_Ant extends Route_Ant {// @doc @see Route_Ant
- public function defaultAction() {
- UI::gora();
- UI::tag('h1', [], 'Ant');
- try {
- $taskList = $this->getAntUrlActionList();
- DBG::nicePrint($taskList, 'ant-url_action');
- $featureID = V::get('featureID', '', $_GET);
- $namespace = V::get('namespace', '', $_GET);
- // TODO: validate missing ...
- UI::startTag('ul');
- foreach ($taskList as $path => $label) {
- $link = "index.php?_route=UrlAction_Ant&_task=ant&path={$path}&namespace={$namespace}&featureID={$featureID}";
- echo UI::h('li', [], [
- UI::h('a', ['href'=>$link], "Uruchom '{$label}'")
- ]);
- }
- UI::endTag('ul');
- } catch (Exception $e) {
- UI::alert('danger', $e->getMessage());
- DBG::log($e);
- }
- UI::dol();
- }
- public function antAction() {
- UI::gora();
- try {
- echo UI::h('h1', [], "Ant action");
- $path = V::get('path', '', $_GET);
- if (!$path) throw new Exception("Missing Ant path!");
- $featureID = V::get('featureID', '', $_GET);
- $namespace = V::get('namespace', '', $_GET);
-
- $namespace_dot = explode(':', $namespace);
-
- // TODO: validate missing ...
- DBG::nicePrint($path, '$path');
- DBG::nicePrint($featureID, '$featureID');
- DBG::nicePrint($namespace, '$namespace');
- $taskList = $this->getAntUrlActionList();
- if (!array_key_exists($path, $taskList)) throw new Exception("Ant path not exists! '{$path}'");
- echo UI::h('hr');
-
-
- // $testUrl = Request::getPathUri() . "wfs-data.php/default_db/?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=p5_default_db:TEST_PERMS&SRSNAME=EPSG:3003&featureID=TEST_PERMS.63";
- $testUrl = Request::getPathUri() . "wfs-data.php/default_db/?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=".$namespace."&SRSNAME=EPSG:3003&featureID=".$namespace_dot[1].".".$featureID ;
- $cryptedPass = base64_encode(User::getLogin() . ":" . Crypt::decrypt($_SESSION['ADM_PASS_HASH']));
- $cmd = "cd {$this->pathUrlActions}{$path} && {$this->antBin} -S -Durl='{$testUrl}' -DpasswordBase64Basic='{$cryptedPass}' 2>&1";
- DBG::nicePrint(str_replace(APP_PATH_ROOT, 'SE', $cmd), 'command');
- V::exec($cmd, $out, $ret);
- DBG::nicePrint($out, 'output');
- $html = []; $startRead = false;
- foreach ($out as $line) {
- if (!$startRead) {
- if ('OUTPUT__START' == $line) {
- $startRead = true;
- continue;
- }
- } else {
- if ('<!DOCTYPE' == substr($line, 0, strlen('<!DOCTYPE'))) continue;
- if ('OUTPUT__END' == $line) {
- break;
- }
- $html[]= $line;
- }
- }
- echo UI::h('h3', [], "output:");
- if (empty($html)) UI::alert('danger', "Empty output!");
- echo UI::h('pre', [], htmlspecialchars(implode("\n", $html)));
- } catch (Exception $e) {
- UI::alert('danger', $e->getMessage());
- DBG::log($e);
- }
- UI::dol();
- }
- }
|