From d178ccae0064ac1643e0e0729b55dd5690be67c1 Mon Sep 17 00:00:00 2001 From: Wouter Koppenol Date: Fri, 17 May 2024 10:47:34 +0200 Subject: [PATCH] #2379 Map comments can now properly be assigned to pulls directly again. --- .../Commands/Traits/ConvertsMDTStrings.php | 7 +++--- app/Service/MDT/MDTImportStringService.php | 24 ++++++++++--------- docker-compose/app/Dockerfile | 7 +++--- .../app/etc/sudoers.d/cli_weakauras_parser | 2 ++ 4 files changed, 22 insertions(+), 18 deletions(-) create mode 100644 docker-compose/app/etc/sudoers.d/cli_weakauras_parser diff --git a/app/Console/Commands/Traits/ConvertsMDTStrings.php b/app/Console/Commands/Traits/ConvertsMDTStrings.php index 6a2b8cae4..8b772fad7 100644 --- a/app/Console/Commands/Traits/ConvertsMDTStrings.php +++ b/app/Console/Commands/Traits/ConvertsMDTStrings.php @@ -49,9 +49,10 @@ private function transform(bool $encode, string $string): ?string if ($fileName !== null) { $cmd = sprintf($encode ? self::$CLI_PARSER_ENCODE_CMD : self::$CLI_PARSER_DECODE_CMD, $fileName); // Performing sudo on local environment causes issues - but we're already root then - if (config('app.type') !== 'local') { - $cmd = sprintf('%s %s', self::$SUDO, $cmd); - } + // ^ okay what issues then genius? It works fine locally +// if (config('app.type') !== 'local') { + $cmd = sprintf('%s %s', self::$SUDO, $cmd); +// } $process = new Process(explode(' ', $cmd)); $process->run(); diff --git a/app/Service/MDT/MDTImportStringService.php b/app/Service/MDT/MDTImportStringService.php index 88e886334..d68025819 100644 --- a/app/Service/MDT/MDTImportStringService.php +++ b/app/Service/MDT/MDTImportStringService.php @@ -796,19 +796,20 @@ private function parseObjectComment( $mappingVersion, $latLng ); - } - if ($latLng->getFloor()->facade) { - $this->log->parseObjectCommentAfterConversionFloorStillOnFacade($latLng->toArrayWithFloor()); + // @TODO this needs to be put everywhere in this class in a generic function of sorts, no time now + if ($latLng->getFloor()->facade) { + $this->log->parseObjectCommentAfterConversionFloorStillOnFacade($latLng->toArrayWithFloor()); - $importStringObjects->getWarnings()->push( - new ImportWarning( - __('logic.mdt.io.import_string.category.object'), - __('logic.mdt.io.import_string.object_out_of_bounds', ['comment' => (string)$details['4']]) - ) - ); + $importStringObjects->getWarnings()->push( + new ImportWarning( + __('logic.mdt.io.import_string.category.object'), + __('logic.mdt.io.import_string.object_out_of_bounds', ['comment' => (string)$details['4']]) + ) + ); - return; + return; + } } $ingameXY = $this->coordinatesService->calculateIngameLocationForMapLocation($latLng); @@ -817,8 +818,9 @@ private function parseObjectComment( foreach ($importStringObjects->getKillZoneAttributes() as $killZoneIndex => $killZoneAttribute) { foreach ($killZoneAttribute['killZoneEnemies'] as $killZoneEnemy) { $enemyIngameXY = $this->coordinatesService->calculateIngameLocationForMapLocation( - new LatLng($killZoneEnemy['enemy']->lat, $killZoneEnemy['enemy']->lng, $floor) + new LatLng($killZoneEnemy['enemy']->lat, $killZoneEnemy['enemy']->lng, $latLng->getFloor()) ); + if ($this->coordinatesService->distanceBetweenPoints( $enemyIngameXY->getX(), $ingameXY->getX(), $enemyIngameXY->getY(), $ingameXY->getY() diff --git a/docker-compose/app/Dockerfile b/docker-compose/app/Dockerfile index c13a5a556..43d55a891 100644 --- a/docker-compose/app/Dockerfile +++ b/docker-compose/app/Dockerfile @@ -81,9 +81,6 @@ RUN apt-get update && apt-get install -y libssl-dev && \ RUN /root/.cargo/bin/cargo install --git https://github.com/Zireael-N/cli-weakauras-parser.git && \ ln -s ~/.cargo/bin/cli_weakauras_parser /usr/bin/cli_weakauras_parser -# Give the www-data user rights to execute cli weakauras parser as sudo -RUN echo "www-data ALL=NOPASSWD: /usr/bin/cli_weakauras_parser" >> /etc/sudoers - # Install actual LUA language RUN apt-get update && apt-get install -y lua5.3 liblua5.3 && \ ln -s /usr/include/lua5.3/ /usr/include/lua && \ @@ -112,7 +109,9 @@ RUN unzip /tmp/LuaBitOp-1.0.3.zip -d /tmp && \ cp bit.so /usr/lib/lua/5.3/ # Setup files/folders -COPY etc/crontab /etc/crontab +COPY etc/ /etc/ + +RUN chmod -R 440 /etc/sudoers.d/ COPY var/ /var/ diff --git a/docker-compose/app/etc/sudoers.d/cli_weakauras_parser b/docker-compose/app/etc/sudoers.d/cli_weakauras_parser new file mode 100644 index 000000000..8f0204804 --- /dev/null +++ b/docker-compose/app/etc/sudoers.d/cli_weakauras_parser @@ -0,0 +1,2 @@ +www-data ALL=(ALL) NOPASSWD: /usr/bin/cli_weakauras_parser +www-data ALL=(ALL) NOPASSWD: /root/.cargo/bin/cli_weakauras_parser