Forum CMS Made Simple FR
ListIt2 et CMSMS 1.12 - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : ListIt2 et CMSMS 1.12 (/thread-3489.html)



ListIt2 et CMSMS 1.12 - jissey - 13/04/2015

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.12
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour à tous,
ListIt2 ne fonctionne plus avec la dernière version 1.12 de CMSMS.
Comme les dev ont abandonnés le navire sans nous laisser les clés du camion, on va être obligé de hacker le module.
Chose à ne pas faire dans des circonstances normales :|

Ça se passe dans le fichier ListIt2.module.php autour de la ligne 340 et 350.
Il faut ajouter
Code :
[== Indéfini ==]
$smarty->no_absolute_templates = FALSE;
...
...
$smarty->no_absolute_templates = TRUE;

dans la function ModProcessTemplate avant le foreach($files as $file) ce qui devrait donc donner :
Code :
[== Indéfini ==]
public function ModProcessTemplate($tpl_name)
        {
                $ok = (strpos($tpl_name, '..') === false);
                if (!$ok) return;

                $smarty = cmsms()->GetSmarty();
                $config = cmsms()->GetConfig();
                $smarty->no_absolute_templates = FALSE;
                $result = '';
              
                $oldcache = $smarty->caching;
                $smarty->caching = $this->can_cache_output() ? Smarty::CACHING_LIFETIME_CURRENT : Smarty::CACHING_OFF;

                $files = array();
                $files[] = cms_join_path($config['root_path'],'module_custom',$this->GetName(),'templates',$tpl_name);
                $files[] = cms_join_path($this->GetModulePath(),'templates',$tpl_name);
                $files[] = cms_join_path(LISTIT2_TEMPLATE_PATH,$tpl_name);

                foreach($files as $file) {
              
                        if(is_readable($file)) {

                                $result = $smarty->fetch($file);
                                break;
                        }
                }
              
                $smarty->caching = $oldcache;
                $smarty->no_absolute_templates = TRUE;
                return $result;  
        }

Jo Morg va me trouver une solution plus sécurisée pour Easylist que je ne peux que vous encourager à tester Cool


ListIt2 et CMSMS 1.12 - Ouik - 13/04/2015

Sad

Heureusement que tu as prévenu, et que je ne me suis pas jeté sur la mise à jour... Merci !

Et quand tu dis "plus sécurisée", ça veut dire que ce hack n'est pas vraiment sûr ?


ListIt2 et CMSMS 1.12 - jissey - 13/04/2015

Oui, on m'a prévenu par le bug tracker et j'ai tout de suite cherché une solution.
voir ici pour le débat sur la sécurité :
http://forum.cmsmadesimple.org/viewtopic.php?f=7&t=72707


ListIt2 et CMSMS 1.12 - Ouik - 13/04/2015

Vu. Et la solution qu'il va te fournir pour Easylist pourrait s'adapter à LI2 ? Ou c'est même pas la peine d'y penser ?


ListIt2 et CMSMS 1.12 - jissey - 13/04/2015

Je pense qu'elle devrait être valable pour les 2.


ListIt2 et CMSMS 1.12 - Ouik - 14/04/2015

Bon, dans ce cas je vais pas me précipiter pour la mise à jour d'un de mes sites utilisant intensivement LI2.


ListIt2 et CMSMS 1.12 - jissey - 14/04/2015

Hello,
Jo Morg (super sympa) m'a filé les modifs pour EasyList.
C'est ok.
Pour ceux celui qui teste (je ne vais pas me plaindre, proportionnellement aux nombre de testeurs pour CMSMS, je suis gâté!) il faut le reprendre depuis Github, j'ai fait beaucoup d'autres modifs, et donc, j'ai dû générer d'autres bugs :p .
Concernant ListIt, je ne fais pas le support, mais en appliquant déjà la méthode que j'ai indiquée plus haut, ça fonctionne et c'est sécurisé quand même.

Sinon, il faut refaire les modifs depuis EasyList :
Copier-coller lib/class.EasyListTemplateResource.php
Dans EasyList.module.php, copier-coller la ligne 77 et la function ModProcessTemplate de la ligne 328.

Enjoy Big Grin

<EDIT>PS : j'ai pas testé LI2. </EDIT>


ListIt2 et CMSMS 1.12 - Ouik - 14/04/2015

Merci à toi ! Je vais faire ça dès que je peux (après dossiers, devis, etc. et avant quelques jours de semi-repos).