Ça y est j'ai enfin fait la mise à jour vers la ßeta 7. Pas trop de difficulté mais une merdouille due au plugin 'Citations' qui empechait le chargement de 3 autre plugins avec l'erreur suivante : Invalid data type mediumint in schema et crachait une fatal en début de page. En fait il suffisait de modifier le type du champ "citation_id" de la table "dc_citation" en bigInt au lieu de mediumInt.
Maintenant, je pars fouiller ce qu'il y a d'intéressant dans cette version (plus si neuve que ça… ça fait un moment qu'elle est dispo…)
PS : Oh my god ! En fouillant dans le code pour essayer de bidouiller quelques trucs qui ne sont pas encore interfacés, je suis tombé sur des horreurs de codage. Du genre, abus d'utilisation de variables globales. Par exemple, lors de la génération d'une page, un objet $_ctx est créé et lui sont attribués les contenus à afficher récupérer par l'objet $core. Puis est appellée une autre méthode afin de traiter ces données. Là où ça devient drôle, c'est que chaque méthode commencent par ceci :
$_ctx =& $GLOBALS['_ctx'];
$core =& $GLOBALS['core'];
… ignoble.
PS2 : Rah, après 2 heures de fouille dans ce sac de nouilles, j'ai réussi à limiter la longueur des articles dans mes flux RSS. Si ça interresse quelqu'un, voici le hack :
- /inc/public/default_templates/rss2.xml
- ligne 31, ajouter l'attribut cut_string de la sorte :
tpl:EntryContent absolute_urls="1" encode_xml="1" cut_string="1000"
- ligne 31, ajouter l'attribut cut_string de la sorte :
- /clearbricks/common/lib.text.php
- Pour avoir un suffixe ([…] par exemple), modifiez la méthode cutString de cette classe :
public static function cutString($str,$l) { $s = preg_split('/([\s]+)/u',$str,-1,PREG_SPLIT_DELIM_CAPTURE); $res = ''; $L = 0; if (strlen($s[0]) >= $l) { return substr($s[0],0,$l) . '[…]'; } $suffix = ''; foreach ($s as $v) { $L = $L+strlen($v); if ($L > $l) { $suffix = ' […]'; break; } else { $res .= $v; } } return trim($res) . $suffix; }
Bon c'est du gros hack bien crade, mais j'ai pas trouvé de solution plus simple.
Commentaires