[Résolu] Problèmes avec dlh_googlemaps

Développement d'extensions tierces
Thierry17
Membre
Messages : 21
Inscription : 20 Juin 2011 19:02
Localisation : Saintes

[Résolu] Problèmes avec dlh_googlemaps

Messagepar Thierry17 » 10 Fév 2014 19:33

Bonjour,

Je rencontre un problème avec l'extension dlh_googlemaps depuis ses dernières mises à jour de la version 2.0.x pour Contao 3.2.x.

Voici mon cas :
Contao version 3.2.4, hébergeur phpnet.org
Lors des mises à jours, j'ai bien l'affichage des fichiers ajoutés/modifiés... mais à l'étape de la mise à jour de la base de données, j'arrive sur une page blanche sur le lien :
http://www.xxxxxx.fr/contao/main.php?do ... e=database

Le frontend ne s'affiche plus et affiche la page contao d'erreur.
Je trouve l'erreur système :
Détails: Content element class "" (content element "dlh_googlemaps") does not exist
Fonction: Contao\Controller::getContentElement


La procédure /contao/install.php affiche après l'identification
Fatal error: Class 'delahaye\googlemaps\UpgradeHandler' not found in /home/users2/c/xxxxxx/www/system/modules/dlh_googlemaps/config/runonce.php on line 17

Je trouve dans ma base de données la table tl_dlh_googlemaps :

Code : Tout sélectionner

