Commit graph

1234 commits

Author SHA1 Message Date
Pierre Rudloff
dc4eafe33f docs: Document magic properties 2019-04-21 19:10:37 +02:00
Pierre Rudloff
4fa604eec3 test(phpunit): Fix ConfigTest setup 2019-04-21 18:56:08 +02:00
Pierre Rudloff
51eaf192b1 refactor: Don't mix static and dynamic methods 2019-04-21 18:53:23 +02:00
Pierre Rudloff
06a631c892 fixup! refactor: New Video class 2019-04-21 18:35:24 +02:00
Pierre Rudloff
4c9af8ad1d refactor: New Video class
The news class provides a cleaner object-oriented logic

BREAKING CHANGE: The VideoDownload class has been removed and the Config constructor is now private
2019-04-21 18:30:02 +02:00
Pierre Rudloff
feb8998188 fixup! Typo 2019-04-21 09:21:24 +02:00
Pierre Rudloff
3077872517 Typo 2019-04-21 01:05:19 +02:00
Pierre Rudloff
ece51117e6 We don't need to do that anymore 2019-04-21 01:05:12 +02:00
Pierre Rudloff
586f20adb4 style(styleci): Lint 2019-04-21 00:58:04 +02:00
Pierre Rudloff
ddc27a8a2c refactor: New PlaylistArchiveVideo class
Cleaner way to handle PlaylistArchiveStream info about videos
2019-04-21 00:56:12 +02:00
Pierre Rudloff
f9bf3b8d47 refactor: Use a StreamInterface for PlaylistArchiveStream
It is much cleaner
2019-04-21 00:35:43 +02:00
Pierre Rudloff
ff5f518c73 ci(heroku): Install required locales
See https://elements.heroku.com/buildpacks/heroku/heroku-buildpack-locale
2019-04-20 12:47:31 +02:00
Pierre Rudloff
4b92015063 ci(heroku): Force Python version
In order to be compatible with the now heroku-18 stack
2019-04-20 12:31:49 +02:00
Pierre Rudloff
5cb8bc30b3 Merge branch 'feature/travis' into develop 2019-04-20 12:28:48 +02:00
Pierre Rudloff
ff95b93c20 fixup! ci(travis): Disable Twitter test on CI 2019-04-20 12:23:18 +02:00
Pierre Rudloff
f4654c7229 test(phpunit): Improve locale-related tests 2019-04-20 12:17:52 +02:00
Pierre Rudloff
0283ef6928 ci(appveyor): Install a specific PHP version 2019-04-20 11:51:07 +02:00
Pierre Rudloff
12747ade59 ci(travis): Disable Twitter test on CI 2019-04-20 11:30:36 +02:00
Pierre Rudloff
07261db27b fix: Don't call PlaylistArchiveStream parent constructor
Because it messes with the output buffer

Fixes #215
2019-04-20 11:27:13 +02:00
Pierre Rudloff
7ab4c55550 docs: Add comments to some tricky parts 2019-04-20 01:19:55 +02:00
Pierre Rudloff
c9cc1907ac ci(appveyor): Force phpunit 6 2019-04-20 01:00:04 +02:00
Pierre Rudloff
4537b661e1 fix: Close playlist streams correctly 2019-04-20 00:37:49 +02:00
Pierre Rudloff
cd623bfa36 ci(appveyor): Fix path to PHP config 2019-04-19 23:30:44 +02:00
Pierre Rudloff
f5408d409a style(csslint): Remove unused CSS class 2019-04-19 23:28:57 +02:00
Pierre Rudloff
71200c80bc test(phpunit): Disable Vimeo tests on CI 2019-04-19 23:28:54 +02:00
Pierre Rudloff
9949a0d32b
Merge pull request #213 from hiwelo/accessibility-improvements
Accessibility improvements
2019-04-19 23:11:39 +02:00
hiwelo
a5fbb74094
Fixes attributes used to link label & form inputs 2019-04-18 23:04:22 +02:00
Damien Senger
596d5e2994
Adds and fixes labels for video.tpl inputs
According to the WCAG success criterias 1.3.1 (Info and relationships),
3.3.2 (Labels or Instructions) and 4.1.2 (Name, Role, Value), labels
or instructions are required when content requires user input.

The bit rate label was replaced by a real label announcing the purpose
of the text input _Custom bitrate_. The existing unit indication is now
using a `<span>` attribute and it is linked to the input using an
`aria-describedby` attribute.

Also, the lack of label for the format conversion selectbox is fixed
by using a specific `aria-label` attribute.

Resources:
- https://www.w3.org/TR/WCAG21/#labels-or-instructions
- https://www.w3.org/TR/WCAG21/#info-and-relationships
- https://www.w3.org/TR/WCAG21/#name-role-value
- https://www.w3.org/TR/WCAG20-TECHS/H44.html
- https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions.html
- https://www.w3.org/TR/WCAG20-TECHS/ARIA1.html
2019-04-13 13:18:32 +02:00
Damien Senger
ce07a621e5
Improves a11y of password protected video form
According to the WCAG success criterias 1.3.1 (Info and relationships),
3.3.2 (Labels or Instructions) and 4.1.2 (Name, Role, Value), labels
or instructions are required when content requires user input.

