Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Le coin des codeurs » » Cannot redeclare class togglediv...
AuteurCannot redeclare class togglediv...
FURAX69
80    

FURAX69
  Posté : 06-06-2009 11:46

Bonjour à tous,

Suite à l'activation du "marquetapage" qui utilise "class togglediv", j'ai un souci dans le module "tdgalerie"... En cliquant sur "Arborescence" l'erreur suivante se déclenche...

"Fatal error: Cannot redeclare class togglediv in /homez.64/magicoas/www/modules/td-galerie/retro-compat/togglediv.class.php on line 28"

Comment faire pour l'éviter le plus simplement possible ?

  Profil  E-mail  www  
Hotfirenet
1738       
 

Hotfirenet
  Posté : 07-06-2009 09:28

le problème est que a classe toogle a deja été déclaré, c'est pour ca que ca te fait une erreur ....

  Profil  E-mail  www  
FURAX69
80    

FURAX69
  Posté : 07-06-2009 20:35

Oui, ça j'avais compris... Le message d'erreur est clair !

Mais comment résoudre le prob ?
Sachant que marquetapage utilise cette class en provenance de /lib/togglediv.class.php
et td-galerie une class du même nom mais un peu différente (à priori) en provenance de /modules/td-galerie/retro-compat/togglediv.class.php



Message édité par : FURAX69 / 07-06-2009 20:36


  Profil  E-mail  www  
Jireck
8448       

Jireck
  Posté : 07-06-2009 22:13

tu as bien



!include!_once("lib/togglediv.class.php");



dans marquetapage.php

  Profil  
FURAX69
80    

FURAX69
  Posté : 09-06-2009 08:38

Marche pas... Cela provoque :

Fatal error: Call to undefined function: _once() in /homez.64/magicoas/www/modules/marquetapage/marquetapage.php on line 30

à l'affichage du bloc marquetapage !

NB : A quoi sert d'ajouter les !! sur le !include! ?

Message édité par : FURAX69 / 09-06-2009 08:40


  Profil  E-mail  www  
Jireck
8448       

Jireck
  Posté : 09-06-2009 09:50

explication :

les ! sont rajouté par l'antihack du forum

ton probleme vient que la lib togglediv est inclue plusieurs fois donc probleme

il faut qu'elle soit incluse qu'un fois, il faut donc que tu cherche ou elle est incluse et mettre _once au !include! pour qu'il n'inclue qu'un fois la lib

  Profil  
FURAX69
80    

FURAX69
  Posté : 09-06-2009 14:53

Le "once" figure déjà dans les deux appels :

J'ai ça dans l'adim de tg-galerie (adm_fun.php) :
!include!_once ("modules/$ModPath/retro-compat/togglediv.class.php");

Et ça dans marquetapage.php :
!include!_once("lib/togglediv.class.php");

Pourtant, cela déclenche ce refus...
"Fatal error: Cannot redeclare class togglediv in /homez.64/magicoas/www/modules/td-galerie/retro-compat/togglediv.class.php on line 28"


  Profil  E-mail  www  
Hotfirenet
1738       
 

Hotfirenet
  Posté : 09-06-2009 20:05

y'a un conflit entre les 2 librairie, a voir si ce produit le meme effet chez d'autre personne ..

  Profil  E-mail  www  
developpeur
24581       
 

developpeur
  Posté : 09-06-2009 22:43

faut modifier l'appel se trouvant dans marquetapage je dirais pour qu'il pointe au même endroit que td-galerie / le _once devrait marcher alors

  Profil  E-mail  www  
FURAX69
80    

FURAX69
  Posté : 10-06-2009 20:23

Citation : developpeur 

faut modifier l'appel se trouvant dans marquetapage je dirais pour qu'il pointe au même endroit que td-galerie / le _once devrait marcher alors  


C'est ce que j'ai pensé... Mais voila, les deux "togglediv.class.php" ne sont tout à fait pas identiques !!!
Et voici ce qu'il se passe si j'utilise le fichier de td-galerie...





Warning: main(modules//retro-compat/togglediv.class.php) [function.main]: failed to open stream: No such file or directory in /homez.64/magicoas/www/modules/marquetapage/marquetapage.php on line 17

Warning: main() [function.!include!]: Failed opening 'modules//retro-compat/togglediv.class.php' for inclusion (!include!_path='.:/usr/local/lib/php') in /homez.64/magicoas/www/modules/marquetapage/marquetapage.php on line 17

Fatal error: Cannot instantiate non-existent class: togglediv in /homez.64/magicoas/www/modules/marquetapage/marquetapage.php on line 50



Donc clairement, les deux fichiers portent le même nom, mais sont radicalement différents... Une boulette ça !

Message édité par : FURAX69 / 10-06-2009 20:34


  Profil  E-mail  www  
FURAX69
80    

FURAX69
  Posté : 10-06-2009 20:40

Que pensez-vous de ce bout de code de td-galerie qui prépare le fonction arborescence (celle qui merde) ?



function PrintArbo() {
   global $ModPath, $ModStart, $ThisFile, $NPDS_Prefix;

   // Retro compatibilité SABLE
   if (!function_exists("MM_img")) {
      !include!_once ("modules/$ModPath/retro-compat/togglediv.class.php");
      echo "\n<script type=\"text/!javascript!\" src=\"modules/$ModPath/retro-compat/cookies.js\" language=\"!javascript!\"></script>\n";
   } else {
      !include!_once ("lib/togglediv.class.php");
   }
   // Retro compatibilité SABLE
...


  Profil  E-mail  www  
Hotfirenet
1738       
 

Hotfirenet
  Posté : 14-06-2009 11:53

perso je suis pas pour cette librairie, maintenant si tu peux t'en penser c mieu

  Profil  E-mail  www  
developpeur
24581       
 

developpeur
  Posté : 16-06-2009 23:33

le problème n'est pas dans le code mais dans l'!include! : "modules//retro-compat". le // n'est pas normal

  Profil  E-mail  www  
FURAX69
80    

FURAX69
  Posté : 02-08-2009 10:35

Bon, j'ai finalement fini par résoudre mon soucis de manière radicale...

J'ai dupliqué togglediv.class.php en faisant un togglediv2.class.php et en adaptant bien sûr les noms des variables en ajoutant le "2"...

Plus de conflits et tout fonctionne

  Profil  E-mail  www  
Sauter à :

Temps : 0.0173 seconde(s)