CREATE TABLE `tl_dlh_googlemaps` (
  `title` varchar(255) NOT NULL default '',
  `center` varchar(64) NOT NULL default '',
  `geocoderAddress` varchar(255) NOT NULL default '',
  `geocoderCountry` varchar(2) NOT NULL default '1',
  `mapSize` varchar(255) NOT NULL default '',
  `zoom` int(10) unsigned NOT NULL default '0',
  `mapTypeId` varchar(16) NOT NULL default '',
  `mapTypesAvailable` varchar(255) NOT NULL default '',
  `staticMapNoscript` char(1) NOT NULL default '1',
  `sensor` char(1) NOT NULL default '1',
  `useMapTypeControl` char(1) NOT NULL default '1',
  `mapTypeControlStyle` varchar(16) NOT NULL default '',
  `mapTypeControlPos` varchar(16) NOT NULL default '',
  `useNavigationControl` char(1) NOT NULL default '1',
  `navigationControlStyle` varchar(16) NOT NULL default '',
  `navigationControlPos` varchar(16) NOT NULL default '',
  `streetViewControl` char(1) NOT NULL default '1',
  `disableDoubleClickZoom` char(1) NOT NULL default '1',
  `scrollwheel` char(1) NOT NULL default '1',
  `draggable` char(1) NOT NULL default '1',
  `useScaleControl` char(1) NOT NULL default '1',
  `scaleControlPos` varchar(16) NOT NULL default '',
  `parameter` text NULL,
  `id` int(10) unsigned NOT NULL auto_increment,
  `tstamp` int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=14 ;


ainsi que la table tl_dlh_googlemaps_elements

Code : Tout sélectionner

CREATE TABLE `tl_dlh_googlemaps_elements` (
  `title` varchar(255) NOT NULL default '',
  `type` varchar(32) NOT NULL default '',
  `singleCoords` varchar(64) NOT NULL default '',
  `markerType` varchar(32) NOT NULL default '',
  `markerAction` varchar(255) NOT NULL default '',
  `multiCoords` blob NULL,
  `markerShowTitle` char(1) NOT NULL default '',
  `overlaySRC` varchar(255) NOT NULL default '',
  `iconSRC` varchar(255) NOT NULL default '',
  `iconSize` varchar(255) NOT NULL default '',
  `iconAnchor` varchar(255) NOT NULL default '',
  `hasShadow` char(1) NOT NULL default '',
  `shadowSRC` varchar(255) NOT NULL default '',
  `shadowSize` varchar(255) NOT NULL default '',
  `strokeColor` varchar(6) NOT NULL default '',
  `strokeOpacity` varchar(255) NOT NULL default '',
  `strokeWeight` varchar(64) NOT NULL default '',
  `fillColor` varchar(6) NOT NULL default '',
  `fillOpacity` varchar(255) NOT NULL default '',
  `radius` varchar(64) NOT NULL default '',
  `bounds` varchar(255) NOT NULL default '',
  `zIndex` int(10) unsigned NOT NULL default '0',
  `popupInfoWindow` char(1) NOT NULL default '',
  `useRouting` char(1) NOT NULL default '',
  `routingAddress` varchar(255) NOT NULL default '',
  `infoWindow` text NULL,
  `infoWindowAnchor` varchar(255) NOT NULL default '',
  `url` varchar(255) NOT NULL default '',
  `target` char(1) NOT NULL default '',
  `linkTitle` varchar(255) NOT NULL default '',
  `parameter` text NULL,
  `published` char(1) NOT NULL default '',
  `sorting` int(10) unsigned NOT NULL default '0',
  `id` int(10) unsigned NOT NULL auto_increment,
  `pid` int(10) unsigned NOT NULL default '0',
  `tstamp` int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `pid` (`pid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


Dans la table tl_content je retrouve bien trace du module dlh_googlemap mais pas tl_dlh_googlemaps (peut-être ici l'erreur ?)

Code : Tout sélectionner

CREATE TABLE `tl_content` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `pid` int(10) unsigned NOT NULL default '0',
  `ptable` varchar(64) NOT NULL default '',
  `sorting` int(10) unsigned NOT NULL default '0',
  `tstamp` int(10) unsigned NOT NULL default '0',
  `type` varchar(32) NOT NULL default '',
  `headline` varchar(255) NOT NULL default '',
  `text` mediumtext NULL,
  `addImage` char(1) NOT NULL default '',
  `singleSRC` binary(16) NULL,
  `alt` varchar(255) NOT NULL default '',
  `title` varchar(255) NOT NULL default '',
  `size` varchar(64) NOT NULL default '',
  `imagemargin` varchar(128) NOT NULL default '',
  `imageUrl` varchar(255) NOT NULL default '',
  `fullsize` char(1) NOT NULL default '',
  `caption` varchar(255) NOT NULL default '',
  `floating` varchar(32) NOT NULL default '',
  `html` mediumtext NULL,
  `listtype` varchar(32) NOT NULL default '',
  `listitems` blob NULL,
  `tableitems` mediumblob NULL,
  `summary` varchar(255) NOT NULL default '',
  `thead` char(1) NOT NULL default '',
  `tfoot` char(1) NOT NULL default '',
  `tleft` char(1) NOT NULL default '',
  `sortable` char(1) NOT NULL default '',
  `sortIndex` smallint(5) unsigned NOT NULL default '0',
  `sortOrder` varchar(32) NOT NULL default '',
  `mooHeadline` varchar(255) NOT NULL default '',
  `mooStyle` varchar(255) NOT NULL default '',
  `mooClasses` varchar(255) NOT NULL default '',
  `highlight` varchar(32) NOT NULL default '',
  `shClass` varchar(255) NOT NULL default '',
  `code` text NULL,
  `url` varchar(255) NOT NULL default '',
  `target` char(1) NOT NULL default '',
  `titleText` varchar(255) NOT NULL default '',
  `linkTitle` varchar(255) NOT NULL default '',
  `embed` varchar(255) NOT NULL default '',
  `rel` varchar(64) NOT NULL default '',
  `useImage` char(1) NOT NULL default '',
  `multiSRC` blob NULL,
  `orderSRC` blob NULL,
  `useHomeDir` char(1) NOT NULL default '',
  `perRow` smallint(5) unsigned NOT NULL default '0',
  `perPage` smallint(5) unsigned NOT NULL default '0',
  `numberOfItems` smallint(5) unsigned NOT NULL default '0',
  `sortBy` varchar(32) NOT NULL default '',
  `galleryTpl` varchar(64) NOT NULL default '',
  `playerSRC` blob NULL,
  `youtube` varchar(16) NOT NULL default '',
  `posterSRC` binary(16) NULL,
  `playerSize` varchar(64) NOT NULL default '',
  `autoplay` char(1) NOT NULL default '',
  `cteAlias` int(10) unsigned NOT NULL default '0',
  `articleAlias` int(10) unsigned NOT NULL default '0',
  `article` int(10) unsigned NOT NULL default '0',
  `form` int(10) unsigned NOT NULL default '0',
  `module` int(10) unsigned NOT NULL default '0',
  `protected` char(1) NOT NULL default '',
  `groups` blob NULL,
  `guests` char(1) NOT NULL default '',
  `cssID` varchar(255) NOT NULL default '',
  `space` varchar(64) NOT NULL default '',
  `invisible` char(1) NOT NULL default '',
  `start` varchar(10) NOT NULL default '',
  `stop` varchar(10) NOT NULL default '',
  `com_order` varchar(32) NOT NULL default '',
  `com_perPage` smallint(5) unsigned NOT NULL default '0',
  `com_moderate` char(1) NOT NULL default '',
  `com_bbcode` char(1) NOT NULL default '',
  `com_disableCaptcha` char(1) NOT NULL default '',
  `com_requireLogin` char(1) NOT NULL default '',
  `com_template` varchar(32) NOT NULL default '',
  `dlh_googlemap` int(10) unsigned NOT NULL default '0',
  `dlh_googlemap_zoom` int(10) unsigned NOT NULL default '0',
  `dlh_googlemap_size` varchar(255) NOT NULL default '',
  `dlh_googlemap_static` char(1) NOT NULL default '',
  `dlh_googlemap_url` varchar(255) NOT NULL default '',
  `galerie` int(10) unsigned NOT NULL default '0',
  `imagesFolder` blob NULL,
  `sliderDelay` int(10) unsigned NOT NULL default '0',
  `sliderSpeed` int(10) unsigned NOT NULL default '300',
  `sliderStartSlide` smallint(5) unsigned NOT NULL default '0',
  `sliderContinuous` char(1) NOT NULL default '',
  PRIMARY KEY  (`id`),
  KEY `pid` (`pid`),
  KEY `ptable` (`ptable`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=245 ;

Exemple de ligne dans la table tl_content où la c'est dlh_googlemaps avec s en plus et sans tl_ :

Code : Tout sélectionner

INSERT INTO `tl_content` VALUES ( 243, 26, 'tl_calendar_events', 192, 1391553200, 'dlh_googlemaps', 'a:2:{s:4:"unit";s:2:"h1";s:5:"value";s:0:"";}', NULL, '', NULL, '', '', '', '', '', '', '', '', NULL, '', NULL, NULL, '', '', '', '', '', 0, 'ascending', '', '', '', '', '', NULL, '', '', '', '', '', '', '', NULL, NULL, '', 4, 0, 0, '', '', NULL, '', 0x00000000000000000000000000000000, '', '', 0, 0, 0, 0, 0, '', NULL, '', 'a:2:{i:0;s:0:"";i:1;s:0:"";}', 'a:2:{i:0;s:0:"";i:1;s:0:"";}', '', '', '', 'ascending', 0, '', '', '', '', 'com_default', 5, 0, 'a:3:{i:0;s:0:"";i:1;s:0:"";i:2;s:2:"px";}', '', '', 0, NULL, 0, 300, 0, '' );


Dans de nombreux événements, j'utilise dlh_ googlemap, j'ai donc peur de tout désinstaller pour réinstaller au risque de bloquer tous les événements.

Je suis à l'écoute de toute idée et je reste à votre disposition pour plus de renseignements.

Cordialement
Thierry
Dernière édition par Thierry17 le 05 Mars 2014 18:57, édité 1 fois.

Avatar de l’utilisateur
KlausGrenoble
Membre
Messages : 261
Inscription : 27 Jan 2013 00:11
Localisation : Grenoble

Re: Problèmes avec dlh_googlemaps

Messagepar KlausGrenoble » 10 Fév 2014 20:55

Der UpgradeHandler passt eigentlich nur die File-Felder an. Er kann im BE das Datenbank-Update machen, alle Karten, Module und CEs nochmal speichern und dann müsste es wieder funktionieren.

[D'abord tu fais un backup de la Base de données !]
Le UpgradeHandler adapte seulement les File-Fields (champs de fichiers). Tu peux faire un Update de la Base de données dans le Backend, ensuite enrégistrer de nouveau toutes les cartes, les modules et les CEs et ça devrait de nouveau fonctionner.
christian


Je fais régulièrement les mises à jour de contao et j'étais à la version 3.2.4 de contao quand j'ai fait la mise à jour de dlh_googlemaps (version 1 de dlh_googlemaps non approuvée pour contao 3.2.x à la version 2 de dlh_googlemaps ).
J'ai bien vu les risques de la version 3.2.4 mais je ne peux pas faire la mise à jour verss la version 3.2.5 car lorsque je vais sur http://www.xxxxxx.fr/contao/install.php juste après l'identification du mot de passe j'ai le message
Fatal error: Class 'delahaye\googlemaps\UpgradeHandler' not found in /home/users2/c/conceptweb/www/system/modules/dlh_googlemaps/config/runonce.php on line 17
Je suis donc bloqué pouur le moment
Cordialement
Thierry

Déactive temporairement l'extension dlh_googlemaps. Pour ceci tu vas créer un répertoire .skip dans /system/modules/dlh_googlemaps. Ensuite tu devrais avoir accès au BE.
Klaus

Thierry17
Membre
Messages : 21
Inscription : 20 Juin 2011 19:02
Localisation : Saintes

Re: Problèmes avec dlh_googlemaps

Messagepar Thierry17 » 10 Fév 2014 21:18

Suite des investigations...

Le UpgradeHandler adapte seulement les File-Fields (champs de fichiers). Tu peux faire un Update de la Base de données dans le Backend, ensuite enrégistrer de nouveau toutes les cartes, les modules et les CEs et ça devrait de nouveau fonctionner.


J'ai essayé de modifier une carte pour l'enregistrer de nouveau et j'ai obtenu la page d'erreur contao.
En consultant le fichier error.log je trouve :

Code : Tout sélectionner

[10-Feb-2014 17:41:44 GMT]
PHP Warning: array_flip(): Can only flip STRING and INTEGER values! in /home/users2/c/siteweb/www/system/modules/core/elements/ContentGallery.php on line 220
#0 [internal function]: __error(2, 'array_flip(): C...', '/home/users2/c/...', 220, Array)
#1 /home/users2/c/siteweb/www/system/modules/core/elements/ContentGallery.php(220): array_flip(Array)
#2 /home/users2/c/siteweb/www/system/modules/core/elements/ContentElement.php(159): Contao\ContentGallery->compile()
#3 /home/users2/c/siteweb/www/system/modules/core/elements/ContentGallery.php(84): Contao\ContentElement->generate()
#4 /home/users2/c/siteweb/www/system/modules/core/library/Contao/Controller.php(456): Contao\ContentGallery->generate()
#5 /home/users2/c/siteweb/www/system/modules/core/modules/ModuleArticle.php(205): Contao\Controller->getContentElement(Object(Contao\ContentModel), 'main')
#6 /home/users2/c/siteweb/www/system/modules/core/modules/Module.php(148): Contao\ModuleArticle->compile()
#7 /home/users2/c/siteweb/www/system/modules/core/modules/ModuleArticle.php(59): Contao\Module->generate()
#8 /home/users2/c/siteweb/www/system/modules/core/library/Contao/Controller.php(392): Contao\ModuleArticle->generate(false)
#9 /home/users2/c/siteweb/www/system/modules/core/library/Contao/Controller.php(254): Contao\Controller->getArticle(Object(Contao\ArticleModel), false, false, 'main')
#10 /home/users2/c/siteweb/www/system/modules/core/pages/PageRegular.php(138): Contao\Controller->getFrontendModule('0', 'main')
#11 /home/users2/c/siteweb/www/index.php(249): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#12 /home/users2/c/siteweb/www/index.php(433): Index->run()
#13 {main}

[10-Feb-2014 19:12:58 GMT] PHP Fatal error: Uncaught exception 'Exception' with message 'Query error: Unknown column 'geocoderCountry' in 'field list' (SELECT DISTINCT(geocoderCountry) FROM tl_dlh_googlemaps_elements WHERE pid='13')' thrown in /home/users2/c/siteweb/www/system/modules/core/library/Contao/Database/Statement.php on line 283
#0 /home/users2/c/siteweb/www/system/modules/core/library/Contao/Database/Statement.php(254): Contao\Database\Statement->query()
#1 /home/users2/c/siteweb/www/system/modules/core/drivers/DC_Table.php(5215): Contao\Database\Statement->execute(Array)
#2 /home/users2/c/siteweb/www/system/modules/core/drivers/DC_Table.php(4681): Contao\DC_Table->filterMenu(1)
#3 /home/users2/c/siteweb/www/system/modules/core/drivers/DC_Table.php(368): Contao\DC_Table->panel()
#4 /home/users2/c/siteweb/www/system/modules/core/classes/Backend.php(429): Contao\DC_Table->showAll()
#5 /home/users2/c/siteweb/www/contao/main.php(136): Contao\Backend->getBackendModule('dlh_googlemaps')
#6 /home/users2/c/siteweb/www/contao/main.php(287): Main->run()
#7 {main}


Pour la 1ère erreur (PHP Warning: array_flip()) je la retrouve depuis au moins le 26 janvier 2014 et il me semble que la première mise à jour du module googlemap date de début février.

Pour la 2ème erreur, j'ai bien un ID 13 dans la table tl_dlh_googlemaps, par contre la table tl_dlh_googlemaps_elements est complètement vide.

Pour le moment le module est désactivé
Je continue les investigations

Avatar de l’utilisateur
KlausGrenoble
Membre
Messages : 261
Inscription : 27 Jan 2013 00:11
Localisation : Grenoble

Re: Problèmes avec dlh_googlemaps

Messagepar KlausGrenoble » 11 Fév 2014 00:36

install.php versucht, was meiner Erinnerung nach funktioniert hat. Kontrollier doch bitte, ob in der Datenbank die beiden Tabellen für die Extension mit Daten gefüllt sind. Wenn sie es sind, solltest du alle Inhaltselemente, in denen du Googlemaps eingebunden hast, aufrufen und erneut speichern. Bei mir funktionierte das schließlich. Bonne chance Leolux

Avec install.php il avait réussi comme il se rappèle. Il faut contrôler si les deux tabell contiennent des données. Si oui, faut éditer chaque carte et enregistrer. Chez lui ça fonctionnait.

Thierry17
Membre
Messages : 21
Inscription : 20 Juin 2011 19:02
Localisation : Saintes

[Resolu] Problèmes avec dlh_googlemaps

Messagepar Thierry17 » 04 Mars 2014 11:51

Bonjour,
Désolé de répondre aussi tardivement, mais le boulot professionnel m'a pas mal occupé.

Voici comment j'ai résolu mon problème :
  • Installation en local sur Xampp d'une version propre (y compris module dlh_googlemaps)
  • Comparaison et modification de toutes les tables mysql entre la version propre et la version web (j'ai constaté que de nombreux champs étaient différents ou manquants dans la version web)
  • Après modification de toutes les tables et champs de la version web, transfert de la base mysql sur la version local xampp
  • Test de configuration et vérification de l'install tout est ok
  • Transfert de la base mysql sur le serveur web
  • Vérification... et là problème d'install, les cartes google maps ne sont plus reconnues....
  • J'ai désinstallé l'extension googlemaps sur le site distant et réinstallé puis recréé toutes les cartes (modification ultérieure de tous les calendriers utilisant des cartes)
Finalement tout est rentré dans l'ordre.... après plusieurs heures à contrôler.
Je pense avoir rencontré des problèmes d'update sur des modules (suite aux erreurs lors de l'install, j'ai transférer tout le dossier system/module du local vers le site héberger ce qui a dû corrigé des fichiers de config défectueux mais aussi supprimé des lignes dans la base mysql pour des modules désinstallé précédemment)

Un grand merci à KlausGrenoble pour son soutien et m'avoir fourni des éléments de recherche.
Cordialement


Revenir vers « Développement d'extensions »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité