first commit symfony 6
This commit is contained in:
parent
d9bfbb6b3c
commit
5c4961748b
119
.env
Normal file
119
.env
Normal file
@ -0,0 +1,119 @@
|
||||
# Symfony
|
||||
APP_ENV=prod
|
||||
APP_SECRET=changeme
|
||||
|
||||
# Messenger
|
||||
MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0
|
||||
|
||||
# Database
|
||||
DATABASE_URL="postgresql://symfony:ChangeMe@127.0.0.1:5432/app?serverVersion=13&charset=utf8"
|
||||
|
||||
# Mailer
|
||||
MAILER_METHOD=smtp
|
||||
MAILER_DSN=smtp://127.0.0.1:1025
|
||||
MAILER_NOREPLY=noreply@noreply.fr
|
||||
|
||||
# Basic
|
||||
APP_WEBURL=
|
||||
APP_MASTERIDENTITY=SQL # SQL | SSO à faire | LDAP
|
||||
APP_AUTH=SQL # SQL | CAS à faire | LDAP | OPENID | SAML
|
||||
APP_ALIAS=/
|
||||
APP_NAME=Nineskeletor
|
||||
APP_MASTERURL=
|
||||
APP_MASTERKEY=
|
||||
APP_MODEREGISTRATION= # null | BYADMIN | BYUSER
|
||||
APP_ADMINS='["admin"]'
|
||||
APP_NIVEAU01LABEL="Niveau 01"
|
||||
APP_NIVEAU02LABEL="Niveau 02"
|
||||
|
||||
# Synchronisation
|
||||
APP_SYNCHRO= # Synchronisation null | LDAP2NINE | NINE2LDAP | NINE2NINE
|
||||
APP_SYNDCHROPURGENIVEAU01=1 # Purger les niveau01s obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGENIVEAU02=1 # Purger les niveau02s obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGEGROUP=1 # Purger les groups obsolète en cas de synchronisation
|
||||
APP_SYNDCHROPURGEUSER=1 # Purger les groups obsolète en cas de synchronisation
|
||||
|
||||
# LDAP
|
||||
LDAP_HOST= # host du serveur ldap
|
||||
LDAP_PORT= # port du serveur ldap
|
||||
LDAP_USETLS=0 # connection TLS 0/1
|
||||
LDAP_USERWRITER=0 # LDAP_USER compte writer ? 0/1
|
||||
LDAP_USER= # DN compte access ldap
|
||||
LDAP_PASSWORD= # Password comte access ldap
|
||||
LDAP_BASEDN= # Base DN ex:o=gouv,c=fr
|
||||
LDAP_BASEORGANISATION= # Base Organisation ex:ou=nine,o=gouv,c=fr
|
||||
LDAP_BASENIVEAU01= # Base Niveau01 ex:ou=niveau01,ou=nine,o=gouv,c=fr
|
||||
LDAP_BASENIVEAU02= # Base Niveau02 ex:ou=niveau02,ou=nine,o=gouv,c=fr
|
||||
LDAP_BASEGROUP= # Base Group ex:ou=groups,ou=nine,o=gouv,c=fr
|
||||
LDAP_BASEUSER= # Base User ex:ou=users,ou=nine,o=gouv,c=fr
|
||||
LDAP_USERNAME=uid # Attribut id d'un user
|
||||
LDAP_FIRSTNAME=givenname # Attribut firstname d'un user
|
||||
LDAP_LASTNAME=sn # Attribut lastname d'un user
|
||||
LDAP_EMAIL=mail # Attribut email d'un user
|
||||
LDAP_AVATAR= # Attribut avatar d'un user
|
||||
LDAP_MEMBEROF=memberof # Attribut memberof d'un user
|
||||
LDAP_GROUPGID=gidnumber # Attribut gid d'un groupe
|
||||
LDAP_GROUPNAME=cn # Attribut name d'un groupe
|
||||
LDAP_GROUPMEMBER=memberuid # Attribut stockant les membres d'un groupe
|
||||
LDAP_GROUPMEMBERISDN=0 # LDAP_GROUPMEMBER stocke un uid ou un dn ? 0/1
|
||||
LDAP_FILTERGROUP=(cn=*) # requete ldap pour rechercher les groupes
|
||||
LDAP_FILTERUSER=(uid=*) # requete ldap pour rechercher les users
|
||||
|
||||
# If APP_AUTH = CAS
|
||||
CAS_HOST=
|
||||
CAS_PORT=
|
||||
CAS_PATH=
|
||||
CAS_USERNAME=username
|
||||
CAS_EMAIL=email
|
||||
CAS_LASTNAME=lastname
|
||||
CAS_FIRSTNAME=firstname
|
||||
CAS_AVATAR=
|
||||
CAS_NIVEAU01=
|
||||
CAS_GROUP=
|
||||
|
||||
# If APP_AUTH = OPENID
|
||||
OAUTH_CLIENTID=
|
||||
OAUTH_CLIENTSECRET=
|
||||
OAUTH_LOGINURL=
|
||||
OAUTH_LOGOUTURL=
|
||||
OAUTH_TOKENURL=
|
||||
OAUTH_USERINFO=
|
||||
OAUTH_USERNAME=username
|
||||
OAUTH_EMAIL=email
|
||||
OAUTH_LASTNAME=lastname
|
||||
OAUTH_FIRSTNAME=firstname
|
||||
OAUTH_AVATAR=
|
||||
OAUTH_NIVEAU01=
|
||||
OAUTH_GROUP=
|
||||
|
||||
# IF APP_SYNCHRO=NINE2NINE
|
||||
NINE_URL=
|
||||
NINE_SECRET=
|
||||
|
||||
# If APP_MODEREGISTRATION != NULL
|
||||
APP_MODEREGISTRATIONTERM=6 # Temps en heure de la durée de validité de l'inscription
|
||||
|
||||
# Proxy
|
||||
PROXY_USE=0
|
||||
PROXY_HOST=
|
||||
PROXY_PORT=
|
||||
|
||||
# Sonde statistic
|
||||
SONDE_USE=0
|
||||
SONDE_URL=
|
||||
|
||||
# Mercure
|
||||
MERCURE_URL=https://example.com/.well-known/mercure
|
||||
MERCURE_PUBLIC_URL=https://example.com/.well-known/mercure
|
||||
MERCURE_JWT_SECRET="!ChangeMe!"
|
||||
|
||||
# Messenger
|
||||
# MESSENGER_TRANSPORT_DSN=doctrine://default
|
||||
# MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages
|
||||
# MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages
|
||||
|
||||
# Lock
|
||||
LOCK_DSN="postgresql://symfony:ChangeMe@127.0.0.1:5432/app?serverVersion=13&charset=utf8"
|
||||
|
||||
# Sentry
|
||||
SENTRY_DSN=
|
27
.gitignore
vendored
Normal file
27
.gitignore
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
###> symfony/framework-bundle ###
|
||||
/.env.local
|
||||
/.env.local.php
|
||||
/.env.*.local
|
||||
/config/secrets/prod/prod.decrypt.private.php
|
||||
/public/bundles/
|
||||
/var/
|
||||
/vendor/
|
||||
###< symfony/framework-bundle ###
|
||||
|
||||
###> symfony/webpack-encore-bundle ###
|
||||
/node_modules/
|
||||
/public/build/
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
###< symfony/webpack-encore-bundle ###
|
||||
|
||||
###> phpunit/phpunit ###
|
||||
/phpunit.xml
|
||||
.phpunit.result.cache
|
||||
###< phpunit/phpunit ###
|
||||
|
||||
###> symfony/phpunit-bridge ###
|
||||
.phpunit.result.cache
|
||||
/phpunit.xml
|
||||
###< symfony/phpunit-bridge ###
|
51
assets/app.js
Normal file
51
assets/app.js
Normal file
@ -0,0 +1,51 @@
|
||||
// JQuery
|
||||
window.$ = window.jQuery = require('jquery');
|
||||
|
||||
// JQueryui
|
||||
require('jquery-ui');
|
||||
|
||||
// Bootstrap
|
||||
require('bootstrap');
|
||||
require('bootstrap/dist/css/bootstrap.css');
|
||||
|
||||
// Fontawesome
|
||||
require('@fortawesome/fontawesome-free/css/all.css');
|
||||
|
||||
// Datatables
|
||||
require('datatables.net-bs4');
|
||||
require('datatables.net-bs4/css/dataTables.bootstrap4.min.css');
|
||||
require('./js/datatables.init.js');
|
||||
|
||||
// Select2
|
||||
require('select2');
|
||||
require('select2/dist/js/i18n/fr.js');
|
||||
require('select2/dist/css/select2.css');
|
||||
require('@ttskch/select2-bootstrap4-theme/dist/select2-bootstrap4.css');
|
||||
$(() => {
|
||||
$('.select2entity').select2(
|
||||
{
|
||||
theme: 'bootstrap4',
|
||||
language: "fr"
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
// Spectrum-colorpicker2
|
||||
require('spectrum-colorpicker2/dist/spectrum.min.js');
|
||||
require('spectrum-colorpicker2/dist/spectrum.min.css');
|
||||
|
||||
// CropSelectJs
|
||||
require('crop-select-js/crop-select-js.min.css');
|
||||
window.CropSelectJs = require('crop-select-js/crop-select-js.min.js');
|
||||
|
||||
// Start the Stimulus application
|
||||
import './bootstrap';
|
||||
|
||||
// App sytle
|
||||
import './styles/font.css';
|
||||
import './styles/app.css';
|
||||
|
||||
// App js
|
||||
require('./js/app.js');
|
||||
|
||||
|
11
assets/bootstrap.js
vendored
Normal file
11
assets/bootstrap.js
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
import { startStimulusApp } from '@symfony/stimulus-bridge';
|
||||
|
||||
// Registers Stimulus controllers from controllers.json and in the controllers/ directory
|
||||
export const app = startStimulusApp(require.context(
|
||||
'@symfony/stimulus-bridge/lazy-controller-loader!./controllers',
|
||||
true,
|
||||
/\.[jt]sx?$/
|
||||
));
|
||||
|
||||
// register any custom, 3rd party controllers here
|
||||
// app.register('some_controller_name', SomeImportedController);
|
259
assets/ckplugins/html5video/dialogs/html5video.js
Normal file
259
assets/ckplugins/html5video/dialogs/html5video.js
Normal 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() );
|
||||
}
|
||||
} ]
|
||||
} ]
|
||||
} ]
|
||||
} ]
|
||||
};
|
||||
} );
|
BIN
assets/ckplugins/html5video/icons/html5video.png
Normal file
BIN
assets/ckplugins/html5video/icons/html5video.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
20
assets/ckplugins/html5video/lang/bg.js
Normal file
20
assets/ckplugins/html5video/lang/bg.js
Normal 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 миниатюра'
|
||||
} );
|
20
assets/ckplugins/html5video/lang/ca.js
Normal file
20
assets/ckplugins/html5video/lang/ca.js
Normal 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"
|
||||
} );
|
17
assets/ckplugins/html5video/lang/de.js
Normal file
17
assets/ckplugins/html5video/lang/de.js
Normal 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'
|
||||
} );
|
20
assets/ckplugins/html5video/lang/en.js
Normal file
20
assets/ckplugins/html5video/lang/en.js
Normal 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'
|
||||
} );
|
18
assets/ckplugins/html5video/lang/es.js
Normal file
18
assets/ckplugins/html5video/lang/es.js
Normal 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'
|
||||
} );
|
17
assets/ckplugins/html5video/lang/eu.js
Normal file
17
assets/ckplugins/html5video/lang/eu.js
Normal 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?'
|
||||
} );
|
18
assets/ckplugins/html5video/lang/fa.js
Normal file
18
assets/ckplugins/html5video/lang/fa.js
Normal 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: 'نمایش کنترل؟'
|
||||
} );
|
17
assets/ckplugins/html5video/lang/fr.js
Normal file
17
assets/ckplugins/html5video/lang/fr.js
Normal 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 ?'
|
||||
} );
|
18
assets/ckplugins/html5video/lang/he.js
Normal file
18
assets/ckplugins/html5video/lang/he.js
Normal 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: 'רוחב רספונסיבי'
|
||||
});
|
20
assets/ckplugins/html5video/lang/ko.js
Normal file
20
assets/ckplugins/html5video/lang/ko.js
Normal 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: '썸네일'
|
||||
} );
|
18
assets/ckplugins/html5video/lang/pl.js
Normal file
18
assets/ckplugins/html5video/lang/pl.js
Normal 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'
|
||||
} );
|
18
assets/ckplugins/html5video/lang/pt-br.js
Normal file
18
assets/ckplugins/html5video/lang/pt-br.js
Normal 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'
|
||||
} );
|
18
assets/ckplugins/html5video/lang/pt.js
Normal file
18
assets/ckplugins/html5video/lang/pt.js
Normal 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'
|
||||
} );
|
21
assets/ckplugins/html5video/lang/ru.js
Normal file
21
assets/ckplugins/html5video/lang/ru.js
Normal 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: 'Пояснительный текст'
|
||||
} );
|
17
assets/ckplugins/html5video/lang/uk.js
Normal file
17
assets/ckplugins/html5video/lang/uk.js
Normal 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: 'Показати елементи керування?'
|
||||
} );
|
17
assets/ckplugins/html5video/lang/uz.js
Normal file
17
assets/ckplugins/html5video/lang/uz.js
Normal file
@ -0,0 +1,17 @@
|
||||
CKEDITOR.plugins.setLang( 'html5video', 'uz', {
|
||||
button: 'HTML5 video qo‘shing',
|
||||
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 jo‘natish',
|
||||
advanced: 'Kengaytrilgan',
|
||||
autoplay: 'Avtoijro?',
|
||||
allowdownload: 'Allow download?',
|
||||
advisorytitle: 'Advisory title',
|
||||
yes: 'Ha',
|
||||
no: 'Yo‘q',
|
||||
controls: 'Tekshiruvlarni ko‘rsatish'
|
||||
} );
|
18
assets/ckplugins/html5video/lang/zh-cn.js
Normal file
18
assets/ckplugins/html5video/lang/zh-cn.js
Normal 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: '显示控件?'
|
||||
} );
|
196
assets/ckplugins/html5video/plugin.js
Normal file
196
assets/ckplugins/html5video/plugin.js
Normal 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' );
|
||||
}
|
||||
} );
|
BIN
assets/ckplugins/youtube/images/icon-hdpi.png
Normal file
BIN
assets/ckplugins/youtube/images/icon-hdpi.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
assets/ckplugins/youtube/images/icon.png
Normal file
BIN
assets/ckplugins/youtube/images/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
24
assets/ckplugins/youtube/lang/ar.js
Normal file
24
assets/ckplugins/youtube/lang/ar.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'ar', {
|
||||
button : 'شيفرة تضمين اليوتيوب',
|
||||
title : 'شيفرة تضمين اليوتيوب',
|
||||
txtEmbed : 'الصق شيفرة التضمين هنا',
|
||||
txtUrl : 'الصق رابط فيديو اليوتيوب',
|
||||
txtWidth : 'العرض',
|
||||
txtHeight : 'الطول',
|
||||
chkRelated : 'اظهر الفيديوهات المقترحة في نهاية الفيديو',
|
||||
txtStartAt : 'ابدأ عند (ss او mm:ss او hh:mm:ss)',
|
||||
chkPrivacy : 'تفعيل وضع تحسين الخصوصية',
|
||||
chkOlderCode : 'استخدم شيفرة التضمين القديمة',
|
||||
chkAutoplay : 'Autoplay',
|
||||
chkControls: 'إظهار عناصر التحكم بالمشغّل',
|
||||
noCode : 'يجب عليك ادخال شيفرة التضمين او الرابط',
|
||||
invalidEmbed : 'شيفرة التضمين التي قمت بإدخالها تبدو غير صحيحة',
|
||||
invalidUrl : 'الرابط الذي قمت بإدخاله يبدو غير صحيح',
|
||||
or : 'او',
|
||||
noWidth : 'يجب عليك ادخال العرض',
|
||||
invalidWidth : 'يجب عليك ادخال عرض صحيح',
|
||||
noHeight : 'يجب عليك ادخال الطول',
|
||||
invalidHeight : 'يجب عليك ادخال طول صحيح',
|
||||
invalidTime : 'يجب عليك ادخال وقت بداية صحيح',
|
||||
txtResponsive : 'Responsive video'
|
||||
});
|
25
assets/ckplugins/youtube/lang/bg.js
Normal file
25
assets/ckplugins/youtube/lang/bg.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'bg', {
|
||||
button : 'Вмъкни YouTube видео',
|
||||
title : 'Вграждане на YouTube видео',
|
||||
txtEmbed : 'Въведете кода за вграждане тук',
|
||||
txtUrl : 'Въведете YouTube видео URL',
|
||||
txtWidth : 'Ширина',
|
||||
txtHeight : 'Височина',
|
||||
chkRelated : 'Показва предложени видеоклипове в края на клипа',
|
||||
txtStartAt : 'Стартирай в (ss или mm:ss или hh:mm:ss)',
|
||||
chkPrivacy : 'Активирай режим за поверителност',
|
||||
chkOlderCode : 'Използвай стар код за вграждане',
|
||||
chkAutoplay: 'Авто стартиране',
|
||||
chkControls: 'Показва контролите на плейъра',
|
||||
noCode : 'Трябва да въведете код за вграждане или URL адрес',
|
||||
invalidEmbed : 'Кодът за вграждане, който сте въвели, не изглежда валиден',
|
||||
invalidUrl : 'Въведеният URL адрес не изглежда валиден',
|
||||
or : 'или',
|
||||
noWidth : 'Трябва да заложите ширината',
|
||||
invalidWidth : 'Заложете валидна ширина',
|
||||
noHeight : 'Трябва да заложите височина',
|
||||
invalidHeight : 'Заложете валидна височина',
|
||||
invalidTime : 'Заложете валидно време за стартиране',
|
||||
txtResponsive : 'Напасва по ширина (игнорира Ширина и Височина)',
|
||||
txtNoEmbed : 'Само видео изображение и връзка'
|
||||
});
|
25
assets/ckplugins/youtube/lang/cs.js
Normal file
25
assets/ckplugins/youtube/lang/cs.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'cs', {
|
||||
button : 'Vložit video YouTube',
|
||||
title : 'Vložit video YouTube',
|
||||
txtEmbed : 'Zde vložte kód pro vložení',
|
||||
txtUrl : 'Vložte adresu URL videa YouTube',
|
||||
txtWidth : 'Šířka',
|
||||
txtHeight : 'Výška',
|
||||
chkRelated : 'Po dohrání videa zobrazit navrhovaná videa',
|
||||
txtStartAt : 'Začít přehrávat v čase (ss nebo mm:ss nebo hh:mm:ss)',
|
||||
chkPrivacy : 'Povolit režim s rozšířeným soukromím',
|
||||
chkOlderCode : 'Použít starý kód pro vložení',
|
||||
chkAutoplay : 'Automatické spuštění přehrávání',
|
||||
chkControls : 'Zobrazit ovladače přehrávání',
|
||||
noCode : 'Musíte vložit kód pro vložení nebo adresu URL',
|
||||
invalidEmbed : 'Vložený kód pro vložení zřejmě není platný',
|
||||
invalidUrl : 'Zadaná adresa URL zřejmě není platná',
|
||||
or : 'nebo',
|
||||
noWidth : 'Musíte zadat šířku',
|
||||
invalidWidth : 'Zadejte platnou šířku',
|
||||
noHeight : 'Musíte zadat výšku',
|
||||
invalidHeight : 'Zadejte platnou výšku',
|
||||
invalidTime : 'Zadejte platný počáteční čas',
|
||||
txtResponsive : 'Responzivní design (ignorovat výšku a šířku, uzpůsobit šířce)',
|
||||
txtNoEmbed : 'Pouze obrázek videa s odkazem'
|
||||
});
|
24
assets/ckplugins/youtube/lang/de.js
Normal file
24
assets/ckplugins/youtube/lang/de.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'de', {
|
||||
button : 'YouTube Video einbinden',
|
||||
title : 'YouTube Video einbinden',
|
||||
txtEmbed : 'Embed Code hier einfügen',
|
||||
txtUrl : 'YouTube Video URL hier einfügen',
|
||||
txtWidth : 'Breite',
|
||||
txtHeight : 'Höhe',
|
||||
chkRelated : 'Vorschläge am Ende des Videos einblenden',
|
||||
txtStartAt : 'Start bei Position (ss oder mm:ss oder hh:mm:ss)',
|
||||
chkPrivacy : 'Erweiterten Datenschutzmodus aktivieren',
|
||||
chkOlderCode : 'Benutze alten Embed Code',
|
||||
chkAutoplay : 'Autoplay',
|
||||
chkControls : 'Player-Steuerelemente anzeigen',
|
||||
noCode : 'Sie müssen einen Embed Code oder URL angeben',
|
||||
invalidEmbed : 'Der angegebene Embed Code scheint nicht gültig zu sein.',
|
||||
invalidUrl : 'Die angegebene URL scheint nicht gültig zu sein.',
|
||||
or : 'oder',
|
||||
noWidth : 'Geben Sie eine Breite an',
|
||||
invalidWidth : 'Geben Sie eine gültige Breite an',
|
||||
noHeight : 'Geben Sie eine Höhe an',
|
||||
invalidHeight : 'Geben Sie eine gültige Höhe an',
|
||||
invalidTime : 'Geben Sie eine gültige Startzeit an',
|
||||
txtResponsive : 'Automatische Größe (ignoriert Breite und Höhe)'
|
||||
});
|
23
assets/ckplugins/youtube/lang/el.js
Normal file
23
assets/ckplugins/youtube/lang/el.js
Normal file
@ -0,0 +1,23 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'el', {
|
||||
button: 'Ενσωμάτωση Youtube βίντεο',
|
||||
title: 'Ενσωμάτωση Youtube βίντεο',
|
||||
txtEmbed: 'Επικόλλησε τον κώδικα ενσωμάτωσης',
|
||||
txtUrl: 'Επικόλλησε το URL του βίντεο',
|
||||
txtWidth: 'Πλάτος',
|
||||
txtHeight: 'Ύψος',
|
||||
chkRelated: 'Εμφάνιση προτεινόμενων βίντεο μόλις ολοκληρωθεί',
|
||||
txtStartAt: 'Χρόνος εκκίνησης (ss or mm:ss or hh:mm:ss)',
|
||||
chkPrivacy: 'Ενεργοποίηση λειτουργίας ενισχυμένου απορρήτου',
|
||||
chkOlderCode: 'Χρήση παλαιού κώδικα ενσωμάτωσης',
|
||||
chkAutoplay: 'Αυτόματη εκκίνηση',
|
||||
chkControls: 'Εμφάνιση στοιχείων ελέγχου προγράμματος αναπαραγωγής',
|
||||
noCode: 'Χρειάζεται κώδικας ενσωμάτωσης ή URL',
|
||||
invalidEmbed: 'Ο κώδικας ενσωμάτωσης που εισήγατε δεν μοιάζει σωστός',
|
||||
invalidUrl: 'Το URL που εισήγατε δεν μοιάζει σωστό',
|
||||
or: 'ή',
|
||||
noWidth: 'Συμπληρώστε το πλάτος',
|
||||
invalidWidth: 'Λανθασμένο πλάτος',
|
||||
noHeight: 'Συμπληρώστε το ύψος',
|
||||
invalidHeight: 'Λανθασμένο ύψος',
|
||||
invalidTime: 'Λανθασμένος χρόνος εκκίνησης'
|
||||
});
|
25
assets/ckplugins/youtube/lang/en.js
Normal file
25
assets/ckplugins/youtube/lang/en.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'en', {
|
||||
button : 'Embed YouTube Video',
|
||||
title : 'Embed YouTube Video',
|
||||
txtEmbed : 'Paste Embed Code Here',
|
||||
txtUrl : 'Paste YouTube Video URL',
|
||||
txtWidth : 'Width',
|
||||
txtHeight : 'Height',
|
||||
chkRelated : 'Show suggested videos at the video\'s end',
|
||||
txtStartAt : 'Start at (ss or mm:ss or hh:mm:ss)',
|
||||
chkPrivacy : 'Enable privacy-enhanced mode',
|
||||
chkOlderCode : 'Use old embed code',
|
||||
chkAutoplay: 'Autoplay',
|
||||
chkControls: 'Show player controls',
|
||||
noCode : 'You must input an embed code or URL',
|
||||
invalidEmbed : 'The embed code you\'ve entered doesn\'t appear to be valid',
|
||||
invalidUrl : 'The URL you\'ve entered doesn\'t appear to be valid',
|
||||
or : 'or',
|
||||
noWidth : 'You must inform the width',
|
||||
invalidWidth : 'Inform a valid width',
|
||||
noHeight : 'You must inform the height',
|
||||
invalidHeight : 'Inform a valid height',
|
||||
invalidTime : 'Inform a valid start time',
|
||||
txtResponsive : 'Make Responsive (ignore width and height, fit to width)',
|
||||
txtNoEmbed : 'Video image and link only'
|
||||
});
|
24
assets/ckplugins/youtube/lang/es.js
Normal file
24
assets/ckplugins/youtube/lang/es.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'es', {
|
||||
button : 'Embed YouTube video',
|
||||
title : 'Embed YouTube video',
|
||||
txtEmbed : 'Pegar el código embed',
|
||||
txtUrl : 'Pegar la URL al video de Youtube',
|
||||
txtWidth : 'Anchura',
|
||||
txtHeight : 'Altura',
|
||||
chkRelated : 'Mostrar videos sugeridos al final de este video',
|
||||
txtStartAt : 'Comenzar en (ss or mm:ss or hh:mm:ss)',
|
||||
chkPrivacy : 'Habilitar el modo privacy-enhanced',
|
||||
chkOlderCode : 'Usar código embed viejo',
|
||||
chkAutoplay: 'Autoplay',
|
||||
chkControls: 'Mostrar controles del reproductor',
|
||||
noCode : 'Debes de introducir un código embed o URL',
|
||||
invalidEmbed : 'El código embed introducido parece no ser valido',
|
||||
invalidUrl : 'La URL introducida parece no ser valida',
|
||||
or : 'o',
|
||||
noWidth : 'Debes de dar la anchura',
|
||||
invalidWidth : 'Da una anchura valida',
|
||||
noHeight : 'Debes dar una altura valida',
|
||||
invalidHeight : 'Da una altura valida',
|
||||
invalidTime : 'Da un tiempo de valido',
|
||||
txtResponsive : 'Hacer responsivo (ignorar anchura y altura, ajustar a la anchura)'
|
||||
});
|
24
assets/ckplugins/youtube/lang/et.js
Normal file
24
assets/ckplugins/youtube/lang/et.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'et', {
|
||||
button : 'Lisa YouTube video',
|
||||
title : 'YouTube video lisamine',
|
||||
txtEmbed : 'Kleepige manustatud kood siia',
|
||||
txtUrl : 'Kleepige YouTube video veebiaadress',
|
||||
txtWidth : 'Laius',
|
||||
txtHeight : 'Kõrgus',
|
||||
chkRelated : 'Näita soovitatud videosi antud video lõppus',
|
||||
txtStartAt : 'Alguskoht: (ss või mm:ss või hh:mm:ss)',
|
||||
chkPrivacy : 'Aktiveerige privaatsust täiendav režiim',
|
||||
chkOlderCode : 'Kasutage vana manuskoodi',
|
||||
chkAutoplay: 'Automaatesitlus',
|
||||
chkControls : 'Kuva pleieri nupud',
|
||||
noCode : 'Te peate sisestama video manuskoodi või veebiaadressi',
|
||||
invalidEmbed : 'Manuskood mille sisestasite ei paista olevat korrektne',
|
||||
invalidUrl : 'Veebiaadress mille sisestasite ei paista olevat korrektne',
|
||||
or : 'või',
|
||||
noWidth : 'Te peate sisestama video laiuse',
|
||||
invalidWidth : 'Sisestage korrektne laius',
|
||||
noHeight : 'Te peate sisestama video kõrguse',
|
||||
invalidHeight : 'Sisestage korrektne kõrgus',
|
||||
invalidTime : 'Sisestage korrektne algusaeg',
|
||||
txtResponsive : 'Aktiveerige ekraani laiusega ühilduv režiim'
|
||||
});
|
25
assets/ckplugins/youtube/lang/eu.js
Normal file
25
assets/ckplugins/youtube/lang/eu.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'eu', {
|
||||
button : 'Kapsulatu YouTube-ko bideoa',
|
||||
title : 'Kapsulatu YouTube-ko bideoa',
|
||||
txtEmbed : 'Itsatsi kapsulatzeko kodea hemen',
|
||||
txtUrl : 'Itsatsi YouTube-ko bideoaren URLa',
|
||||
txtWidth : 'Zabalera',
|
||||
txtHeight : 'Altuera',
|
||||
chkRelated : 'Erakutsi gomendatutako bideoak amaieran',
|
||||
txtStartAt : 'Hasi hemendik (ss edo mm:ss edo hh:mm:ss)',
|
||||
chkPrivacy : 'Gaitu pribatutasun hobetuko modua',
|
||||
chkOlderCode : 'Erabili kapsulatzeko kode zaharra',
|
||||
chkAutoplay: 'Erreproduzitu automatikoki',
|
||||
chkControls: 'Erakutsi erreproduzigailuaren kontrolak',
|
||||
noCode : 'Kapsulatzeko kode bat edo URL bat sartu behar duzu',
|
||||
invalidEmbed : 'Sartu duzun kapsulatzeko kodea ez da baliozkoa',
|
||||
invalidUrl : 'Sartu duzun URLa ez da baliozkoa',
|
||||
or : 'edo',
|
||||
noWidth : 'Zabalera sartu behar duzu',
|
||||
invalidWidth : 'Sartu baliozko zabalera bat',
|
||||
noHeight : 'Altuera sartu behar duzu',
|
||||
invalidHeight : 'Sartu baliozko altuera bat',
|
||||
invalidTime : 'Sartu baliozko hasierako denbora bat',
|
||||
txtResponsive : 'Egin moldagarria (ez ikusia egin zabalera eta altuerari, zabalerara doitu)',
|
||||
txtNoEmbed : 'Bideoaren irudia eta esteka soilik'
|
||||
});
|
24
assets/ckplugins/youtube/lang/fi.js
Normal file
24
assets/ckplugins/youtube/lang/fi.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'fi', {
|
||||
button : 'Upota YouTube-video',
|
||||
title : 'Upota YouTube-video',
|
||||
txtEmbed : 'Syötä YouTube-videon upotuskoodi',
|
||||
txtUrl : 'Syötä YouTube-videon www-osoite',
|
||||
txtWidth : 'Leveys',
|
||||
txtHeight : 'Korkeus',
|
||||
chkRelated : 'Näytä suositukset lopussa',
|
||||
txtStartAt : 'Aloitusaika (ss tai mm:ss tai tt:mm:ss)',
|
||||
chkPrivacy : 'Aktivoi yksityisyyttä parantava tila',
|
||||
chkOlderCode : 'Käytä vanhaa upotuskoodia',
|
||||
chkAutoplay: 'Soita automaattisesti',
|
||||
chkControls : 'Näytä soittimen ohjaimet',
|
||||
noCode : 'Sinun täytyy syötää upotuskoodi tai www-osoite',
|
||||
invalidEmbed : 'Upotuskoodi on virheellinen',
|
||||
invalidUrl : 'Www-osoite on virheellinen',
|
||||
or : 'tai',
|
||||
noWidth : 'Syötä leveys',
|
||||
invalidWidth : 'Leveys on virheellinen',
|
||||
noHeight : 'Syötä korkeus',
|
||||
invalidHeight : 'Korkeus on virheellinen',
|
||||
invalidTime : 'Aloitusaika on virheellinen',
|
||||
txtResponsive : 'Responsiivinen leveys (sovita leveys)'
|
||||
});
|
25
assets/ckplugins/youtube/lang/fr.js
Normal file
25
assets/ckplugins/youtube/lang/fr.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'fr', {
|
||||
button : 'Insérer une vidéo Youtube',
|
||||
title : 'Insérer une vidéo youtube',
|
||||
txtEmbed : 'Coller le code embed ici',
|
||||
txtUrl : 'Coller l\'url de la vidéo ici',
|
||||
txtWidth : 'Largeur',
|
||||
txtHeight : 'Hauteur',
|
||||
chkRelated : 'Montrer les suggestions de vidéo à la fin',
|
||||
txtStartAt : 'Commencer à (ss ou mm:ss ou hh:mm:ss)',
|
||||
chkPrivacy : 'Activer la protection de la vie privée',
|
||||
chkOlderCode : 'Utiliser l\'ancien code embed',
|
||||
chkAutoplay : 'Autoplay',
|
||||
chkControls : 'Afficher les commandes du lecteur',
|
||||
noCode : 'Vous devez entrer un code embed ou une url',
|
||||
invalidEmbed : 'Le code embed est invalide',
|
||||
invalidUrl : 'L\'url est invalide',
|
||||
or : 'ou',
|
||||
noWidth : 'Vous devez saisir une largeur',
|
||||
invalidWidth : 'La largeur saisie est invalide',
|
||||
noHeight : 'Vous devez saisir une hauteur',
|
||||
invalidHeight : 'La hauteur saisie est invalide',
|
||||
invalidTime : 'Le temps de départ de la vidéo est invalide',
|
||||
txtResponsive : 'Responsive video',
|
||||
txtNoEmbed : 'Vidéo image et lien seulement'
|
||||
});
|
24
assets/ckplugins/youtube/lang/he.js
Normal file
24
assets/ckplugins/youtube/lang/he.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'he', {
|
||||
button : 'שבץ וידאו של YouTube',
|
||||
title : 'שבץ וידאו של YouTube',
|
||||
txtEmbed : 'הדבק את קוד השיבוץ כאן',
|
||||
txtUrl : 'הדבק כתובת וידאו YouTube',
|
||||
txtWidth : 'אורך',
|
||||
txtHeight : 'גובה',
|
||||
chkRelated : 'הצג סרטונים מומלצים בסוף הודיאו',
|
||||
txtStartAt : 'התחל ב (ss או mm:ss או hh:mm:ss)',
|
||||
chkPrivacy : 'הפעל מצב פרטיות המשופרת',
|
||||
chkOlderCode : 'השתמש בקוד הטמעה ישן',
|
||||
chkAutoplay: 'הפעלה אוטומטית',
|
||||
chkControls : 'הצג פקדי נגן',
|
||||
noCode : 'אתה חייב להזין קוד embed כתובת וידאו אתר',
|
||||
invalidEmbed : 'קוד ההטמעה שהוזן אינו נראה חוקי',
|
||||
invalidUrl : 'כתובת הוידאו אינה נראת חוקית',
|
||||
or : 'או',
|
||||
noWidth : 'חובה להזין אורך',
|
||||
invalidWidth : 'האורך שהוזן שגוי',
|
||||
noHeight : 'חובה להזין גובה',
|
||||
invalidHeight : 'הגובה שהוזן שגוי',
|
||||
invalidTime : 'זמן התחלה שהוזן שגוי',
|
||||
txtResponsive : 'הפוך לרספונסיבי (התעלם מרוחב וגובה, התאם לרוחב)'
|
||||
});
|
25
assets/ckplugins/youtube/lang/hu.js
Normal file
25
assets/ckplugins/youtube/lang/hu.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'hu', {
|
||||
button : 'Youtube videó beillesztése',
|
||||
title : 'Youtube videó beillesztése',
|
||||
txtEmbed : 'Illessze be a beágyazott kódot',
|
||||
txtUrl : 'Illessze be a Youtube videó URL-jét',
|
||||
txtWidth : 'Szélesség',
|
||||
txtHeight : 'Magasság',
|
||||
txtStartAt : 'Kezdő időpont (ss vagy mm:ss vagy hh:mm:ss)',
|
||||
chkRelated : 'Ajánlott videók megjelenítése, amikor a videó befejeződik',
|
||||
chkPrivacy : 'Fokozott adatvédelmi mód engedélyezése',
|
||||
chkOlderCode : 'Régi beágyazott kód használata',
|
||||
chkAutoplay : 'Automatikus lejátszás',
|
||||
chkControls : 'Lejátszásvezérlők mutatása',
|
||||
noCode : 'A beágyazott kód, vagy az URL megadása kötelező',
|
||||
invalidEmbed : 'A beágyazott kód érvénytelen',
|
||||
invalidUrl : 'A megadott URL érvénytelen',
|
||||
or : 'vagy',
|
||||
noWidth : 'A szélesség megadása kötelező',
|
||||
invalidWidth : 'Érvényes szélességet adjon meg',
|
||||
noHeight : 'A magasság megadása kötelező',
|
||||
invalidHeight : 'Érvényes magasságot adjon meg',
|
||||
invalidTime : 'Érvényes kezdő időpontot adjon meg',
|
||||
txtResponsive : 'Reszponzív videó',
|
||||
txtNoEmbed : 'Csak kép és hivatkozás jelenjen meg'
|
||||
});
|
24
assets/ckplugins/youtube/lang/it.js
Normal file
24
assets/ckplugins/youtube/lang/it.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'it', {
|
||||
button : 'Incorpora video Youtube',
|
||||
title : 'Incorpora video Youtube',
|
||||
txtEmbed : 'Incolla qui il codice di incorporamento',
|
||||
txtUrl : 'Incolla l\'URL del video Youtube',
|
||||
txtWidth : 'Larghezza',
|
||||
txtHeight : 'Altezza',
|
||||
chkRelated : 'Mostra i video suggeriti dopo il video',
|
||||
txtStartAt : 'Inizia a (ss o mm:ss o hh:mm:ss)',
|
||||
chkPrivacy : 'Abilita la protezione della privacy',
|
||||
chkOlderCode : 'Usa il vecchio codice di incorporamento',
|
||||
chkAutoplay : 'Autoplay',
|
||||
chkControls : 'Mostra i controlli del player',
|
||||
noCode : 'Devi inserire un codice di incorporamento o un URL',
|
||||
invalidEmbed : 'Il codice di incorporamento inserito non sembra valido',
|
||||
invalidUrl : 'L\'URL inserito non sembra valido',
|
||||
or : 'o',
|
||||
noWidth : 'Devi indicare la larghezza',
|
||||
invalidWidth : 'Indica una larghezza valida',
|
||||
noHeight : 'Devi indicare l\'altezza',
|
||||
invalidHeight : 'Indica un\'altezza valida',
|
||||
invalidTime : 'Indica un tempo di inizio valido',
|
||||
txtResponsive : 'Responsive video'
|
||||
});
|
24
assets/ckplugins/youtube/lang/ja.js
Normal file
24
assets/ckplugins/youtube/lang/ja.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'ja', {
|
||||
button : 'Youtube動画埋め込み',
|
||||
title : 'Youtube動画埋め込み',
|
||||
txtEmbed : '埋め込みコードを貼り付けてください',
|
||||
txtUrl : 'URLを貼り付けてください',
|
||||
txtWidth : '幅',
|
||||
txtHeight : '高さ',
|
||||
chkRelated : '動画が終わったら関連動画を表示する',
|
||||
txtStartAt : '開始時間(秒)',
|
||||
chkPrivacy : 'プライバシー強化モードを有効にする',
|
||||
chkOlderCode : '以前の埋め込みコードを使用する',
|
||||
chkAutoplay : '自動再生',
|
||||
chkControls: 'プレーヤーのコントロールを表示する',
|
||||
noCode : '埋め込みコードまたはURLを入力してください',
|
||||
invalidEmbed : '不適切な埋め込みコードが入力されました',
|
||||
invalidUrl : '不適切なURLが入力されました',
|
||||
or : 'または',
|
||||
noWidth : '幅を指定してください',
|
||||
invalidWidth : '幅指定に誤りがあります',
|
||||
noHeight : '高さを指定してください',
|
||||
invalidHeight : '高さ指定に誤りがあります',
|
||||
invalidTime : '開始時間を正の整数で入力してください',
|
||||
txtResponsive : 'レスポンシブ表示'
|
||||
});
|
25
assets/ckplugins/youtube/lang/ko.js
Normal file
25
assets/ckplugins/youtube/lang/ko.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'ko', {
|
||||
button : '유투브 비디오 삽입',
|
||||
title : '유투브 비디오 삽입',
|
||||
txtEmbed : '여기 embed 코드를 붙여넣으세요',
|
||||
txtUrl : '유투브 주소(URL)를 붙여넣으세요',
|
||||
txtWidth : '너비',
|
||||
txtHeight : '높이',
|
||||
chkRelated : '비디오 마지막에 추천 영상 보이기',
|
||||
txtStartAt : '시작 시점 (ss 또는 mm:ss 또는 hh:mm:ss)',
|
||||
chkPrivacy : '개인정보 보호 모드 활성화',
|
||||
chkOlderCode : '옛날 embed 코드 사용',
|
||||
chkAutoplay: '자동 재생',
|
||||
chkControls: '플레이어 컨트롤 표시',
|
||||
noCode : 'embed 코드 또는 URL을 입력해야 합니다',
|
||||
invalidEmbed : '입력하신 embed 코드가 유효하지 않습니다',
|
||||
invalidUrl : '입력하신 주소(URL)가 유효하지 않습니다',
|
||||
or : '또는',
|
||||
noWidth : '너비를 알려주세요',
|
||||
invalidWidth : '너비가 유효하지 않습니다',
|
||||
noHeight : '높이를 알려주세요',
|
||||
invalidHeight : '높이가 유효하지 않습니다',
|
||||
invalidTime : '시작 시점이 유효하지 않습니다',
|
||||
txtResponsive : '반응형 너비 (입력한 너비와 높이를 무시하고 창 너비에 맞춤)',
|
||||
txtNoEmbed : '비디오 이미지와 링크만 달기'
|
||||
});
|
24
assets/ckplugins/youtube/lang/nb.js
Normal file
24
assets/ckplugins/youtube/lang/nb.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'nb', {
|
||||
button : 'Bygg inn YouTube-video',
|
||||
title : 'Bygg inn YouTube-video',
|
||||
txtEmbed : 'Lim inn embed-kode her',
|
||||
txtUrl : 'Lim inn YouTube video-URL',
|
||||
txtWidth : 'Bredde',
|
||||
txtHeight : 'Høyde',
|
||||
chkRelated : 'Vis foreslåtte videoer når videoen er ferdig',
|
||||
txtStartAt : 'Start ved (ss eller mm:ss eller hh:mm:ss)',
|
||||
chkPrivacy : 'Bruk personverntilpasset modus',
|
||||
chkOlderCode : 'Bruk gammel embedkode',
|
||||
chkAutoplay: 'Spill automatisk',
|
||||
chkControls: 'Vis spillerkontrollene',
|
||||
noCode : 'Du må legge inn en embed-kode eller URL',
|
||||
invalidEmbed : 'Emded-koden du la inn ser ikke ut til å være gyldig',
|
||||
invalidUrl : 'URLen du la inn ser ikke ut til å være gyldig',
|
||||
or : 'eller',
|
||||
noWidth : 'Du må legge inn bredde',
|
||||
invalidWidth : 'Legg inn en gyldig bredde',
|
||||
noHeight : 'Du må legge inn høyde',
|
||||
invalidHeight : 'Legg inn en gyldig høyde',
|
||||
invalidTime : 'Legg inn gyldig starttid',
|
||||
txtResponsive : 'Gjør responsiv (ignorer bredde og høyde, tilpass bredde på sida)'
|
||||
});
|
25
assets/ckplugins/youtube/lang/nl.js
Normal file
25
assets/ckplugins/youtube/lang/nl.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'nl', {
|
||||
button : 'Youtube video insluiten',
|
||||
title : 'Youtube video insluiten',
|
||||
txtEmbed : 'Plak embedcode hier',
|
||||
txtUrl : 'Plak video URL',
|
||||
txtWidth : 'Breedte',
|
||||
txtHeight : 'Hoogte',
|
||||
chkRelated : 'Toon gesuggereerde video aan het einde van de video',
|
||||
txtStartAt : 'Starten op (ss of mm:ss of hh:mm:ss)',
|
||||
chkPrivacy : 'Privacy-enhanced mode inschakelen',
|
||||
chkOlderCode : 'Gebruik oude embedcode',
|
||||
chkAutoplay: 'Automatisch starten',
|
||||
chkControls: 'Afspeelbediening weergeven',
|
||||
noCode : 'U moet een embedcode of url ingeven',
|
||||
invalidEmbed : 'De ingegeven embedcode lijkt niet geldig',
|
||||
invalidUrl : 'De ingegeven url lijkt niet geldig',
|
||||
or : 'of',
|
||||
noWidth : 'U moet een breedte ingeven',
|
||||
invalidWidth : 'U moet een geldige breedte ingeven',
|
||||
noHeight : 'U moet een hoogte ingeven',
|
||||
invalidHeight : 'U moet een geldige starttijd ingeven',
|
||||
invalidTime : 'Inform a valid start time',
|
||||
txtResponsive : 'Responsive video',
|
||||
txtNoEmbed : 'Alleen video afbeelding en link'
|
||||
});
|
24
assets/ckplugins/youtube/lang/nn.js
Normal file
24
assets/ckplugins/youtube/lang/nn.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'nn', {
|
||||
button : 'Bygg inn YouTube-video',
|
||||
title : 'Bygg inn YouTube-video',
|
||||
txtEmbed : 'Lim inn embed-kode her',
|
||||
txtUrl : 'Lim inn YouTube video-URL',
|
||||
txtWidth : 'Breidde',
|
||||
txtHeight : 'Høgde',
|
||||
chkRelated : 'Vis foreslåtte videoar når videoen er ferdig',
|
||||
txtStartAt : 'Start ved (ss eller mm:ss eller hh:mm:ss)',
|
||||
chkPrivacy : 'Bruk personverntilpassa modus',
|
||||
chkOlderCode : 'Bruk gamal embedkode',
|
||||
chkAutoplay: 'Spel automatisk',
|
||||
chkControls: 'Vis spillerkontrollene',
|
||||
noCode : 'Du må leggja inn ein embed-kode eller URL',
|
||||
invalidEmbed : 'Emded-koden du la inn ser ikkje ut til å vera gyldig',
|
||||
invalidUrl : 'URLen du la inn ser ikkje ut til å vera gyldig',
|
||||
or : 'eller',
|
||||
noWidth : 'Du må leggja inn breidde',
|
||||
invalidWidth : 'Legg inn ei gyldig breidde',
|
||||
noHeight : 'Du må leggja inn høgde',
|
||||
invalidHeight : 'Legg inn ei gyldig høgde',
|
||||
invalidTime : 'Legg inn gyldig starttid',
|
||||
txtResponsive : 'Gjer responsiv (ignorer breidde og høgde, tilpass breidda på sida)'
|
||||
});
|
24
assets/ckplugins/youtube/lang/pl.js
Normal file
24
assets/ckplugins/youtube/lang/pl.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'pl', {
|
||||
button : 'Załącznik wideo z YouTube',
|
||||
title : 'Załącznik wideo z YouTube',
|
||||
txtEmbed : 'Wklej kod do umieszczenia',
|
||||
txtUrl : 'Wklej adres URL do wideo z YouTube',
|
||||
txtWidth : 'Szerokość',
|
||||
txtHeight : 'Wysokość',
|
||||
chkRelated : 'Pokaż sugerowane filmy po zakończeniu odtwarzania',
|
||||
txtStartAt : 'Rozpocznij od (ss lub mm:ss lub gg:mm:ss)',
|
||||
chkPrivacy : 'Włącz rozszerzony tryb prywatności',
|
||||
chkOlderCode : 'Użyj starego kodu',
|
||||
chkAutoplay: 'Autoodtwarzanie',
|
||||
chkControls: 'Pokaż elementy sterujące odtwarzacza',
|
||||
noCode : 'Musisz wprowadzić kod lub adres URL',
|
||||
invalidEmbed : 'Wprowadzony kod nie jest poprawny',
|
||||
invalidUrl : 'Wprowadzony adres URL nie jest poprawny',
|
||||
or : 'lub',
|
||||
noWidth : 'Musisz wpisać szerokość',
|
||||
invalidWidth : 'Wprowadzona szerokość nie jest poprawna',
|
||||
noHeight : 'Musisz wprowadzić wysokość',
|
||||
invalidHeight : 'Wprowadzona wysokość nie jest poprawna',
|
||||
invalidTime : 'Musisz wprowadzić poprawny czas rozpoczęcia',
|
||||
txtResponsive : 'El. responsywny (ignoruj szerokość i wysokość, dopasuj do szerokości)'
|
||||
});
|
25
assets/ckplugins/youtube/lang/pt-br.js
Normal file
25
assets/ckplugins/youtube/lang/pt-br.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'pt-br', {
|
||||
button : 'Inserir Vídeo do Youtube',
|
||||
title : 'Inserir Vídeo do Youtube',
|
||||
txtEmbed : 'Cole aqui o código embed de um vídeo do Youtube',
|
||||
txtUrl : 'Cole aqui uma URL de um vídeo do Youtube',
|
||||
txtWidth : 'Largura',
|
||||
txtHeight : 'Altura',
|
||||
chkRelated : 'Mostrar vídeos sugeridos ao final do vídeo',
|
||||
txtStartAt : 'Iniciar em (ss ou mm:ss ou hh:mm:ss)',
|
||||
chkPrivacy : 'Ativar o modo de privacidade aprimorada',
|
||||
chkOlderCode : 'Usar código de incorporação antigo',
|
||||
chkAutoplay : 'Reproduzir automaticamente',
|
||||
chkControls: 'Mostrar controles do player',
|
||||
noCode : 'Você precisa informar um código embed ou uma URL',
|
||||
invalidEmbed : 'O código informado não parece ser válido',
|
||||
invalidUrl : 'A URL informada não parece ser válida',
|
||||
or : 'ou',
|
||||
noWidth : 'Você deve informar a largura do vídeo',
|
||||
invalidWidth : 'Informe uma largura válida',
|
||||
noHeight : 'Você deve informar a altura do vídeo',
|
||||
invalidHeight : 'Informe uma altura válida',
|
||||
invalidTime : 'O tempo informado é inválido',
|
||||
txtResponsive : 'Vídeo responsivo',
|
||||
txtNoEmbed : 'Somente imagem e link para o vídeo'
|
||||
});
|
25
assets/ckplugins/youtube/lang/pt.js
Normal file
25
assets/ckplugins/youtube/lang/pt.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'pt', {
|
||||
button : 'Inserir Vídeo do Youtube',
|
||||
title : 'Inserir Vídeo do Youtube',
|
||||
txtEmbed : 'Cole aqui o código embed de um vídeo do Youtube',
|
||||
txtUrl : 'Cole aqui uma URL de um vídeo do Youtube',
|
||||
txtWidth : 'Largura',
|
||||
txtHeight : 'Altura',
|
||||
chkRelated : 'Mostrar vídeos sugeridos quando o vídeo terminar',
|
||||
txtStartAt : 'Iniciar em (ss ou mm:ss ou hh:mm:ss)',
|
||||
chkPrivacy : 'Ativar o modo de privacidade otimizada',
|
||||
chkOlderCode : 'Usar código de incorporação antigo',
|
||||
chkAutoplay : 'Reproduzir automaticamente',
|
||||
chkControls: 'Mostrar controles do player',
|
||||
noCode : 'Você precisa informar um código embed ou uma URL',
|
||||
invalidEmbed : 'O código informado não parece ser válido',
|
||||
invalidUrl : 'A URL informada não parece ser válida',
|
||||
or : 'ou',
|
||||
noWidth : 'Você deve informar a largura do vídeo',
|
||||
invalidWidth : 'Informe uma largura válida',
|
||||
noHeight : 'Você deve informar a altura do vídeo',
|
||||
invalidHeight : 'Informe uma altura válida',
|
||||
invalidTime : 'O tempo informado é inválido',
|
||||
txtResponsive : 'Vídeo responsivo',
|
||||
txtNoEmbed : 'Somente imagem e link para o vídeo'
|
||||
});
|
25
assets/ckplugins/youtube/lang/ru.js
Normal file
25
assets/ckplugins/youtube/lang/ru.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'ru', {
|
||||
button : 'Вставить YouTube видео',
|
||||
title : 'Вставить YouTube видео',
|
||||
txtEmbed : 'Вставьте HTML-код сюда',
|
||||
txtUrl : 'Вставьте адрес видео (URL)',
|
||||
txtWidth : 'Ширина',
|
||||
txtHeight : 'Высота',
|
||||
chkRelated : 'Показать похожие видео после завершения просмотра',
|
||||
txtStartAt : 'Начать с (сс или мм:сс или чч:мм:сс)',
|
||||
chkPrivacy : 'Включить режим повышенной конфиденциальности',
|
||||
chkOlderCode : 'Использовать старый код вставки',
|
||||
chkAutoplay: 'Автозапуск',
|
||||
chkControls: 'Показать панель управления',
|
||||
noCode : 'Вы должны ввести HTML-код или адрес',
|
||||
invalidEmbed : 'Ваш HTML-код не похож на правильный',
|
||||
invalidUrl : 'Ваш адрес видео не похож на правильный',
|
||||
or : 'или',
|
||||
noWidth : 'Вы должны указать ширину',
|
||||
invalidWidth : 'Укажите правильную ширину',
|
||||
noHeight : 'Вы должны указать высоту',
|
||||
invalidHeight : 'Укажите правильную высоту',
|
||||
invalidTime : 'Укажите правильное время начала',
|
||||
txtResponsive : 'Растягиваемое видео',
|
||||
txtNoEmbed : 'Не встраивать видео (обложка-ссылка на YouTube)'
|
||||
});
|
24
assets/ckplugins/youtube/lang/sk.js
Normal file
24
assets/ckplugins/youtube/lang/sk.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'sk', {
|
||||
button : 'Vložiť YouTube video',
|
||||
title : 'Vložiť YouTube video',
|
||||
txtEmbed : 'Vložiť Youtube Embed Video kódu',
|
||||
txtUrl : 'Vložiť pomocou YouTube video URL',
|
||||
txtWidth : 'Šírka',
|
||||
txtHeight : 'Výška',
|
||||
chkRelated : 'Zobraziť odporúčané videá po prehratí',
|
||||
txtStartAt : 'Začať prehrávanie videa (ss alebo mm:ss alebo hh:mm:ss)',
|
||||
chkPrivacy : 'Povoliť pokročilý mód súkromia',
|
||||
chkOlderCode : 'Použiť starú metódu vkladania',
|
||||
chkAutoplay: 'Automatické prehrávanie',
|
||||
chkControls: 'Zobraziť ovládacie prvky prehrávača',
|
||||
noCode : 'Musíte vložiť Youtube Embed kód alebo URL',
|
||||
invalidEmbed : 'Vložený kód nie je valídny',
|
||||
invalidUrl : 'Vložená URL nie je platná',
|
||||
or : 'alebo',
|
||||
noWidth : 'Prosím, zadajte šírku videa',
|
||||
invalidWidth : 'Zadajte valídnu šírku videa',
|
||||
noHeight : 'Prosím, zadajte výšku videa',
|
||||
invalidHeight : 'Zadajte valídnu výšku videa',
|
||||
invalidTime : 'Zadajte valídny formát začiatku prehrávania videa',
|
||||
txtResponsive : 'Prispôsobit rozmery videa rozmerom obrazovky (ignoruje šírku a výšku, prispôsobí sa šírke obrazovky)'
|
||||
});
|
24
assets/ckplugins/youtube/lang/tr.js
Normal file
24
assets/ckplugins/youtube/lang/tr.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'tr', {
|
||||
button : 'Youtube Video Gömün (Embed)',
|
||||
title : 'Youtube Video',
|
||||
txtEmbed : 'Youtube gömülü kodu (embed) buraya yapıştırınız',
|
||||
txtUrl : 'Youtube linkinizi buraya yapıştırınız',
|
||||
txtWidth : 'Genişlik',
|
||||
txtHeight : 'Yükseklik',
|
||||
chkRelated : 'Önerilen videoları video bitiminde göster',
|
||||
txtStartAt : 'Video başlangıç anı (ss ya da dd:ss ya da ss:dd:ss)',
|
||||
chkPrivacy : 'Gizlilik modunu etkinleştir',
|
||||
chkOlderCode : 'Eski gömülü kodu (embed) kullan',
|
||||
chkAutoplay: 'Otomatik',
|
||||
chkControls: 'Oynatıcı kontrollerini göster',
|
||||
noCode : 'Gömülü kod (embed) veya url yapıştırmak zorundasınız',
|
||||
invalidEmbed : 'Verdiğiniz gömülü kod (embed) ile video bulunamadı',
|
||||
invalidUrl : 'Verdiğiniz linkte video bulunamadı',
|
||||
or : 'ya da',
|
||||
noWidth : 'Genişliği belirtmek zorundasınız',
|
||||
invalidWidth : 'Bir genişlik belirtin',
|
||||
noHeight : 'Yükseliği belirtmek zorundasınız',
|
||||
invalidHeight : 'Yükseklik belirtin',
|
||||
invalidTime : 'Başlangıç anını doğru girin, örneğin: 13 (13. saniye) ya da 12:25 (12. dakika 25. saniye) ya da 01.25.33 (1 saat 25 dakika 33 saniye)',
|
||||
txtResponsive : 'Responsive video'
|
||||
});
|
25
assets/ckplugins/youtube/lang/uk.js
Normal file
25
assets/ckplugins/youtube/lang/uk.js
Normal file
@ -0,0 +1,25 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'uk', {
|
||||
button : 'Вставити YouTube-відео',
|
||||
title : 'Вставити YouTube-відео',
|
||||
txtEmbed : 'Вставте HTML-код сюди',
|
||||
txtUrl : 'Вставте URL-адресу сюди',
|
||||
txtWidth : 'Ширина',
|
||||
txtHeight : 'Висота',
|
||||
chkRelated : 'Показати пропоновані відео в кінці',
|
||||
txtStartAt : 'Почати з (сс або хх:сс або гг:хх:сс)',
|
||||
chkPrivacy : 'Увімкнути режим підвищеної конфіденційності',
|
||||
chkOlderCode : 'Використовувати старий код вставки',
|
||||
chkAutoplay: 'Автовідтворення',
|
||||
chkControls: 'Показувати елементи управління плеєром',
|
||||
noCode : 'Ви повинні ввести HTML-код або URL-адресу',
|
||||
invalidEmbed : 'Код вставки, який ви додали не вірний',
|
||||
invalidUrl : 'URL-адреса, яку ви додали не вірна',
|
||||
or : 'або',
|
||||
noWidth : 'Укажіть ширину',
|
||||
invalidWidth : 'Укажіть правильну ширину',
|
||||
noHeight : 'Укажіть висоту',
|
||||
invalidHeight : 'Укажіть правильну висоту',
|
||||
invalidTime : 'Укажіть правильний час початку',
|
||||
txtResponsive : 'Адаптивне (таке, яке розтягується) відео',
|
||||
txtNoEmbed : 'Додати лише обкладинку та посилання на YouTube'
|
||||
});
|
24
assets/ckplugins/youtube/lang/vi.js
Normal file
24
assets/ckplugins/youtube/lang/vi.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'vi', {
|
||||
button : 'Embed Youtube Video',
|
||||
title : 'Nhúng Video Youtube',
|
||||
txtEmbed : 'Dãn mã nhúng Embed vào đây',
|
||||
txtUrl : 'Dãn đường dẫn video Youtube',
|
||||
txtWidth : 'Rộng',
|
||||
txtHeight : 'Cao',
|
||||
chkRelated : 'Hiển thị các video được đề xuất khi video kết thúc',
|
||||
txtStartAt : 'Bắt đầu (ss hoặc mm:ss hoặc hh:mm:ss)',
|
||||
chkPrivacy : 'Kích hoạt chế độ bảo mật nâng cao',
|
||||
chkOlderCode : 'Sử dụng mã nhúng cũ',
|
||||
chkAutoplay: 'Tự động chạy video',
|
||||
chkControls: 'Hiển thị các điều khiển trình phát',
|
||||
noCode : 'Bạn phải nhập mã nhúng hoặc URL',
|
||||
invalidEmbed : 'Mã nhúng bạn đã nhập không đúng',
|
||||
invalidUrl : 'URL bạn đã nhập không đúng',
|
||||
or : 'hoặc',
|
||||
noWidth : 'Bạn phải chiều rộng',
|
||||
invalidWidth : 'Chiều rộng hợp lệ',
|
||||
noHeight : 'Bạn phải chiều cao',
|
||||
invalidHeight : 'Chiều cao hợp lệ',
|
||||
invalidTime : 'Thời gian bắt đầu không đúng',
|
||||
txtResponsive : 'Responsive video'
|
||||
});
|
24
assets/ckplugins/youtube/lang/zh.js
Normal file
24
assets/ckplugins/youtube/lang/zh.js
Normal file
@ -0,0 +1,24 @@
|
||||
CKEDITOR.plugins.setLang('youtube', 'zh', {
|
||||
button: '嵌入 Youtube 影片',
|
||||
title: '嵌入 Youtube 影片',
|
||||
txtEmbed: '貼上嵌入碼',
|
||||
txtUrl: '貼上 Youtube 影片 URL',
|
||||
txtWidth: '寬',
|
||||
txtHeight: '高',
|
||||
txtResponsive: '使用自適應縮放模式 (忽略設定的長寬, 以寬為基準縮放)',
|
||||
chkRelated: '影片結束時顯示建議影片',
|
||||
txtStartAt: '開始時間 (ss or mm:ss or hh:mm:ss)',
|
||||
chkPrivacy: '啟用加強隱私模式',
|
||||
chkOlderCode: '使用舊的嵌入碼',
|
||||
chkAutoplay: '自動播放',
|
||||
chkControls: '显示播放器控件',
|
||||
noCode: '必須輸入嵌入碼',
|
||||
invalidEmbed: '錯誤的嵌入碼',
|
||||
invalidUrl: '錯誤的URL',
|
||||
or: '或',
|
||||
noWidth: '必須設定寬',
|
||||
invalidWidth: '寬設定錯誤',
|
||||
noHeight: '必須設定高',
|
||||
invalidHeight: '高設定錯誤',
|
||||
invalidTime: '開始時間設定錯誤'
|
||||
});
|
449
assets/ckplugins/youtube/plugin.js
Normal file
449
assets/ckplugins/youtube/plugin.js
Normal file
@ -0,0 +1,449 @@
|
||||
/*
|
||||
* Youtube Embed Plugin
|
||||
*
|
||||
* @author Jonnas Fonini <jonnasfonini@gmail.com>
|
||||
* @version 2.1.14
|
||||
*/
|
||||
(function () {
|
||||
CKEDITOR.plugins.add('youtube', {
|
||||
lang: [ 'en', 'bg', 'pt', 'pt-br', 'ja', 'hu', 'it', 'fr', 'tr', 'ru', 'de', 'ar', 'nl', 'pl', 'vi', 'zh', 'el', 'he', 'es', 'nb', 'nn', 'fi', 'et', 'sk', 'cs', 'ko', 'eu', 'uk'],
|
||||
init: function (editor) {
|
||||
editor.addCommand('youtube', new CKEDITOR.dialogCommand('youtube', {
|
||||
allowedContent: 'div{*}(*); iframe{*}[!width,!height,!src,!frameborder,!allowfullscreen,!allow]; object param[*]; a[*]; img[*]'
|
||||
}));
|
||||
|
||||
editor.ui.addButton('Youtube', {
|
||||
label : editor.lang.youtube.button,
|
||||
toolbar : 'insert',
|
||||
command : 'youtube',
|
||||
icon : this.path + 'images/icon.png'
|
||||
});
|
||||
|
||||
CKEDITOR.dialog.add('youtube', function (instance) {
|
||||
var video,
|
||||
disabled = editor.config.youtube_disabled_fields || [];
|
||||
|
||||
return {
|
||||
title : editor.lang.youtube.title,
|
||||
minWidth : 510,
|
||||
minHeight : 200,
|
||||
onShow: function () {
|
||||
for (var i = 0; i < disabled.length; i++) {
|
||||
this.getContentElement('youtubePlugin', disabled[i]).disable();
|
||||
}
|
||||
},
|
||||
contents :
|
||||
[{
|
||||
id : 'youtubePlugin',
|
||||
expand : true,
|
||||
elements :
|
||||
[{
|
||||
id : 'txtEmbed',
|
||||
type : 'textarea',
|
||||
label : editor.lang.youtube.txtEmbed,
|
||||
onChange : function (api) {
|
||||
handleEmbedChange(this, api);
|
||||
},
|
||||
onKeyUp : function (api) {
|
||||
handleEmbedChange(this, api);
|
||||
},
|
||||
validate : function () {
|
||||
if (this.isEnabled()) {
|
||||
if (!this.getValue()) {
|
||||
alert(editor.lang.youtube.noCode);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
if (this.getValue().length === 0 || this.getValue().indexOf('//') === -1) {
|
||||
alert(editor.lang.youtube.invalidEmbed);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type : 'html',
|
||||
html : editor.lang.youtube.or + '<hr>'
|
||||
},
|
||||
{
|
||||
type : 'hbox',
|
||||
widths : [ '70%', '15%', '15%' ],
|
||||
children :
|
||||
[
|
||||
{
|
||||
id : 'txtUrl',
|
||||
type : 'text',
|
||||
label : editor.lang.youtube.txtUrl,
|
||||
onChange : function (api) {
|
||||
handleLinkChange(this, api);
|
||||
},
|
||||
onKeyUp : function (api) {
|
||||
handleLinkChange(this, api);
|
||||
},
|
||||
validate : function () {
|
||||
if (this.isEnabled()) {
|
||||
if (!this.getValue()) {
|
||||
alert(editor.lang.youtube.noCode);
|
||||
return false;
|
||||
}
|
||||
else{
|
||||
video = ytVidId(this.getValue());
|
||||
|
||||
if (this.getValue().length === 0 || video === false)
|
||||
{
|
||||
alert(editor.lang.youtube.invalidUrl);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type : 'text',
|
||||
id : 'txtWidth',
|
||||
width : '60px',
|
||||
label : editor.lang.youtube.txtWidth,
|
||||
'default' : editor.config.youtube_width != null ? editor.config.youtube_width : '640',
|
||||
validate : function () {
|
||||
if (this.getValue()) {
|
||||
var width = parseInt (this.getValue()) || 0;
|
||||
|
||||
if (width === 0) {
|
||||
alert(editor.lang.youtube.invalidWidth);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert(editor.lang.youtube.noWidth);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type : 'text',
|
||||
id : 'txtHeight',
|
||||
width : '60px',
|
||||
label : editor.lang.youtube.txtHeight,
|
||||
'default' : editor.config.youtube_height != null ? editor.config.youtube_height : '360',
|
||||
validate : function () {
|
||||
if (this.getValue()) {
|
||||
var height = parseInt(this.getValue()) || 0;
|
||||
|
||||
if (height === 0) {
|
||||
alert(editor.lang.youtube.invalidHeight);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert(editor.lang.youtube.noHeight);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type : 'hbox',
|
||||
widths : [ '55%', '45%' ],
|
||||
children :
|
||||
[
|
||||
{
|
||||
id : 'chkResponsive',
|
||||
type : 'checkbox',
|
||||
label : editor.lang.youtube.txtResponsive,
|
||||
'default' : editor.config.youtube_responsive != null ? editor.config.youtube_responsive : false
|
||||
},
|
||||
{
|
||||
id : 'chkNoEmbed',
|
||||
type : 'checkbox',
|
||||
label : editor.lang.youtube.txtNoEmbed,
|
||||
'default' : editor.config.youtube_noembed != null ? editor.config.youtube_noembed : false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type : 'hbox',
|
||||
widths : [ '55%', '45%' ],
|
||||
children :
|
||||
[
|
||||
{
|
||||
id : 'chkRelated',
|
||||
type : 'checkbox',
|
||||
'default' : editor.config.youtube_related != null ? editor.config.youtube_related : true,
|
||||
label : editor.lang.youtube.chkRelated
|
||||
},
|
||||
{
|
||||
id : 'chkOlderCode',
|
||||
type : 'checkbox',
|
||||
'default' : editor.config.youtube_older != null ? editor.config.youtube_older : false,
|
||||
label : editor.lang.youtube.chkOlderCode
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type : 'hbox',
|
||||
widths : [ '55%', '45%' ],
|
||||
children :
|
||||
[
|
||||
{
|
||||
id : 'chkPrivacy',
|
||||
type : 'checkbox',
|
||||
label : editor.lang.youtube.chkPrivacy,
|
||||
'default' : editor.config.youtube_privacy != null ? editor.config.youtube_privacy : false
|
||||
},
|
||||
{
|
||||
id : 'chkAutoplay',
|
||||
type : 'checkbox',
|
||||
'default' : editor.config.youtube_autoplay != null ? editor.config.youtube_autoplay : false,
|
||||
label : editor.lang.youtube.chkAutoplay
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type : 'hbox',
|
||||
widths : [ '55%', '45%'],
|
||||
children :
|
||||
[
|
||||
{
|
||||
id : 'txtStartAt',
|
||||
type : 'text',
|
||||
label : editor.lang.youtube.txtStartAt,
|
||||
validate : function () {
|
||||
if (this.getValue()) {
|
||||
var str = this.getValue();
|
||||
|
||||
if (!/^(?:(?:([01]?\d|2[0-3]):)?([0-5]?\d):)?([0-5]?\d)$/i.test(str)) {
|
||||
alert(editor.lang.youtube.invalidTime);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
id : 'chkControls',
|
||||
type : 'checkbox',
|
||||
'default' : editor.config.youtube_controls != null ? editor.config.youtube_controls : true,
|
||||
label : editor.lang.youtube.chkControls
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
onOk: function()
|
||||
{
|
||||
var content = '';
|
||||
var responsiveStyle = '';
|
||||
|
||||
if (this.getContentElement('youtubePlugin', 'txtEmbed').isEnabled()) {
|
||||
content = this.getValueOf('youtubePlugin', 'txtEmbed');
|
||||
}
|
||||
else {
|
||||
var url = 'https://', params = [], startSecs, paramAutoplay='';
|
||||
var width = this.getValueOf('youtubePlugin', 'txtWidth');
|
||||
var height = this.getValueOf('youtubePlugin', 'txtHeight');
|
||||
|
||||
if (this.getContentElement('youtubePlugin', 'chkPrivacy').getValue() === true) {
|
||||
url += 'www.youtube-nocookie.com/';
|
||||
}
|
||||
else {
|
||||
url += 'www.youtube.com/';
|
||||
}
|
||||
|
||||
url += 'embed/' + video;
|
||||
|
||||
if (this.getContentElement('youtubePlugin', 'chkRelated').getValue() === false) {
|
||||
params.push('rel=0');
|
||||
}
|
||||
|
||||
if (this.getContentElement('youtubePlugin', 'chkAutoplay').getValue() === true) {
|
||||
params.push('autoplay=1');
|
||||
paramAutoplay='autoplay';
|
||||
}
|
||||
|
||||
if (this.getContentElement('youtubePlugin', 'chkControls').getValue() === false) {
|
||||
params.push('controls=0');
|
||||
}
|
||||
|
||||
startSecs = this.getValueOf('youtubePlugin', 'txtStartAt');
|
||||
|
||||
if (startSecs) {
|
||||
var seconds = hmsToSeconds(startSecs);
|
||||
|
||||
params.push('start=' + seconds);
|
||||
}
|
||||
|
||||
if (params.length > 0) {
|
||||
url = url + '?' + params.join('&');
|
||||
}
|
||||
|
||||
if (this.getContentElement('youtubePlugin', 'chkResponsive').getValue() === true) {
|
||||
content += '<div class="youtube-embed-wrapper" style="position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden">';
|
||||
responsiveStyle = 'style="position:absolute;top:0;left:0;width:100%;height:100%"';
|
||||
}
|
||||
|
||||
if (this.getContentElement('youtubePlugin', 'chkOlderCode').getValue() === true) {
|
||||
url = url.replace('embed/', 'v/');
|
||||
url = url.replace(/&/g, '&');
|
||||
|
||||
if (url.indexOf('?') === -1) {
|
||||
url += '?';
|
||||
}
|
||||
else {
|
||||
url += '&';
|
||||
}
|
||||
url += 'hl=' + (this.getParentEditor().config.language ? this.getParentEditor().config.language : 'en') + '&version=3';
|
||||
|
||||
content += '<object width="' + width + '" height="' + height + '" ' + responsiveStyle + '>';
|
||||
content += '<param name="movie" value="' + url + '"></param>';
|
||||
content += '<param name="allowFullScreen" value="true"></param>';
|
||||
content += '<param name="allowscriptaccess" value="always"></param>';
|
||||
content += '<embed src="' + url + '" type="application/x-shockwave-flash" ';
|
||||
content += 'width="' + width + '" height="' + height + '" '+ responsiveStyle + ' allowscriptaccess="always" ';
|
||||
content += 'allowfullscreen="true"></embed>';
|
||||
content += '</object>';
|
||||
}
|
||||
else
|
||||
if (this.getContentElement('youtubePlugin', 'chkNoEmbed').getValue() === true) {
|
||||
var imgSrc = 'https://img.youtube.com/vi/' + video + '/sddefault.jpg';
|
||||
content += '<a href="' + url + '" ><img width="' + width + '" height="' + height + '" src="' + imgSrc + '" ' + responsiveStyle + '/></a>';
|
||||
}
|
||||
else {
|
||||
content += '<iframe ' + (paramAutoplay ? 'allow="' + paramAutoplay + ';" ' : '') + 'width="' + width + '" height="' + height + '" src="' + url + '" ' + responsiveStyle;
|
||||
content += 'frameborder="0" allowfullscreen></iframe>';
|
||||
}
|
||||
|
||||
if (this.getContentElement('youtubePlugin', 'chkResponsive').getValue() === true) {
|
||||
content += '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
var element = CKEDITOR.dom.element.createFromHtml(content);
|
||||
var instance = this.getParentEditor();
|
||||
instance.insertElement(element);
|
||||
}
|
||||
};
|
||||
});
|
||||
}
|
||||
});
|
||||
})();
|
||||
|
||||
function handleLinkChange(el, api) {
|
||||
var video = ytVidId(el.getValue());
|
||||
var time = ytVidTime(el.getValue());
|
||||
|
||||
if (el.getValue().length > 0) {
|
||||
el.getDialog().getContentElement('youtubePlugin', 'txtEmbed').disable();
|
||||
}
|
||||
else if (!disabled.length || !disabled.includes('txtEmbed')) {
|
||||
el.getDialog().getContentElement('youtubePlugin', 'txtEmbed').enable();
|
||||
}
|
||||
|
||||
if (video && time) {
|
||||
var seconds = timeParamToSeconds(time);
|
||||
var hms = secondsToHms(seconds);
|
||||
el.getDialog().getContentElement('youtubePlugin', 'txtStartAt').setValue(hms);
|
||||
}
|
||||
}
|
||||
|
||||
function handleEmbedChange(el, api) {
|
||||
if (el.getValue().length > 0) {
|
||||
el.getDialog().getContentElement('youtubePlugin', 'txtUrl').disable();
|
||||
}
|
||||
else {
|
||||
el.getDialog().getContentElement('youtubePlugin', 'txtUrl').enable();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* JavaScript function to match (and return) the video Id
|
||||
* of any valid Youtube Url, given as input string.
|
||||
* @author: Stephan Schmitz <eyecatchup@gmail.com>
|
||||
* @url: http://stackoverflow.com/a/10315969/624466
|
||||
*/
|
||||
function ytVidId(url) {
|
||||
var p = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
|
||||
return (url.match(p)) ? RegExp.$1 : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Matches and returns time param in YouTube Urls.
|
||||
*/
|
||||
function ytVidTime(url) {
|
||||
var p = /t=([0-9hms]+)/;
|
||||
return (url.match(p)) ? RegExp.$1 : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts time in hms format to seconds only
|
||||
*/
|
||||
function hmsToSeconds(time) {
|
||||
var arr = time.split(':'), s = 0, m = 1;
|
||||
|
||||
while (arr.length > 0) {
|
||||
s += m * parseInt(arr.pop(), 10);
|
||||
m *= 60;
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts seconds to hms format
|
||||
*/
|
||||
function secondsToHms(seconds) {
|
||||
var h = Math.floor(seconds / 3600);
|
||||
var m = Math.floor((seconds / 60) % 60);
|
||||
var s = seconds % 60;
|
||||
|
||||
var pad = function (n) {
|
||||
n = String(n);
|
||||
return n.length >= 2 ? n : "0" + n;
|
||||
};
|
||||
|
||||
if (h > 0) {
|
||||
return pad(h) + ':' + pad(m) + ':' + pad(s);
|
||||
}
|
||||
else {
|
||||
return pad(m) + ':' + pad(s);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts time in youtube t-param format to seconds
|
||||
*/
|
||||
function timeParamToSeconds(param) {
|
||||
var componentValue = function (si) {
|
||||
var regex = new RegExp('(\\d+)' + si);
|
||||
return param.match(regex) ? parseInt(RegExp.$1, 10) : 0;
|
||||
};
|
||||
|
||||
return componentValue('h') * 3600
|
||||
+ componentValue('m') * 60
|
||||
+ componentValue('s');
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts seconds into youtube t-param value, e.g. 1h4m30s
|
||||
*/
|
||||
function secondsToTimeParam(seconds) {
|
||||
var h = Math.floor(seconds / 3600);
|
||||
var m = Math.floor((seconds / 60) % 60);
|
||||
var s = seconds % 60;
|
||||
var param = '';
|
||||
|
||||
if (h > 0) {
|
||||
param += h + 'h';
|
||||
}
|
||||
|
||||
if (m > 0) {
|
||||
param += m + 'm';
|
||||
}
|
||||
|
||||
if (s > 0) {
|
||||
param += s + 's';
|
||||
}
|
||||
|
||||
return param;
|
||||
}
|
4
assets/controllers.json
Normal file
4
assets/controllers.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"controllers": [],
|
||||
"entrypoints": []
|
||||
}
|
16
assets/controllers/hello_controller.js
Normal file
16
assets/controllers/hello_controller.js
Normal file
@ -0,0 +1,16 @@
|
||||
import { Controller } from '@hotwired/stimulus';
|
||||
|
||||
/*
|
||||
* This is an example Stimulus controller!
|
||||
*
|
||||
* Any element with a data-controller="hello" attribute will cause
|
||||
* this controller to be executed. The name "hello" comes from the filename:
|
||||
* hello_controller.js -> "hello"
|
||||
*
|
||||
* Delete this file or adapt it for your use!
|
||||
*/
|
||||
export default class extends Controller {
|
||||
connect() {
|
||||
this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js';
|
||||
}
|
||||
}
|
19
assets/dropzone.js
Normal file
19
assets/dropzone.js
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
require('dropzone/dist/dropzone.css');
|
||||
/*
|
||||
window.Dropzone = require('dropzone/dist/dropzone.js');
|
||||
*/
|
||||
const { Dropzone } = require("dropzone");
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var elt = document.getElementById('mydropzone');
|
||||
console.log($(elt).data("maxfiles"))
|
||||
var mydropzone = new Dropzone(elt, {
|
||||
acceptedMimeTypes: $(elt).data("acceptedMimeTypes"),
|
||||
maxFiles: $(elt).data("maxFiles"),
|
||||
success: function( file, response ){
|
||||
dropzonesuccess(file,response);
|
||||
},
|
||||
});
|
||||
global.mydropzone=mydropzone;
|
||||
});
|
BIN
assets/fonts/ABeeZee-Regular.ttf
Normal file
BIN
assets/fonts/ABeeZee-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Acme-Regular-webfont.ttf
Normal file
BIN
assets/fonts/Acme-Regular-webfont.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/AlfaSlabOne-Regular.ttf
Normal file
BIN
assets/fonts/AlfaSlabOne-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Anton-Regular.ttf
Normal file
BIN
assets/fonts/Anton-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Baloo-Regular.ttf
Normal file
BIN
assets/fonts/Baloo-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Bebas-webfont.ttf
Normal file
BIN
assets/fonts/Bebas-webfont.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/CarterOne-Regular.ttf
Normal file
BIN
assets/fonts/CarterOne-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Chewy-Regular.ttf
Normal file
BIN
assets/fonts/Chewy-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Courgette-Regular.ttf
Normal file
BIN
assets/fonts/Courgette-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/FredokaOne-Regular.ttf
Normal file
BIN
assets/fonts/FredokaOne-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Grandstander-Black.ttf
Normal file
BIN
assets/fonts/Grandstander-Black.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Justanotherhand-Regular-webfont.ttf
Normal file
BIN
assets/fonts/Justanotherhand-Regular-webfont.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Lato-Regular.ttf
Normal file
BIN
assets/fonts/Lato-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/LexendDeca-Regular.ttf
Normal file
BIN
assets/fonts/LexendDeca-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/LuckiestGuy-Regular.ttf
Normal file
BIN
assets/fonts/LuckiestGuy-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Overpass-Black.ttf
Normal file
BIN
assets/fonts/Overpass-Black.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/PassionOne-Regular.ttf
Normal file
BIN
assets/fonts/PassionOne-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Peacesans-webfont.ttf
Normal file
BIN
assets/fonts/Peacesans-webfont.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Redressed-webfont.ttf
Normal file
BIN
assets/fonts/Redressed-webfont.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Righteous-Regular.ttf
Normal file
BIN
assets/fonts/Righteous-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Roboto-Regular-webfont.ttf
Normal file
BIN
assets/fonts/Roboto-Regular-webfont.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/RubikMonoOne-Regular.ttf
Normal file
BIN
assets/fonts/RubikMonoOne-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/SigmarOne-Regular.ttf
Normal file
BIN
assets/fonts/SigmarOne-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Signika-Regular.ttf
Normal file
BIN
assets/fonts/Signika-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Snickles-webfont.ttf
Normal file
BIN
assets/fonts/Snickles-webfont.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Teko-Bold.ttf
Normal file
BIN
assets/fonts/Teko-Bold.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Viga-Regular.ttf
Normal file
BIN
assets/fonts/Viga-Regular.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/theboldfont.ttf
Normal file
BIN
assets/fonts/theboldfont.ttf
Normal file
Binary file not shown.
62
assets/js/app.js
Normal file
62
assets/js/app.js
Normal file
@ -0,0 +1,62 @@
|
||||
$(document).ready(function() {
|
||||
// Color
|
||||
$(".pick-a-color").spectrum(
|
||||
{
|
||||
type: "text",
|
||||
showAlpha: false
|
||||
}
|
||||
);
|
||||
$(".pick-a-color").attr("autocomplete","off");
|
||||
|
||||
// method confirm
|
||||
var doit = true;
|
||||
$("a[data-method]").on('click',function(){
|
||||
if($(this).data('confirm')){
|
||||
doit = confirm($(this).data('confirm'));
|
||||
if(!doit) return false;
|
||||
}
|
||||
});
|
||||
$("button[data-method]").on('click',function(){
|
||||
if($(this).data('confirm')){
|
||||
doit = confirm($(this).data('confirm'));
|
||||
if(!doit) return false;
|
||||
}
|
||||
});
|
||||
|
||||
// Modal
|
||||
$(".btn-modal").click(function() {
|
||||
$("#"+$(this).data("modalid")+" .modal-title").text($(this).data("modaltitle"));
|
||||
$("#"+$(this).data("modalid")+" iframe").attr("src",$(this).data("modalurl"));
|
||||
$("#"+$(this).data("modalid")).modal("show");
|
||||
});
|
||||
|
||||
// Resize
|
||||
resize();
|
||||
|
||||
|
||||
// Focus
|
||||
$("#page").focus();
|
||||
});
|
||||
|
||||
$( window ).resize(function() {
|
||||
resize();
|
||||
});
|
||||
|
||||
|
||||
function resize() {
|
||||
if($("#header").is(":visible")){
|
||||
$(".navbar-logo").hide();
|
||||
$("#menulink").hide();
|
||||
$("#header").hide();
|
||||
}
|
||||
else {
|
||||
$(".navbar-logo").show();
|
||||
$("#menulink").show();
|
||||
$("#header").show();
|
||||
}
|
||||
|
||||
$("main").css("height",$(window).height()-$(".header").height());
|
||||
$("#page").css("height",$(window).height()-$(".header").height());
|
||||
$("#sidebar").css("min-height",$("body").height()-$(".header").height());
|
||||
}
|
||||
|
30
assets/js/datatables.init.js
Normal file
30
assets/js/datatables.init.js
Normal file
@ -0,0 +1,30 @@
|
||||
$(document).ready(function() {
|
||||
$.extend( $.fn.dataTable.defaults, {
|
||||
responsive: true,
|
||||
"iDisplayLength": 1000,
|
||||
"oLanguage": {
|
||||
"sThousands": " ",
|
||||
"sProcessing": "Traitement en cours...",
|
||||
"sSearch": "Rechercher :",
|
||||
"sLengthMenu": "Afficher _MENU_ éléments",
|
||||
"sInfo": "Affichage de l'élement _START_ à _END_ sur _TOTAL_ éléments",
|
||||
"sInfoEmpty": "Affichage de l'élement 0 à 0 sur 0 éléments",
|
||||
"sInfoFiltered": "(filtré de _MAX_ éléments au total)",
|
||||
"sInfoPostFix": "",
|
||||
"sLoadingRecords": "Chargement en cours...",
|
||||
"sZeroRecords": "Aucun élément à afficher",
|
||||
"sEmptyTable": "Aucune donnée disponible dans le tableau",
|
||||
"oPaginate": {
|
||||
"sFirst": "Premier",
|
||||
"sPrevious": "Précédent",
|
||||
"sNext": "Suivant",
|
||||
"sLast": "Dernier"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
|
||||
"sSortDescending": ": activer pour trier la colonne par ordre décroissant"
|
||||
}
|
||||
},
|
||||
//"stateSave": true
|
||||
});
|
||||
});
|
203
assets/styles/app.css
Normal file
203
assets/styles/app.css
Normal file
@ -0,0 +1,203 @@
|
||||
/* COLOR */
|
||||
body {
|
||||
background-color: var(--colorbgbodylight);
|
||||
color: var(--colorftbodylight);
|
||||
}
|
||||
|
||||
.header {
|
||||
color: var(--colorfttitledark);
|
||||
}
|
||||
|
||||
.header a, #sidebar a, #sidebar hr{
|
||||
color: var(--colorfttitledark);
|
||||
}
|
||||
|
||||
.header a:hover, #sidebar a:hover {
|
||||
color: var(--colorfttitledark);
|
||||
text-decoration:none;
|
||||
}
|
||||
.navbar {
|
||||
background-color: var(--colorbgbodydark);
|
||||
}
|
||||
|
||||
|
||||
/* FONT */
|
||||
body {
|
||||
font-family: var(--fontbody);
|
||||
}
|
||||
|
||||
h1, h2, h3, .navbar-brand, .card-header, .modal-header h4, .widgetheader .title {
|
||||
font-family: var(--fonttitle);
|
||||
}
|
||||
|
||||
h1 { font-size: var(--fontsizeh1); }
|
||||
h2 { font-size: var(--fontsizeh2); }
|
||||
h3 { font-size: var(--fontsizeh3); }
|
||||
h4 { font-size: var(--fontsizeh4); }
|
||||
|
||||
.card-header .custom-control, .grid-item-title h2 {
|
||||
font-family: var(--fontbody);
|
||||
}
|
||||
|
||||
|
||||
/* GLOBAL */
|
||||
html, body {
|
||||
height:100%;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
color: var(--colorfttitlelight);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--colorfttitlelight-darker);
|
||||
}
|
||||
|
||||
main {
|
||||
display:flex;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.dataTable {
|
||||
border-style: solid none solid solid;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width:30px;
|
||||
height:30px;
|
||||
background-color: var(--colorbgbodydark);
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
.select2,.select2-container .select2-search--inline {
|
||||
width:100%!important;
|
||||
}
|
||||
|
||||
/* HEADER */
|
||||
.header h1 {
|
||||
text-transform: uppercase;
|
||||
padding-left: 10px;
|
||||
padding-top: 15px;
|
||||
margin: 0px;
|
||||
line-height:var(--lineheighth1);
|
||||
}
|
||||
|
||||
.header h1 small {
|
||||
font-size:60%;
|
||||
}
|
||||
|
||||
#header .nav-link {
|
||||
padding:0.5rem;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
#header {
|
||||
display:none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* NAVBAR */
|
||||
.nav {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.navbar-logo {
|
||||
padding: 0 0 0 0.5rem !important;
|
||||
}
|
||||
.navbar-logo img{
|
||||
height:20px;
|
||||
}
|
||||
|
||||
.navbar i {
|
||||
font-size: 20px;
|
||||
min-width: 30px;
|
||||
height:20px;
|
||||
}
|
||||
|
||||
/* MENU */
|
||||
@media (max-width: 991px) {
|
||||
#menu {
|
||||
display:flex !important;
|
||||
}
|
||||
|
||||
.navbar-logo {
|
||||
padding: 10px 5px 10px 10px !important;
|
||||
}
|
||||
|
||||
.navbar-logo img {
|
||||
height:40px;
|
||||
}
|
||||
|
||||
.navbar i {
|
||||
font-size: 20px;
|
||||
min-width: 30px;
|
||||
height:20px;
|
||||
}
|
||||
|
||||
#switchHeader {
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
|
||||
/* SIDEBAR */
|
||||
#sidebar {
|
||||
background-color: var(--colorbgbodydark);
|
||||
width: 100%;
|
||||
max-width:300px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
#sidebar span {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
#sidebar .nav-pills .nav-link {
|
||||
border-radius:0px;
|
||||
}
|
||||
|
||||
#sidebar .nav-pills .nav-link.active {
|
||||
background-color: var(--colorbgbodydark-darker);
|
||||
}
|
||||
|
||||
#sidebar .nav-link-items {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#sidebar .nav-link-item {
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
#sidebar {
|
||||
max-width:65px;
|
||||
}
|
||||
#sidebar span {
|
||||
display: none;
|
||||
}
|
||||
#sidebar i {
|
||||
font-size: 25px;
|
||||
}
|
||||
#sidebar .nav-link-item {
|
||||
padding-left: 1rem;
|
||||
}
|
||||
#sidebar .nav-link-section {
|
||||
display:block;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#sidebar .nav-link-title {
|
||||
display:none;
|
||||
}
|
||||
#sidebar .nav-link-items {
|
||||
display:block !important;
|
||||
border-bottom: 1px solid var(--colorfttitledark);
|
||||
}
|
||||
}
|
||||
|
||||
/* PAGE */
|
||||
#page {
|
||||
overflow-y: auto;
|
||||
width:100%;
|
||||
}
|
181
assets/styles/font.css
Normal file
181
assets/styles/font.css
Normal file
@ -0,0 +1,181 @@
|
||||
@font-face {
|
||||
font-family: 'Redressed';
|
||||
src: url('../fonts/Redressed-webfont.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Acme-Regular';
|
||||
src: url('../fonts/Acme-Regular-webfont.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Peacesans';
|
||||
src: url('../fonts/Peacesans-webfont.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto-Regular';
|
||||
src: url('../fonts/Roboto-Regular-webfont.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Justanotherhand-Regular';
|
||||
src: url('../fonts/Justanotherhand-Regular-webfont.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Lato-Regular';
|
||||
src: url('../fonts/Lato-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'ABeeZee-Regular';
|
||||
src: url('../fonts/ABeeZee-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'AlfaSlabOne-Regular';
|
||||
src: url('../fonts/AlfaSlabOne-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Anton-Regular';
|
||||
src: url('../fonts/Anton-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'FredokaOne-Regular';
|
||||
src: url('../fonts/FredokaOne-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Overpass-Black';
|
||||
src: url('../fonts/Overpass-Black.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Righteous-Regular';
|
||||
src: url('../fonts/Righteous-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Signika-Regular';
|
||||
src: url('../fonts/Signika-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko-Bold';
|
||||
src: url('../fonts/Teko-Bold.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LuckiestGuy-Regular';
|
||||
src: url('../fonts/LuckiestGuy-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Baloo-Regular';
|
||||
src: url('../fonts/Baloo-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'CarterOne-Regular';
|
||||
src: url('../fonts/CarterOne-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Chewy-Regular';
|
||||
src: url('../fonts/Chewy-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Courgette-Regular';
|
||||
src: url('../fonts/Courgette-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LexendDeca-Regular';
|
||||
src: url('../fonts/LexendDeca-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'RubikMonoOne-Regular';
|
||||
src: url('../fonts/RubikMonoOne-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'SigmarOne-Regular';
|
||||
src: url('../fonts/SigmarOne-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Viga-Regular';
|
||||
src: url('../fonts/Viga-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Grandstander';
|
||||
src: url('../fonts/Grandstander-Black.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'PassionOne';
|
||||
src: url('../fonts/PassionOne-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Theboldfont';
|
||||
src: url('../fonts/theboldfont.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
17
bin/console
Executable file
17
bin/console
Executable file
@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
use App\Kernel;
|
||||
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
||||
|
||||
if (!is_file(dirname(__DIR__).'/vendor/autoload_runtime.php')) {
|
||||
throw new LogicException('Symfony Runtime is missing. Try running "composer require symfony/runtime".');
|
||||
}
|
||||
|
||||
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
|
||||
|
||||
return function (array $context) {
|
||||
$kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
|
||||
|
||||
return new Application($kernel);
|
||||
};
|
19
bin/phpunit
Executable file
19
bin/phpunit
Executable file
@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
if (!ini_get('date.timezone')) {
|
||||
ini_set('date.timezone', 'UTC');
|
||||
}
|
||||
|
||||
if (is_file(dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit')) {
|
||||
define('PHPUNIT_COMPOSER_INSTALL', dirname(__DIR__).'/vendor/autoload.php');
|
||||
require PHPUNIT_COMPOSER_INSTALL;
|
||||
PHPUnit\TextUI\Command::main();
|
||||
} else {
|
||||
if (!is_file(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php')) {
|
||||
echo "Unable to find the `simple-phpunit.php` script in `vendor/symfony/phpunit-bridge/bin/`.\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
require dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php';
|
||||
}
|
124
composer.json
Normal file
124
composer.json
Normal file
@ -0,0 +1,124 @@
|
||||
{
|
||||
"type": "project",
|
||||
"license": "proprietary",
|
||||
"minimum-stability": "stable",
|
||||
"prefer-stable": true,
|
||||
"require": {
|
||||
"php": ">=8.1",
|
||||
"ext-ctype": "*",
|
||||
"ext-iconv": "*",
|
||||
"doctrine/annotations": "^1.0",
|
||||
"doctrine/doctrine-bundle": "^2.6",
|
||||
"doctrine/doctrine-migrations-bundle": "^3.2",
|
||||
"doctrine/orm": "^2.12",
|
||||
"friendsofsymfony/ckeditor-bundle": "^2.4",
|
||||
"friendsofsymfony/rest-bundle": "^3.3",
|
||||
"gregwar/captcha-bundle": "^2.2",
|
||||
"jasig/phpcas": "^1.5",
|
||||
"mashape/unirest-php": "^3.0",
|
||||
"nelmio/api-doc-bundle": "^4.9",
|
||||
"oneup/uploader-bundle": "^3.2",
|
||||
"phpdocumentor/reflection-docblock": "^5.3",
|
||||
"phpstan/phpdoc-parser": "^1.5",
|
||||
"ramsey/uuid": "^4.3",
|
||||
"sensio/framework-extra-bundle": "^6.1",
|
||||
"sentry/sentry-symfony": "^4.3",
|
||||
"symfony/asset": "6.1.*",
|
||||
"symfony/console": "*",
|
||||
"symfony/doctrine-messenger": "6.1.*",
|
||||
"symfony/dotenv": "*",
|
||||
"symfony/expression-language": "6.1.*",
|
||||
"symfony/flex": "^2",
|
||||
"symfony/form": "6.1.*",
|
||||
"symfony/framework-bundle": "*",
|
||||
"symfony/http-client": "6.1.*",
|
||||
"symfony/intl": "6.1.*",
|
||||
"symfony/lock": "6.1.*",
|
||||
"symfony/mailer": "6.1.*",
|
||||
"symfony/maker-bundle": "^1.44",
|
||||
"symfony/mercure-bundle": "^0.3.5",
|
||||
"symfony/mime": "6.1.*",
|
||||
"symfony/monolog-bundle": "^3.0",
|
||||
"symfony/notifier": "6.1.*",
|
||||
"symfony/process": "6.1.*",
|
||||
"symfony/property-access": "6.1.*",
|
||||
"symfony/property-info": "6.1.*",
|
||||
"symfony/proxy-manager-bridge": "6.1.*",
|
||||
"symfony/runtime": "*",
|
||||
"symfony/security-bundle": "6.1.*",
|
||||
"symfony/serializer": "6.1.*",
|
||||
"symfony/string": "6.1.*",
|
||||
"symfony/translation": "6.1.*",
|
||||
"symfony/twig-bundle": "6.1.*",
|
||||
"symfony/validator": "6.1.*",
|
||||
"symfony/web-link": "6.1.*",
|
||||
"symfony/webpack-encore-bundle": "^1.12",
|
||||
"symfony/yaml": "*",
|
||||
"tetranz/select2entity-bundle": "^3.1",
|
||||
"twig/extra-bundle": "^2.12|^3.0",
|
||||
"twig/twig": "^2.12|^3.0"
|
||||
},
|
||||
"config": {
|
||||
"allow-plugins": {
|
||||
"composer/package-versions-deprecated": true,
|
||||
"symfony/flex": true,
|
||||
"symfony/runtime": true
|
||||
},
|
||||
"optimize-autoloader": true,
|
||||
"preferred-install": {
|
||||
"*": "dist"
|
||||
},
|
||||
"sort-packages": true
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"App\\": "src/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"App\\Tests\\": "tests/"
|
||||
}
|
||||
},
|
||||
"replace": {
|
||||
"symfony/polyfill-ctype": "*",
|
||||
"symfony/polyfill-iconv": "*",
|
||||
"symfony/polyfill-php72": "*",
|
||||
"symfony/polyfill-php73": "*",
|
||||
"symfony/polyfill-php74": "*",
|
||||
"symfony/polyfill-php80": "*",
|
||||
"symfony/polyfill-php81": "*"
|
||||
},
|
||||
"scripts": {
|
||||
"auto-scripts": {
|
||||
"cache:clear": "symfony-cmd",
|
||||
"assets:install %PUBLIC_DIR%": "symfony-cmd",
|
||||
"doctrine:migrations:migrate --no-interaction": "symfony-cmd",
|
||||
"app:Init": "symfony-cmd"
|
||||
},
|
||||
"post-install-cmd": [
|
||||
"@auto-scripts"
|
||||
],
|
||||
"post-update-cmd": [
|
||||
"@auto-scripts"
|
||||
]
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/symfony": "*"
|
||||
},
|
||||
"extra": {
|
||||
"symfony": {
|
||||
"allow-contrib": false,
|
||||
"require": "6.1.*"
|
||||
}
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"symfony/browser-kit": "6.1.*",
|
||||
"symfony/css-selector": "6.1.*",
|
||||
"symfony/debug-bundle": "6.1.*",
|
||||
"symfony/phpunit-bridge": "^6.1",
|
||||
"symfony/stopwatch": "6.1.*",
|
||||
"symfony/web-profiler-bundle": "6.1.*"
|
||||
}
|
||||
}
|
12883
composer.lock
generated
Normal file
12883
composer.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
24
config/bundles.php
Normal file
24
config/bundles.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
||||
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
||||
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
|
||||
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
||||
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
|
||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
||||
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
|
||||
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
|
||||
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
|
||||
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
|
||||
Symfony\Bundle\MercureBundle\MercureBundle::class => ['all' => true],
|
||||
FOS\CKEditorBundle\FOSCKEditorBundle::class => ['all' => true],
|
||||
Oneup\UploaderBundle\OneupUploaderBundle::class => ['all' => true],
|
||||
Tetranz\Select2EntityBundle\TetranzSelect2EntityBundle::class => ['all' => true],
|
||||
Gregwar\CaptchaBundle\GregwarCaptchaBundle::class => ['all' => true],
|
||||
Sentry\SentryBundle\SentryBundle::class => ['prod' => true],
|
||||
FOS\RestBundle\FOSRestBundle::class => ['all' => true],
|
||||
Nelmio\ApiDocBundle\NelmioApiDocBundle::class => ['all' => true],
|
||||
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
||||
];
|
19
config/packages/cache.yaml
Normal file
19
config/packages/cache.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
framework:
|
||||
cache:
|
||||
# Unique name of your app: used to compute stable namespaces for cache keys.
|
||||
#prefix_seed: your_vendor_name/app_name
|
||||
|
||||
# The "app" cache stores to the filesystem by default.
|
||||
# The data in this cache should persist between deploys.
|
||||
# Other options include:
|
||||
|
||||
# Redis
|
||||
#app: cache.adapter.redis
|
||||
#default_redis_provider: redis://localhost
|
||||
|
||||
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues)
|
||||
#app: cache.adapter.apcu
|
||||
|
||||
# Namespaced pools use the above "app" backend by default
|
||||
#pools:
|
||||
#my.dedicated.cache: null
|
5
config/packages/debug.yaml
Normal file
5
config/packages/debug.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
when@dev:
|
||||
debug:
|
||||
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
||||
# See the "server:dump" command to start a new server.
|
||||
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
42
config/packages/doctrine.yaml
Normal file
42
config/packages/doctrine.yaml
Normal file
@ -0,0 +1,42 @@
|
||||
doctrine:
|
||||
dbal:
|
||||
url: '%env(resolve:DATABASE_URL)%'
|
||||
|
||||
# IMPORTANT: You MUST configure your server version,
|
||||
# either here or in the DATABASE_URL env var (see .env file)
|
||||
#server_version: '13'
|
||||
orm:
|
||||
auto_generate_proxy_classes: true
|
||||
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
|
||||
auto_mapping: true
|
||||
mappings:
|
||||
App:
|
||||
is_bundle: false
|
||||
dir: '%kernel.project_dir%/src/Entity'
|
||||
prefix: 'App\Entity'
|
||||
alias: App
|
||||
|
||||
when@test:
|
||||
doctrine:
|
||||
dbal:
|
||||
# "TEST_TOKEN" is typically set by ParaTest
|
||||
dbname_suffix: '_test%env(default::TEST_TOKEN)%'
|
||||
|
||||
when@prod:
|
||||
doctrine:
|
||||
orm:
|
||||
auto_generate_proxy_classes: false
|
||||
query_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.system_cache_pool
|
||||
result_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.result_cache_pool
|
||||
|
||||
framework:
|
||||
cache:
|
||||
pools:
|
||||
doctrine.result_cache_pool:
|
||||
adapter: cache.app
|
||||
doctrine.system_cache_pool:
|
||||
adapter: cache.system
|
6
config/packages/doctrine_migrations.yaml
Normal file
6
config/packages/doctrine_migrations.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
doctrine_migrations:
|
||||
migrations_paths:
|
||||
# namespace is arbitrary but should be different from App\Migrations
|
||||
# as migrations classes should NOT be autoloaded
|
||||
'DoctrineMigrations': '%kernel.project_dir%/migrations'
|
||||
enable_profiler: '%kernel.debug%'
|
37
config/packages/fos_ckeditor.yaml
Normal file
37
config/packages/fos_ckeditor.yaml
Normal file
@ -0,0 +1,37 @@
|
||||
# Read the documentation: https://symfony.com/doc/current/bundles/FOSCKEditorBundle/index.html
|
||||
|
||||
twig:
|
||||
form_themes:
|
||||
- '@FOSCKEditor/Form/ckeditor_widget.html.twig'
|
||||
|
||||
fos_ck_editor:
|
||||
base_path: "build/ckeditor"
|
||||
js_path: "build/ckeditor/ckeditor.js"
|
||||
configs:
|
||||
full_config:
|
||||
language: fr
|
||||
toolbar: "my_full_toolbar"
|
||||
extraPlugins: ["html5video","youtube","justify","templates","iframe","colorbutton"]
|
||||
small_config:
|
||||
language: fr
|
||||
toolbar: "my_small_toolbar"
|
||||
removePlugins: 'elementspath'
|
||||
toolbars:
|
||||
configs:
|
||||
my_full_toolbar: [ "@document1", "-", "@clipboard1", "-", "@basicstyles1", "-", "@paragraph1", "/", "@links1", "-", "@insert1", "-", "@styles1", "-" , "@colors1", "-" , "@tools1" ]
|
||||
my_small_toolbar: [ "@basicstyles1", "-", "@paragraph3", "-", "@insert3"]
|
||||
|
||||
items:
|
||||
document1: [ 'Source','-','NewPage','DocProps','Preview','Print','-','Templates' ]
|
||||
clipboard1: [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ]
|
||||
basicstyles1: [ 'Bold','Italic','Underline','RemoveFormat' ]
|
||||
paragraph1: [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock' ]
|
||||
paragraph2: [ 'JustifyLeft','JustifyCenter','JustifyRight','NumberedList','BulletedList' ]
|
||||
paragraph3: [ 'NumberedList','BulletedList' ]
|
||||
links1: [ 'Link','Unlink','Anchor' ]
|
||||
insert1: [ 'Image','Html5video','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ]
|
||||
insert2: [ 'Image','Table','Smiley','Link','Unlink' ]
|
||||
insert3: [ 'Smiley','Link','Unlink' ]
|
||||
styles1: [ 'Styles','Format','Font','FontSize' ]
|
||||
colors1: [ 'TextColor','BGColor' ]
|
||||
tools1: [ 'Maximize', 'ShowBlocks','-','About' ]
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user