To do so, this commit adds a label for the password input and hide it
with a CSS visually-hidden method to not alter the design.

Resources:
- https://www.w3.org/TR/WCAG21/#labels-or-instructions
- https://www.w3.org/TR/WCAG21/#info-and-relationships
- https://www.w3.org/TR/WCAG21/#name-role-value
- https://www.w3.org/TR/WCAG20-TECHS/H44.html
- https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions.html
- https://gomakethings.com/hidden-content-for-better-a11y/
2019-04-13 13:11:09 +02:00
Damien Senger
726e9bf5c1
Adds a label to audio options inputs
According to the WCAG success criterias 1.3.1 (Info and relationships),
3.3.2 (Labels or Instructions) and 4.1.2 (Name, Role, Value), labels
or instructions are required when content requires user input.

To do so, this commit adds a label for the "From" and the "To" inputs
displayed when a user chose to get the audio of a file only.

Resources:
- https://www.w3.org/TR/WCAG21/#labels-or-instructions
- https://www.w3.org/TR/WCAG21/#info-and-relationships
- https://www.w3.org/TR/WCAG21/#name-role-value
- https://www.w3.org/TR/WCAG20-TECHS/H44.html
- https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions.html
2019-04-13 12:57:42 +02:00
Damien Senger
27543f9024
Updates the doctype to be lowercase 2019-04-13 12:51:49 +02:00
Damien Senger
60350747a5
Adds a label to social sharing links
According to the WCAG (success criterias 2.4.4 and 4.1.2), the purpose
of each link should be determined from the link text alone or from the
link text together with its programmatically determined link context.

In this case, because there is no text content, we are using
`aria-label` to have an explicit purpose announced to users of
assisting technologies.

Resources:
- https://dequeuniversity.com/rules/axe/3.2/link-name
- https://www.w3.org/TR/WCAG21/#link-purpose-in-context
- https://www.w3.org/TR/WCAG20-TECHS/ARIA8.html
2019-04-13 12:19:11 +02:00
Pierre Rudloff
8229417fc2 build(composer): Dependencies update 2019-04-10 21:44:57 +02:00
Pierre Rudloff
7583eb1f5f build(composer): Dependencies update
mathmarques/smarty-view
2019-03-31 17:20:20 +02:00
Pierre Rudloff
06f665bdad build(yarn): Add grunt-phpstan 2019-03-31 17:18:57 +02:00
Pierre Rudloff
ac3b768b50 refactor(phpstan): Various code improvements 2019-03-31 16:25:17 +02:00
Pierre Rudloff
80b44af772 style: Clarify long conditions 2019-03-30 18:33:05 +01:00
Pierre Rudloff
5835bd67a5 refactor(phpstan): Various code improvements 2019-03-30 18:21:45 +01:00
Pierre Rudloff
0ed788560c refactor: PlaylistArchiveStream should call parent constructor 2019-03-30 18:10:51 +01:00
Pierre Rudloff
f315343798 refactor: Cleanup best format logic
Reuse $defaultFormat everywhere instead of duplicating conditions
2019-03-27 00:25:02 +01:00
Pierre Rudloff
506584ceee fix: Specify allowed protocols explicitely
"^=http" also catches http_dash_segments
2019-03-24 15:13:01 +01:00
Pierre Rudloff
2ebe1a5bb0 build(composer): Upgrade rg3/youtube-dl to 2019.03.18
To fix an issue with Vimeo videos
2019-03-24 14:26:11 +01:00
Pierre Rudloff
5594af95c1 build(composer): Dependencies update
symfony/yaml, symfony/process, symfony/var-dumper, phpunit/phpunit, heroku/heroku-buildpack-php,
mockery/mockery
2019-02-14 16:16:56 +01:00
Pierre Rudloff
93878220b5 fix(playlist): Unset title variable 2019-01-25 21:16:58 +01:00
Pierre Rudloff
dd034743a3 build(grunt): Don't include unused rinvex/countries files in release 2019-01-20 11:39:06 +01:00
Pierre Rudloff
998dbe38ef Merge tag '1.2.5' into develop
New Arabic locale
Use youtube-dl 2019.01.17
Added a config variable allowing to rename the app
2019-01-20 11:35:12 +01:00
Pierre Rudloff
aa04d773ef Merge branch 'release-1.2.5' 2019-01-20 11:33:52 +01:00
Pierre Rudloff
c1a16dcbe2 build(yarn): 1.2.5 release 2019-01-20 11:33:47 +01:00
Pierre Rudloff
7b057c0544 build(composer): Upgrade rg3/youtube-dl to 2019.01.17
Closes #208
2019-01-20 11:30:20 +01:00
Pierre Rudloff
7fa94a6fde build(composer): Upgrade php-mock/php-mock-mockery to 1.3.0 2019-01-15 11:33:24 +01:00