Răsfoiți Sursa

Merge pull request #928 from acelaya-forks/feature/php8-support

Feature/php8 support
Alejandro Celaya 3 ani în urmă
părinte
comite
63bd95a123

+ 1 - 1
.github/workflows/publish-release.yml

@@ -16,7 +16,7 @@ jobs:
         with:
           php-version: '7.4' # Publish release with lowest supported PHP version
           tools: composer
-          extensions: swoole-4.5.5
+          extensions: swoole-4.5.9
       - name: Generate release assets
         run: ./build.sh ${GITHUB_REF#refs/tags/v}
       - name: Publish release with assets

+ 6 - 6
.travis.yml

@@ -16,13 +16,13 @@ cache:
 jobs:
   fast_finish: true
   allow_failures:
-    - php: 'nightly'
+    - php: '8.0'
   include:
-    - name: "CI - 8.0"
-      php: 'nightly'
+    - name: 'CI - 8.0'
+      php: '8.0'
       env:
-        - COMPOSER_FLAGS='--ignore-platform-reqs'
-    - name: "CI - 7.4"
+        - COMPOSER_FLAGS='--ignore-platform-req=php'
+    - name: 'CI - 7.4'
       php: '7.4'
       env:
         - COMPOSER_FLAGS=''
@@ -32,7 +32,7 @@ before_install:
   - phpenv config-rm xdebug.ini || return 0
   - sudo ./data/infra/ci/install-ms-odbc.sh
   - docker-compose -f docker-compose.yml -f docker-compose.ci.yml up -d shlink_db_ms shlink_db shlink_db_postgres shlink_db_maria
-  - yes | pecl install pdo_sqlsrv-5.9.0preview1 swoole-4.5.5 pcov
+  - yes | pecl install pdo_sqlsrv-5.9.0beta2 swoole-4.5.9 pcov
 
 install:
   - composer self-update

+ 1 - 1
Dockerfile

@@ -2,7 +2,7 @@ FROM php:7.4.11-alpine3.12 as base
 
 ARG SHLINK_VERSION=2.4.0
 ENV SHLINK_VERSION ${SHLINK_VERSION}
-ENV SWOOLE_VERSION 4.5.5
+ENV SWOOLE_VERSION 4.5.9
 ENV LC_ALL "C"
 
 WORKDIR /etc/shlink

+ 5 - 6
composer.json

@@ -21,7 +21,7 @@
         "doctrine/cache": "^1.9",
         "doctrine/dbal": "^2.10",
         "doctrine/migrations": "^3.0.1",
-        "doctrine/orm": "^2.7",
+        "doctrine/orm": "^2.8",
         "endroid/qr-code": "^3.6",
         "geoip2/geoip2": "^2.9",
         "guzzlehttp/guzzle": "^7.0",
@@ -43,21 +43,20 @@
         "monolog/monolog": "^2.0",
         "nikolaposa/monolog-factory": "^3.0",
         "ocramius/proxy-manager": "^2.7.0",
-        "phly/phly-event-dispatcher": "^1.0",
         "php-middleware/request-id": "^4.0",
         "predis/predis": "^1.1",
-        "pugx/shortid-php": "^0.5",
+        "pugx/shortid-php": "^0.7",
         "ramsey/uuid": "^3.9",
         "shlinkio/shlink-common": "^3.3.2",
         "shlinkio/shlink-config": "^1.0",
-        "shlinkio/shlink-event-dispatcher": "^1.4",
-        "shlinkio/shlink-importer": "^2.0.1",
+        "shlinkio/shlink-event-dispatcher": "^1.6",
+        "shlinkio/shlink-importer": "^2.1",
         "shlinkio/shlink-installer": "^5.2.0",
         "shlinkio/shlink-ip-geolocation": "^1.5",
         "symfony/console": "^5.1",
         "symfony/filesystem": "^5.1",
         "symfony/lock": "^5.1",
-        "symfony/mercure": "^0.4.0",
+        "symfony/mercure": "^0.4.1",
         "symfony/process": "^5.1",
         "symfony/string": "^5.1"
     },

+ 1 - 1
data/infra/swoole.Dockerfile

@@ -4,7 +4,7 @@ MAINTAINER Alejandro Celaya <alejandro@alejandrocelaya.com>
 ENV APCU_VERSION 5.1.18
 ENV APCU_BC_VERSION 1.0.5
 ENV INOTIFY_VERSION 2.0.0
-ENV SWOOLE_VERSION 4.5.5
+ENV SWOOLE_VERSION 4.5.9
 
 RUN apk update
 

+ 5 - 4
module/Core/src/Repository/ShortUrlRepository.php

@@ -7,6 +7,7 @@ namespace Shlinkio\Shlink\Core\Repository;
 use Doctrine\ORM\EntityRepository;
 use Doctrine\ORM\Query\Expr\Join;
 use Doctrine\ORM\QueryBuilder;
+use Shlinkio\Shlink\Common\Doctrine\Type\ChronosDateTimeType;
 use Shlinkio\Shlink\Common\Util\DateRange;
 use Shlinkio\Shlink\Core\Entity\ShortUrl;
 use Shlinkio\Shlink\Core\Model\ShortUrlMeta;
@@ -93,11 +94,11 @@ class ShortUrlRepository extends EntityRepository implements ShortUrlRepositoryI
 
         if ($dateRange !== null && $dateRange->getStartDate() !== null) {
             $qb->andWhere($qb->expr()->gte('s.dateCreated', ':startDate'));
-            $qb->setParameter('startDate', $dateRange->getStartDate());
+            $qb->setParameter('startDate', $dateRange->getStartDate(), ChronosDateTimeType::CHRONOS_DATETIME);
         }
         if ($dateRange !== null && $dateRange->getEndDate() !== null) {
             $qb->andWhere($qb->expr()->lte('s.dateCreated', ':endDate'));
-            $qb->setParameter('endDate', $dateRange->getEndDate());
+            $qb->setParameter('endDate', $dateRange->getEndDate(), ChronosDateTimeType::CHRONOS_DATETIME);
         }
 
         // Apply search term to every searchable field if not empty
@@ -210,11 +211,11 @@ class ShortUrlRepository extends EntityRepository implements ShortUrlRepositoryI
         }
         if ($meta->hasValidSince()) {
             $qb->andWhere($qb->expr()->eq('s.validSince', ':validSince'))
-               ->setParameter('validSince', $meta->getValidSince());
+               ->setParameter('validSince', $meta->getValidSince(), ChronosDateTimeType::CHRONOS_DATETIME);
         }
         if ($meta->hasValidUntil()) {
             $qb->andWhere($qb->expr()->eq('s.validUntil', ':validUntil'))
-               ->setParameter('validUntil', $meta->getValidUntil());
+               ->setParameter('validUntil', $meta->getValidUntil(), ChronosDateTimeType::CHRONOS_DATETIME);
         }
         if ($meta->hasDomain()) {
             $qb->join('s.domain', 'd')