Forum CMS Made Simple FR

Version complète : [résolu] Problème à la création d'événements avec CGCalendar
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.11
#~ Url du site :
#~ Hébergeur / Soft : Ouvaton
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.11
#~ Installed Modules:
#~ CGExtensions: 1.42.2
#~ CMSMailer: 5.2.2
#~ CMSPrinting: 1.0.5
#~ FileManager: 1.4.5
#~ Gallery: 2.0.1
#~ MenuManager: 1.8.6
#~ MicroTiny: 1.2.7
#~ MleCMS: 1.11.4
#~ ModuleManager: 1.5.8
#~ News: 2.14.4
#~ Search: 1.7.11
#~ TemplateExternalizer: 2.1.5
#~ ThemeManager: 1.1.8
#~ FormBuilder: 0.7.3
#~ CGCalendar: 1.14.3
#~ CGSimpleSmarty: 1.7.4
#~ JQueryTools: 1.2.6
#~ CGContentUtils: 1.4.3
#~ SiteMapMadeSimple: 1.2.8
#~ ExtendedTools: 1.3.3
#~ Archiver: 0.2.6
#~ AceEditor: 1.0
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ max_upload_size: 32000000
#~ url_rewriting: mod_rewrite
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.4.23-1~dotdeb.1
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ E_DEPRECATED: 0
#~ memory_limit: 256M
#~ max_execution_time: 120
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 32M
#~ upload_max_filesize: 32M
#~ session_save_path: Aucune vérification à cause de la restriction spécifiée par PHP open_basedir
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: cgi-fcgi
#~ Server Db Type: MySQL (mysql)
#~ Server Db Version: 5.5.34
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ Server Time Diff: Aucune différence de date du système de fichiers trouvées
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

Bonjour,

J'ai un souci dont je ne sais pas me dépatouiller... Voici le message d'erreur qui se produit dans l'admin uniquement quand j'essaie d'ajouter un événement avec CGCalendar :

Code :
[== Indéfini ==]
FATAL ERROR:
QUERY = INSERT INTO cms_module_cgcalendar_events (event_id, event_title, event_summary, event_details, event_date_start, event_date_end, event_parent_id, event_recur_period, event_date_recur_end, event_created_by, event_recur_nevents, event_recur_interval, event_recur_weekdays, event_recur_monthdays, event_allows_overlap,event_all_day, event_create_date, event_modified_date) VALUES (118,'Titre','','','2014-11-01 19:15:00',NULL,-1,'none',NULL,-101,-1,1,'','',1,0,NOW(),NOW())
ERROR = Duplicate entry '118' for key 'PRIMARY'

Toutes les versions de modules sont à jour, j'ai lancé les scripts de maintenance, au cas où... ça s'est remis à fonctionner... puis rebelote.
J'ai remarqué que certaines tables étaient en InnoDB, alors je les ai basculées en MyISAM avec le script de Jean le Chauve... mais ça n'a rien changé au niveau de l'erreur.

C'est apparu comme ça, je ne sais pas quand... je me demande si ça ne vient pas de la migration de l'hébergeur qui a changé d'infrastructure.
Je me suis aperçu que la tentative de création d'événement créait une ligne dans la table cms_module_cgcalendar_events_seq
avec le chiffre correspondant à l'erreur de key et que ça ne semble pas normal (pas le cas sur d'autres sites).

Si vous avez des idées, je suis preneur. Merci !
Supprime manuellement l'enregistrement 118 dans la table, ça devrait régler le problème.
En fait non, car à chaque fois que je tente la création d'un événement, ce chiffre s'incrémente (et j'ai + de 500 enregistrements sur cette table).
A chaque ajout d'un événement : update cms_module_cgcalendar_events_seq set id=LAST_INSERT_ID(id+1);
Il doit donc être égal à l'event_id le plus élévé de la table cms_module_cgcalendar_events.
Ouvre la table cms_module_cgcalendar_events, trie-la par event_id et regarde quelle est la valeur la plus élevée.
Il te suffit d'ouvrir la table cms_module_cgcalendar_events_seq et de remplacer la valeur d'id par la valeur d'event_id que tu as trouvée. Cela devrait résoudre ton problème de duplicate entry.
Ok, je vais tester, merci JLC !

Edit : Ça semble ok, effectivement, merci, je passe en résolu. Smile