From 0ca3469bf3a57a281d0be2f187238a8cae107390 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Wed, 27 Nov 2019 15:26:50 +0400 Subject: [PATCH 01/23] PHRAS-2829 lightbox hide list of users --- templates/mobile/lightbox/sc_note.html.twig | 14 +++--- .../lightbox/basket_content_report.html.twig | 45 +++++++++---------- 2 files changed, 28 insertions(+), 31 deletions(-) diff --git a/templates/mobile/lightbox/sc_note.html.twig b/templates/mobile/lightbox/sc_note.html.twig index fe3ed24cd8..e1c783d245 100644 --- a/templates/mobile/lightbox/sc_note.html.twig +++ b/templates/mobile/lightbox/sc_note.html.twig @@ -1,21 +1,19 @@ {% for validationDatas in basket_element.getValidationDatas() %} -
  • + {% if basket_element.getBasket().getValidation().getParticipant(app.getAuthenticatedUser()).getCanSeeOthers() or validationDatas.getParticipant().getUser() == app.getAuthenticatedUser() %} + +
  • - {% if basket_element.getBasket().getValidation().getParticipant(app.getAuthenticatedUser()).getCanSeeOthers() or validationDatas.getParticipant().getUser() == app.getAuthenticatedUser() %} - {% if validationDatas.getAgreement() == true %}{% endif %} + {% if validationDatas.getAgreement() == true %}{% endif %} {% if validationDatas.getAgreement() == false and validationDatas.getAgreement() is not null %} {{ validationDatas.getAgreement() }}{% endif %} - {% endif %}

    {{ validationDatas.getParticipant().getUser().getDisplayName() }}

    - {% if basket_element.getBasket().getValidation().getParticipant(app.getAuthenticatedUser()).getCanSeeOthers() or validationDatas.getParticipant().getUser() == app.getAuthenticatedUser() %} - {% if validationDatas.getNote() != '' %} + {% if validationDatas.getNote() != '' %}

    {{ 'validation:: note' | trans }} : {{ validationDatas.getNote()|nl2br }}

    {% endif %} - {% endif %} -
  • + {% endif %} {% endfor %} diff --git a/templates/web/lightbox/basket_content_report.html.twig b/templates/web/lightbox/basket_content_report.html.twig index 224a604eac..7a9940354e 100644 --- a/templates/web/lightbox/basket_content_report.html.twig +++ b/templates/web/lightbox/basket_content_report.html.twig @@ -17,32 +17,31 @@
    {% for validationDatas in basket_element.getValidationDatas()%} -
    - {% if validationDatas.getAgreement() == true %} - {% set imguser = '' %} - {% set styleuser = '' %} - {% elseif validationDatas.getAgreement() is null %} - {% set imguser = ' ' %} - {% set styleuser = 'margin-left:18px;' %} - {% else %} - {% set imguser = '' %} - {% set styleuser = '' %} - {% endif %} + {% if basket_element.getBasket().getValidation().getParticipant(app.getAuthenticatedUser()).getCanSeeOthers() or validationDatas.getParticipant().getUser() == app.getAuthenticatedUser() %} -
    - {% if basket_element.getBasket().getValidation().getParticipant(app.getAuthenticatedUser()).getCanSeeOthers() or validationDatas.getParticipant().getUser() == app.getAuthenticatedUser() %} - {{imguser|raw}} - {% endif %} -
    -
    -

    {{validationDatas.getParticipant().getUser().getDisplayName()}}

    - {% if validationDatas.getNote() != '' %} - {% if basket_element.getBasket().getValidation().getParticipant(app.getAuthenticatedUser()).getCanSeeOthers() or validationDatas.getParticipant().getUser() == app.getAuthenticatedUser() %} -

    {{validationDatas.getNote()|nl2br}}

    +
    + {% if validationDatas.getAgreement() == true %} + {% set imguser = '' %} + {% set styleuser = '' %} + {% elseif validationDatas.getAgreement() is null %} + {% set imguser = ' ' %} + {% set styleuser = 'margin-left:18px;' %} + {% else %} + {% set imguser = '' %} + {% set styleuser = '' %} {% endif %} - {% endif %} + +
    + {{imguser|raw}} +
    +
    +

    {{validationDatas.getParticipant().getUser().getDisplayName()}}

    + {% if validationDatas.getNote() != '' %} +

    {{validationDatas.getNote()|nl2br}}

    + {% endif %} +
    -
    + {% endif %} {% endfor %}
    From cb3802329032bc22fc4f90d62bda62f19534c802 Mon Sep 17 00:00:00 2001 From: aynsix Date: Wed, 27 Nov 2019 17:37:05 +0400 Subject: [PATCH 02/23] libfaac abandoned --- .../Controller/Admin/SubdefsController.php | 24 +++++++++---------- lib/Alchemy/Phrasea/Media/Subdef/Video.php | 2 +- tests/classes/databox/subdefTest.php | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php index e30aa03946..5c2a61f2e5 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php @@ -362,7 +362,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "256", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "240P H264 256 kbps ACC 128kbps" => [ @@ -373,7 +373,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "426", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "360P H264 576 kbps ACC 128kbps" => [ @@ -384,7 +384,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "480", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libtheora", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "480P H264 750 kbps ACC 128kbps" => [ @@ -395,7 +395,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "854", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "720P H264 1492 kbps ACC 128kbps" => [ @@ -406,7 +406,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1280", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "1080P H264 2420 kbps ACC 128kbps" => [ @@ -417,7 +417,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1920", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "video codec libvpx" => null, @@ -429,7 +429,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "256", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "240P webm 256 kbps ACC 128kbps" => [ @@ -440,7 +440,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "426", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "360P webm 576 kbps ACC 128kbps" => [ @@ -451,7 +451,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "480", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "480P webm 750 kbps ACC 128kbps" => [ @@ -462,7 +462,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "854", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "720P webm 1492 kbps ACC 128kbps" => [ @@ -473,7 +473,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1280", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "1080P webm 2420 kbps ACC 128kbps" => [ @@ -484,7 +484,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1920", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], ], diff --git a/lib/Alchemy/Phrasea/Media/Subdef/Video.php b/lib/Alchemy/Phrasea/Media/Subdef/Video.php index ef0a113564..24a5812f90 100644 --- a/lib/Alchemy/Phrasea/Media/Subdef/Video.php +++ b/lib/Alchemy/Phrasea/Media/Subdef/Video.php @@ -33,7 +33,7 @@ class Video extends Audio $this->registerOption(new OptionType\Range($this->translator->trans('Frame Rate'), self::OPTION_FRAMERATE, 1, 200, 20)); $this->registerOption(new OptionType\Enum($this->translator->trans('Video Codec'), self::OPTION_VCODEC, ['libx264', 'libvpx', 'libtheora'], 'libx264')); $this->unregisterOption(self::OPTION_ACODEC); - $this->registerOption(new OptionType\Enum($this->translator->trans('Audio Codec'), self::OPTION_ACODEC, ['libfaac', 'libvo_aacenc', 'libmp3lame', 'libvorbis'], 'libfaac')); + $this->registerOption(new OptionType\Enum($this->translator->trans('Audio Codec'), self::OPTION_ACODEC, ['libfdk_aac', 'libvo_aacenc', 'libmp3lame', 'libvorbis'], 'libfdk_aac')); } public function getType() diff --git a/tests/classes/databox/subdefTest.php b/tests/classes/databox/subdefTest.php index f403712621..75fbc962b9 100644 --- a/tests/classes/databox/subdefTest.php +++ b/tests/classes/databox/subdefTest.php @@ -83,7 +83,7 @@ class databox_subdefTest extends \PHPUnit_Framework_TestCase 10 1 192 - libfaac + libmp3lame libx264 '; From 2cbaaa4fc14065115debc9f3344c2464e13168f0 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Thu, 28 Nov 2019 10:50:27 +0400 Subject: [PATCH 03/23] PHRAS-2829 #comment Lightbox mobile filter sort of basket list + add user info #time 4h --- .../jquery-mobile/_jquery-validator.scss | 19 +++++ templates/mobile/common/menubar.html.twig | 17 +++++ .../mobile/lightbox/basket_element.html.twig | 72 ++++++++++--------- .../mobile/lightbox/feed_element.html.twig | 7 +- templates/mobile/lightbox/index.html.twig | 14 +++- templates/mobile/lightbox/validate.html.twig | 3 + 6 files changed, 94 insertions(+), 38 deletions(-) create mode 100644 templates/mobile/common/menubar.html.twig diff --git a/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss b/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss index 259ade124d..7f49c0af1c 100644 --- a/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss +++ b/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss @@ -108,3 +108,22 @@ a.active_choice{ .ui-footer .ui-title, .ui-header .ui-title { font-size: 18px; } + + +.ui-listview .ui-li-has-thumb .ui-li-thumb, .ui-listview .ui-li-has-thumb>.ui-btn>img:first-child, .ui-listview .ui-li-has-thumb>img:first-child { + top: 50%; + transform: translateY(-50%); +} + +/*user status*/ +.menu-bar-item { + background: #000; + padding: 12px; + text-align: center; + a { + color: #fff!important; + text-decoration: none!important; + font-weight: normal; + } +} + diff --git a/templates/mobile/common/menubar.html.twig b/templates/mobile/common/menubar.html.twig new file mode 100644 index 0000000000..03a41053f7 --- /dev/null +++ b/templates/mobile/common/menubar.html.twig @@ -0,0 +1,17 @@ +{% set configuration = app['conf'].get(['registry', 'custom-links']) %} + +{% if app.getAuthenticator().isAuthenticated() %} + +{% endif %} + diff --git a/templates/mobile/lightbox/basket_element.html.twig b/templates/mobile/lightbox/basket_element.html.twig index 08cfc9bd1b..06e6d590a1 100644 --- a/templates/mobile/lightbox/basket_element.html.twig +++ b/templates/mobile/lightbox/basket_element.html.twig @@ -26,7 +26,7 @@ #content { position: fixed; - top:50px; + top:90px; bottom: 0; right: 0; left: 0; @@ -40,17 +40,19 @@ {% block content %} {% set record = basket_element.getRecord(app) %} -
    -
    - {{ 'Back' | trans }} -

    {{basket_element.getOrd()}} - {{record.get_title()}}

    - {{ 'Home' | trans }} -
    -
    - + {% if basket_element.getBasket().getValidation() %} + {% if basket_element.getBasket().getValidation().getParticipant(app.getAuthenticatedUser()).getCanAgree() %} +
    + + + + +
    + {% endif %} + +
    + +
    + {% endif %} +
    diff --git a/templates/mobile/lightbox/feed_element.html.twig b/templates/mobile/lightbox/feed_element.html.twig index 9aa5f0aa99..997bd5ad36 100644 --- a/templates/mobile/lightbox/feed_element.html.twig +++ b/templates/mobile/lightbox/feed_element.html.twig @@ -17,7 +17,7 @@ #content { position: fixed; - top:50px; + top:90px; bottom: 0; right: 0; left: 0; @@ -36,9 +36,12 @@

    {{feed_element.getOrd()}} - {{record.get_title()}}

    Home
    +
    {{ thumbnail.format100percent(record.get_preview()) }}
    -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/templates/mobile/lightbox/index.html.twig b/templates/mobile/lightbox/index.html.twig index 4d8cc7cd96..a270116c9c 100644 --- a/templates/mobile/lightbox/index.html.twig +++ b/templates/mobile/lightbox/index.html.twig @@ -40,6 +40,9 @@

    {{module_name}}

    {{ 'a propos' | trans }} +
    +

    Phraseanet Version {{ app['phraseanet.version'].getName() }} - {{ app['phraseanet.version'].getNumber() }}

    @@ -85,12 +91,15 @@ {{ 'Back' | trans }}

    {{ 'Validations' | trans }}

    +

    {{ 'Voici vos validations en cours' | trans }}

      - {% for basket in baskets_collection %} + {% for basket in baskets_collection | sort | reverse%} {% if basket.getValidation() %} {% set basket_length = basket.getElements().count() %}
    • @@ -115,6 +124,9 @@ {{ 'Back' | trans }}

      {{ 'Paniers' | trans }}

    +

    {{ 'Voici vos paniers' | trans }} diff --git a/templates/mobile/lightbox/validate.html.twig b/templates/mobile/lightbox/validate.html.twig index fbaa154a2a..f45998a029 100644 --- a/templates/mobile/lightbox/validate.html.twig +++ b/templates/mobile/lightbox/validate.html.twig @@ -32,6 +32,9 @@

    {{basket.getName()}}

    {{ 'Home' | trans }}
    +

    From fe243ebdffb97cc14a574426b06a96bda6ddca23 Mon Sep 17 00:00:00 2001 From: Alexandre BRACH Date: Fri, 22 Nov 2019 17:33:31 +0100 Subject: [PATCH 04/23] circleci #comment circleci refactor build --- .circleci/config.yml | 80 +++++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 30 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3ebc93224a..8284f38fa7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -107,6 +107,53 @@ jobs: - store_artifacts: path: /tmp/circleci-test-results + + build_phraseanet-fpm: + machine: + image: ubuntu-1604:201903-01 + docker_layer_caching: true + working_directory: ~/alchemy-fr/Phraseanet + steps: + - checkout + - aws-ecr/ecr-login: + region: AWS_DEFAULT_REGION + - run: docker build --target phraseanet-fpm -t ${AWS_ACCOUNT_URL}/phraseanet-fpm:${CIRCLE_BRANCH} . + - aws-ecr/push-image: + account-url: AWS_ACCOUNT_URL + repo: "phraseanet-fpm" + tag: "${CIRCLE_BRANCH}" + + build_phraseanet-worker: + machine: + image: ubuntu-1604:201903-01 + docker_layer_caching: true + working_directory: ~/alchemy-fr/Phraseanet + steps: + - checkout + - aws-ecr/ecr-login: + region: AWS_DEFAULT_REGION + - run: docker build --target phraseanet-worker -t ${AWS_ACCOUNT_URL}/phraseanet-worker:${CIRCLE_BRANCH} . + - aws-ecr/push-image: + account-url: AWS_ACCOUNT_URL + repo: "phraseanet-worker" + tag: "${CIRCLE_BRANCH}" + + build_phraseanet-nginx: + machine: + image: ubuntu-1604:201903-01 + docker_layer_caching: true + working_directory: ~/alchemy-fr/Phraseanet + steps: + - checkout + - aws-ecr/ecr-login: + region: AWS_DEFAULT_REGION + - run: docker build --target phraseanet-nginx -t ${AWS_ACCOUNT_URL}/phraseanet-nginx:${CIRCLE_BRANCH} . + - aws-ecr/push-image: + account-url: AWS_ACCOUNT_URL + repo: "phraseanet-nginx" + tag: "${CIRCLE_BRANCH}" + + workflows: version: 2 oldfashion: @@ -114,36 +161,9 @@ workflows: - build newfashion: jobs: - - aws-ecr/build_and_push_image: - account-url: AWS_ACCOUNT_URL - aws-access-key-id: AWS_ACCESS_KEY_ID - aws-secret-access-key: AWS_SECRET_ACCESS_KEY + - build_phraseanet-fpm: context: "AWS London" - create-repo: true - dockerfile: Dockerfile - extra-build-args: "--target phraseanet-fpm" - region: AWS_DEFAULT_REGION - repo: "phraseanet-fpm" - tag: "${CIRCLE_BRANCH}" - - aws-ecr/build_and_push_image: - account-url: AWS_ACCOUNT_URL - aws-access-key-id: AWS_ACCESS_KEY_ID - aws-secret-access-key: AWS_SECRET_ACCESS_KEY + - build_phraseanet-worker: context: "AWS London" - create-repo: true - dockerfile: Dockerfile - extra-build-args: "--target phraseanet-nginx" - region: AWS_DEFAULT_REGION - repo: "phraseanet-nginx" - tag: "${CIRCLE_BRANCH}" - - aws-ecr/build_and_push_image: - account-url: AWS_ACCOUNT_URL - aws-access-key-id: AWS_ACCESS_KEY_ID - aws-secret-access-key: AWS_SECRET_ACCESS_KEY + - build_phraseanet-nginx: context: "AWS London" - create-repo: true - dockerfile: Dockerfile - extra-build-args: "--target phraseanet-worker" - region: AWS_DEFAULT_REGION - repo: "phraseanet-worker" - tag: "${CIRCLE_BRANCH}" From 88d586b246e26beba64f206d5ef613d0c69c12f4 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Thu, 28 Nov 2019 17:31:00 +0400 Subject: [PATCH 05/23] PHRAS-2774 Prod answer grid: add margin bottom (upgrade phraseanet-production-client) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index fc730f3db4..b8669fd83c 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "normalize-css": "^2.1.0", "npm": "^6.0.0", "npm-modernizr": "^2.8.3", - "phraseanet-production-client": "0.34.80-d", + "phraseanet-production-client": "0.34.81-d", "requirejs": "^2.3.5", "tinymce": "^4.0.28", "underscore": "^1.8.3", diff --git a/yarn.lock b/yarn.lock index ebc0ac35a3..513421e556 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7577,10 +7577,10 @@ phraseanet-common@^0.4.1: js-cookie "^2.1.0" pym.js "^1.3.1" -phraseanet-production-client@0.34.80-d: - version "0.34.80-d" - resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.80-d.tgz#1e54bee4306ab11528377cb63c19d8c7491ef0f3" - integrity sha512-ilGs7ndDNztwlyeW9MA2TMiMhZC+P1/lNNeIsIuh+KuJH8M3Y3SWBcmsN2lqu5iM1Xg5FbWJ6iXcCSrLWHTqsw== +phraseanet-production-client@0.34.81-d: + version "0.34.81-d" + resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.81-d.tgz#b9479433ca30cb7f2ac6c79f686b0afd5e578f0d" + integrity sha512-nJjBiUG4myX6QIgWYlboYnEOQQwi2srfzN2lndLXOmmzf9GN7j8TMigbtKapBQ0i/EWa7rsxN+tq64wumwBnYQ== dependencies: "@mapbox/mapbox-gl-language" "^0.9.2" "@turf/turf" "^5.1.6" From 94f6fe9265b1d06567204940ef0324d905113e27 Mon Sep 17 00:00:00 2001 From: Alexandre BRACH Date: Thu, 28 Nov 2019 17:19:58 +0100 Subject: [PATCH 06/23] PHRDPL-82 #comment Optimize docker build speed --- .dockerignore | 12 ++++++ Dockerfile | 102 +++++++++++++++++------------------------------ Dockerfile-debug | 18 --------- build.sh | 2 + 4 files changed, 51 insertions(+), 83 deletions(-) create mode 100644 .dockerignore delete mode 100644 Dockerfile-debug diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000..9754e0bf0b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +.circleci +.git +.settings +nodes_modules +vendor + + + + + + + diff --git a/Dockerfile b/Dockerfile index c40dfc4347..ab22c72631 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,10 @@ -FROM php:7.0-fpm-stretch as builder +######################################################################### +# This image contains every build tools that will be used by the builder and +# the app images (usefull in dev mode) +######################################################################### + +FROM php:7.0-fpm-stretch as phraseanet-system RUN apt-get update \ && apt-get install -y \ apt-transport-https \ @@ -23,6 +28,7 @@ RUN apt-get update \ libxslt-dev \ libzmq3-dev \ locales \ + gettext \ mcrypt \ swftools \ unoconv \ @@ -61,9 +67,19 @@ RUN mkdir /entrypoint /var/alchemy \ && mkdir -p /home/app/.composer \ && chown -R app: /home/app /var/alchemy +######################################################################### +# This image is used to build the apps +######################################################################### + +FROM phraseanet-system as builder + WORKDIR /var/alchemy/ +# Files that are needed at build stage + COPY gulpfile.js /var/alchemy/ +COPY www/include /var/alchemy/www/include +COPY www/scripts/apps /var/alchemy/www/scripts/apps COPY Makefile /var/alchemy/ COPY package.json /var/alchemy/ COPY phpunit.xml.dist /var/alchemy/ @@ -73,11 +89,16 @@ COPY composer.json /var/alchemy/ COPY composer.lock /var/alchemy/ RUN make install_composer COPY resources /var/alchemy/resources -COPY www /var/alchemy/www + +# Application build phase + RUN make clean_assets RUN make install_asset_dependencies RUN make install_assets +# Application code + +COPY www /var/alchemy/www ADD ./docker/phraseanet/ / COPY lib /var/alchemy/lib COPY tmp /var/alchemy/tmp @@ -86,6 +107,9 @@ COPY grammar /var/alchemy/grammar COPY templates-profiler /var/alchemy/templates-profiler COPY templates /var/alchemy/templates COPY tests /var/alchemy/tests + +# Create needed folders + RUN mkdir -p /var/alchemy/Phraseanet/logs \ && chmod -R 777 /var/alchemy/Phraseanet/logs \ && mkdir -p /var/alchemy/Phraseanet/cache \ @@ -99,69 +123,11 @@ RUN mkdir -p /var/alchemy/Phraseanet/logs \ && mkdir -p /var/alchemy/Phraseanet/config \ && chmod -R 777 /var/alchemy/Phraseanet/config -# Phraseanet -FROM php:7.0-fpm-stretch as phraseanet-fpm -RUN apt-get update \ - && apt-get install -y \ - apt-transport-https \ - ca-certificates \ - gnupg2 \ - && apt-get update \ - && apt-get install -y --no-install-recommends zlib1g-dev \ - gettext \ - git \ - ghostscript \ - gpac \ - imagemagick \ - libav-tools \ - libfreetype6-dev \ - libicu-dev \ - libjpeg62-turbo-dev \ - libmagickwand-dev \ - libmcrypt-dev \ - libpng-dev \ - librabbitmq-dev \ - libssl-dev \ - libxslt-dev \ - libzmq3-dev \ - locales \ - mcrypt \ - swftools \ - unoconv \ - unzip \ - xpdf \ - && update-locale "LANG=fr_FR.UTF-8 UTF-8" \ - && dpkg-reconfigure --frontend noninteractive locales \ - && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ - && docker-php-ext-install -j$(nproc) gd \ - && docker-php-ext-install zip exif iconv mbstring pcntl sockets xsl intl pdo_mysql gettext bcmath mcrypt \ - && pecl install redis amqp-1.9.3 zmq-beta imagick-beta \ - && docker-php-ext-enable redis amqp zmq imagick \ - && pecl clear-cache \ - && docker-php-source delete \ - && rm -rf /var/lib/apt/lists/* +######################################################################### +# Phraseanet web application image +######################################################################### -RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \ - && php composer-setup.php --install-dir=/usr/local/bin --filename=composer \ - && php -r "unlink('composer-setup.php');" - -# Node Installation (node + yarn) -# Reference : -# https://linuxize.com/post/how-to-install-node-js-on-ubuntu-18.04/ -# https://yarnpkg.com/lang/en/docs/install/#debian-stable -RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ - && apt install -y nodejs \ - && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ - && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ - && apt-get update && apt-get install -y --no-install-recommends yarn \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/ - -RUN mkdir /entrypoint /var/alchemy \ - && useradd -u 1000 app \ - && mkdir -p /home/app/.composer \ - && chown -R app: /home/app /var/alchemy +FROM phraseanet-system as phraseanet-fpm COPY --from=builder --chown=app /var/alchemy /var/alchemy/Phraseanet ADD ./docker/phraseanet/ / @@ -169,11 +135,17 @@ WORKDIR /var/alchemy/Phraseanet ENTRYPOINT ["/phraseanet-entrypoint.sh"] CMD ["/boot.sh"] -# phraseanet-worker +######################################################################### +# Phraseanet worker application image +######################################################################### + FROM phraseanet-fpm as phraseanet-worker CMD ["/worker-boot.sh"] +######################################################################### # phraseanet-nginx +######################################################################### + FROM nginx:1.15 as phraseanet-nginx RUN useradd -u 1000 app ADD ./docker/nginx/ / diff --git a/Dockerfile-debug b/Dockerfile-debug deleted file mode 100644 index ac52e11669..0000000000 --- a/Dockerfile-debug +++ /dev/null @@ -1,18 +0,0 @@ -ARG phraseanet -FROM $phraseanet - -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - iproute2 \ - && rm -rf /var/lib/apt/lists/* \ - && pecl install xdebug \ - && docker-php-ext-enable xdebug \ - && pecl clear-cache - -ADD ./docker/phraseanet-debug/ / - -RUN chmod +x /entrypoint.sh /usr/local/bin/docker-* - -ENTRYPOINT ["/entrypoint.sh"] - -CMD ["php-fpm"] diff --git a/build.sh b/build.sh index 0f983ccac4..60e95a3b7d 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + # nginx server docker build --target phraseanet-nginx -t local/phraseanet-nginx:$1 . From 166c302889e1ca1fa39985ae2d9269499f2c81d2 Mon Sep 17 00:00:00 2001 From: aynsix Date: Fri, 29 Nov 2019 12:22:24 +0400 Subject: [PATCH 07/23] remove all and last in default query pref --- lib/Alchemy/Phrasea/Core/Version.php | 2 +- lib/classes/patch/410alpha19a.php | 69 ++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 lib/classes/patch/410alpha19a.php diff --git a/lib/Alchemy/Phrasea/Core/Version.php b/lib/Alchemy/Phrasea/Core/Version.php index 19011867d9..c209691c0b 100644 --- a/lib/Alchemy/Phrasea/Core/Version.php +++ b/lib/Alchemy/Phrasea/Core/Version.php @@ -16,7 +16,7 @@ class Version /** * @var string */ - private $number = '4.1.0-alpha.18a'; + private $number = '4.1.0-alpha.19a'; /** * @var string diff --git a/lib/classes/patch/410alpha19a.php b/lib/classes/patch/410alpha19a.php new file mode 100644 index 0000000000..43646981a4 --- /dev/null +++ b/lib/classes/patch/410alpha19a.php @@ -0,0 +1,69 @@ +release; + } + + /** + * {@inheritdoc} + */ + public function concern() + { + return $this->concern; + } + + /** + * {@inheritdoc} + */ + public function require_all_upgrades() + { + return false; + } + + /** + * {@inheritdoc} + */ + public function getDoctrineMigrations() + { + return []; + } + + /** + * {@inheritdoc} + */ + public function apply(base $appbox, Application $app) + { + // remove all and last in default query + $sql = "UPDATE UserSettings SET value = '' WHERE name = 'start_page_query' AND lower(trim(value)) in ('all','last')"; + $stmt = $appbox->get_connection()->prepare($sql); + $stmt->execute(); + $stmt->closeCursor(); + + return true; + } +} From 16a9863b0fe22ed88c6326c2b3e185f7411450e4 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Fri, 29 Nov 2019 12:31:14 +0400 Subject: [PATCH 08/23] PHRAS-2846 #comment fix button style on Prod-push window #time 2h --- package.json | 2 +- templates/web/prod/actions/Push.html.twig | 4 ++-- yarn.lock | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index fc730f3db4..31a385774f 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "normalize-css": "^2.1.0", "npm": "^6.0.0", "npm-modernizr": "^2.8.3", - "phraseanet-production-client": "0.34.80-d", + "phraseanet-production-client": "0.34.82-d", "requirejs": "^2.3.5", "tinymce": "^4.0.28", "underscore": "^1.8.3", diff --git a/templates/web/prod/actions/Push.html.twig b/templates/web/prod/actions/Push.html.twig index 720db4c0f6..f0b8640d06 100644 --- a/templates/web/prod/actions/Push.html.twig +++ b/templates/web/prod/actions/Push.html.twig @@ -218,8 +218,8 @@ - - + + diff --git a/yarn.lock b/yarn.lock index ebc0ac35a3..e393792080 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7577,10 +7577,10 @@ phraseanet-common@^0.4.1: js-cookie "^2.1.0" pym.js "^1.3.1" -phraseanet-production-client@0.34.80-d: - version "0.34.80-d" - resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.80-d.tgz#1e54bee4306ab11528377cb63c19d8c7491ef0f3" - integrity sha512-ilGs7ndDNztwlyeW9MA2TMiMhZC+P1/lNNeIsIuh+KuJH8M3Y3SWBcmsN2lqu5iM1Xg5FbWJ6iXcCSrLWHTqsw== +phraseanet-production-client@0.34.82-d: + version "0.34.82-d" + resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.82-d.tgz#904f649ae4164c38b8f3a36be0bf33d98b99f739" + integrity sha512-pofcyCNGbR/esbTxMkUGyn1M70PSsgcon/ZHRB6iHgFtgQKa4XUpDceGEtQqjMFPwB85d4sO8m9hgkLlC0pdIQ== dependencies: "@mapbox/mapbox-gl-language" "^0.9.2" "@turf/turf" "^5.1.6" From 5342f07a820c0bca392f83cc83ab4451a2d259c0 Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Fri, 29 Nov 2019 16:38:47 +0100 Subject: [PATCH 09/23] Revert "PHRAS-1324 : libfaac abandoned 4.1" --- .../Controller/Admin/SubdefsController.php | 24 +++++++++---------- lib/Alchemy/Phrasea/Media/Subdef/Video.php | 2 +- tests/classes/databox/subdefTest.php | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php index 5c2a61f2e5..e30aa03946 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php @@ -362,7 +362,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "256", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "240P H264 256 kbps ACC 128kbps" => [ @@ -373,7 +373,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "426", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "360P H264 576 kbps ACC 128kbps" => [ @@ -384,7 +384,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "480", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libtheora", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "480P H264 750 kbps ACC 128kbps" => [ @@ -395,7 +395,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "854", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "720P H264 1492 kbps ACC 128kbps" => [ @@ -406,7 +406,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1280", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "1080P H264 2420 kbps ACC 128kbps" => [ @@ -417,7 +417,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1920", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "video codec libvpx" => null, @@ -429,7 +429,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "256", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "240P webm 256 kbps ACC 128kbps" => [ @@ -440,7 +440,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "426", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "360P webm 576 kbps ACC 128kbps" => [ @@ -451,7 +451,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "480", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "480P webm 750 kbps ACC 128kbps" => [ @@ -462,7 +462,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "854", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "720P webm 1492 kbps ACC 128kbps" => [ @@ -473,7 +473,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1280", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], "1080P webm 2420 kbps ACC 128kbps" => [ @@ -484,7 +484,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1920", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libmp3lame", + Video::OPTION_ACODEC => "libfaac", Subdef::OPTION_DEVICE => ["all"] ], ], diff --git a/lib/Alchemy/Phrasea/Media/Subdef/Video.php b/lib/Alchemy/Phrasea/Media/Subdef/Video.php index 24a5812f90..ef0a113564 100644 --- a/lib/Alchemy/Phrasea/Media/Subdef/Video.php +++ b/lib/Alchemy/Phrasea/Media/Subdef/Video.php @@ -33,7 +33,7 @@ class Video extends Audio $this->registerOption(new OptionType\Range($this->translator->trans('Frame Rate'), self::OPTION_FRAMERATE, 1, 200, 20)); $this->registerOption(new OptionType\Enum($this->translator->trans('Video Codec'), self::OPTION_VCODEC, ['libx264', 'libvpx', 'libtheora'], 'libx264')); $this->unregisterOption(self::OPTION_ACODEC); - $this->registerOption(new OptionType\Enum($this->translator->trans('Audio Codec'), self::OPTION_ACODEC, ['libfdk_aac', 'libvo_aacenc', 'libmp3lame', 'libvorbis'], 'libfdk_aac')); + $this->registerOption(new OptionType\Enum($this->translator->trans('Audio Codec'), self::OPTION_ACODEC, ['libfaac', 'libvo_aacenc', 'libmp3lame', 'libvorbis'], 'libfaac')); } public function getType() diff --git a/tests/classes/databox/subdefTest.php b/tests/classes/databox/subdefTest.php index 75fbc962b9..f403712621 100644 --- a/tests/classes/databox/subdefTest.php +++ b/tests/classes/databox/subdefTest.php @@ -83,7 +83,7 @@ class databox_subdefTest extends \PHPUnit_Framework_TestCase 10 1 192 - libmp3lame + libfaac libx264 '; From cac34cc3a4856dcc0ab6587a98f7fd9f3e1e17e5 Mon Sep 17 00:00:00 2001 From: aynsix Date: Mon, 2 Dec 2019 16:34:49 +0400 Subject: [PATCH 10/23] add libfdk_aac and change presets name --- .../Controller/Admin/SubdefsController.php | 48 +++++++++---------- lib/Alchemy/Phrasea/Media/Subdef/Video.php | 2 +- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php index e30aa03946..02039f0860 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php @@ -354,7 +354,7 @@ class SubdefsController extends Controller Subdef::TYPE_VIDEO => [ "definitions" => [ "video codec H264" => null, - "144P H264 128 kbps ACC 128kbps" => [ + "144P H264 128 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "128", @@ -362,10 +362,10 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "256", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "240P H264 256 kbps ACC 128kbps" => [ + "240P H264 256 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "256", @@ -373,10 +373,10 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "426", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "360P H264 576 kbps ACC 128kbps" => [ + "360P H264 576 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "576", @@ -384,10 +384,10 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "480", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libtheora", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "480P H264 750 kbps ACC 128kbps" => [ + "480P H264 750 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "750", @@ -395,10 +395,10 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "854", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "720P H264 1492 kbps ACC 128kbps" => [ + "720P H264 1492 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "1492", @@ -406,10 +406,10 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1280", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "1080P H264 2420 kbps ACC 128kbps" => [ + "1080P H264 2420 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "2420", @@ -417,11 +417,11 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1920", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libx264", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], "video codec libvpx" => null, - "144P webm 128 kbps ACC 128kbps" => [ + "144P webm 128 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "128", @@ -429,10 +429,10 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "256", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "240P webm 256 kbps ACC 128kbps" => [ + "240P webm 256 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "256", @@ -440,10 +440,10 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "426", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "360P webm 576 kbps ACC 128kbps" => [ + "360P webm 576 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "576", @@ -451,10 +451,10 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "480", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "480P webm 750 kbps ACC 128kbps" => [ + "480P webm 750 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "750", @@ -462,10 +462,10 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "854", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "720P webm 1492 kbps ACC 128kbps" => [ + "720P webm 1492 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "1492", @@ -473,10 +473,10 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1280", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], - "1080P webm 2420 kbps ACC 128kbps" => [ + "1080P webm 2420 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", Video::OPTION_AUDIOSAMPLERATE => "44100", Video::OPTION_BITRATE => "2420", @@ -484,7 +484,7 @@ class SubdefsController extends Controller Video::OPTION_SIZE => "1920", Video::OPTION_FRAMERATE => "25", Video::OPTION_VCODEC => "libvpx", - Video::OPTION_ACODEC => "libfaac", + Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], ], diff --git a/lib/Alchemy/Phrasea/Media/Subdef/Video.php b/lib/Alchemy/Phrasea/Media/Subdef/Video.php index ef0a113564..1b0ce097b0 100644 --- a/lib/Alchemy/Phrasea/Media/Subdef/Video.php +++ b/lib/Alchemy/Phrasea/Media/Subdef/Video.php @@ -33,7 +33,7 @@ class Video extends Audio $this->registerOption(new OptionType\Range($this->translator->trans('Frame Rate'), self::OPTION_FRAMERATE, 1, 200, 20)); $this->registerOption(new OptionType\Enum($this->translator->trans('Video Codec'), self::OPTION_VCODEC, ['libx264', 'libvpx', 'libtheora'], 'libx264')); $this->unregisterOption(self::OPTION_ACODEC); - $this->registerOption(new OptionType\Enum($this->translator->trans('Audio Codec'), self::OPTION_ACODEC, ['libfaac', 'libvo_aacenc', 'libmp3lame', 'libvorbis'], 'libfaac')); + $this->registerOption(new OptionType\Enum($this->translator->trans('Audio Codec'), self::OPTION_ACODEC, ['libfaac', 'libvo_aacenc', 'libmp3lame', 'libvorbis', 'libfdk_aac'], 'libfdk_aac')); } public function getType() From c691be541cf0fbec0d29b61087982a77f86ec7bc Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Tue, 3 Dec 2019 18:05:01 +0400 Subject: [PATCH 11/23] PHRAS-2848 #comment Lightbox mobile design refacto #time 8h --- .../jquery-mobile/_jquery-validator.scss | 194 ++++++++++++++---- templates/mobile/common/menubar.html.twig | 8 +- templates/mobile/lightbox/index.html.twig | 26 ++- 3 files changed, 171 insertions(+), 57 deletions(-) diff --git a/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss b/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss index 7f49c0af1c..a64f197f32 100644 --- a/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss +++ b/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss @@ -1,30 +1,34 @@ $iconsPath: '../../../assets/common/images/icons/'; - -ul.image_set{ - padding:0; - margin:0; - border:none; - width:100%; - border:none; +$feedbackColor : #8bc34a; +$basketColor : #2196f3 ; +ul.image_set { + padding: 0; + margin: 0; + border: none; + width: 100%; + border: none; list-style-type: none; display: flex; flex-wrap: wrap; } -li.image_box a img{ - position:relative; - border:none; - width: auto!important; - height: 100% !important; + +li.image_box a img { + position: relative; + border: none; + width: auto !important; + height: 100% !important; top: 0 !important; object-fit: contain; } -li.image_box a{ - padding:0; - text-shadow:0; - margin:0; + +li.image_box a { + padding: 0; + text-shadow: 0; + margin: 0; width: 100%; } -li.image_box{ + +li.image_box { width: 18%; position: relative; margin: 0 2.5% 15px 0; @@ -38,19 +42,20 @@ li.image_box{ } .thumb_wrapper { background: #ededed; - width: 100%!important; - height: 160px!important; + width: 100% !important; + height: 160px !important; @media screen and (max-width: 767px) { - height: 130px !important; + height: 130px !important; } } } + @media screen and (max-width: 767px) { - li.image_box{ + li.image_box { width: 32%; margin: 0 2% 15px 0; &:nth-child(5n) { - margin-right: 2% ; + margin-right: 2%; } &:nth-child(3n) { margin-right: 0; @@ -58,35 +63,37 @@ li.image_box{ } } -a.no.active_choice{ - background-color:red; +a.no.active_choice { + background-color: red; color: #fff; } -a.active_choice{ + +a.active_choice { background-color: #53b401; color: #fff; } -.valid_choice{ - position:absolute; - bottom:0; - right:0; - width:16px; - height:16px; - z-index:2; +.valid_choice { + position: absolute; + bottom: 0; + right: 0; + width: 16px; + height: 16px; + z-index: 2; } -.valid_choice.agree{ +.valid_choice.agree { background: #7ed321; border-top-left-radius: 100px; } -.valid_choice.disagree{ + +.valid_choice.disagree { background: #d0021b; border-top-left-radius: 100px; } .thumb_wrapper { - text-align:center; + text-align: center; } @media screen and (orientation: landscape) { @@ -109,21 +116,120 @@ a.active_choice{ font-size: 18px; } - -.ui-listview .ui-li-has-thumb .ui-li-thumb, .ui-listview .ui-li-has-thumb>.ui-btn>img:first-child, .ui-listview .ui-li-has-thumb>img:first-child { +.ui-listview .ui-li-has-thumb .ui-li-thumb, .ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, .ui-listview .ui-li-has-thumb > img:first-child { top: 50%; transform: translateY(-50%); } /*user status*/ .menu-bar-item { - background: #000; - padding: 12px; - text-align: center; - a { - color: #fff!important; - text-decoration: none!important; - font-weight: normal; + background: #f0f0f0; + padding: 12px 15px; + text-align: left; + position: relative; + .icomoon { + font-size: 17px; + position: absolute; + left: 23px; + top: 50%; + transform: translateY(-50%); + } + .ui-link { + color: #4f4f4f !important; + text-decoration: none !important; + .text { + padding-left: 31px; + color: #4f4f4f !important; + text-decoration: none !important; + font-weight: 700; + font-size: 13px; + } } } +/*new design of lightbox*/ +/*main nav */ +#lightbox-menu { + li { + margin-bottom: 30px; + .ui-li-count { + border-radius: 3px !important; + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; + border: 0; + color: #fff; + text-shadow: none; + padding: 18px 23px; + top: 0; + right: 0; + margin: 0; + font-size: 22px; + min-width: 25px; + background: $feedbackColor; + } + &.ui-first-child { + margin-top: 15px; + } + &.ui-last-child { + a { + &:before { + background: $basketColor; + } + &:hover, &:active, &:focus { + color: $basketColor; + } + } + .ui-li-count { + background: $basketColor; + } + } + + } + a { + padding: 22px 25px; + font-size: 20px; + border-radius: 3px !important; + box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.19); + background-color: #eeeeee; + &:hover, &:active, &:focus { + color: $feedbackColor; + } + &:after { + content: none !important; + } + &:before { + content: ""; + position: absolute; + display: block; + width: 100%; + height: 4px; + bottom: 0; + background: $feedbackColor; + left: 0; + border-radius: 3px; + } + } +} + +.lightbox-bottom-btn { + margin-top: 50px; + .ui-btn { + font-size: 15px; + } +} +#validation, #basket { + .ui-content { + padding-left: 0; + padding-right: 0; + } +} +.basket-title { + background: $feedbackColor; + padding: 12px 30px; + font-size: 17px; + margin: 0; + text-shadow: none; + color: #fff; + font-weight: 700; +} + diff --git a/templates/mobile/common/menubar.html.twig b/templates/mobile/common/menubar.html.twig index 03a41053f7..d8190dd5fa 100644 --- a/templates/mobile/common/menubar.html.twig +++ b/templates/mobile/common/menubar.html.twig @@ -3,13 +3,13 @@ {% if app.getAuthenticator().isAuthenticated() %}

    diff --git a/templates/mobile/lightbox/index.html.twig b/templates/mobile/lightbox/index.html.twig index a270116c9c..418df10caa 100644 --- a/templates/mobile/lightbox/index.html.twig +++ b/templates/mobile/lightbox/index.html.twig @@ -44,17 +44,17 @@ {% include 'common/menubar.html.twig' %}
    -
      -
    • + - @@ -89,15 +89,19 @@
      {{ 'Back' | trans }} -

      {{ 'Validations' | trans }}

      +

      {{ module_name }}

      -

      - {{ 'Voici vos validations en cours' | trans }} -

      +

      + {{ 'Validations' | trans }} + {{_self.valid_baskets_length(baskets_collection)}} +

      +

      + {{ 'Voici vos validations en cours' | trans }} +

        {% for basket in baskets_collection | sort | reverse%} {% if basket.getValidation() %} @@ -122,12 +126,16 @@
        {{ 'Back' | trans }} -

        {{ 'Paniers' | trans }}

        +

        {{module_name}}

        +

        + {{ 'Paniers' | trans }} + {{_self.baskets_length(baskets_collection)}} +

        {{ 'Voici vos paniers' | trans }}

        From 2960ba8d848ac8c4258fe0aea0b3d0393c042d4c Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Wed, 4 Dec 2019 10:46:46 +0400 Subject: [PATCH 12/23] PHRAS-2375 #comment fix prod Roll over PDF #time 1h --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 31a385774f..e909dbb2ab 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "normalize-css": "^2.1.0", "npm": "^6.0.0", "npm-modernizr": "^2.8.3", - "phraseanet-production-client": "0.34.82-d", + "phraseanet-production-client": "0.34.84-d", "requirejs": "^2.3.5", "tinymce": "^4.0.28", "underscore": "^1.8.3", diff --git a/yarn.lock b/yarn.lock index e393792080..4d9806aeaa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7565,10 +7565,10 @@ phantomjs-prebuilt@^2.1.3: request-progress "^2.0.1" which "^1.2.10" -phraseanet-common@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/phraseanet-common/-/phraseanet-common-0.4.2.tgz#740de9bf254116adc506c9703015ab1533f89864" - integrity sha512-uyKULVCV9df161A970mWnZtdxAb/ZWCuUdnSTn0T9AGvwsWvKf2p6+pgEVtBQ81LIGn1m5UlhiF7dUlc6nT7iQ== +phraseanet-common@^0.4.5-d: + version "0.4.5-d" + resolved "https://registry.yarnpkg.com/phraseanet-common/-/phraseanet-common-0.4.5-d.tgz#193da1ab062f98e99729b7f98a7bbe32c495c7f3" + integrity sha512-7mmPDg0pFnFYyY1eazmUcDa18SGXp90zEBYTNzVan6goPPBjUmA0YwzBiuvDnxlcwMX8x0kDIrOouOBfWG5E1w== dependencies: es6-promise "^4.1.1" humane-js "^3.2.2" @@ -7577,10 +7577,10 @@ phraseanet-common@^0.4.1: js-cookie "^2.1.0" pym.js "^1.3.1" -phraseanet-production-client@0.34.82-d: - version "0.34.82-d" - resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.82-d.tgz#904f649ae4164c38b8f3a36be0bf33d98b99f739" - integrity sha512-pofcyCNGbR/esbTxMkUGyn1M70PSsgcon/ZHRB6iHgFtgQKa4XUpDceGEtQqjMFPwB85d4sO8m9hgkLlC0pdIQ== +phraseanet-production-client@0.34.84-d: + version "0.34.84-d" + resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.84-d.tgz#ccf091b51209c6d42fd3dc1e4f05f6bbefe44ea5" + integrity sha512-ZZZOIR7a+4AVwkx0s3e3P23sobQjWVFXrX3FnB6BhEC3qpR0b44bH1Dc7n53ciL5UQMmTNUNYoVTMpMfHpNrFA== dependencies: "@mapbox/mapbox-gl-language" "^0.9.2" "@turf/turf" "^5.1.6" @@ -7611,7 +7611,7 @@ phraseanet-production-client@0.34.82-d: mapbox-gl-circle "^1.6.5" mapbox.js "^2.4.0" nouislider "^9.2.0" - phraseanet-common "^0.4.1" + phraseanet-common "^0.4.5-d" pym.js "^1.3.1" rx "^4.1.0" sprintf-js "^1.1.1" From 3b8edf8e671fcef3c21d3b5a4db1231c6f13b918 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Wed, 4 Dec 2019 17:24:12 +0400 Subject: [PATCH 13/23] PHRAS-2848 --- .../jquery-mobile/_jquery-validator.scss | 82 ++++++++++++++++++- templates/mobile/lightbox/index.html.twig | 72 ++++++++-------- 2 files changed, 121 insertions(+), 33 deletions(-) diff --git a/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss b/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss index a64f197f32..4edfa60d29 100644 --- a/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss +++ b/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss @@ -217,7 +217,7 @@ a.active_choice { font-size: 15px; } } -#validation, #basket { +#validation, #baskets { .ui-content { padding-left: 0; padding-right: 0; @@ -231,5 +231,85 @@ a.active_choice { text-shadow: none; color: #fff; font-weight: 700; + #baskets & { + background: $basketColor; + } + span { + float: right; + } } +.feed-list { + li { + height: 71px; + padding-left: 109px!important; + padding-right: 80px!important; + border-color: #d4d4d4!important; + } + .lightbox-img { + width: 90px; + height: 90px; + background-color: #ededed; + position: absolute; + left: 0; + top: 0; + display: flex; + flex-wrap: wrap; + img { + display: flex; + align-items: center; + max-width: 100%; + max-height: 100%; + object-fit: contain; + } + } + h3 { + display: flex!important; + align-items: center; + height: 71px; + margin: 0!important; + font-size: 15px; + font-weight: bold!important; + a { + position: relative; + color: #313131!important; + width: 100%; + &:after { + content: "\e96c"; + font-family: icomoon; + position: absolute; + right: 0; + font-size: 20px; + line-height: 1; + top: 50%; + transform: translateY(-50%); + } + } + + } + span { + font-size: 17px; + color: #fff!important; + display: inline-block; + text-shadow: none!important; + top: 0; + width: 52px; + right: 0; + line-height: 25px; + padding: 31px 0px; + margin: 0; + border-radius: 0; + &.validation { + background: $feedbackColor!important; + } + &.baskets { + background: $basketColor!important; + } + } + +} +.lightbox-msg { + font-size: 14px; + color: #313131; + padding: 6px 0 6px 30px; +} diff --git a/templates/mobile/lightbox/index.html.twig b/templates/mobile/lightbox/index.html.twig index 418df10caa..5fb65f9f58 100644 --- a/templates/mobile/lightbox/index.html.twig +++ b/templates/mobile/lightbox/index.html.twig @@ -99,24 +99,28 @@ {{ 'Validations' | trans }} {{_self.valid_baskets_length(baskets_collection)}}

        -

        +

        -
          - {% for basket in baskets_collection | sort | reverse%} - {% if basket.getValidation() %} - {% set basket_length = basket.getElements().count() %} -
        • - {% if basket.getElements().first() %} - - {% endif %} -

          {{basket.getName()}}

          -

          {{ basket.getDescription() }}

          - {{ basket_length }} -
        • - {% endif %} - {% endfor %} -
        +
        +
          + {% for basket in baskets_collection | sort | reverse%} + {% if basket.getValidation() %} + {% set basket_length = basket.getElements().count() %} +
        • + {% if basket.getElements().first() %} + + {% endif %} +

          {{basket.getName()}}

          +

          {{ basket.getDescription() }}

          + {{ basket_length }} +
        • + {% endif %} + {% endfor %} +
        +
        @@ -136,24 +140,28 @@ {{ 'Paniers' | trans }} {{_self.baskets_length(baskets_collection)}}

        -

        +

        -
          - {% for basket in baskets_collection %} - {% if basket.getValidation() is empty %} - {% set basket_length = basket.getElements().count() %} -
        • - {% if basket.getElements().first() %} - - {% endif %} -

          {{ basket.getName() }}

          -

          {{ basket.getDescription() }}

          - {{basket_length}} -
        • - {% endif %} - {% endfor %} -
        +
        +
          + {% for basket in baskets_collection %} + {% if basket.getValidation() is empty %} + {% set basket_length = basket.getElements().count() %} +
        • + {% if basket.getElements().first() %} + + {% endif %} +

          {{ basket.getName() }}

          +

          {{ basket.getDescription() }}

          + {{basket_length}} +
        • + {% endif %} + {% endfor %} +
        +
        From 4fd9f49ec20ba3823a061bf386a2ff52ba8a9a86 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Thu, 5 Dec 2019 13:25:19 +0400 Subject: [PATCH 14/23] PHRAS-2848 #comment some --- .../lightbox/styles/jquery-mobile/_jquery-validator.scss | 6 ++++++ templates/mobile/lightbox/index.html.twig | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss b/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss index 4edfa60d29..013a7ae0a7 100644 --- a/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss +++ b/resources/www/lightbox/styles/jquery-mobile/_jquery-validator.scss @@ -245,6 +245,8 @@ a.active_choice { padding-left: 109px!important; padding-right: 80px!important; border-color: #d4d4d4!important; + text-overflow: inherit!important; + white-space: inherit!important; } .lightbox-img { width: 90px; @@ -258,6 +260,7 @@ a.active_choice { img { display: flex; align-items: center; + width: 90px; max-width: 100%; max-height: 100%; object-fit: contain; @@ -270,10 +273,13 @@ a.active_choice { margin: 0!important; font-size: 15px; font-weight: bold!important; + text-overflow: inherit!important; + white-space: inherit!important; a { position: relative; color: #313131!important; width: 100%; + padding-right: 18px; &:after { content: "\e96c"; font-family: icomoon; diff --git a/templates/mobile/lightbox/index.html.twig b/templates/mobile/lightbox/index.html.twig index 5fb65f9f58..188a514e86 100644 --- a/templates/mobile/lightbox/index.html.twig +++ b/templates/mobile/lightbox/index.html.twig @@ -145,7 +145,7 @@

          - {% for basket in baskets_collection %} + {% for basket in baskets_collection | sort | reverse %} {% if basket.getValidation() is empty %} {% set basket_length = basket.getElements().count() %}
        • From 1313d8ff829a052ff798171fe267411f1282ee66 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Thu, 5 Dec 2019 14:13:23 +0400 Subject: [PATCH 15/23] PHRAS-2850 #comment fix error icomoon #time 2h --- .../common/styles/fonts/PhraseanetIcomoon/style.css | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/style.css b/resources/www/common/styles/fonts/PhraseanetIcomoon/style.css index 566f9d5786..bef5e9c08c 100644 --- a/resources/www/common/styles/fonts/PhraseanetIcomoon/style.css +++ b/resources/www/common/styles/fonts/PhraseanetIcomoon/style.css @@ -1,13 +1,3 @@ -@font-face { - font-family: 'icomoon'; - src: url('fonts/icomoon.eot?81kpnc'); - src: url('fonts/icomoon.eot?81kpnc#iefix') format('embedded-opentype'), - url('fonts/icomoon.ttf?81kpnc') format('truetype'), - url('fonts/icomoon.woff?81kpnc') format('woff'), - url('fonts/icomoon.svg?81kpnc#icomoon') format('svg'); - font-weight: normal; - font-style: normal; -} [class^="icon-"], [class*=" icon-"] { /* use !important to prevent issues with browser extensions that change fonts */ From 960c40233c99b72ec380eff7db8ff5930b94716e Mon Sep 17 00:00:00 2001 From: aynsix Date: Thu, 5 Dec 2019 14:55:56 +0400 Subject: [PATCH 16/23] add presets and libmp3lame to default --- .../Controller/Admin/SubdefsController.php | 66 +++++++++++++++++++ lib/Alchemy/Phrasea/Media/Subdef/Video.php | 2 +- 2 files changed, 67 insertions(+), 1 deletion(-) diff --git a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php index 02039f0860..6ebdf524d7 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php @@ -420,6 +420,72 @@ class SubdefsController extends Controller Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], + "144P H264 128 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "128", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "256", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libx264", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], + "240P H264 256 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "256", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "426", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libx264", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], + "360P H264 576 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "576", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "480", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libtheora", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], + "480P H264 750 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "750", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "854", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libx264", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], + "720P H264 1492 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "1492", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "1280", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libx264", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], + "1080P H264 2420 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "2420", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "1920", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libx264", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], "video codec libvpx" => null, "144P webm 128 kbps MP3 128kbps" => [ Video::OPTION_AUDIOBITRATE => "128", diff --git a/lib/Alchemy/Phrasea/Media/Subdef/Video.php b/lib/Alchemy/Phrasea/Media/Subdef/Video.php index 1b0ce097b0..be673b937a 100644 --- a/lib/Alchemy/Phrasea/Media/Subdef/Video.php +++ b/lib/Alchemy/Phrasea/Media/Subdef/Video.php @@ -33,7 +33,7 @@ class Video extends Audio $this->registerOption(new OptionType\Range($this->translator->trans('Frame Rate'), self::OPTION_FRAMERATE, 1, 200, 20)); $this->registerOption(new OptionType\Enum($this->translator->trans('Video Codec'), self::OPTION_VCODEC, ['libx264', 'libvpx', 'libtheora'], 'libx264')); $this->unregisterOption(self::OPTION_ACODEC); - $this->registerOption(new OptionType\Enum($this->translator->trans('Audio Codec'), self::OPTION_ACODEC, ['libfaac', 'libvo_aacenc', 'libmp3lame', 'libvorbis', 'libfdk_aac'], 'libfdk_aac')); + $this->registerOption(new OptionType\Enum($this->translator->trans('Audio Codec'), self::OPTION_ACODEC, ['libfaac', 'libvo_aacenc', 'libmp3lame', 'libvorbis', 'libfdk_aac'], 'libmp3lame')); } public function getType() From d95014831ee888f6c54c7eb233802847cf84332e Mon Sep 17 00:00:00 2001 From: aynsix Date: Thu, 5 Dec 2019 15:23:59 +0400 Subject: [PATCH 17/23] update presets webm --- .../Controller/Admin/SubdefsController.php | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php index 6ebdf524d7..106a60b1d8 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/SubdefsController.php @@ -553,6 +553,72 @@ class SubdefsController extends Controller Video::OPTION_ACODEC => "libmp3lame", Subdef::OPTION_DEVICE => ["all"] ], + "144P webm 128 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "128", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "256", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libvpx", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], + "240P webm 256 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "256", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "426", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libvpx", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], + "360P webm 576 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "576", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "480", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libvpx", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], + "480P webm 750 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "750", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "854", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libvpx", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], + "720P webm 1492 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "1492", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "1280", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libvpx", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], + "1080P webm 2420 kbps AAC 128kbps" => [ + Video::OPTION_AUDIOBITRATE => "128", + Video::OPTION_AUDIOSAMPLERATE => "44100", + Video::OPTION_BITRATE => "2420", + Video::OPTION_GOPSIZE => "25", + Video::OPTION_SIZE => "1920", + Video::OPTION_FRAMERATE => "25", + Video::OPTION_VCODEC => "libvpx", + Video::OPTION_ACODEC => "libfdk_aac", + Subdef::OPTION_DEVICE => ["all"] + ], ], "form" => [ Video::OPTION_AUDIOBITRATE => "slide", From 0967f3c8104781e96ec0ed6bdd48f1118f78f610 Mon Sep 17 00:00:00 2001 From: Jean-Yves Gaulier Date: Thu, 5 Dec 2019 14:52:46 +0100 Subject: [PATCH 18/23] PHRAS-2631_feedback-icon fix : 2 new icons for feedback baskets; no more display of 2 icons. fix : tooltip on "about" icon of feedback baskets --- .../Phrasea/Controller/Prod/PushController.php | 2 +- .../common/images/icons/basket_feedback_read.png | Bin 0 -> 1372 bytes .../images/icons/basket_feedback_unread.png | Bin 0 -> 1502 bytes templates/web/prod/WorkZone/Macros.html.twig | 13 ++++++------- 4 files changed, 7 insertions(+), 8 deletions(-) create mode 100644 resources/www/common/images/icons/basket_feedback_read.png create mode 100644 resources/www/common/images/icons/basket_feedback_unread.png diff --git a/lib/Alchemy/Phrasea/Controller/Prod/PushController.php b/lib/Alchemy/Phrasea/Controller/Prod/PushController.php index f9ce528e41..6e650aefaa 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/PushController.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/PushController.php @@ -193,7 +193,7 @@ class PushController extends Controller 'Validation from %user%', [ '%user%' => $this->getAuthenticatedUser()->getDisplayName(), ])); - $validation_description = $request->request->get('validation_description'); + $validation_description = $request->request->get('message'); $participants = $request->request->get('participants'); diff --git a/resources/www/common/images/icons/basket_feedback_read.png b/resources/www/common/images/icons/basket_feedback_read.png new file mode 100644 index 0000000000000000000000000000000000000000..129170a64832e4607a8bd55d1950fa22e34e0b84 GIT binary patch literal 1372 zcmV-i1*7_jP)Px)7D+@wR7eeVReelVWf*_Xx#w^{Py{bJEzuEBf27NnGtIRnh;pSlW7eiE`J)fF zvdp;_MAQg3KxnSEWCij^&e<2)$C3+H5Lp9lrDba&Mll&q^lBJfF8AJZ`u$!wcYx#B ze)oOf^L)L}*Lz(8s%k6PK0kfIMedXANiuM-tG+1^+vax>t?v86n_Q))BVdQ4!{BbR zrTlo_yOqIw3f-oWeV{X7#l|g($1KrZx!a401LPd+;pz1WoL`|OjBS?B?q@aK;YxbnkH7< zK3JL;dd*eRO=2eLQnEhiVT?(>RI}c;Y?VR^e$`Ve zb*BmwIG=gJ;Q|e*g0gt1r<*6wKE)pOmuZTwG@&KZe_dT4?{2ZD_rR3iRRz z=I%bUrYPg?w0dUJiNUh${#Wu^9|ZqjV3Z0ZN0FUj0$llx*@;dfj#U*Et72-8?p^C% z^+;-yOVb~Qhr!sG^?K>X;78z7k(B5H9sO3T8`|Ef*I`O&s^Q5NPj9dCq!e5gU*>J| zq$GX7Oei2@>{couSOuh%aYlJhH#&2Sf-gVRLbucCjT8A|B1_@n@#4y&_M^;@$)d6j zQ>p&+;}WwX5=E!cSaO=X9DFqTL`D+xa^&nD=?!&Bj{gBMbhp?Lo=ov#M}gN;MdJFz z%D1GY=S|s=^&F3)AqK`08H=~6Gk)e(wHKU&)-t-!O1)p^c^1hJ7d}zJvWFN$U2$hd zXdrx*SBjRd53bd8O^r$4@M-z^^5^26V~EFRDB+PC(FO>QKsL_nu(CcN1><=N^Sjh( z3tpxF{Pkzw+1=F)KA(aJ6`a61!c=6wT>#U@wg>|p=?I|afl360=#8KeDsW<{#Fgza zt(S0~=qarF{+9f$X0lNYOLvelIe^?wCr$o}j>Jk{4V?T83}qCnQ`AK7C2oZttX4fp zsmbCiXt*@J0ujo zBsmLL3!fA|gVeEYEwi|C)nVEMTpV;&EYs8jmP!MJ5CL8aux_OjJ$3TOP=`FWyh`SK zmneZ4o+h@C=Hi6HGHijt2j6mD5*=`rhLeG_Z68!2B`=t8On+m=K-*`{!VnnjrPAum-?T|9=M{ zrCu@i0Yf1?FE*~*x;Q7L!6`D=IP(f*q^^*^uc8O05RK_HiUK=D9=tHT>+M}X9)}o< zJWdC!0VAOkx7RD)eMfW4=lb1G(*a4fr>c)SCVo_VGGbU6zB=A`aOby`;jl712BC2v zMhAq`O^zcKRmuXlcW1@D1?kI@^F3~3xn}4KAuD#wx-u4togeBO`T9u3FD=7E5p`Rz zXjB=-%72B#=wqLlVn*adMTgE=6^()*hQ=Jz2*JT3oHO|Px)m`OxIR7eeNRS9fVWe}cs?a_s8YoXz=U^!Zi5HOMgX^cVxw1|iZh$LdfC}?O( zgNalSEJ|8v0;mX)azqG`M2i76lpBf_Q?O70uObzsfE2c{+dbayJDl$?Zz;q{X6OIk z+}FPfF;wg?d|5x!){3*sW;lQLtgZ6Jt~gXkwvF#ZQdM11C{&QwNGp#P*`a8_{{6)~ zTkdF&Z(MuqC3>``p|1q7Rdq#{5w|F=8}!cVkkG}C7ixe@?M-$p7PCM2uD})=U@~Sf zx)>vjw;YCCRX6dsgkd%ouV~Mi^T*YE#HCdpDb)3-LE&J0FeJC;_KC<<$BNFw@#69O zC^Nk;{o^OzD1Qq^s6Q&vzbxQRr9 z0)YUZC*PBXFrzCaP1|5wHkk%I6Mg?@6|Fh(Jo){8>e#V|%4R6E>{T~)JJgVikUS6P zWMmXq=UqVv3EiZn6A#ehnz1A?S5YNWTnZ@)U0O2!z%VGli<`0g{Pm-zW<8$10qJvV z_!DPq*_Yod*!L74kxT>%07p@DfbXFAh8Pof(PS!`%2Y6=>7}FHBVI_`qDb;2%d)OT z0`cYZKE3@&cS(IWY@3ythfl476=9v{tx8sOnH`33YQ>Sl zCO-5}@GK2X8%e32UR2-wHA!qvbIGJ~r&r9}pA`+zO?XI@jj0_i$umS6)lUf)gL zZYp_w8o4|wMT15)3x`?Oga?f=h0$MeXu=P&BKLE~0?A)K*Z%fr^M9&gJ{DVt0=yu3 ztS}TYS6CjD4Py~y#7d)s78D$W5WE3l1PW*ylt3|8_stUDlgjc(d&f=Dd}<|I8vuq= zc7$uQs-Ov*X6y(>dtWsX-F?85dVKo1OGQpJ4pn#tE5!`5xYK-LoPT&VgmH|U!Mis5 z%P{q7>s-?NtlzyDHZ?hGqU2A`^-Nxv-NZ>`!!V3a8(L0-dgLW_F_NZflCJAwG~K&P zn0GPBfAC=1wu0J;T0UEny@k7!-MP$MK#sDj@vh1j11D+g&-3WQg10C#FsCakdA`lh zZccsE3}hf2XqsGPp}s)Q0OfcPFebGZ*3hrlkI-{NmQsdm0Cg-{PD}R8 zY#59H@iYLPyU3aENrnGA! {% if not basket.isRead() %} - + + {% else %} + {% endif %} - {{basket.getName()|e}} @@ -26,11 +27,9 @@
          - + From 5309794f338bd2886876b744488e2da6a989a0ba Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Fri, 6 Dec 2019 12:16:47 +0400 Subject: [PATCH 19/23] PHRAS-2848 remove basket description --- templates/mobile/lightbox/index.html.twig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/mobile/lightbox/index.html.twig b/templates/mobile/lightbox/index.html.twig index 188a514e86..67f698664f 100644 --- a/templates/mobile/lightbox/index.html.twig +++ b/templates/mobile/lightbox/index.html.twig @@ -114,7 +114,7 @@ {% endif %}

          {{basket.getName()}}

          -

          {{ basket.getDescription() }}

          + {#

          {{ basket.getDescription() }}

          #} {{ basket_length }} {% endif %} @@ -155,7 +155,7 @@ {% endif %}

          {{ basket.getName() }}

          -

          {{ basket.getDescription() }}

          + {#

          {{ basket.getDescription() }}

          #} {{basket_length}} {% endif %} From 775e4bd05af6ab89242b8db69684cbd4e31fb473 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Fri, 6 Dec 2019 17:03:23 +0400 Subject: [PATCH 20/23] PHRAS-2848 #comment fix error on firefox --- templates/mobile/lightbox/basket_element.html.twig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/mobile/lightbox/basket_element.html.twig b/templates/mobile/lightbox/basket_element.html.twig index 06e6d590a1..db4756347e 100644 --- a/templates/mobile/lightbox/basket_element.html.twig +++ b/templates/mobile/lightbox/basket_element.html.twig @@ -69,10 +69,10 @@ {% if basket_element.getBasket().getValidation() %} {% if basket_element.getBasket().getValidation().getParticipant(app.getAuthenticatedUser()).getCanAgree() %}
          - + - +
          From b76e503c0cc3ea963326f8a3733f96c82a5da506 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Fri, 6 Dec 2019 17:08:41 +0400 Subject: [PATCH 21/23] PHRAS-2848 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e909dbb2ab..fe943aebfb 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "normalize-css": "^2.1.0", "npm": "^6.0.0", "npm-modernizr": "^2.8.3", - "phraseanet-production-client": "0.34.84-d", + "phraseanet-production-client": "0.34.85-d", "requirejs": "^2.3.5", "tinymce": "^4.0.28", "underscore": "^1.8.3", diff --git a/yarn.lock b/yarn.lock index 4d9806aeaa..f97d972cc3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7577,10 +7577,10 @@ phraseanet-common@^0.4.5-d: js-cookie "^2.1.0" pym.js "^1.3.1" -phraseanet-production-client@0.34.84-d: - version "0.34.84-d" - resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.84-d.tgz#ccf091b51209c6d42fd3dc1e4f05f6bbefe44ea5" - integrity sha512-ZZZOIR7a+4AVwkx0s3e3P23sobQjWVFXrX3FnB6BhEC3qpR0b44bH1Dc7n53ciL5UQMmTNUNYoVTMpMfHpNrFA== +phraseanet-production-client@0.34.85-d: + version "0.34.85-d" + resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.85-d.tgz#e62f42f3464b664a56c2f0af3d7f5e7f3fcff802" + integrity sha512-V1tlEq24RMoGWnH7wHV5N/hCUxNfCiDgNaobcwfQMi/Hhdi0Xm3a1qX135w4B5xWZKilSfKNMIateiFI46xadw== dependencies: "@mapbox/mapbox-gl-language" "^0.9.2" "@turf/turf" "^5.1.6" From 713108078843350d3a89c352252edb7908a42127 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Wed, 11 Dec 2019 18:26:44 +0400 Subject: [PATCH 22/23] PHRAS-2856 #comment Fix prod Basket and story : Set records order --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index fe943aebfb..7525421e67 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "normalize-css": "^2.1.0", "npm": "^6.0.0", "npm-modernizr": "^2.8.3", - "phraseanet-production-client": "0.34.85-d", + "phraseanet-production-client": "^0.34.86-d", "requirejs": "^2.3.5", "tinymce": "^4.0.28", "underscore": "^1.8.3", diff --git a/yarn.lock b/yarn.lock index f97d972cc3..a7d490caab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7577,10 +7577,10 @@ phraseanet-common@^0.4.5-d: js-cookie "^2.1.0" pym.js "^1.3.1" -phraseanet-production-client@0.34.85-d: - version "0.34.85-d" - resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.85-d.tgz#e62f42f3464b664a56c2f0af3d7f5e7f3fcff802" - integrity sha512-V1tlEq24RMoGWnH7wHV5N/hCUxNfCiDgNaobcwfQMi/Hhdi0Xm3a1qX135w4B5xWZKilSfKNMIateiFI46xadw== +phraseanet-production-client@^0.34.86-d: + version "0.34.86-d" + resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.86-d.tgz#51e6c6fb17fcd2695cee90fb3d972c781057fd78" + integrity sha512-12o7pcRZAJ/5Ote4DbkaRxLz2GIZBUcZf53FB+GHVFxhds5ia6UNDCPhYP5vX4hhHtO/Y6Mj/BOlOjnoyi+k1g== dependencies: "@mapbox/mapbox-gl-language" "^0.9.2" "@turf/turf" "^5.1.6" From 5a703f207ae9dab9f1b0d6d70b20d86744d5c020 Mon Sep 17 00:00:00 2001 From: aynsix Date: Thu, 12 Dec 2019 12:13:56 +0400 Subject: [PATCH 23/23] fix record order in story --- lib/Alchemy/Phrasea/Databox/Record/LegacyRecordRepository.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Alchemy/Phrasea/Databox/Record/LegacyRecordRepository.php b/lib/Alchemy/Phrasea/Databox/Record/LegacyRecordRepository.php index 522d49baae..9924b8be94 100644 --- a/lib/Alchemy/Phrasea/Databox/Record/LegacyRecordRepository.php +++ b/lib/Alchemy/Phrasea/Databox/Record/LegacyRecordRepository.php @@ -140,6 +140,7 @@ class LegacyRecordRepository implements RecordRepository 's.rid_parent IN (:storyIds)', 'r.parent_record_id = 0' ) + ->orderBy('s.ord', 'ASC') ->setParameter('storyIds', $storyIds, Connection::PARAM_INT_ARRAY) ;