hook_form et hook_submit dans un module type de contenu?

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour tout le monde

Bon mon problème est simple

Dans un module qui implémente un nouveaux type de contenu (offre d'emploi dans ce cas)
J'implémente aussi les réponses via un hook_form et un hook_submit.
Mais quand je valide ma réponse à une offre d'emploi, mon hook_submit n'est pas appelé (il y a un drupal_set_message() en cas de réussite ou d'échec) suivi d'un redirect.

<?php
 
function reponse_offre_form(&$form_state, $nid){
    global
$user;
 
  
// récupération du noeud de l'offre d'emploi
 
$node = db_fetch_object(db_query("SELECT n.*, o_e.* FROM {node} n INNER JOIN {node_offre_emploi} o_e ON n.nid = o_e.nid WHERE n.nid = %d", $nid));
  
$form = array();
  
  
// récupération des fichiers uploadés par l'utilisateur
  
$files = array();
 
$cursor = db_query("SELECT f.fid, f.filename FROM {files} f INNER JOIN {upload} u ON f.fid = u.fid WHERE f.uid = %d AND u.nid = (SELECT nid FROM {node} WHERE type =  'profile' AND uid = %d)", $user->uid, $user->uid);
 
   while(
$buff = db_fetch_object($cursor)){
      
$files[$buff->fid] = $buff->filename;
    }
 
  
$form['#attributes'] = array('enctype' => "multipart/form-data");
 
  
$form['offre'] = array(
     
'#type' => 'item',
     
'#title' => t('Offre'),
    
'#value' => $node->title,
  );
 
$form['societe'] = array(
       
'#type' => 'item',
     
'#title' => t('Société'),
      
'#value' => db_fetch_object(db_query("SELECT societyName FROM {node_societe} WHERE sid = %d",$node->sid))->societyName,
   );
 
  
$form['reponse'] = array(
       
'#type' => 'textarea',
     
'#title' => t("Réponse à l'offre"),
    );
 
   if(!empty(
$files)){
       
$form['cv'] = array(
        
'#type' => 'select',
           
'#title' => t('Attacher un CV'),
           
'#options' => $files,
        
'#size' => 40,
        );
    
      
$form['motiv'] = array(
         
'#type' => 'select',
           
'#title' => t('Attacher une lettre de motivation'),
        
'#options' => $files,
        
'#size' => 40,
        );
 }
 
  
$form['nid'] = array(
       
'#type' => 'hidden',
       
'#value' => $nid,
 );
 
$form['submit'] = array(
    
'#type' => 'submit',
       
'#value' => t('Validate'), 
    );
 
   return
$form;
 }

function reponse_offre_submit($form, &$form_state){
  global
$user;
  if(
db_query("INSERT INTO {node_reponse_emploi} (nid, uid, reponse, cv_fid, motiv_fid) VALUES (%d, %d, "%s", %d, %d)", $form_state['values']['nid'], $user->uid, $form_state['values']['reponse'], $form_state['values']['cv_fid'], $form_state['values']['motiv_fid'])){
      
drupal_set_message("Votre réponse a été envoyée");
   }
  else{
     
drupal_set_message("Une erreur s'est produite, veuillez réessayer ultérieurement", 'error');
  }
 
$form_state['redirect'] = 'offresEmploi/liste';
 }
?>

savez vous d'où ca peut venir? Est ce que ca peut venir du fait

Forum : 
Version de Drupal :