24 Commits

Author SHA1 Message Date
123e438123 Synchronisation scribe niveaux + eleves classes + profs classes (ref #34132) 2022-05-10 09:24:28 +02:00
62d32fbdb1 synchro modif 2022-05-09 15:58:02 +02:00
1faf9935b9 synchro modif 2022-05-09 15:26:13 +02:00
870b4701d5 ajout variable activer_revprox si non existante 2021-12-08 09:50:05 +01:00
1bd4f5bc72 templetisation du service wssnineboard 2021-12-07 15:00:22 +01:00
d71ac0df19 websocket server by service 2021-12-07 14:04:59 +01:00
f298298fb4 secretkey for amonecole 2021-12-06 17:03:32 +01:00
ed36a30dfe configuration reverse proxy wss 2021-12-06 16:13:13 +01:00
37531ca37c conf proxy wss 2021-12-06 14:46:37 +01:00
93f61c02ba correction orthographe (fixes #33009) 2021-10-18 10:07:17 +02:00
2a2f24222e rapatrier les variables eoledb dans la famille eoledb (ref #33188) 2021-10-07 11:00:24 +02:00
33f88f5c9d casdebug 2021-03-11 15:01:03 +01:00
96382c0698 sonde dnma alone 2021-02-17 12:51:42 +01:00
3f5f96c279 sonde dnma alone 2021-02-17 11:14:25 +01:00
e4365913b4 initsession 2021-02-09 16:51:03 +01:00
d0556edfdd ano ckeditor 2021-02-03 13:41:28 +01:00
bbc1fd225e gestion synchro no mail 2021-01-21 17:17:48 +01:00
6821d4106f gestion synchro no mail 2021-01-21 16:18:09 +01:00
45daf482d9 livraison des lib manquantes 2021-01-13 15:21:12 +01:00
dc1f23314d paquet apps en dep de dicos 2020-12-18 09:49:35 +01:00
85f47e57a1 svg 2020-12-16 11:34:59 +01:00
8658bb5a23 svg 2020-11-26 16:09:47 +01:00
d1a2131e0b websocket 2020-11-23 13:08:32 +01:00
85ff851a1a svg 2020-11-15 17:50:07 +01:00
293 changed files with 4902 additions and 353 deletions

1
debian/compat vendored
View File

@ -1 +0,0 @@
7

24
debian/control vendored
View File

@ -1,24 +0,0 @@
Source: eole-nineschool
Section: web
Priority: optional
Maintainer: Equipe Envole <eole@ac-dijon.fr>
Build-Depends: debhelper (>= 7.0.50)
Standards-Version: 3.8.4
Homepage: http://eole.orion.education.fr/diff/
Vcs-Git: http://dev-eole.ac-dijon.fr/git/nineschool
Vcs-Browser: http://dev-eole.ac-dijon.fr/projects/nineschool/repository
Package: nineschool-sso
Architecture: all
Depends: ${misc:Depends}, eole-sso
Description: Filtre SSO pour nineschool "EOLE".
Package: eole-nineschool
Architecture: all
Depends: ${misc:Depends}, eole-envole-dependances, nineschool-sso
Description: Eolisation de l'application nineschool.
Package: nineschool-apps
Architecture: all
Depends: ${misc:Depends}, envole-dependances-apps
Description: Sources pour nineschool "EOLE".

44
debian/copyright vendored
View File

@ -1,44 +0,0 @@
Format: http://dep.debian.net/deps/dep5
Upstream-Name: {PROJECT}
Source: {URL}
Files: *
Copyright: YEAR {UPSTREAM} {AUTHOR} <{MAIL}>
License: {UPSTREAM LICENSE}
Files: debian/*
Copyright: 2012 Équipe EOLE <eole@ac-dijon.fr>
License: CeCILL-2
License: {UPSTREAM LICENSE}
{TEXT OF THE LICENSE}
License: CeCILL-2
This software is governed by the CeCILL-2 license under French law and
abiding by the rules of distribution of free software. You can use,
modify and or redistribute the software under the terms of the CeCILL-2
license as circulated by CEA, CNRS and INRIA at the following URL
"http://www.cecill.info";.
.
As a counterpart to the access to the source code and rights to copy,
modify and redistribute granted by the license, users are provided only
with a limited warranty and the software's author, the holder of the
economic rights, and the successive licensors have only limited
liability.
.
In this respect, the user's attention is drawn to the risks associated
with loading, using, modifying and/or developing or reproducing the
software by the user in light of its specific status of free software,
that may mean that it is complicated to manipulate, and that also
therefore means that it is reserved for developers and experienced
professionals having in-depth computer knowledge. Users are therefore
encouraged to load and test the software's suitability as regards their
requirements in conditions enabling the security of their systems and/or
data to be ensured and, more generally, to use and operate it in the
same conditions as regards security.
.
The fact that you are presently reading this means that you have had
knowledge of the CeCILL-2 license and that you accept its terms.
.
On Eole systems, the complete text of the CeCILL-2 License can be found
in '/usr/share/common-licenses/CeCILL-2-en'.

View File

@ -1 +0,0 @@
usr/share/eole

3
debian/gbp.conf vendored
View File

@ -1,3 +0,0 @@
# Set per distribution debian tag
[DEFAULT]
debian-tag = debian/envole/%(version)s

View File

@ -1 +0,0 @@
var/www/html

View File

@ -1 +0,0 @@
usr/share/sso

8
debian/rules vendored
View File

@ -1,8 +0,0 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
dh $@

View File

@ -1 +0,0 @@
3.0 (native)

View File

@ -2,13 +2,12 @@
<creole>
<files>
<file filelist='nineschool' name='/etc/eole/eole-db.d/nineschool-db.yml' rm='True' mkdir='True'/>
<file filelist='nineschool_nginx' name='/etc/nginx/web.d/nineschool.conf' source='nineschool-nginx.conf' rm='True' mkdir='True' />
</files>
<containers>
<container name='web'>
<!--
<package>nineschool-apps</package>
-->
<package>nineschool-apps</package>
<!-- service de configuration apache -->
<service method="apache" servicelist="nineschool">nineschool</service>
@ -16,15 +15,16 @@
<!-- template -->
<file filelist='nineschool' name='/etc/apache2/sites-available/nineschool' source='nineschool-apache.conf' />
<file filelist='nineschool' name='/var/www/html/nineschool/.env.local' source='nineschool-env.local' rm='True'/>
<file filelist='ninegate' name='/etc/cron.d/nineschool' source='nineschool.cron' rm='True'/>
<file filelist='nineschool' name='/etc/cron.d/nineschool' source='nineschool.cron' rm='True'/>
</container>
</containers>
<variables>
<family name='nineschool'>
<family name='nineschool' icon='eye-open'>
<variable name="ninegate_test_ninegate" type="oui/non" hidden='True' exists='False'><value>non</value></variable>
<variable name="activer_revprox" type="oui/non" description="Activer le reverse proxy Nginx" hidden='True' exists='False'><value>non</value></variable>
<variable name='activer_nineschool' type='oui/non' description='Activer nineschool'>
<variable name='activer_nineschool' type='oui/non' description='Activer Nineschool'>
<value>oui</value>
</variable>
@ -54,8 +54,9 @@
<variable type='string' name='nineschool_smtppwd' description='Mot de passe associé du compte SMTP' mandatory='True' />
<variable type='string' name='nineschool_smtpencryption' description='Type Encryptage du serveur SMTP' mandatory='True' />
<variable type='string' name='nineschool_smtpauthmode' description='Mode Authentification du serveur SMTP' mandatory='True' />
</family>
<family name='EoleDB' icon='database' mode='expert'>
<!-- BDD -->
<variable type='string' name='nineschool_db_mode' description='Serveur de bases de données à utiliser' mode='expert'/>
<variable type='string' name='nineschool_dbserver' description='Adresse du serveur de base de données' mode='expert'/>
@ -68,7 +69,7 @@
<separators>
<separator name="nineschool_ldaptemplate">Paramètres associés à l'Annuaire</separator>
<separator name="nineschool_noreply">Paramètres associés aux Mails</separator>
<separator name="nineschool_db_mode">Paramètres associés à la Base de Données</separator>
<separator name="nineschool_db_mode">Paramètres EoleDB associés à Nineschool</separator>
</separators>
</variables>
@ -77,9 +78,15 @@
<condition name='hidden_if_in' source='activer_apache'>
<param>non</param>
<target type='filelist'>nineschool</target>
<target type='filelist'>nineschool_nginx</target>
<target type='servicelist'>nineschool</target>
</condition>
<!-- AFFICHAGE EN FONCTION DE REVERSE PROXY -->
<condition name='hidden_if_in' source='activer_revprox'>
<param>non</param>
<target type='filelist'>nineschool_nginx</target>
</condition>
<!-- AFFICHAGE EN FONCTION DE NINESCHOOL -->
<condition name='hidden_if_in' source='activer_nineschool'>
@ -109,6 +116,7 @@
<target type='variable'>nineschool_dbpass</target>
<target type='filelist'>nineschool</target>
<target type='filelist'>nineschool_nginx</target>
<target type='servicelist'>nineschool</target>
</condition>

View File

@ -1,36 +1,19 @@
# In all environments, the following files are loaded if they exist,
# the latter taking precedence over the former:
#
# * .env contains default values for the environment variables needed by the app
# * .env.local uncommitted file with local overrides
# * .env.$APP_ENV committed environment-specific defaults
# * .env.$APP_ENV.local uncommitted environment-specific overrides
#
# Real environment variables win over .env files.
#
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
#
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
###> symfony/framework-bundle ###
APP_SECRET=52c1cb88ee822cd2643abe29e16a68a6
# Symfony
APP_ENV=PROD
APP_SECRET=changemeinenvlocal
#TRUSTED_PROXIES=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
#TRUSTED_HOSTS='^(localhost|example\.com)$'
###< symfony/framework-bundle ###
###> symfony/mailer ###
# MAILER_DSN=smtp://localhost
###< symfony/mailer ###
###< doctrine/doctrine-bundle ###
# Basic
APP_ALIAS=nineschool
APP_WEBURL=
APP_MASTERIDENTITY=LDAP
APP_AUTH=MYSQL
APP_NAME=Nineschool
APP_ENV=PROD
APP_CRON=false
APP_ALIAS=
APP_NAME=
APP_CRON=1
APP_MASTERURL=
APP_MASTERKEY=
# BDD
DATABASE_NAME=
@ -38,12 +21,15 @@ DATABASE_USER=
DATABASE_PASSWORD=
DATABASE_HOST=
# MAIL sendmail / smtp
MAILER_METHOD=sendmail
MAILER_URL=
MAILER_NOREPLY=noreply@noreply.fr
# LDAP
LDAP_MODEL=open
LDAP_HOST=
LDAP_PORT=
LDAP_USER=
@ -55,6 +41,7 @@ LDAP_LASTNAME=sn
LDAP_EMAIL=mail
LDAP_ADMINS='["admin"]'
# If APP_AUTH = CAS
CAS_HOST=
CAS_PORT=
@ -64,9 +51,18 @@ CAS_EMAIL=email
CAS_LASTNAME=lastname
CAS_FIRSTNAME=firstname
###> symfony/swiftmailer-bundle ###
# For Gmail as a transport, use: "gmail://username:password@localhost"
# For a generic SMTP server, use: "smtp://localhost:25?encryption=&auth_mode="
# Delivery is disabled by default via "null://localhost"
MAILER_URL=null://localhost
###< symfony/swiftmailer-bundle ###
# WEBSOCKET
WSS_USE=0
WSS_PORT=5586
# Proxy
PROXY_USE=0
PROXY_HOST=
PROXY_PORT=
# Sonde statistic
SONDE_USE=0
SONDE_URL=

View File

@ -1,10 +1,16 @@
// JQuery
window.$ = window.jQuery = require('jquery');
// JQueryui
require('jqueryui');
// Bootstrap
require('bootstrap');
require('bootstrap/dist/css/bootstrap.min.css');
// timepicki
const timepicki = require('timepicki/js/timepicki.js');
// Datatables
require('datatables.net-bs4');
require('./datatables.init.js');
@ -13,14 +19,29 @@ require('datatables.net-bs4/css/dataTables.bootstrap4.min.css');
// Fontawesome
require('@fortawesome/fontawesome-free/css/all.css');
// bs-stepper
require('bs-stepper/dist/css/bs-stepper.min.css');
const Stepper = require('bs-stepper/dist/js/bs-stepper.min.js');
global.Stepper = Stepper;
// Masonery
const masonry = require('masonry-layout/dist/masonry.pkgd.min.js');
global.masonry = masonry;
// Slick
require('slick-carousel/slick/slick.css');
const slick = require('slick-carousel/slick/slick.min.js');
global.slick = slick;
// Imageloaded
const imagesLoaded = require('imagesloaded/imagesloaded.js');
global.imagesLoaded = imagesLoaded;
// Moment
const moment = require('moment');
global.moment = moment;
require('moment/locale/fr.js');
// TempusDominus
require('tempusdominus-bootstrap-4');
// Select2
require('select2');
require('select2/dist/js/i18n/fr.js');

View File

@ -5,6 +5,7 @@
"php": "^7.1.3",
"ext-ctype": "*",
"ext-iconv": "*",
"cboden/ratchet": "^0.4.3",
"doctrine/annotations": "^1.8",
"friendsofsymfony/ckeditor-bundle": "^2.2",
"friendsofsymfony/rest-bundle": "^3.0",
@ -14,6 +15,7 @@
"nategood/httpful": "^0.3.2",
"nelmio/api-doc-bundle": "^3.6",
"oneup/uploader-bundle": "^3.0",
"ramsey/uuid": "^4.1",
"sensio/framework-extra-bundle": "^5.1",
"symfony/apache-pack": "^1.0",
"symfony/asset": "5.1.*",

View File

@ -4,8 +4,111 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "dcf29a3826720301ab52c6fe3543f7bd",
"content-hash": "6e17c24e8ecdd92e1fa9b4738c5c94f3",
"packages": [
{
"name": "brick/math",
"version": "0.9.1",
"source": {
"type": "git",
"url": "https://github.com/brick/math.git",
"reference": "283a40c901101e66de7061bd359252c013dcc43c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/brick/math/zipball/283a40c901101e66de7061bd359252c013dcc43c",
"reference": "283a40c901101e66de7061bd359252c013dcc43c",
"shasum": ""
},
"require": {
"ext-json": "*",
"php": "^7.1|^8.0"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.2",
"phpunit/phpunit": "^7.5.15|^8.5",
"vimeo/psalm": "^3.5"
},
"type": "library",
"autoload": {
"psr-4": {
"Brick\\Math\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Arbitrary-precision arithmetic library",
"keywords": [
"Arbitrary-precision",
"BigInteger",
"BigRational",
"arithmetic",
"bigdecimal",
"bignum",
"brick",
"math"
],
"time": "2020-08-18T23:57:15+00:00"
},
{
"name": "cboden/ratchet",
"version": "v0.4.3",
"source": {
"type": "git",
"url": "https://github.com/ratchetphp/Ratchet.git",
"reference": "466a0ecc83209c75b76645eb823401b5c52e5f21"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ratchetphp/Ratchet/zipball/466a0ecc83209c75b76645eb823401b5c52e5f21",
"reference": "466a0ecc83209c75b76645eb823401b5c52e5f21",
"shasum": ""
},
"require": {
"guzzlehttp/psr7": "^1.0",
"php": ">=5.4.2",
"ratchet/rfc6455": "^0.3",
"react/socket": "^1.0 || ^0.8 || ^0.7 || ^0.6 || ^0.5",
"symfony/http-foundation": "^2.6|^3.0|^4.0|^5.0",
"symfony/routing": "^2.6|^3.0|^4.0|^5.0"
},
"require-dev": {
"phpunit/phpunit": "~4.8"
},
"type": "library",
"autoload": {
"psr-4": {
"Ratchet\\": "src/Ratchet"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Chris Boden",
"email": "cboden@gmail.com",
"role": "Developer"
},
{
"name": "Matt Bonneau",
"role": "Developer"
}
],
"description": "PHP WebSocket library",
"homepage": "http://socketo.me",
"keywords": [
"Ratchet",
"WebSockets",
"server",
"sockets",
"websocket"
],
"time": "2020-07-07T15:50:14+00:00"
},
{
"name": "doctrine/annotations",
"version": "1.10.3",
@ -1165,6 +1268,7 @@
"reflection",
"static"
],
"abandoned": "roave/better-reflection",
"time": "2020-03-27T11:06:43+00:00"
},
{
@ -1278,6 +1382,49 @@
],
"time": "2020-06-16T20:11:17+00:00"
},
{
"name": "evenement/evenement",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/igorw/evenement.git",
"reference": "531bfb9d15f8aa57454f5f0285b18bec903b8fb7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/igorw/evenement/zipball/531bfb9d15f8aa57454f5f0285b18bec903b8fb7",
"reference": "531bfb9d15f8aa57454f5f0285b18bec903b8fb7",
"shasum": ""
},
"require": {
"php": ">=7.0"
},
"require-dev": {
"phpunit/phpunit": "^6.0"
},
"type": "library",
"autoload": {
"psr-0": {
"Evenement": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Igor Wiedler",
"email": "igor@wiedler.ch"
}
],
"description": "Événement is a very simple event dispatching library for PHP",
"keywords": [
"event-dispatcher",
"event-emitter"
],
"time": "2017-07-23T21:35:13+00:00"
},
{
"name": "exsyst/swagger",
"version": "v0.4.1",
@ -1496,6 +1643,77 @@
],
"time": "2020-06-29T11:19:01+00:00"
},
{
"name": "guzzlehttp/psr7",
"version": "1.7.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3",
"reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3",
"shasum": ""
},
"require": {
"php": ">=5.4.0",
"psr/http-message": "~1.0",
"ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
},
"provide": {
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"ext-zlib": "*",
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.7-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\Psr7\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Schultze",
"homepage": "https://github.com/Tobion"
}
],
"description": "PSR-7 message implementation that also provides common utility methods",
"keywords": [
"http",
"message",
"psr-7",
"request",
"response",
"stream",
"uri",
"url"
],
"time": "2020-09-30T07:37:11+00:00"
},
{
"name": "jasig/phpcas",
"version": "1.3.8",
@ -2495,6 +2713,56 @@
],
"time": "2019-01-08T18:20:26+00:00"
},
{
"name": "psr/http-message",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
"homepage": "https://github.com/php-fig/http-message",
"keywords": [
"http",
"http-message",
"psr",
"psr-7",
"request",
"response"
],
"time": "2016-08-06T14:39:51+00:00"
},
{
"name": "psr/link",
"version": "1.0.0",
@ -2591,6 +2859,627 @@
],
"time": "2020-03-23T09:12:05+00:00"
},
{
"name": "ralouphie/getallheaders",
"version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/ralouphie/getallheaders.git",
"reference": "120b605dfeb996808c31b6477290a714d356e822"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
"reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": ""
},
"require": {
"php": ">=5.6"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.1",
"phpunit/phpunit": "^5 || ^6.5"
},
"type": "library",
"autoload": {
"files": [
"src/getallheaders.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ralph Khattar",
"email": "ralph.khattar@gmail.com"
}
],
"description": "A polyfill for getallheaders.",
"time": "2019-03-08T08:55:37+00:00"
},
{
"name": "ramsey/collection",
"version": "1.1.1",
"source": {
"type": "git",
"url": "https://github.com/ramsey/collection.git",
"reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ramsey/collection/zipball/24d93aefb2cd786b7edd9f45b554aea20b28b9b1",
"reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8"
},
"require-dev": {
"captainhook/captainhook": "^5.3",
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
"ergebnis/composer-normalize": "^2.6",
"fzaninotto/faker": "^1.5",
"hamcrest/hamcrest-php": "^2",
"jangregor/phpstan-prophecy": "^0.6",
"mockery/mockery": "^1.3",
"phpstan/extension-installer": "^1",
"phpstan/phpstan": "^0.12.32",
"phpstan/phpstan-mockery": "^0.12.5",
"phpstan/phpstan-phpunit": "^0.12.11",
"phpunit/phpunit": "^8.5",
"psy/psysh": "^0.10.4",
"slevomat/coding-standard": "^6.3",
"squizlabs/php_codesniffer": "^3.5",
"vimeo/psalm": "^3.12.2"
},
"type": "library",
"autoload": {
"psr-4": {
"Ramsey\\Collection\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ben Ramsey",
"email": "ben@benramsey.com",
"homepage": "https://benramsey.com"
}
],
"description": "A PHP 7.2+ library for representing and manipulating collections.",
"keywords": [
"array",
"collection",
"hash",
"map",
"queue",
"set"
],
"time": "2020-09-10T20:58:17+00:00"
},
{
"name": "ramsey/uuid",
"version": "4.1.1",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
"reference": "cd4032040a750077205918c86049aa0f43d22947"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947",
"reference": "cd4032040a750077205918c86049aa0f43d22947",
"shasum": ""
},
"require": {
"brick/math": "^0.8 || ^0.9",
"ext-json": "*",
"php": "^7.2 || ^8",
"ramsey/collection": "^1.0",
"symfony/polyfill-ctype": "^1.8"
},
"replace": {
"rhumsaa/uuid": "self.version"
},
"require-dev": {
"codeception/aspect-mock": "^3",
"dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0",
"doctrine/annotations": "^1.8",
"goaop/framework": "^2",
"mockery/mockery": "^1.3",
"moontoast/math": "^1.1",
"paragonie/random-lib": "^2",
"php-mock/php-mock-mockery": "^1.3",
"php-mock/php-mock-phpunit": "^2.5",
"php-parallel-lint/php-parallel-lint": "^1.1",
"phpbench/phpbench": "^0.17.1",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^0.12",
"phpstan/phpstan-mockery": "^0.12",
"phpstan/phpstan-phpunit": "^0.12",
"phpunit/phpunit": "^8.5",
"psy/psysh": "^0.10.0",
"slevomat/coding-standard": "^6.0",
"squizlabs/php_codesniffer": "^3.5",
"vimeo/psalm": "3.9.4"
},
"suggest": {
"ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.",
"ext-ctype": "Enables faster processing of character classification using ctype functions.",
"ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.",
"ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.",
"paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
"ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.x-dev"
}
},
"autoload": {
"psr-4": {
"Ramsey\\Uuid\\": "src/"
},
"files": [
"src/functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
"homepage": "https://github.com/ramsey/uuid",
"keywords": [
"guid",
"identifier",
"uuid"
],
"time": "2020-08-18T17:17:46+00:00"
},
{
"name": "ratchet/rfc6455",
"version": "v0.3",
"source": {
"type": "git",
"url": "https://github.com/ratchetphp/RFC6455.git",
"reference": "c8651c7938651c2d55f5d8c2422ac5e57a183341"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ratchetphp/RFC6455/zipball/c8651c7938651c2d55f5d8c2422ac5e57a183341",
"reference": "c8651c7938651c2d55f5d8c2422ac5e57a183341",
"shasum": ""
},
"require": {
"guzzlehttp/psr7": "^1.0",
"php": ">=5.4.2"
},
"require-dev": {
"phpunit/phpunit": "5.7.*",
"react/socket": "^1.3"
},
"type": "library",
"autoload": {
"psr-4": {
"Ratchet\\RFC6455\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Chris Boden",
"email": "cboden@gmail.com",
"role": "Developer"
},
{
"name": "Matt Bonneau",
"role": "Developer"
}
],
"description": "RFC6455 WebSocket protocol handler",
"homepage": "http://socketo.me",
"keywords": [
"WebSockets",
"rfc6455",
"websocket"
],
"time": "2020-05-15T18:31:24+00:00"
},
{
"name": "react/cache",
"version": "v1.1.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/cache.git",
"reference": "44a568925556b0bd8cacc7b49fb0f1cf0d706a0c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/reactphp/cache/zipball/44a568925556b0bd8cacc7b49fb0f1cf0d706a0c",
"reference": "44a568925556b0bd8cacc7b49fb0f1cf0d706a0c",
"shasum": ""
},
"require": {
"php": ">=5.3.0",
"react/promise": "^3.0 || ^2.0 || ^1.1"
},
"require-dev": {
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35"
},
"type": "library",
"autoload": {
"psr-4": {
"React\\Cache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Christian Lück",
"email": "christian@clue.engineering",
"homepage": "https://clue.engineering/"
},
{
"name": "Cees-Jan Kiewiet",
"email": "reactphp@ceesjankiewiet.nl",
"homepage": "https://wyrihaximus.net/"
},
{
"name": "Jan Sorgalla",
"email": "jsorgalla@gmail.com",
"homepage": "https://sorgalla.com/"
},
{
"name": "Chris Boden",
"email": "cboden@gmail.com",
"homepage": "https://cboden.dev/"
}
],
"description": "Async, Promise-based cache interface for ReactPHP",
"keywords": [
"cache",
"caching",
"promise",
"reactphp"
],
"time": "2020-09-18T12:12:35+00:00"
},
{
"name": "react/dns",
"version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/dns.git",
"reference": "665260757171e2ab17485b44e7ffffa7acb6ca1f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/reactphp/dns/zipball/665260757171e2ab17485b44e7ffffa7acb6ca1f",
"reference": "665260757171e2ab17485b44e7ffffa7acb6ca1f",
"shasum": ""
},
"require": {
"php": ">=5.3.0",
"react/cache": "^1.0 || ^0.6 || ^0.5",
"react/event-loop": "^1.0 || ^0.5",
"react/promise": "^3.0 || ^2.7 || ^1.2.1",
"react/promise-timer": "^1.2"
},
"require-dev": {
"clue/block-react": "^1.2",
"phpunit/phpunit": "^9.3 || ^4.8.35"
},
"type": "library",
"autoload": {
"psr-4": {
"React\\Dns\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Christian Lück",
"email": "christian@clue.engineering",
"homepage": "https://clue.engineering/"
},
{
"name": "Cees-Jan Kiewiet",
"email": "reactphp@ceesjankiewiet.nl",
"homepage": "https://wyrihaximus.net/"
},
{
"name": "Jan Sorgalla",
"email": "jsorgalla@gmail.com",
"homepage": "https://sorgalla.com/"
},
{
"name": "Chris Boden",
"email": "cboden@gmail.com",
"homepage": "https://cboden.dev/"
}
],
"description": "Async DNS resolver for ReactPHP",
"keywords": [
"async",
"dns",
"dns-resolver",
"reactphp"
],
"time": "2020-09-18T12:12:55+00:00"
},
{
"name": "react/event-loop",
"version": "v1.1.1",
"source": {
"type": "git",
"url": "https://github.com/reactphp/event-loop.git",
"reference": "6d24de090cd59cfc830263cfba965be77b563c13"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/reactphp/event-loop/zipball/6d24de090cd59cfc830263cfba965be77b563c13",
"reference": "6d24de090cd59cfc830263cfba965be77b563c13",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35"
},
"suggest": {
"ext-event": "~1.0 for ExtEventLoop",
"ext-pcntl": "For signal handling support when using the StreamSelectLoop",
"ext-uv": "* for ExtUvLoop"
},
"type": "library",
"autoload": {
"psr-4": {
"React\\EventLoop\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.",
"keywords": [
"asynchronous",
"event-loop"
],
"time": "2020-01-01T18:39:52+00:00"
},
{
"name": "react/promise",
"version": "v2.8.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/promise.git",
"reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4",
"reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4",
"shasum": ""
},
"require": {
"php": ">=5.4.0"
},
"require-dev": {
"phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36"
},
"type": "library",
"autoload": {
"psr-4": {
"React\\Promise\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jan Sorgalla",
"email": "jsorgalla@gmail.com"
}
],
"description": "A lightweight implementation of CommonJS Promises/A for PHP",
"keywords": [
"promise",
"promises"
],
"time": "2020-05-12T15:16:56+00:00"
},
{
"name": "react/promise-timer",
"version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/promise-timer.git",
"reference": "daee9baf6ef30c43ea4c86399f828bb5f558f6e6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/reactphp/promise-timer/zipball/daee9baf6ef30c43ea4c86399f828bb5f558f6e6",
"reference": "daee9baf6ef30c43ea4c86399f828bb5f558f6e6",
"shasum": ""
},
"require": {
"php": ">=5.3",
"react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5",
"react/promise": "^3.0 || ^2.7.0 || ^1.2.1"
},
"require-dev": {
"phpunit/phpunit": "^9.0 || ^5.7 || ^4.8.35"
},
"type": "library",
"autoload": {
"psr-4": {
"React\\Promise\\Timer\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Christian Lück",
"email": "christian@lueck.tv"
}
],
"description": "A trivial implementation of timeouts for Promises, built on top of ReactPHP.",
"homepage": "https://github.com/reactphp/promise-timer",
"keywords": [
"async",
"event-loop",
"promise",
"reactphp",
"timeout",
"timer"
],
"time": "2020-07-10T12:18:06+00:00"
},
{
"name": "react/socket",
"version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/socket.git",
"reference": "e2b96b23a13ca9b41ab343268dbce3f8ef4d524a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/reactphp/socket/zipball/e2b96b23a13ca9b41ab343268dbce3f8ef4d524a",
"reference": "e2b96b23a13ca9b41ab343268dbce3f8ef4d524a",
"shasum": ""
},
"require": {
"evenement/evenement": "^3.0 || ^2.0 || ^1.0",
"php": ">=5.3.0",
"react/dns": "^1.1",
"react/event-loop": "^1.0 || ^0.5",
"react/promise": "^2.6.0 || ^1.2.1",
"react/promise-timer": "^1.4.0",
"react/stream": "^1.1"
},
"require-dev": {
"clue/block-react": "^1.2",
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35",
"react/promise-stream": "^1.2"
},
"type": "library",
"autoload": {
"psr-4": {
"React\\Socket\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Christian Lück",
"email": "christian@clue.engineering",
"homepage": "https://clue.engineering/"
},
{
"name": "Cees-Jan Kiewiet",
"email": "reactphp@ceesjankiewiet.nl",
"homepage": "https://wyrihaximus.net/"
},
{
"name": "Jan Sorgalla",
"email": "jsorgalla@gmail.com",
"homepage": "https://sorgalla.com/"
},
{
"name": "Chris Boden",
"email": "cboden@gmail.com",
"homepage": "https://cboden.dev/"
}
],
"description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP",
"keywords": [
"Connection",
"Socket",
"async",
"reactphp",
"stream"
],
"time": "2020-08-28T12:49:05+00:00"
},
{
"name": "react/stream",
"version": "v1.1.1",
"source": {
"type": "git",
"url": "https://github.com/reactphp/stream.git",
"reference": "7c02b510ee3f582c810aeccd3a197b9c2f52ff1a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/reactphp/stream/zipball/7c02b510ee3f582c810aeccd3a197b9c2f52ff1a",
"reference": "7c02b510ee3f582c810aeccd3a197b9c2f52ff1a",
"shasum": ""
},
"require": {
"evenement/evenement": "^3.0 || ^2.0 || ^1.0",
"php": ">=5.3.8",
"react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5"
},
"require-dev": {
"clue/stream-filter": "~1.2",
"phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35"
},
"type": "library",
"autoload": {
"psr-4": {
"React\\Stream\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP",
"keywords": [
"event-driven",
"io",
"non-blocking",
"pipe",
"reactphp",
"readable",
"stream",
"writable"
],
"time": "2020-05-04T10:17:57+00:00"
},
{
"name": "sensio/framework-extra-bundle",
"version": "v5.5.6",

View File

@ -11,10 +11,21 @@ fos_ck_editor:
full_config:
language: fr
toolbar: "my_full_toolbar"
extraPlugins: ["html5video","youtube"]
small_config:
language: fr
toolbar: "my_small_toolbar"
removePlugins: 'elementspath'
plugins:
youtube:
path: "build/ckeditor/plugins/youtube/"
filename: "plugin.js"
html5video:
path: "build/ckeditor/plugins/html5video/"
filename: "plugin.js"
pastebase64:
path: "build/ckeditor/plugins/pastebase64/"
filename: "plugin.js"
toolbars:
configs:
my_full_toolbar: [ "@document1", "-", "@clipboard1", "-", "@basicstyles1", "-", "@paragraph1", "/", "@links1", "-", "@insert1", "-", "@styles1", "-" , "@colors1", "-" , "@tools1" ]

View File

@ -12,6 +12,8 @@ twig:
appName: '%appName%'
appCron: '%appCron%'
appMasteridentity: '%appMasteridentity%'
wssuse: '%wssuse%'
wssurl: '%wssurl%'
sondeUse: '%sondeUse%'
sondeUrl: '%sondeUrl%'

View File

@ -28,6 +28,10 @@ app_logoutcas:
path: /logoutcas
defaults: { _controller: App\Controller\SecurityController:logout }
app_casdebug:
path: /user/casdebug
defaults: { _controller: App\Controller\SecurityController:casdebug }
#== Config ========================================================================================================
app_config:
path: /admin/config
@ -53,6 +57,20 @@ app_config_logo:
path: /admin/config/logo
defaults: { _controller: App\Controller\ConfigController:logo }
#== Theme ================================================================================================================
app_theme:
path: /admin/theme
defaults: { _controller: App\Controller\ThemeController:list }
app_theme_select:
path: /admin/theme/select/{name}
defaults: { _controller: App\Controller\ThemeController:select, name: "" }
#== Wss ==================================================================================================================
app_wss_sample:
path: /user/wss/sampble
defaults: { _controller: App\Controller\WebsocketController:sample }
#== Sonde ================================================================================================================
app_sonde:
path: /sonde
@ -67,6 +85,10 @@ app_crop02:
path: /user/crop02/{type}/{reportinput}
defaults: { _controller: App\Controller\CropController:crop02 }
app_ckupload:
path: /user/ckupload
defaults: { _controller: App\Controller\CropController:ckupload }
oneup_uploader:
resource: .
type: uploader

View File

@ -28,6 +28,7 @@ parameters:
ldapModel: '%env(resolve:LDAP_MODEL)%'
ldapHost: '%env(resolve:LDAP_HOST)%'
ldapPort: '%env(resolve:LDAP_PORT)%'
ldapTls: '%env(resolve:LDAP_TLS)%'
ldapUser: '%env(resolve:LDAP_USER)%'
ldapPassword: '%env(resolve:LDAP_PASSWORD)%'
ldapBasedn: '%env(resolve:LDAP_BASEDN)%'
@ -46,6 +47,10 @@ parameters:
casEmail: '%env(resolve:CAS_EMAIL)%'
casLastname: '%env(resolve:CAS_LASTNAME)%'
casFirstname: '%env(resolve:CAS_FIRSTNAME)%'
wssuse: '%env(resolve:WSS_USE)%'
wssport: '%env(resolve:WSS_PORT)%'
wssurl: 'wss://%env(resolve:APP_WEBURL)%/wss%env(resolve:APP_ALIAS)%'
proxyUse: '%env(resolve:PROXY_USE)%'
proxyHost: '%env(resolve:PROXY_HOST)%'
@ -62,6 +67,7 @@ services:
bind:
$ldapHost: '%ldapHost%'
$ldapPort: '%ldapPort%'
$ldapTls: '%ldapTls%'
$ldapUser: '%ldapUser%'
$ldapPassword: '%ldapPassword%'
$ldapBasedn: '%ldapBasedn%'
@ -101,7 +107,7 @@ services:
app.ldap.service:
public: true
class: App\Service\ldapService
arguments: ["%ldapHost%","%ldapPort%","%ldapUser%","%ldapPassword%","%ldapBasedn%"]
arguments: ["%ldapHost%","%ldapPort%","%ldapTls%","%ldapUser%","%ldapPassword%","%ldapBasedn%"]
app.upload.samename:
public: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 615 B

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 824 B

After

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 B

After

Width:  |  Height:  |  Size: 471 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 B

After

Width:  |  Height:  |  Size: 474 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 872 B

After

Width:  |  Height:  |  Size: 872 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 945 B

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 532 B

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 757 B

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 707 B

After

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 569 B

After

Width:  |  Height:  |  Size: 569 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 543 B

After

Width:  |  Height:  |  Size: 543 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 B

After

Width:  |  Height:  |  Size: 549 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1017 B

After

Width:  |  Height:  |  Size: 1017 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 696 B

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 696 B

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 B

After

Width:  |  Height:  |  Size: 549 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 633 B

After

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 493 B

After

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

After

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 B

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 613 B

After

Width:  |  Height:  |  Size: 613 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 833 B

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 660 B

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 920 B

After

Width:  |  Height:  |  Size: 920 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 805 B

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 805 B

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 755 B

After

Width:  |  Height:  |  Size: 755 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 655 B

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 455 B

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 451 B

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 524 B

After

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

After

Width:  |  Height:  |  Size: 419 B

View File

@ -0,0 +1,259 @@
CKEDITOR.dialog.add( 'html5video', function( editor ) {
return {
title: editor.lang.html5video.title,
minWidth: 500,
minHeight: 100,
contents: [ {
id: 'info',
label: editor.lang.html5video.infoLabel,
elements: [
{
type: 'vbox',
padding: 0,
children: [
{
type: 'hbox',
widths: [ '365px', '110px' ],
align: 'right',
children: [ {
type: 'text',
id: 'url',
label: editor.lang.html5video.allowed,
required: true,
validate: CKEDITOR.dialog.validate.notEmpty( editor.lang.html5video.urlMissing ),
setup: function( widget ) {
this.setValue( widget.data.src );
},
commit: function( widget ) {
widget.setData( 'src', this.getValue() );
}
},
{
type: 'button',
id: 'browse',
// v-align with the 'txtUrl' field.
// TODO: We need something better than a fixed size here.
style: 'display:inline-block;margin-top:14px;',
align: 'center',
label: editor.lang.common.browseServer,
hidden: true,
filebrowser: 'info:url'
} ]
} ]
},
{
type: 'checkbox',
id: 'responsive',
label: editor.lang.html5video.responsive,
setup: function( widget ) {
this.setValue( widget.data.responsive );
},
commit: function( widget ) {
widget.setData( 'responsive', this.getValue()?'true':'' );
}
},
{
type: 'vbox',
padding: 0,
children: [{
type: 'hbox',
widths: [ '365px', '110px' ],
align: 'right',
children: [ {
type: 'text',
id: 'poster',
label: editor.lang.html5video.poster,
setup: function( widget ) {
this.setValue( widget.data.poster );
},
commit: function( widget ) {
widget.setData( 'poster', this.getValue() );
}
},
{
type: 'button',
id: 'browseposter',
// v-align with the 'txtUrl' field.
// TODO: We need something better than a fixed size here.
style: 'display:inline-block;margin-top:14px;',
align: 'center',
label: editor.lang.common.browseServer,
hidden: true,
filebrowser:{action:"Browse",target:"info:poster",url:editor.config.filebrowserImageBrowseUrl}
} ]
}]
},
{
type: 'checkbox',
id: 'controls',
label: editor.lang.html5video.controls,
setup: function (widget) {
this.setValue(widget.data.controls);
},
commit: function (widget) {
widget.setData('controls', this.getValue() ? 'true' : '');
}
},
{
type: 'hbox',
id: 'size',
children: [ {
type: 'text',
id: 'width',
label: editor.lang.common.width,
setup: function( widget ) {
if ( widget.data.width ) {
this.setValue( widget.data.width );
}
},
commit: function( widget ) {
widget.setData( 'width', this.getValue() );
}
},
{
type: 'text',
id: 'height',
label: editor.lang.common.height,
setup: function( widget ) {
if ( widget.data.height ) {
this.setValue( widget.data.height );
}
},
commit: function( widget ) {
widget.setData( 'height', this.getValue() );
}
},
]
},
{
type: 'hbox',
id: 'alignment',
children: [ {
type: 'radio',
id: 'align',
label: editor.lang.common.align,
items: [
[editor.lang.common.alignCenter, 'center'],
[editor.lang.common.alignLeft, 'left'],
[editor.lang.common.alignRight, 'right'],
[editor.lang.common.alignNone, 'none']
],
'default': 'center',
setup: function( widget ) {
if ( widget.data.align ) {
this.setValue( widget.data.align );
}
},
commit: function( widget ) {
widget.setData( 'align', this.getValue() );
}
} ]
} ]
},
{
id: 'Upload',
hidden: true,
filebrowser: 'uploadButton',
label: editor.lang.html5video.upload,
elements: [ {
type: 'file',
id: 'upload',
label: editor.lang.html5video.btnUpload,
style: 'height:40px',
size: 38
},
{
type: 'fileButton',
id: 'uploadButton',
filebrowser: 'info:url',
label: editor.lang.html5video.btnUpload,
'for': [ 'Upload', 'upload' ]
} ]
},
{
id: 'advanced',
label: editor.lang.html5video.advanced,
elements: [ {
type: 'vbox',
padding: 10,
children: [ {
type: 'hbox',
widths: ["33%", "33%", "33%"],
children: [ {
type: 'radio',
id: 'autoplay',
label: editor.lang.html5video.autoplay,
items: [
[editor.lang.html5video.yes, 'yes'],
[editor.lang.html5video.no, 'no']
],
'default': 'no',
setup: function( widget ) {
if ( widget.data.autoplay ) {
this.setValue( widget.data.autoplay );
}
},
commit: function( widget ) {
widget.setData( 'autoplay', this.getValue() );
}
},
{
type: 'radio',
id: 'loop',
label: editor.lang.html5video.loop,
items: [
[editor.lang.html5video.yes, 'yes'],
[editor.lang.html5video.no, 'no']
],
'default': 'no',
setup: function( widget ) {
if ( widget.data.loop ) {
this.setValue( widget.data.loop );
}
},
commit: function( widget ) {
widget.setData( 'loop', this.getValue() );
}
},
{
type: 'radio',
id: 'allowdownload',
label: editor.lang.html5video.allowdownload,
items: [
[editor.lang.html5video.yes, 'yes'],
[editor.lang.html5video.no, 'no']
],
'default': 'no',
setup: function( widget ) {
if ( widget.data.allowdownload ) {
this.setValue(widget.data.allowdownload);
}
},
commit: function( widget ) {
widget.setData( 'allowdownload', this.getValue() );
}
} ]
},
{
type: 'hbox',
children: [ {
type: "text",
id: 'advisorytitle',
label: editor.lang.html5video.advisorytitle,
'default': '',
setup: function( widget ) {
if ( widget.data.advisorytitle ) {
this.setValue(widget.data.advisorytitle);
}
},
commit: function( widget ) {
widget.setData( 'advisorytitle', this.getValue() );
}
} ]
} ]
} ]
} ]
};
} );

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,20 @@
CKEDITOR.plugins.setLang( 'html5video', 'bg', {
button: 'Вмъква HTML5 видео',
title: 'HTML5 видео',
infoLabel: 'Видео',
allowed: 'Допустими файлови разширения: MP4, WebM, Ogv',
urlMissing: 'URL адресът на източника на видео липсва.',
videoProperties: 'Свойства на видео',
upload: 'Качване',
btnUpload: 'Изпрати на сървъра',
advanced: 'Разширено',
autoplay: 'Автоматично изпълнение',
allowdownload: 'Позволено изтегляне?',
advisorytitle: 'Заглавие',
yes: 'Да',
no: 'Не',
loop: 'Циклично изпълнение',
responsive: 'Адаптивна ширина',
controls: 'Показване на контролите',
poster: 'URL миниатюра'
} );

View File

@ -0,0 +1,20 @@
CKEDITOR.plugins.setLang( 'html5video', 'ca', {
button: "Insereix un vídeo HTML5",
title: "Vídeo HTML5",
infoLabel: "Informació del vídeo",
allowed: "Extensions d'arxius permeses: MP4, WebM, Ogv",
urlMissing: "Falta l'URL de la font de vídeo.",
videoProperties: "Propietats de vídeo",
upload: "Pujar",
btnUpload: "Envia-lo al servidor",
advanced: "Avançat",
autoplay: "Reproducció automàtica?",
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: "Sí",
no: "No",
loop: "Bucle?",
responsive: "Ample adaptatiu",
controls: "Mostra els controls",
poster: "Miniatura"
} );

View File

@ -0,0 +1,17 @@
CKEDITOR.plugins.setLang( 'html5video', 'de', {
button: 'HTML5 Video einfügen',
title: 'HTML5 Video',
infoLabel: 'Video Infos',
allowed: 'Erlaubte Dateierweiterungen: MP4, WebM, Ogv',
urlMissing: 'Sie haben keine URL zur Video-Datei angegeben.',
videoProperties: 'Video-Einstellungen',
upload: 'Hochladen',
btnUpload: 'Zum Server senden',
advanced: 'Erweitert',
autoplay: 'Autoplay?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'Ja',
no: 'Nein',
controls: 'Steuerelemente anzeigen'
} );

View File

@ -0,0 +1,20 @@
CKEDITOR.plugins.setLang( 'html5video', 'en', {
button: 'Insert HTML5 video',
title: 'HTML5 video',
infoLabel: 'Video info',
allowed: 'Allowed file extensions: MP4, WebM, Ogv',
urlMissing: 'Video source URL is missing.',
videoProperties: 'Video properties',
upload: 'Upload',
btnUpload: 'Send it to the server',
advanced: 'Advanced',
autoplay: 'Autoplay?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'Yes',
no: 'No',
loop: 'Loop?',
responsive: 'Responsive width',
controls: 'Show controls',
poster: 'Thumbnail'
} );

View File

@ -0,0 +1,18 @@
CKEDITOR.plugins.setLang( 'html5video', 'es', {
button: 'Insertar video HTML5',
title: 'Video HTML5',
infoLabel: 'Información del video',
allowed: 'Extensiones de archivo permitidas: MP4, WebM, Ogv',
urlMissing: 'La URL del video no puede estar vacía.',
videoProperties: 'Propiedades del video',
upload: 'Cargar',
btnUpload: 'Enviar al servidor',
advanced: 'Avanzado',
autoplay: '¿Reproducir automáticamente?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'Sí',
no: 'No',
responsive: '¿Responsive?',
controls: 'Mostrar controles'
} );

View File

@ -0,0 +1,17 @@
CKEDITOR.plugins.setLang( 'html5video', 'eu', {
button: 'Txertatu HTML5 bideoa',
title: 'HTML5 bideoa',
infoLabel: 'Bideoaren informazioa',
allowed: 'Baimendutako fitxategi luzapenak: MP4, WebM, Ogv',
urlMissing: 'Bideoaren URLak ezin du hutsik egon.',
videoProperties: 'Bideoaren propietateak',
upload: 'Kargatu',
btnUpload: 'Bidali zerbitzarira',
advanced: 'Aurreratua',
autoplay: 'Automatikoki erreproduzitu?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'Bai',
no: 'Ez',
controls: 'Erakutsi kontrolak?'
} );

View File

@ -0,0 +1,18 @@
CKEDITOR.plugins.setLang( 'html5video', 'fa', {
button: 'وارد کردن ویدیوی HTML5',
title: 'ویدیوی HTML5',
infoLabel: 'اطلاعات ویدیو',
allowed: 'پسوندهای مجاز فایل: MP4, WebM, Ogv',
urlMissing: 'URL منبع ویدیو پیدا نشد.',
videoProperties: 'خواهص ویدیو',
upload: 'بارگذاری',
btnUpload: 'ارسال به سرور',
advanced: 'پیشرفته',
autoplay: 'پخش خودکار؟',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'بله',
no: 'خیر',
responsive: 'عرض واکنشگرا',
controls: 'نمایش کنترل؟'
} );

View File

@ -0,0 +1,17 @@
CKEDITOR.plugins.setLang( 'html5video', 'fr', {
button: 'Insérer un lecteur video HTML5',
title: 'HTML5 video',
infoLabel: 'Informations video',
allowed: 'Extensions de fichiers autorisées: MP4, WebM, Ogv',
urlMissing: 'URL de la source video manquante. Veuillez la renseigner.',
videoProperties: 'Propriétés Video',
upload: 'Télécharger',
btnUpload: 'Envoyer vers le serveur',
advanced: 'Avancé',
autoplay: 'Jouer automatiquement ?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'Oui',
no: 'Non',
controls: 'Afficher les contrôles ?'
} );

View File

@ -0,0 +1,18 @@
CKEDITOR.plugins.setLang('html5video', 'he', {
button: 'הוסף וידאו HTML5',
title: 'וידאו HTML5',
infoLabel: 'מידע וידאו',
allowed: 'סוגי קבצים מורשים: MP4, WebM, Ogv',
urlMissing: 'כתובת הוידאו חסרה',
videoProperties: 'מאפייני וידאו',
upload: 'העלה',
btnUpload: 'שלח לשרת',
advanced: 'מתקדם',
autoplay: 'ניגון אוטומטי?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'כן',
no: 'לא',
responsive: 'רוחב רספונסיבי'
});

View File

@ -0,0 +1,20 @@
CKEDITOR.plugins.setLang( 'html5video', 'ko', {
button: 'HTML5 비디오 추가하기',
title: 'HTML5 비디오',
infoLabel: '비디오 정보',
allowed: '허용된 파일 확장자들: MP4, WebM, Ogv',
urlMissing: '비디오 Url이 없습니다.',
videoProperties: '비디오 속성',
upload: '업로드',
btnUpload: '서버로 전송',
advanced: '고급',
autoplay: '자동재생?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: '네',
no: '아니오',
loop: '무한반복?',
responsive: '반응형 너비',
controls: '컨트롤 보여주기',
poster: '썸네일'
} );

View File

@ -0,0 +1,18 @@
CKEDITOR.plugins.setLang( 'html5video', 'pl', {
button: 'Wstaw HTML5 video',
title: 'HTML5 video',
infoLabel: 'Informacje',
allowed: 'Dozwolone typy plików: MP4, WebM, Ogv',
urlMissing: 'Nie znaleziono URL do pliku video.',
videoProperties: 'Właściwości',
upload: 'Wrzuć plik',
btnUpload: 'Wyślij na serwer',
advanced: 'Zaawansowane',
autoplay: 'Autoodtwarzanie?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'Tak',
no: 'Nie',
responsive: 'Szerokość responsywna',
controls: 'Pokaż kontrolki'
} );

View File

@ -0,0 +1,18 @@
CKEDITOR.plugins.setLang( 'html5video', 'pt-br', {
button: 'Inserir vídeo HTML5',
title: 'HTML5 video',
infoLabel: 'Informações do Vídeo',
allowed: 'Extensões permitidas: MP4, WebM, Ogv',
urlMissing: 'O URL do vídeo está faltando.',
videoProperties: 'Propriedades do vídeo',
upload: 'Upload',
btnUpload: 'Enviar para o servidor',
advanced: 'Avançado',
autoplay: 'Autoplay?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'Sim',
no: 'Não',
responsive: 'Largura responsiva',
controls: 'Exibir controles'
} );

View File

@ -0,0 +1,18 @@
CKEDITOR.plugins.setLang( 'html5video', 'pt', {
button: 'Inserir vídeo HTML5',
title: 'HTML5 video',
infoLabel: 'Informações do Vídeo',
allowed: 'Extensões permitidas: MP4, WebM, Ogv',
urlMissing: 'O URL do vídeo está faltando.',
videoProperties: 'Propriedades do vídeo',
upload: 'Upload',
btnUpload: 'Enviar para o servidor',
advanced: 'Avançado',
autoplay: 'Autoplay?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'Sim',
no: 'Não',
responsive: 'Largura responsiva',
controls: 'Exibir controles'
} );

View File

@ -0,0 +1,21 @@
CKEDITOR.plugins.setLang( 'html5video', 'ru', {
button: 'Вставить HTML5 видео',
title: 'HTML5 видео',
infoLabel: 'Видео',
allowed: 'Допустимые расширения файлов: MP4, WebM, Ogv',
urlMissing: 'Не выбран источник видео',
videoProperties: 'Свойства видео',
upload: 'Загрузить',
btnUpload: 'Загрузить на сервер',
advanced: 'Дополнительно',
autoplay: 'Автовоспроизведение',
allowdownload: 'Разрешить загрузку',
advisorytitle: 'Заголовок',
yes: 'Да',
no: 'Нет',
responsive: 'Адаптивная ширина',
controls: 'Показать элементы управления',
loop: 'Зациклить',
poster: 'Постер',
advisorytitle: 'Пояснительный текст'
} );

View File

@ -0,0 +1,17 @@
CKEDITOR.plugins.setLang( 'html5video', 'uk', {
button: 'Вставити HTML5 відео',
title: 'HTML5 відео',
infoLabel: 'Інформація',
allowed: 'Допустимі розширення файлів: MP4, WebM, Ogv',
urlMissing: 'Не обрано джерела відео',
videoProperties: 'Властивості відео',
upload: 'Відвантажити',
btnUpload: 'Відвантажити на сервер',
advanced: 'Додатково',
autoplay: 'Автовідтворення?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'Так',
no: 'Ні',
controls: 'Показати елементи керування?'
} );

View File

@ -0,0 +1,17 @@
CKEDITOR.plugins.setLang( 'html5video', 'uz', {
button: 'HTML5 video qoshing',
title: 'HTML5 video',
infoLabel: 'Video ma\'lumot',
allowed: 'Ruxsat etilgan kengaytmalar: MP4, WebM, Ogv',
urlMissing: 'Video\'ning URL manbasi topilmadi.',
videoProperties: 'Video xususiyatlari',
upload: 'Yuklash',
btnUpload: 'Serverga jonatish',
advanced: 'Kengaytrilgan',
autoplay: 'Avtoijro?',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: 'Ha',
no: 'Yoq',
controls: 'Tekshiruvlarni korsatish'
} );

View File

@ -0,0 +1,18 @@
CKEDITOR.plugins.setLang( 'html5video', 'zh-cn', {
button: '发布HTML5视频',
title: 'HTML5视频',
infoLabel: '视频信息',
allowed: '支持格式: MP4, WebM, Ogv',
urlMissing: '视频url',
videoProperties: '视频属性',
upload: '上传视频',
btnUpload: '上传',
advanced: '高级',
autoplay: '自动播放',
allowdownload: 'Allow download?',
advisorytitle: 'Advisory title',
yes: '是',
no: '否',
responsive: '自动宽度',
controls: '显示控件?'
} );

View File

@ -0,0 +1,196 @@
CKEDITOR.plugins.add( 'html5video', {
requires: 'widget',
lang: 'bg,ca,de,en,eu,es,ru,uk,fr,ko,pt,pt-br,pl',
icons: 'html5video',
init: function( editor ) {
editor.widgets.add( 'html5video', {
button: editor.lang.html5video.button,
template: '<div class="ckeditor-html5-video"></div>',
/*
* Allowed content rules (http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules):
* - div-s with text-align,float,margin-left,margin-right inline style rules and required ckeditor-html5-video class.
* - video tags with src, controls, width and height attributes.
*/
allowedContent: 'div[data-responsive](!ckeditor-html5-video){text-align,float,margin-left,margin-right}; video[src,poster,controls,autoplay,width, height,loop]{max-width,height};',
requiredContent: 'div(ckeditor-html5-video); video[src];',
upcast: function( element ) {
return element.name === 'div' && element.hasClass( 'ckeditor-html5-video' );
},
dialog: 'html5video',
init: function() {
var src = '';
var autoplay = '';
var loop = '';
var controls = '';
var align = this.element.getStyle( 'text-align' );
var width = '';
var height = '';
var poster = '';
// If there's a child (the video element)
if ( this.element.getChild( 0 ) ) {
// get it's attributes.
src = this.element.getChild( 0 ).getAttribute( 'src' );
width = this.element.getChild( 0 ).getAttribute( 'width' );
height = this.element.getChild( 0 ).getAttribute( 'height' );
autoplay = this.element.getChild(0).getAttribute('autoplay');
allowdownload = !this.element.getChild( 0 ).getAttribute( 'controlslist' );
loop = this.element.getChild( 0 ).getAttribute( 'loop' );
advisorytitle = this.element.getChild( 0 ).getAttribute( 'title' );
controls = this.element.getChild(0).getAttribute('controls');
responsive = this.element.getAttribute( 'data-responsive' );
poster = this.element.getChild( 0 ).getAttribute( 'poster' );
}
if ( src ) {
this.setData( 'src', src );
if ( align ) {
this.setData( 'align', align );
} else {
this.setData( 'align', 'none' );
}
if ( width ) {
this.setData( 'width', width );
}
if ( height ) {
this.setData( 'height', height );
}
if ( autoplay ) {
this.setData( 'autoplay', 'yes' );
}
if ( allowdownload ) {
this.setData( 'allowdownload', 'yes' );
}
if ( loop ) {
this.setData( 'loop', 'yes' );
}
if ( advisorytitle ) {
this.setData( 'advisorytitle', advisorytitle );
}
if ( responsive ) {
this.setData( 'responsive', responsive );
}
if (controls) {
this.setData('controls', controls);
}
if ( poster ) {
this.setData('poster', poster);
}
}
},
data: function() {
// If there is an video source
if ( this.data.src ) {
// and there isn't a child (the video element)
if ( !this.element.getChild( 0 ) ) {
// Create a new <video> element.
var videoElement = new CKEDITOR.dom.element( 'video' );
// Set the controls attribute.
if (this.data.controls) {
videoElement.setAttribute('controls', 'controls');
}
// Append it to the container of the plugin.
this.element.append( videoElement );
}
this.element.getChild( 0 ).setAttribute( 'src', this.data.src );
if (this.data.width) this.element.getChild( 0 ).setAttribute( 'width', this.data.width );
if (this.data.height) this.element.getChild( 0 ).setAttribute( 'height', this.data.height );
if ( this.data.responsive ) {
this.element.setAttribute("data-responsive", this.data.responsive);
this.element.getChild( 0 ).setStyle( 'max-width', '100%' );
this.element.getChild( 0 ).setStyle( 'height', 'auto' );
} else {
this.element.removeAttribute("data-responsive");
this.element.getChild( 0 ).removeStyle( 'max-width' );
this.element.getChild( 0 ).removeStyle( 'height' );
}
if (this.data.poster) this.element.getChild( 0 ).setAttribute('poster', this.data.poster);
}
this.element.removeStyle( 'float' );
this.element.removeStyle( 'margin-left' );
this.element.removeStyle( 'margin-right' );
if ( this.data.align === 'none' ) {
this.element.removeStyle( 'text-align' );
} else {
this.element.setStyle( 'text-align', this.data.align );
}
if ( this.data.align === 'left' ) {
this.element.setStyle( 'float', this.data.align );
this.element.setStyle( 'margin-right', '10px' );
} else if ( this.data.align === 'right' ) {
this.element.setStyle( 'float', this.data.align );
this.element.setStyle( 'margin-left', '10px' );
}
if ( this.element.getChild( 0 ) ) {
if ( this.data.autoplay === 'yes' ) {
this.element.getChild( 0 ).setAttribute( 'autoplay', 'autoplay' );
} else {
this.element.getChild( 0 ).removeAttribute( 'autoplay' );
}
if ( this.data.loop === 'yes' ) {
this.element.getChild( 0 ).setAttribute( 'loop', 'loop' );
} else {
this.element.getChild( 0 ).removeAttribute( 'loop' );
}
if ( this.data.allowdownload === 'yes' ) {
this.element.getChild( 0 ).removeAttribute( 'controlslist' );
} else {
this.element.getChild( 0 ).setAttribute( 'controlslist', 'nodownload' );
}
if ( this.data.advisorytitle ) {
this.element.getChild( 0 ).setAttribute( 'title', this.data.advisorytitle );
} else {
this.element.getChild( 0 ).removeAttribute( 'title' );
}
if (this.data.controls) {
this.element.getChild(0).setAttribute('controls', 'controls');
} else {
this.element.getChild(0).removeAttribute('controls');
}
}
}
} );
if ( editor.contextMenu ) {
editor.addMenuGroup( 'html5videoGroup' );
editor.addMenuItem( 'html5videoPropertiesItem', {
label: editor.lang.html5video.videoProperties,
icon: 'html5video',
command: 'html5video',
group: 'html5videoGroup'
});
editor.contextMenu.addListener( function( element ) {
if ( element &&
element.getChild( 0 ) &&
element.getChild( 0 ).hasClass &&
element.getChild( 0 ).hasClass( 'ckeditor-html5-video' ) ) {
return { html5videoPropertiesItem: CKEDITOR.TRISTATE_OFF };
}
});
}
CKEDITOR.dialog.add( 'html5video', this.path + 'dialogs/html5video.js' );
}
} );

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 816 B

After

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 533 B

After

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 576 B

After

Width:  |  Height:  |  Size: 576 B

Some files were not shown because too many files have changed in this diff Show More