Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
ListIt2 et CMSMS 1.12
#1
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
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
Répondre
#2
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 ?
Ouik - communication . outils numériques . design graphique
Répondre
#3
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...=7&t=72707
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
Répondre
#4
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 ?
Ouik - communication . outils numériques . design graphique
Répondre
#5
Je pense qu'elle devrait être valable pour les 2.
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
Répondre
#6
Bon, dans ce cas je vais pas me précipiter pour la mise à jour d'un de mes sites utilisant intensivement LI2.
Ouik - communication . outils numériques . design graphique
Répondre
#7
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>
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
Répondre
#8
Merci à toi ! Je vais faire ça dès que je peux (après dossiers, devis, etc. et avant quelques jours de semi-repos).
Ouik - communication . outils numériques . design graphique
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)