openedition / lodel Goto Github PK
View Code? Open in Web Editor NEWScience publishing CMS
License: GNU General Public License v2.0
Science publishing CMS
License: GNU General Public License v2.0
A chaque installation, quand il s'agit de créér le premier site, Lodel génère 👍
Error (Internal Error) in file '/srv/data/web/vhosts/www.monsite.net/htdocs/lodel/scripts/lodelparser.php' on line 106 :
SQL Error:
Table 'lodeldb.classes' doesn't exist
bonjour, j'ai un souci de connexion à la page de login, tous les tests sont fonctionnels, mais au moment d'aller sur le lien lodel/lodeladmin/index.php?do=view&lo=users
j'ai toujours une barre jaune en haut de la page sans aucun erreur, rien dans les logs...
j'ai la dernière version sur ubuntu 18
je vous remercie
Lodel ne permet la pagination des entités dans l'interface d'édition que lorsqu'on se trouve à la racine du site.
Lorsqu'on liste les enfants d'une entité (d'une rubrique ou d'une collection par exemple), il n'y a pas de pagination. -> Dès qu'on affiche beaucoup d'éléments, on a des temps de chargement très long, parfois jusqu'au timeout.
Il faudrait donc mettre en place un pagination dans le template du backoffice concerné. Il faut gérer le comportement ajax qui permet de "déplier" (d'afficher les enfants) une entité dans la page sans recharger toute la page.
Autre problème : dans la pagination (utilisé par exemple à la racine du site), rien ne permet d'aller directement jusqu'à la dernière page. Ca rend la pagination inutilisable lorsqu'on publie beaucoup d'entité "à plat" à la racine du site ou dans la même rubrique.
Bonjour,
Le problème rencontré est au lancement de la fonctionnalité "Moteur de recherche : reconstruire l'index" sous php 7. On obtient les erreurs suivantes (cf. #91) en boucle :
PHP Error (Warning) in file '/var/www/html/lodel/lodel/scripts/logic/class.entities_index.php' on line 187 :
preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
PHP Error (Warning) in file '/var/www/html/lodel/lodel/scripts/logic/class.entities_index.php' on line 188 :
preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
On nous indique que ce ne sont que des warnings... sauf que concrètement la table search_engine n'est pas alimentée : la recherche est donc inopérationnelle.
Le "coupable" est la méthode _decode_html_entities() dans class.entities_index.php. La méthode en question utilise la fonction preg_replace() avec un modifier "/e", ce qui n'est pas compatible avec php 7. Il faut utiliser preg_replace_callback() à la place. J'ai donc modifié le code comme suit :
protected function _decode_html_entities($text)
{
//$text= preg_replace('/&#(\d+);/me',utf8_encode("chr(\\1)"),$text); #decimal notation
$text = preg_replace_callback(
'/&#(\d+);/m',
function ($matches) {
return utf8_encode(chr($matches[1]));
},
$text
);
//$text= preg_replace('/&#x([a-f0-9]+);/mei',utf8_encode("chr(0x\\1)"),$text); #hex notation
$text = preg_replace_callback(
'/&#x([a-f0-9]+);/mi',
function ($matches) {
return utf8_encode(chr('0x' . $matches[1]));
},
$text
);
return html_entity_decode($text);
}
Avec ces modifications, ça passe sur mon installation (branche master de Lodel + php 7) : la table search_engine est à présent alimentée. Je me suis permis de rajouter un html_entity_decode() sur le renvoi final au passage...
Je précise que les données sur lesquelles je travaille sont des données provenant initialement d'un site sous Lodel 0.7, migré en 0.9, puis en 1.x...
Est-il envisageable d'apporter ces modifications à votre code ?
Cordialement.
Sylvain Sonnet
Voilà, je suis toujours sous PHP5, sur la branche master, mais j'ai des avertissements comme ceci 👍
PHP Error (Deprecated) in file '/home/admlodel/lodelm/git/lodel/scripts/logic/class.entities_index.php' on line 187 :
preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
Bonjour,
Dans le modèle éditorial de nos revues figure un champ [#DATEPUBLI] (date de publication électronique). Malheureusement je constate que le fait de publier un document au travers de l'admin n'a aucun effet sur ce champ. Est-il possible de faire en sorte qu'il soit alimenté automatiquement par la date du jour lorsque l'on clique sur "publier" dans l'admin ?
Cordialement.
Sylvain Sonnet
Certaines chînes de caractères n'ont pas été traduites, les identifiant bruts apparaissant à la place (voir /lodeladmin/install.php?installlang=es par exemple).
Bonjour,
Il s'agit plus d'une question que d'un problème. Je présume que Lodel ne fait pas de génération automatique de PDF à partir des articles importés ? Sur le site www.openedition.org, il me semble qu'une version PDF des articles de revue est systématiquement disponible. Est-ce de la génération automatique ? Si oui, comment est constituée (outils, techno, etc.) la solution en place, et est-ce quelque chose qu'il est envisageable de "récupérer" ?
Cordialement.
Sylvain sonnet
Version master
Fatal error: require_once(): Failed opening required 'PEAR.php' (include_path='../lodel/scripts:.:/usr/share/php:/usr/share/pear') in /var/www/tomboul/lodel/lodel/scripts/Mail/Mail.php on line 46
code
require_once 'PEAR.php';
correction suggérée
require_once '/lodel/scripts/PEAR/PEAR.php';
Bonjour
J'essaie actuellement de migrer un site vers la version master.
Il me semble constater que le nouveau moteur formatte joliment les lignes de HTML, ce qui n'est pas un mal, mais sauf quand ces lignes sont inscrites dans du code javascript car alors cela le rend invalide ! (les chaînes de caractères non terminées sur la même ligne sont interdites en JS). Une solution pourrait être d'ajouter des '\' au bout des lignes, avant chaque saut de ligne.
Merci d'avance pour votre réponse.
Cordialement
Bonjour,
Je rencontre un problème avec le 'Multilinguisme'.
Je suis sur une machine ubuntu 18.04.1, PHP 7.0.33-8+ubuntu18.04.1.
J’installe lodel avec "git clone https://github.com/OpenEdition/lodel.git".
Je crée un site en utilisant "Modèle Editorial OEJ" comme modèle éditorial.
Ensuite je me rends sur la page d'accueil de mon site avec un autre navigateur en mode non identifié.
Et je teste le multilinguisme (https://github.com/OpenEdition/lodel/wiki/Lodelscript#multilinguisme point 4).
http://php70.example.com/sitedetest/index.php?lang=en
http://php70.example.com/sitedetest/index.php?lang=es
Mais rien ne change, aucun mot n'est traduit.
D'avance merci pour votre aide.
Lorsque l'on tente de sélectionner une langue tel que le polonais, une erreur d'inclusion survient car le template n'existe tout simplement pas. En rapport avec le problème #77, peut-être vaut-il mieux dans un premier temps ne proposer que le français et/ou l'anglais, plutôt qu'une pléïade de choix qui ne feront jamais que provoquer des erreurs.
Bonjour,
A l'import d'un document réalisé avec Word, j'obtiens le warning "dc:title not found" avec comme conséquence le titre de mon word affecté comme texte standard dans Lodel, et donc absence de titre dans Lodel.
Pas de souci en revanche avec le même document réalisé sous Libre Office.
Est-ce une "limitation" connue ? Préconisez vous l'un plus que l'autre (Word/LibreOffice) ?
Quelques éléments utiles :
Cordialement.
Remplacer Documentation
par Documentation
A priori, Lodel utilise encore AdoDB avec des appels à la fonction mysql_connect.
https://github.com/OpenEdition/lodel/search?utf8=%E2%9C%93&q=mysql_connect
Or celle-ci n'est plus supportée depuis un moment : http://php.net/manual/fr/function.mysql-connect.php
Y a-t-il un moyen de contourner ce problème ?
(J'ai bien vu l'issue #17 mais depuis janvier, je ne vois pas de modifications de ce côté)
Voyant que c'était trop galère de revenir à une version antérieure, j'ai persévéré avec la version 1.0 (master)
mais il y a une erreur persistante qui a fini par disparaitre sans savoir pourquoi
Class 'Cache' not found in ..... /lodel/scripts/cache.php on line 10
et qui a été remplacé par cette erreur
Fatal error: Interface 'Cache_GarbageCollect' not found in .... /lodel/lodel/scripts/cache/file.php on line 41
j'ai détruit tout ce qu'il y avait dans le répertoire temporaire mais l'erreur persiste
impossible de me reconnecter à lodel ...
Bonjour à tous,
Je rencontre un bug au moment de l'importation d'un modèle éditorial.
Le problème est facile à reproduire de deux manières différentes :
Au cours de l'installation de lodel tout va bien, puis viens le moment de créer un site, pas de problème avec la bdd, mais le moment d'importer un modèle éditorial venu, la page ne s'affiche pas correctement, cf fichier joint, et la console me retourne une erreur 500.
Je peux tout de même revenir à l'administration de lodel et de mon site en tapant l'URL mondomaine.fr ;
D'ici je peux naviguer à souhait et aller dans l'administration de mon site, mais si je clique sur "importer un modèle éditorial", je retombe sur le même bug que précédemment.
Par contre, si je clique sur "importer un modèle éditorial au format xml", la je n'ai pas de bug.
J'aurais volontiers essayé d'importer le modèle éditorial de revue.org en xml, mais je ne l'ai pas sous le coude et ne l'ai pas trouvé après (de brèves j'en conviens) recherches.
EDIT :
j'ai exporté le modèle editorial en xml d'un site fonctionnel, mais lorsque que j'essaye de l'importer j'ai une err500 :-(
EDIT 2 :
si j'exporte les donnés d'un site fonctionnel, que je l'upload dans le dossier "privé" de lodel défini pendant l'installation, la sauvegarde apparait bien dans l'onglet administration>importer donnée, mais j'ai une err500 si j'essaye d'effectuer l'importation
EDIT 3:
tenté une install avec root en utilisateur sql et chmod -R 777 sur le dossier racine du serveur...
rien y fait
Avez-vous une idée de l'origine ou des moyens de contourner ce bug ?
merci
PS : j’ai déjà fait plusieurs installations complètes de lodel et OTX fonctionnelles, su plusieurs serveurs tous en Ubuntu 16.04 ;
ce serveur est en debian 9 ;
Bonjour,
Les flux RSS ne semblent pas fonctionner, aussi bien dans l'admin que dans la partie publique. Je suis systématiquement confronté à l'erreur suivante :
Sous firefox :
Erreur d’analyse XML : instruction de traitement XML ou texte pas au début d’une entité externe
Emplacement : http://192.168.56.3/lodel/licorne/lodel/edition/index.php?page=backend&format=dashboard_queue
Numéro de ligne 5, Colonne 1 :<?xml version="1.0" encoding="utf-8"?>
^
Sous Chrome :
This page contains the following errors:
error on line 5 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.
Si je rafraichis la page, je n'ai plus l'erreur, les données brutes du flux s'affichent mais il manque certaines entrées du flux comme par exemple la description (dans l'admin : Tableau de bord > fil d'attente).
Est-ce quelque chose que vous constatez de votre côté ?
Cordialement.
Bonsoir,
J'ai installé Lodel dans le cadre d'un mandat pour mes études, en local. J'aimerais créer un billet test pour voir comment cela donne dans un navigateur, mais quand je presse sur le bouton Valider le message suivant apparaît :
Error (Internal Error) in file '/var/www/html/lodel/lodel/scripts/parser.php' on line 57 : LODELSCRIPT ERROR in file ./tpl//article.html : the macro file "macros_site.html" doesn't exist
J'ai cherché le fichier avec la commande find
, mais elle n'a rien trouvé.
Merci beaucoup pour votre attention !
Les conventions PSR2 encouragent à ne pas mettre de tag de fermeture PHP pour les fichier ne contenant que du code PHP.
Cela évite les erreurs courantes liées aux caractères invisibles après le tag, tel que:
Warning: Cannot modify header information - headers already sent ...
Bonjour,
Le support de sécurité ayant pris fin pour php 7.0 fin 2018, j'ai voulu tester Lodel avec une version supérieure. Lodel ne fonctionne avec aucune des 3 versions "actuelles" de php 7 (7.1 / 7.2 / 7.3). Il y a de façon récurrente des warnings (Illegal string offset, A non-numeric value encountered...) mais surtout des erreurs blocantes : Unsupported operand types...
Une version compatible avec php > 7.0 (voir même > 7.1) est-elle prévue ?
Cordialement.
Dans le cadre l'utilisation de Lodel par @edinum nous souhaiterions ajouter la possibilité de modifier certains droits de la page d'administration du site : urldusite/lodel/admin/index.php
Actuellement rédacteurs et administrateurs ont le droit de "Sauvegarder le modèle éditorial" et "Exporter le modèle éditorial au format XML". Cela signifie que la maquette du site (Lodelia pour OpenEdition, Prima pour Edinum) est disponible au téléchargement. Notre maquette actuelle n'étant pas libre, nous souhaitons bloquer cette fonctionnalité.
Pour l'instant nous utilisons un plugin maison pour bloquer cette option sur nos site : https://github.com/edinum/authfix
À contrario les rédacteurs et administrateurs n'ont pas le droit de "Sauvegarde des données" : il faut être administrateur Lodel pour avoir cette option. Ce comportement est problématique pour nous car nous souhaitons nos clients aient la possibilité de récupérer leurs données à tout moment et librement.
Il est (me semble-t-il) impossible de corriger ce fonctionnement par un plugin, à moins de dupliquer de gros morceaux de codes, ce qui ne nous semble pas souhaitable.
Ma question est la suivante : accepteriez-vous un PR de notre part pour ajouter la possibilité de modifier ces comportements ?
Trois problèmes peuvent être relevés :
Re-bonjour,
L'opération "enregistrer dans le répertoire ./CACHE" ne fonctionne pas : le cas de figure n'est pas pris en compte dans la méthode operation() du fichier /lodel/scripts/backupfunc.php...
Cordialement.
Bonjour,
Je gère le site revue-texto.net qui tourne sous Lodel.
La question d'une mise à jour se pose, avec comme alternative de rester sous Lodel ou de passer sous un CMS plus actif en terme de mises à jour et surtout de compatibilité avec des versions récentes (optimisées et sécurisées) de l'environnement.
Avez-vous une roadmap active ? Quel est le futur de Lodel ?
Bien à vous,
Frédéric
Bonjour,
On m'a alerté ce matin de l'impossibilité d'importer un article dans notre plateforme lodel 0.9. A tout hasard, auriez-vous fermé le SERVOO (c'était prévu pour juin) ? Ou est-ce un pb "passager" ?
Bien cordialement.
Bonjour,
Un de nos usagers vient de me faire remonter l'impossibilité de supprimer ses publications. J'ai attribué à l'ensemble de nos usagers le profil Editeur car je ne voulais pas qu'ils puissent faire autre chose que gérer leur contenu. Sauf que visiblement ce profil n'autorise pas la suppression des publications (rubriques, collections, etc.). Est-il envisageable relativement rapidement de combler ce manque dans Lodel ?
Cordialement.
Sylvain Sonnet
Bonjour,
J'envisage d'utiliser Lodel dans mon travail.
Lodel datant un peu, je me demandais si vous étiez sur le développement d'une nouvelle version de Lodel (lodel 3) ?
Pourquoi ne pas avoir utilisé de framework comme symfony, laravel, cake-php, codeigniter,... pour le développement ? Envisagez vous cette possibilité pour une future version ?
Merci d'avance,
Best regards
Etienne R.
Bonjour,
Je suis en train de faire des tests d'installation en local pour des étudiants, dans le contexte d'un cours. Et l'interface administration voit tous les caractères accentués remplacés par un point d'interrogation sur fond noir, c'est même le cas dans les pages du script d'installation après la configuration et création de la DB.
Vu que c'est en local et que lodel créée une base de donnée pour chaque site (si j'ai bien tout suivi), à l'installation j'ai renseigné l'utilisateur mysql root
. Aussi, c'est le script d'installation qui s'est chargé de créé la base de donnée. J'imaginais donc que l'encodage aurait été correctement configuré. Est-ce que le problème pourrait venir de là ?
J'ai testé l'installation dans deux contexte, un fois sous Archlinux, et je me suis arrêté assez vite, parce qu'il semble que ça fonctionne assez mal avec php7. La deuxième fois, je l'ai fait sous debian jessie, et ça a été beaucoup mieux, malgré quelques petits soucis. J'ai dû par exemple créer les dossiers upload
, css
, ìmages
et docannexe
à la main, malgré des droits maximum au serveur Web sur le dossier racine de lodel.
Version master
Durant l'installation j'ai une erreur de syntaxe php, que j'ai corrigé en local pour passer l'étape
Parse error: syntax error, unexpected '[' in /var/www/tomboul/lodel/lodel/scripts/func.php on line 1439
extrait de code
$params = [
'secret' => $recaptche_privatekey,
'response' => $code
];
suggestion de correction
$params = array(
'secret' => $recaptche_privatekey,
'response' => $code
);
Contrairement à ce que dit la doc Lodelscript (ici) l'argument du filtre vignette() ne correspond pas à la largeur de la vignette calculée mais à la taille de son plus grand côté.
Voir la fonction resize_image
dans
lodel/lodel/scripts/images.php
Line 24 in 2ed1756
qui est appelée ici :
lodel/lodel/scripts/textfunc.php
Line 418 in 584f2d0
Or comme la plupart des couvertures sont au format portrait, dans la plupart des situations c'est plutôt la hauteur qui détermine la taille de la vignette calculée.
Pour régler ça on peut envisager un deuxième paramètre sur le modèle du filtre image_reduire
de Spip : https://www.spip.net/fr_article6364.html
Bonjour,
Lorsque je veux éditer une nouvelle publication (et non une collection), une page d'erreur m'affiche :
The requested URL /lodel/lodel/edition/Publications was not found on this server.
Une erreur similaire apparaît lorsque je veux éditer un site :
The requested URL /lodel/lodel/edition/Sites was not found on this server.
Un texte simple :
The requested URL /lodel/lodel/edition/Textes simples was not found on this server.
Bonne après-midi,
Daniel Sparti
Bonjour,
Je suis parti des templates fournis avec Lodel pour concevoir l'interface de nos revues. Un certain nombre de ces templates commencent par la balise <CONTENT VERSION="1.0" LANG="fr" CHARSET="utf-8"/>
. Celle-ci étant obsolète et le charset utf-8 étant déjà paramétré via une balise meta dans l'en-tête html, je l'ai retirée. Sauf qu'en faisant ça plus aucun caractère accentué statique dans les templates ne s'affiche correctement. Mes fichiers templates semblent bien en utf-8 (vérifié avec un file -i). Quand je fais une page html ou php toute simple hors installation Lodel et affichant "aéèuà", tout se passe bien, donc je ne pense pas avoir de problème de config serveur. Voyez vous une explication qui pourrait être liée à Lodel ?
Cordialement.
Sylvain Sonnet
Bonjour,
Il semblerait que la branche php7-compatible ait été supprimée récemment.
Doit-on en conclure que celle-ci a été mergée dans master ?
Y-a-t'il une alternative pour faire tourner Lodel dans un environnement PHP7 ?
Merci pour votre travail.
voyant que la version master était en beta test, j'ai décidé de me replier sur la version 09
mais pas mieux
dans le fichier zip le dossier admin est lodeladmin
mais dans le fichier index.php on a ce code :
if (!file_exists("lodelconfig.php")) {
header('location: lodeladmin-0.9/install.php');
exit;
}
du coup lros de la connexion j'ai une erreur 404
que préconisez vous ? modifier le nom du répertoire ou corriger le code dans le fichier index ?
Bonjour,
depuis 2j, je me bats avec Lodel sur des points qui me semblent devoir fonctionner a minima. Soit je n'ai rien compris, soit le processus d'installation est à corriger.
Installation tentée à partir du "master" ainsi que du tag 1.0.2
Création d'un site
Error (Internal Error) in file '/var/www/html/lodel/scripts/class.siteManage.php' on line 326 : SQL ERROR : Field 'langdef' doesn't have a default value
Soit, j'ajoute une valeur par défaut. Il faut aussi le faire pour le champ 'lang'.
Ensuite, création de la base de données, il y a une erreur sur les droits utilisateur mais celle-ci est bien créée tout de même.
Ensuite (page site.php), page blanche avec ceci écrit :
getIncTpl($context,"desk","", $this->_home."../tpl/"); ?> Création d'un site @fail_for_table_creation. @check_database_user_rights_who_must_be_able_to_create_tables. @command_list_making_errors_and_database_server_errors :
Comme je suis têtu, après avoir fouiné le code et les divers eval, il s'avère qu'il manque carrément une fonction loop_errors_createtables
.
Soit, on la rajoute dans loops.php
function loop_errors_createtables(&$context, $funcname, $rien = array()) {
$website = new siteManage();
$website->loop_errors_createtables($context, $funcname);
}
Vient ensuite :
Error (Internal Error) in file '/var/www/html/lodel/scripts/view.php' on line 764 :
Internal error in file /var/www/html/lodel/scripts/view.php(579) : eval()'d code on line 71;
LOOP: nbinternaladminmsgs__lodel_scripts_tpl_desk_html;
QUERY: SELECT COUNT(*) AS nbresults
FROM lodel_internal_messaging
WHERE (recipient = 'lodelmain-1' && status = 1)
MYSQL ERROR: Table 'revues_flotest.lodel_internal_messaging' doesn't exist
Soit, on rajoute la table, qui est présente dans la base "mère" de lodel.
Vient ensuite un gros lot de
BLOB/TEXT column 'altertitle' can't have a default value
Eh oui, Mysql n'aime pas les valeurs par défaut sur les champs TEXT/BLOB avec pour raison éventuelle la sauvegarde de mémoire étant donné que chaque entrée de ce type est un objet.
Ensuite, de mémoire, version raccourcie, soit, pas de valeur par défaut. Plus tard, au choix d'un modèle éditorial, celui de revues.org 'field xxx doesn't have a default value', on les ajoute sur le modele de base de données du modèle. Ensuite, arrive une fonction manquante loop_solr()
et ça continue ainsi encore et encore ....
Question bête, comment installer un lodel fonctionnel !?
Pour améliorer la maintenabilité de l'application, il est recommandé de remplacer les require
et include
par des appels à des fonctions permettant le même effet.
Ces deux instructions avaient un sens à une époque où PHP servait avant tout à inclure des blocs de code html communs à différentes page web ou à charger le code des classes PHP.
Depuis que le système d'autoload a été introduit et que l'on utilise des moteurs de template pour le rendu html, ce genre d'instruction n'a plus d'intérêt et ne fait que rendre imprévisible les effets de bords potentiels liés à une modification du code et rendre complexe la mise en œuvre de tests fonctionnels. Difficile en effet de reproduire à l'identique l'état de toutes les variables globales lorsque l'on doit comparer le comportement de l'application avant et après modification de code.
Bonjour,
La fonction permettant de sauvegarder les données ne fonctionne pas si on coche la case "Sauvegarder seulement la base de données (pas les fichiers associés : images, documents annexes...)".
J'ai résolu le problème en modifiant la méthode backupAction() du fichier /lodel/scripts/logic/class.data.php. Ligne 292, la variable $files_and_names est indéfinie (et donc vide) si on exporte que la base : elle n'est définie plus haut (lignes 262 à 289) que pour le cas de figure où on exporte la base + les fichiers associés.
Voici la méthode modifiée :
public function backupAction(&$context, &$error)
{
if(!C::get('adminlodel', 'lodeluser')) trigger_error("ERROR: you don't have the right to access this feature", E_USER_ERROR);
$context['importdir'] = C::get('importdir', 'cfg');
if (isset($context['backup'])) { // si on a demandé le backup
set_time_limit(0);
$site = C::get('site', 'cfg');
$outfile = "site-$site.sql";
$GLOBALS['tmpdir'] = $tmpdir = tmpdir(uniqid('sitebackup'));
$errors = array();
/* On fait le dump de la base de données */
$this->_dump($site, $tmpdir . DIRECTORY_SEPARATOR. $outfile, $errors);
if($errors) {
$error = $errors;
return 'backup';
}
// verifie que le fichier SQL n'est pas vide
if (!file_exists($tmpdir. DIRECTORY_SEPARATOR . $outfile) || filesize($tmpdir. DIRECTORY_SEPARATOR . $outfile) <= 0) {
$error['mysql'] = 'dump_failed';
return 'backup';
}
// zip le site et ajoute la base
$archivetmp = tempnam($tmpdir, 'lodeldump_'). '.zip';
$archivefilename = "site-$site-". date("dmy"). '.zip';
// // fichiers à exclure de l'archive
// $GLOBALS['excludes'] = $excludes = array(
// '#\.htaccess$#',
// '#index.html$#',
// '#^docannexe/image/tmpdir-.*$#',
// '#^docannexe/tmp.*$#'
// );
//
// // répertoires à inclure
// $sitedirs = array(
// 'lodel/icons',
// 'lodel/sources',
// 'docannexe/fichier',
// 'docannexe/file',
// 'docannexe/image',
// );
//
// // si sauvegarde des répertoires demandée (en + de la base)
//
// $files_to_zip = array();
//
// if (empty($context['sqlonly'])) {
// /* On créé la liste des fichiers à sauvegarder */
// $siteroot = realpath(SITEROOT) . DIRECTORY_SEPARATOR;
//
// foreach($sitedirs as $sitedir)
// {
// $files_to_zip = array_merge(
// $files_to_zip,
// array_filter(glob_recursive( $siteroot . $sitedir . DIRECTORY_SEPARATOR . "*"), 'is_file')
// );
// }
//
// /* Suppression des fichier à exclure */
// foreach($excludes as $exclude)
// {
// $files_to_zip = preg_grep($exclude, $files_to_zip, PREG_GREP_INVERT);
// }
//
// /* On définit les chemin dans le zip et dans le filesystem */
// $files_and_names = array(
// $tmpdir. DIRECTORY_SEPARATOR . $outfile => $outfile,
// );
// foreach($files_to_zip as $file)
// {
// $files_and_names[$file] = str_replace($siteroot, '', $file);
// }
// unset($files_to_zip);
// }
$files_and_names = array(
$tmpdir. DIRECTORY_SEPARATOR . $outfile => $outfile,
);
// si sauvegarde des répertoires demandée (en + de la base)
if (empty($context['sqlonly'])) {
// fichiers à exclure de l'archive
$GLOBALS['excludes'] = $excludes = array(
'#\.htaccess$#',
'#index.html$#',
'#^docannexe/image/tmpdir-.*$#',
'#^docannexe/tmp.*$#'
);
// répertoires à inclure
$sitedirs = array(
'lodel/icons',
'lodel/sources',
'docannexe/fichier',
'docannexe/file',
'docannexe/image',
);
$files_to_zip = array();
/* On créé la liste des fichiers à sauvegarder */
$siteroot = realpath(SITEROOT) . DIRECTORY_SEPARATOR;
foreach($sitedirs as $sitedir)
{
$files_to_zip = array_merge(
$files_to_zip,
array_filter(glob_recursive( $siteroot . $sitedir . DIRECTORY_SEPARATOR . "*"), 'is_file')
);
}
/* Suppression des fichier à exclure */
foreach($excludes as $exclude)
{
$files_to_zip = preg_grep($exclude, $files_to_zip, PREG_GREP_INVERT);
}
/* On définit les chemin dans le zip et dans le filesystem */
foreach($files_to_zip as $file)
{
$files_and_names[$file] = str_replace($siteroot, '', $file);
}
unset($files_to_zip);
}
/* On créé le zip dans $archivetmp */
$ok = create_zip_from_file_list($archivetmp, $files_and_names);
@unlink($tmpdir. DIRECTORY_SEPARATOR . $outfile);
if (!file_exists($archivetmp) || true !== $ok) {
trigger_error("ERROR: the zip command reported an error: «{$ok}».\nArchive: $archivetmp", E_USER_ERROR);
}
if($error) { // Pour avoir accès aux erreurs dans les templates
$context['error'] = $error;
}
if (operation($context['operation'], $archivetmp, $archivefilename, $context)) {
$context['success'] = 1;
return 'backup';
}
else {
$context['success'] = 1;
return 'backup';
}
return 'backup';
}
else {
return 'backup';
}
}
Est-il possible de corriger le code sur la branche master ?
Cordialement.
Bonjour
J'ai rencontré un bug un peu difficile à cerner : le logiciel voulait absolument écrire dans la table "entries" (donc sans le préfixe #TP_).
Je l'ai résolu en remplaçant, dans la ligne 774 de
$criteria .= " AND id2 IN (SELECT id FROM ".$table." WHERE...
par
criteria .= " AND id2 IN (SELECT id FROM #TP".$table." WHERE...
Bonjour,
J'ai installé le CMS sur un environnement local (docker). Il semble fonctionner sans trop de soucis. Cependant, je n'ai pas la possibilité d'ajouter une publication à un site que je viens de créer. J'ai un utilisateur de niveau administrateur pourtant, mais l'option "Ajouter" semble grisée, comme si je n'avais pas les droits suffisants (voir images jointe).
Ai-je manqué quelque chose ?
La commande find . -name "*.php" -type f | xargs -I {} bash -c "iconv -f utf-8 -t utf-16 {} &>/dev/null || echo {}"
(adaptée à partir de celle-ci), retourne la liste suivante :
Tous ces fichiers présentent des défauts d'encodage UTF8, or il est recommandé que tous les fichiers sources soient encodés au format UTF8 sans BOM selon les conventions PSR1
bonjour,
je viens de faire un essai rapide de lodel php7 sur debian 9, mais je rencontre une erreur après l'installation
j'ai bien édité le fichier lodelconfig-defautl.php, et atteint sans encombre la page qui confirme que l'installation est réussie
je précise :
importdir
et que le serveur web y a accèsl'installation terminée, j'ai donc :
Lodel is now installed, copy the SuperAdmin account parameters above somewhere and log here: User Creation to create a permanent Lodel Admin.
After that you should:
1. Log in with your new account and delete the automatically created one;
2. delete the key file in order to prevent this installation script to be run;
3. create your first site via the general admin interface.
cependant le lien http://mondomaine.fr/lodel/lodeladmin/index.php?do=view&lo=users
me conduit à une page d'erreur :
Ce site est inaccessible
Il se peut que la page Web à l'adresse http://mondomaine.fr/lodel/lodeladmin/login.php?url_retour=%2Flodel%2Flodeladmin%2Findex.php%3Fdo%3Dview%26lo%3Dusers soit temporairement inaccessible ou qu'elle ait été déplacée de façon permanente à une autre adresse Web.
ERR_CONTENT_DECODING_FAILED
si je tronque l'URL pour mondomaine.fr/lodel/login.php
ou http://mondomaine.fr/lodel/lodeladmin/index.php?do=view&lo=users
mondomaine.fr/lodel/
ou mondomaine.fr/lodel/lodeladmin/
j'ai en retour pour chaque URL
Ce site est inaccessible
Il se peut que la page Web à l'adresse http://mondomaine/lodel/lodeladmin/login.php soit temporairement inaccessible ou qu'elle ait été déplacée de façon permanente à une autre adresse Web.
ERR_CONTENT_DECODING_FAILED
enfin mondomaine.fr/lodel/lodeladmin/install.php
me retourne une erreur SQL après avoir tenté de créer des tables dans la bdd, ce qui est logique
SQL ERROR: Duplicate entry '5' for key 'PRIMARY'
SQL ERROR: Duplicate entry '4781' for key 'PRIMARY'
Voilà, je n'ai pas consulté les log php ou SQL, mais je peux le faire si cela vous est utile.
À nouveau si vous connaissez le problème ou un moyen de le contourner, je suis penseur.
Cordialement
tout est dans le titre,
les procédures d'installation sont bourrées de bug !!!
est ce fait exprès ??????????
ils sont parfois tellement gros qu'on se le demande ...
la liste est tellement longue, si je la déploie ici et que personne ne répond (ce qui semble être le cas), ce long et fastidieux travail que j'aurais pourtant bien voulu faire ne servira à rien ...
1 TRES IMPORTANT : il faut php5.5 mini et non php5.x 'du coup j'ai fermé toutes les "issue" précédement signalées)
j'ai corrigé des plantages dans l'importation de modèle qui n'importait rien sans aucun message d'erreur
J'ai déjà modifié des dizaine d'include non résolu ...
la documentation est totalement incomplète ...
presque tous les chapitres sont en cours de rédaction
Je ne peux même pas savoir si j'ai correctement fait l'installation, et ce n'est pas le premier package que j'installe !!!! (je connais très bien prestashop ....)
je suis d'accord pour suivre les règles inhérentes aux logiciels libres et partagés, je suis prêt à y participer mais la communication est NULLE ça fait 26 jours que j'ai laissé des messages ici et AUCUNE RÉPONSE !!!
Si on n'est plus en mesure ou qu'on a plus la capacité de présenter un logiciel en mode partage sur Github alors il faut soit l'enlever soit le signaler, en somme faire le ménage ....
Bonjour
https://lodel.org/614#tocto1n2 dit
Bloc de fonctions « Modèle éditorial »
Ce bloc donne accès à toutes les fonctions de modification du modèle éditorial. Cette opération fait l’objet d’un chapitre particulier dans la documentation à destination du webmestre.
Je cherche le chapitre en question ici sans pouvoir le trouver. Y a-t-il de la documentation là-dessus disponible en ligne ? j'aimerai avoir des détails pour évaluer cette fonctionnalité.
Merci
Par curiosité, et ne connaissant pas le fonctionnement détaillé de Lodel, je me demandais s'il était envisageable, et si oui quelle quantité d'efforts cela requerrait, de faire en sorte que Lodel puisse accepter du LaTeX en entrée ?
Bonjour,
Nous sommes en train de mettre en place Lodel pour la pré-production et nous rencontrons un problème avec le https. J'ai pu faire l'installation en mode sécurisé, par contre après installation, lors de mes tentatives de connexion/déconnexion à l'admin, je tombais sur une page blanche avec l'erreur suivante :
Bad Request
Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.
Le "https" était enlevé de l'url et apparaissait à la place un ":443" à la fin de l'url...
Nous avons désactivé le https mais souhaiterions pouvoir le mettre en place : avez-vous des conseils ? La mise en place du https chez OpenEdition a-t-elle nécessité des adaptations du code de Lodel ?
Cordialement.
Bonjour,
Je suis en train de travailler à la migration vers Lodel 1.0 d'un site initialement réalisé avec Lodel 0.7. J'utilise la branche php7-compatible de Lodel 1.0. Je suis arrivé au stade des essais d'import de fichiers stylés pour conversion xml et je "bute" sur les erreurs suivantes (refus d'importer le fichier stylé) :
PHP Error (Warning) in file '/var/www/html/lodel/lodel/scripts/logic/class.data.php' on line 2224 :
DataLogic::generateXML(): Invalid Document Encoding
Error (Internal Error) in file '/var/www/html/lodel/lodel/scripts/dao.php' on line 339 :
SQL ERROR :
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')) ORDER BY id' at line 1
SELECT id,type,title,style,otx,lang,newbyimportallowed FROM entrytypes WHERE (status>0 AND class IN ()) ORDER BY id
Base: lodel_sandbox
PHP Error (Notice) in file '/var/www/html/lodel/lodel/scripts/dao.php' on line 344 :
Trying to get property of non-object
PHP Error (Notice) in file '/var/www/html/lodel/lodel/scripts/dao.php' on line 348 :
Trying to get property of non-object
PHP Error (Warning) in file '/var/www/html/lodel/lodel/scripts/dao.php' on line 554 :
Invalid argument supplied for foreach()
PHP Error in file '/var/www/html/lodel/lodel/scripts/dao.php' on line 350 :
Call to a member function MoveNext() on boolean
En essayant de débugger, je me suis rendu compte que dans lodel/scripts/teiparser.php, ligne 277, la variable $entriesClassTypes était utilisée sans contrôle de son contenu. Si la variable est vide, on a une erreur fatale.
Au niveau fonctionnel, le cas de figure correspond dans le modèle éditorial à une classe qui n'a aucun champs de type 'entries', ce qui est le cas dans le modèle éditorial du site que j'essaye de migrer.
Je peux "corriger" localement et temporairement le code mais j'aimerais éviter d'avoir à hacker le CMS. Est-il envisageable pour vous d'apporter les corrections au fichier teiparser.php et de les mettre à disposition des utilisateurs ? Ou avez-vous une solution alternative à proposer (il y a peut-être quelque chose qui m'échappe) ?
Cordialement.
Bonjour,
J'ai commencé à migrer plusieurs sites de revue en utilisant pour l'instant le jeu de templates par défaut du modèle éditorial OJE. L'un de ces sites n'a pas de table "individus", ce qui génère une erreur car les données de cette table sont appelées dans la macro INSERER_FEUILLE_DE_STYLE. J'ai donc 2 options :
Je constate que si tous les autres sites ont bien la table individus, elle est toutefois toujours vide... d'ailleurs, je n'ai pas trouvé comment l'alimenter via le CMS. Cette table a-t-elle une utilité ?
Cordialement.
Pour de meilleurs performances il serait préférable de migrer la couche d'abstraction de la base de données de AdoDB vers PDO
Suivant le ticket par rapport à Composer, il serait sans nul doute plus judicieux de se défaire des includes et de la myriades de points d'entrées au bénéfice de l'autoloading. On y gagnerait en sécurité (le serveur n'accède plus "à tout"), en clarté, en simplicité (PSR-4) et très probablement en performance...
Il faudrait :
Un solution de transition pourrait être de router toutes les requêtes vers un Contrôleur qui n'aura pour but que d'imiter le comportement actuel (càd executer le scripts vers lequel pointe l'uri). Ceci aurait l'avantage de déjà pouvoir centraliser ce qui peut l'être, d'avoir tout de même la possibilité d'utiliser le PSR-4 pour l'ajout de fonctionnalités, l'utilisation de nouvelles dépendences (ou le remplacement d'anciennes), et de "transformer" le code petit à petit, au fil des besoins et du temps disponibles.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.