Browse Source

[9.0.05] TinyMCE internal links and lightbox

pull/5/head
fredtempez 3 years ago
parent
commit
ec90dd05df
  1. 4
      CHANGES.md
  2. 4
      core/core.js.php
  3. 62
      core/core.php
  4. 25
      core/vendor/tinymce/init.js

4
CHANGES.md

@ -6,6 +6,10 @@
- nouvelle position du menu dans le site quand la bannière est au-dessus.
- Simplification et ordre des libellés
- Editeur de texte, scrolle lorsque l'éditeur est ouvert, la barre d'outil se colle sous la barre d'administration.
- TinyMCE :
- liste des pages dans la fenêtre des liens
- option lightbox pour l'affichage d'images ou de liens
usages : https://sorgalla.com/lity/
## Version 9.0.04
- Corrections :

4
core/core.js.php

@ -327,6 +327,10 @@ core.start = function() {
.height(width * _this.data("ratio"));
});
}).trigger("resize");
// Ajouter l'attribut data-lity afin de faire la liaison avec lity
$("a[rel='data-lity']").attr("data-lity","");
};
core.start();

62
core/core.php

@ -28,7 +28,7 @@ class common {
const GROUP_ADMIN = 3;
// Numéro de version de développement :
// Désactive l'update auto
const ZWII_VERSION = '9.0.-dev.c';
const ZWII_VERSION = '9.0.05.dev.d';
// Numéro de version stable
// const ZWII_VERSION = '9.0.05';
@ -878,7 +878,6 @@ class common {
}
}
}
// Sinon retourne null
return helper::filter(null, $filter);
}
@ -959,34 +958,39 @@ class common {
* Génére un fichier json avec la liste des
*/
public function linkList() {
// Sauve la liste des pages pour TinyMCE
$parents = [];
$children = [];
$rewrite = (helper::checkRewrite()) ? '' : '?';
foreach($this->getHierarchy(null,false,false) as $parentId => $childIds) {
// Exclure les barres
if ($this->getData(['page', $parentId, 'block']) !== 'bar' ) {
$parents [] = ['title' => $this->getData(['page', $parentId, 'title']) ,
'value'=> $rewrite.$parentId
];
}
//if (!empty($childIds)) {
foreach($childIds as $childId) {
$parents [] = ['title' => '› ' . $this->getData(['page', $childId, 'title']) ,
'value'=> $rewrite.$childId
];
}
// $parents [] = [ 'menu' => $children];
//}
// Sauve la liste des pages pour TinyMCE
$parents = [];
$rewrite = (helper::checkRewrite()) ? '' : '?';
foreach($this->getHierarchy(null,false,false) as $parentId => $childIds) {
$children = [];
// Exclure les barres
if ($this->getData(['page', $parentId, 'block']) !== 'bar' ) {
foreach($childIds as $childId) {
$children [] = ['title' => $this->getData(['page', $childId, 'title']) ,
'value'=> $rewrite.$childId
];
}
// 3 tentatives
for($i = 0; $i < 3; $i++) {
if (file_put_contents ('core/vendor/tinymce/link_list.json', json_encode($parents), LOCK_EX) !== false) {
break;
}
// Pause de 10 millisecondes
usleep(10000);
}
if (empty($childIds)) {
$parents [] = ['title' => $this->getData(['page', $parentId, 'title']) ,
'value'=> $rewrite.$parentId
];
} else {
$parents [] = ['title' => $this->getData(['page', $parentId, 'title']) ,
'value'=> $rewrite.$parentId ,
'menu' => $children
];
}
}
}
// 3 tentatives
for($i = 0; $i < 3; $i++) {
if (file_put_contents ('core/vendor/tinymce/link_list.json', json_encode($parents), LOCK_EX) !== false) {
break;
}
// Pause de 10 millisecondes
usleep(10000);
}
}

25
core/vendor/tinymce/init.js vendored

@ -20,12 +20,24 @@ tinymce.init({
lineNumbers: true
},
width: 800, // Default value is 800
height: 500 // Default value is 550
//jsFiles: [ // Additional JS files to load
// 'mode/clike/clike.js',
// 'mode/php/php.js'
//]
height: 500, // Default value is 550
jsFiles: [ // Additional JS files to load
'mode/clike/clike.js',
'mode/php/php.js'
]
},
// Cibles de la target
target_list: [
{title: 'None', value: ''},
{title: 'Nouvel onglet', value: '_blank'}
],
// Target pour lightbox
rel_list: [
{title: 'None', value: ''},
{title: 'Ouvrir dans une lightbox', value: 'data-lity'}
],
// Pages internes
link_list: baseUrl + "core/vendor/tinymce/links.php",
// Contenu du menu contextuel
contextmenu: "cut copy paste pastetext | selectall searchreplace | link image inserttable | cell row column deletetable",
// Fichiers CSS à intégrer à l'éditeur
@ -35,9 +47,6 @@ tinymce.init({
baseUrl + "site/data/theme.css",
baseUrl + "site/data/custom.css"
],
// Pages internes
link_list: "core/vendor/tinymce/links.php",
// Thème mobile
// Classe à ajouter à la balise body dans l'iframe
body_class: "editorWysiwyg",
// Cache les menus

Loading…
Cancel
Save