Explorar el Código

- updated views
- finished 'formations par thematique' browsing
- redirect taxonomy/term pages using hook_term_path()
- regernerated feature

Yves Chedemois hace 15 años
padre
commit
b5ada6552c

+ 8 - 145
fgcf.defaults.inc → fgcf.features.content.inc

@@ -1,9 +1,9 @@
 <?php
 
 /**
- * Helper to implementation of hook_content_default_fields().
+ * Implementation of hook_content_default_fields().
  */
-function _fgcf_content_default_fields() {
+function fgcf_content_default_fields() {
   $fields = array();
 
   // Exported field: field_fgcf_fiche_contenu
@@ -18,7 +18,7 @@ function _fgcf_content_default_fields() {
       ),
       'teaser' => array(
         'format' => 'default',
-        'exclude' => 1,
+        'exclude' => 0,
       ),
       'full' => array(
         'format' => 'default',
@@ -356,7 +356,7 @@ o|Oui',
     'widget_active' => '1',
     'type' => 'number_integer',
     'required' => '1',
-    'multiple' => '1',
+    'multiple' => '3',
     'module' => 'number',
     'active' => '1',
     'prefix' => '',
@@ -370,7 +370,7 @@ o|Oui',
     'widget' => array(
       'default_value' => array(
         '0' => array(
-          'value' => '',
+          'value' => NULL,
         ),
       ),
       'default_value_php' => NULL,
@@ -394,7 +394,7 @@ o|Oui',
       ),
       'teaser' => array(
         'format' => 'default',
-        'exclude' => 1,
+        'exclude' => 0,
       ),
       'full' => array(
         'format' => 'default',
@@ -493,8 +493,6 @@ o|Oui',
       'page' => 0,
       'story' => 0,
     ),
-    'advanced_view' => '',
-    'advanced_view_args' => '',
     'widget' => array(
       'autocomplete_match' => 'contains',
       'size' => 60,
@@ -844,11 +842,11 @@ o|Oui',
         'format' => 'hidden',
       ),
       'teaser' => array(
-        'format' => 'image_plain',
+        'format' => 'prestataire_logo_liste_linked',
         'exclude' => 0,
       ),
       'full' => array(
-        'format' => 'image_plain',
+        'format' => 'prestataire_logo_full_default',
         'exclude' => 0,
       ),
       '4' => array(
@@ -988,138 +986,3 @@ o|Oui',
 
   return $fields;
 }
-
-/**
- * Helper to implementation of hook_fieldgroup_default_groups().
- */
-function _fgcf_fieldgroup_default_groups() {
-  $groups = array();
-
-  // Exported group: group_fgcf_fiche_meta
-  $groups[] = array(
-    'group_type' => 'standard',
-    'type_name' => 'fgcf_fiche',
-    'group_name' => 'group_fgcf_fiche_meta',
-    'label' => 'Méta',
-    'settings' => array(
-      'form' => array(
-        'style' => 'fieldset',
-        'description' => '',
-      ),
-      'display' => array(
-        'weight' => '2',
-        'label' => 'above',
-        'teaser' => array(
-          'format' => 'fieldset',
-          'exclude' => 1,
-        ),
-        'full' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-        'description' => '',
-        '4' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-        '2' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-        '3' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-        'token' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-      ),
-    ),
-    'weight' => '2',
-    'fields' => array(
-      '0' => 'field_fgcf_fiche_organisme',
-      '1' => 'field_fgcf_fiche_modalite',
-      '2' => 'field_fgcf_fiche_dif',
-      '3' => 'field_fgcf_fiche_heures',
-      '4' => 'field_fgcf_fiche_jours',
-      '5' => 'field_fgcf_fiche_format',
-      '6' => 'field_fgcf_fiche_supports',
-      '7' => 'field_fgcf_fiche_sanction',
-      '8' => 'field_fgcf_fiche_public',
-    ),
-  );
-
-  // Exported group: group_prestataire_branding
-  $groups[] = array(
-    'group_type' => 'standard',
-    'type_name' => 'fgcf_prestataire',
-    'group_name' => 'group_prestataire_branding',
-    'label' => 'Branding',
-    'settings' => array(
-      'form' => array(
-        'style' => 'fieldset',
-        'description' => '',
-      ),
-      'display' => array(
-        'description' => '',
-        'teaser' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-        'full' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-        '4' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-        '2' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-        '3' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-        'token' => array(
-          'format' => 'fieldset',
-          'exclude' => 0,
-        ),
-        'label' => 'hidden',
-      ),
-    ),
-    'weight' => '-2',
-    'fields' => array(
-      '0' => 'field_fgcf_prestataire_logo',
-      '1' => 'field_fgcf_prestataire_link',
-    ),
-  );
-
-  // Translatables
-  array(
-    t('Branding'),
-    t('Méta'),
-  );
-
-  return $groups;
-}
-
-/**
- * Helper to implementation of hook_user_default_permissions().
- */
-function _fgcf_user_default_permissions() {
-  $permissions = array();
-
-  // Exported permission: access course catalog
-  $permissions[] = array(
-    'name' => 'access course catalog',
-    'roles' => array(
-      '0' => 'anonymous user',
-      '1' => 'authenticated user',
-    ),
-  );
-
-  return $permissions;
-}

+ 71 - 26
fgcf.features.inc

@@ -1,37 +1,82 @@
 <?php
 
 /**
- * Implementation of hook_content_default_fields().
+ * Implementation of hook_imagecache_default_presets().
  */
-function fgcf_content_default_fields() {
-  module_load_include('inc', 'fgcf', 'fgcf.defaults');
-  $args = func_get_args();
-  return call_user_func_array('_fgcf_content_default_fields', $args);
-}
-
-/**
- * Implementation of hook_fieldgroup_default_groups().
- */
-function fgcf_fieldgroup_default_groups() {
-  module_load_include('inc', 'fgcf', 'fgcf.defaults');
-  $args = func_get_args();
-  return call_user_func_array('_fgcf_fieldgroup_default_groups', $args);
+function fgcf_imagecache_default_presets() {
+  $items = array(
+    'prestataire_logo_full' => array(
+      'presetname' => 'prestataire_logo_full',
+      'actions' => array(
+        '0' => array(
+          'weight' => '0',
+          'module' => 'imagecache',
+          'action' => 'imagecache_scale',
+          'data' => array(
+            'width' => '200',
+            'height' => '200',
+            'upscale' => 1,
+          ),
+        ),
+      ),
+    ),
+    'prestataire_logo_liste' => array(
+      'presetname' => 'prestataire_logo_liste',
+      'actions' => array(
+        '0' => array(
+          'weight' => '0',
+          'module' => 'imagecache',
+          'action' => 'imagecache_scale',
+          'data' => array(
+            'width' => '160',
+            'height' => '48',
+            'upscale' => 1,
+          ),
+        ),
+      ),
+    ),
+  );
+  return $items;
 }
 
 /**
  * Implementation of hook_node_info().
  */
 function fgcf_node_info() {
-  module_load_include('inc', 'fgcf', 'fgcf.features.node');
-  $args = func_get_args();
-  return call_user_func_array('_fgcf_node_info', $args);
-}
-
-/**
- * Implementation of hook_user_default_permissions().
- */
-function fgcf_user_default_permissions() {
-  module_load_include('inc', 'fgcf', 'fgcf.defaults');
-  $args = func_get_args();
-  return call_user_func_array('_fgcf_user_default_permissions', $args);
+  $items = array(
+    'fgcf_fiche' => array(
+      'name' => t('FG: Fiche de formation'),
+      'module' => 'features',
+      'description' => t('Une fiche de formation décrit de manière structurée une formation proposée au personnel France Galop'),
+      'has_title' => '1',
+      'title_label' => t('Titre'),
+      'has_body' => '0',
+      'body_label' => '',
+      'min_word_count' => '0',
+      'help' => '',
+    ),
+    'fgcf_prestataire' => array(
+      'name' => t('FG: Prestataire de formation'),
+      'module' => 'features',
+      'description' => t('Un prestataire est une entité proposant des cours au catalogue de France Galop'),
+      'has_title' => '1',
+      'title_label' => t('Entité'),
+      'has_body' => '1',
+      'body_label' => t('Description'),
+      'min_word_count' => '0',
+      'help' => '',
+    ),
+    'fgcf_thematique' => array(
+      'name' => t('FG Thématique de formation'),
+      'module' => 'features',
+      'description' => t('Thématique de formation, correspondant à un terme de premier niveau du vocabulaire des thématiques.'),
+      'has_title' => '1',
+      'title_label' => t('Titre'),
+      'has_body' => '1',
+      'body_label' => t('Description'),
+      'min_word_count' => '0',
+      'help' => '',
+    ),
+  );
+  return $items;
 }

+ 0 - 43
fgcf.features.node.inc

@@ -1,43 +0,0 @@
-<?php
-
-/**
- * Helper to implementation of hook_node_info().
- */
-function _fgcf_node_info() {
-  $items = array(
-    'fgcf_fiche' => array(
-      'name' => t('FG: Fiche de formation'),
-      'module' => 'features',
-      'description' => t('Une fiche de formation décrit de manière structurée une formation proposée au personnel France Galop'),
-      'has_title' => '1',
-      'title_label' => t('Titre'),
-      'has_body' => '0',
-      'body_label' => '',
-      'min_word_count' => '0',
-      'help' => '',
-    ),
-    'fgcf_prestataire' => array(
-      'name' => t('FG: Prestataire de formation'),
-      'module' => 'features',
-      'description' => t('Un prestataire est une entité proposant des cours au catalogue de France Galop'),
-      'has_title' => '1',
-      'title_label' => t('Entité'),
-      'has_body' => '1',
-      'body_label' => t('Description'),
-      'min_word_count' => '0',
-      'help' => '',
-    ),
-    'fgcf_thematique' => array(
-      'name' => t('FG Thématique de formation'),
-      'module' => 'features',
-      'description' => t('Thématique de formation, correspondant à un terme de premier niveau du vocabulaire des thématiques.'),
-      'has_title' => '1',
-      'title_label' => t('Titre'),
-      'has_body' => '1',
-      'body_label' => t('Description'),
-      'min_word_count' => '0',
-      'help' => '',
-    ),
-  );
-  return $items;
-}

+ 19 - 0
fgcf.features.user.inc

@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * Implementation of hook_user_default_permissions().
+ */
+function fgcf_user_default_permissions() {
+  $permissions = array();
+
+  // Exported permission: access course catalog
+  $permissions[] = array(
+    'name' => 'access course catalog',
+    'roles' => array(
+      '0' => 'anonymous user',
+      '1' => 'authenticated user',
+    ),
+  );
+
+  return $permissions;
+}

+ 4 - 2
fgcf.info

@@ -5,11 +5,13 @@ dependencies[] = "content_taxonomy_autocomplete"
 dependencies[] = "diff"
 dependencies[] = "features"
 dependencies[] = "fieldgroup"
+dependencies[] = "imagecache"
 dependencies[] = "imagefield"
 dependencies[] = "link"
 dependencies[] = "nodereference"
 dependencies[] = "number"
 dependencies[] = "taxonomy"
+dependencies[] = "views_attach"
 description = "L'offre de formation pour les personnels France Galop"
 features[content][] = "fgcf_fiche-field_fgcf_fiche_contenu"
 features[content][] = "fgcf_fiche-field_fgcf_fiche_dif"
@@ -26,8 +28,8 @@ features[content][] = "fgcf_fiche-field_fgcf_fiche_supports"
 features[content][] = "fgcf_prestataire-field_fgcf_prestataire_link"
 features[content][] = "fgcf_prestataire-field_fgcf_prestataire_logo"
 features[content][] = "fgcf_thematique-field_fgcf_thematique_logo"
-features[fieldgroup][] = "fgcf_fiche-group_fgcf_fiche_meta"
-features[fieldgroup][] = "fgcf_prestataire-group_prestataire_branding"
+features[imagecache][] = "prestataire_logo_full"
+features[imagecache][] = "prestataire_logo_liste"
 features[node][] = "fgcf_fiche"
 features[node][] = "fgcf_prestataire"
 features[node][] = "fgcf_thematique"

+ 68 - 0
fgcf.install

@@ -0,0 +1,68 @@
+<?php
+
+function fgcf_install() {
+  $vocabulary = array(
+    'name' => 'FGCF Thématique',
+    'description' => '',
+    'multiple' => 0,
+    'required' => 1,
+    'hierarchy' => 0,
+    'relations' => 1,
+    'module' => 'fgcf',
+    'weight' => 0,
+    'nodes' => array('fgcf_fiche' => 1),
+  );
+  taxonomy_save_vocabulary($vocabulary);
+
+  $vocabulary = array(
+    'name' => 'FGCF Format de cours',
+    'description' => 'Toute caractéristique de la formation, comme la présence de travaux pratiques, une évaluation, etc.',
+    'multiple' => 0,
+    'required' => 0,
+    'hierarchy' => 0,
+    'relations' => 1,
+    'module' => 'fgcf',
+    'weight' => 0,
+    'nodes' => array(),
+  );
+  taxonomy_save_vocabulary($vocabulary);
+
+  $vocabulary = array(
+    'name' => 'FGCF Supports remis',
+    'description' => '',
+    'multiple' => 0,
+    'required' => 0,
+    'hierarchy' => 0,
+    'relations' => 1,
+    'module' => 'fgcf',
+    'weight' => 0,
+    'nodes' => array(),
+  );
+  taxonomy_save_vocabulary($vocabulary);
+
+  $vocabulary = array(
+    'name' => 'FGCF Sanction',
+    'description' => '',
+    'multiple' => 1,
+    'required' => 0,
+    'hierarchy' => 0,
+    'relations' => 1,
+    'module' => 'fgcf',
+    'weight' => 0,
+    'nodes' => array(),
+  );
+  taxonomy_save_vocabulary($vocabulary);
+
+  $vocabulary = array(
+    'name' => 'FGCF Public visé',
+    'description' => '',
+    'multiple' => 0,
+    'required' => 0,
+    'hierarchy' => 0,
+    'relations' => 1,
+    'module' => 'fgcf',
+    'weight' => 0,
+    'nodes' => array(),
+  );
+  taxonomy_save_vocabulary($vocabulary);
+}

+ 233 - 314
fgcf.module

@@ -7,111 +7,117 @@
  */
 include_once('fgcf.features.inc');
 
+
 /**
- * Helper: get a vocabulary ID from its name.
- *
- * @param string $name
+ * Implementation of hook_menu().
  */
-function _fgcf_get_vocabulary_by_name($name) {
-  $vocabularies = taxonomy_get_vocabularies();
-  $ret = 0;
-  foreach ($vocabularies as $vid => $vocabulary) {
-    if (drupal_strtolower($vocabulary->name) == drupal_strtolower($name)) {
-      $ret = $vid;
-      break;
-    }
-  }
+function fgcf_menu() {
+  $read_access = array('access course catalog');
 
-  return $ret;
+  $items = array();
+
+  $items['fgcf'] = array(
+    'title' => 'Catalogue Formations',
+    'page callback' => 'fgcf_page_home',
+    'access arguments' => $read_access,
+    'menu_name' => 'primary-links',
+  );
+  $items['fgcf/format'] = array(
+    'type' => MENU_CALLBACK,
+    'title' => 'Formations par format',
+    'page callback' => 'fgcf_page_format',
+    'access arguments' => $read_access,
+  );
+  $items['fgcf/organisme'] = array(
+    'type' => MENU_CALLBACK,
+    'title' => 'Formations par organisme',
+    'page callback' => 'fgcf_page_organisme',
+    'access arguments' => $read_access,
+  );
+  $items['fgcf/thematique'] = array(
+    'type' => MENU_CALLBACK,
+    'title' => 'Formations par thématique',
+    'page callback' => 'fgcf_page_thematique',
+    'access arguments' => $read_access,
+  );
+
+  return $items;
 }
 
 /**
- * Shared filter form for course lists.
- *
- * Filter values are taken from the form logic or, when absent, from the
- * session, in order for them to be persistent across non-form pages.
- *
- * @return array
+ * Implementation of hook_init().
  */
-function fgcf_filter_form($form_state) {
+function fgcf_init() {
+  if (arg(0) == 'fgcf') {
+    drupal_add_css(drupal_get_path('module', 'fgcf') .'/theme/css/fgcf.css');
+  }
+}
 
-  $form['filtre'] = array(
-    '#title' => t('Filtrer les formations'),
-    '#attributes' => array('class' => 'fgcf-filtre'),
-    '#type' => 'fieldset',
-    '#collapsible' => TRUE,
-  );
 
-  $dif = isset($form_state['storage']['dif'])
-    ? $form_state['storage']['dif']
-    : isset($_SESSION['fgcf']['dif'])
-      ? $_SESSION['fgcf']['dif']
-      : FALSE;
-  $form['filtre']['dif'] = array(
-    '#type' => 'checkbox',
-    '#default_value' => $dif,
-    '#title'         => t('Eligibles DIF'),
-  );
+/**
+ * Implementation of hook_perm().
+ */
+function fgcf_perm() {
+  return array('access course catalog');
+}
 
-  $modalite = isset($form_state['storage']['modalite'])
-    ? $form_state['storage']['modalite']
-    : isset($_SESSION['fgcf']['modalite'])
-      ? $_SESSION['fgcf']['modalite']
-      : array();
-  $form['filtre']['modalite'] = array(
-    '#title'   => t('Modalité'),
-    '#type'    => 'checkboxes',
-    '#options' => array(
-      'inter'    => t('Inter-entreprises'),
-      'intra'    => t('Intra-entreprise'),
-      'autres'   => t('Autres'),
+/**
+ * Implementation of hook_theme().
+ */
+function fgcf_theme($existing, $type, $theme, $path) {
+  $ret = array(
+    'fgcf_home' => array(
+      'arguments' => array('filter_form' => array()),
+      'template'  => 'fgcf-home',
+      'path'      => $path .'/theme',
+    ),
+    'fgcf_thematiques' => array(
+      'arguments' => array('terms' => array()),
     ),
-    '#default_value' => $modalite,
-  );
-
-  $form['filtre']['submit'] = array(
-    '#type' => 'submit',
-    '#value' => t('Appliquer le filtre'),
   );
 
-  return $form;
+  return $ret;
 }
 
-function fgcf_init() {
-  if (arg(0) == 'fgcf') {
-    drupal_add_css(drupal_get_path('module', 'fgcf') .'/theme/css/fgcf.css');
+/**
+ * Implementation of hook_term_path().
+ */
+function fgcf_term_path($term) {
+  $vocabulary = taxonomy_vocabulary_load($term->vid);
+  switch ($vocabulary->vid) {
+    case _fgcf_get_vocabulary_by_name('FGCF Thématique'):
+      return 'fgcf/thematique/'. $term->tid;
+      break;
+
+    case _fgcf_get_vocabulary_by_name('FGCF Format de cours'):
+      return 'fgcf/format/'. $term->tid;
+      break;
+
+    // @todo Quid de :
+    // - FGCF Supports remis (affiché en lien)
+    // - FGCF Sanction (affiché en lien)
+    // - FGCF Public visé (affiché en lien)
   }
 }
 
 /**
- * Submit handler for fgcf_filter_form().
- *
- * @param array $form
- * @param array $form_state
- *
- * @return void
+ * Implementation of hook_views_api().
  */
-function fgcf_filter_form_submit($form, &$form_state) {
-  $form_state['storage']['modalite'] = $form_state['values']['modalite'];
-  $form_state['storage']['dif'] = $form_state['values']['dif'];
-  $_SESSION['fgcf'] = array(
-    'dif' => $form_state['storage']['dif'],
-    'modalite' => $form_state['storage']['modalite'],
+function fgcf_views_api() {
+  $ret = array(
+    'api'  => '2',
+    'path' => drupal_get_path('module', 'fgcf') . '/views',
   );
+  return $ret;
 }
 
 /**
- * Implements hook_nodeapi().
- *
- * @param object $node
- * @param string $op
- * @param mixed $a3
- * @param mixed $a4
+ * Implementation of hook_nodeapi().
  */
 function fgcf_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
-
   switch ($op) {
     case 'view':
+      // Only operate on 'page' view.
       if ($a3 /* !teaser */  || !$a4 /* page */) {
         break;
       }
@@ -168,52 +174,21 @@ function fgcf_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
 }
 
 /**
- * Implements hook_perm().
- *
- * @return array
+ * Page callback : 'Catalogue Formations'.
  */
-function fgcf_perm() {
-  $ret = array(
-    'access course catalog',
-  );
+function fgcf_page_home() {
+  drupal_add_css(drupal_get_path('module', 'fgcf') .'/theme/css/fgcf.css');
+  drupal_set_title('Catalogue des formations France Galop');
+
+  $filter_form = drupal_get_form('fgcf_filter_form');
+  $ret = theme('fgcf_home', $filter_form);
 
   return $ret;
 }
 
 /**
- * Implements hook_menu().
- *
- * @return array
+ * Page callback : 'Formations par format'.
  */
-function fgcf_menu() {
-  $read_access = array('access course catalog');
-
-  $items = array();
-
-  $items['fgcf'] = array(
-    'title' => 'Catalogue Formations',
-    'page callback' => 'fgcf_page_home',
-    'access arguments' => $read_access,
-    'menu_name' => 'primary-links',
-  );
-
-  $items['fgcf/format'] = array(
-    'type' => MENU_CALLBACK,
-    'title' => 'Formations par format',
-    'page callback' => 'fgcf_page_format',
-    'access arguments' => $read_access,
-  );
-
-  $items['fgcf/organisme'] = array(
-    'type' => MENU_CALLBACK,
-    'title' => 'Formations par organisme',
-    'page callback' => 'fgcf_page_organisme',
-    'access arguments' => $read_access,
-  );
-
-  return $items;
-}
-
 function fgcf_page_format($format = 0) {
   $bc = drupal_get_breadcrumb();
   $bc[] = l(t('Catalogue formations'), 'fgcf');
@@ -226,18 +201,26 @@ function fgcf_page_format($format = 0) {
     $ret .= views_embed_view('fgcf_formats_de_formations', 'default', $vid);
   }
   else {
-    $bc[] = l(t('Formats de formation'), 'fgcf/format');
     $term = taxonomy_get_term($format);
     if (!is_object($term) || !isset($term->vid) || $term->vid != $vid) {
       $format = 0;
     }
-    $ret .= views_embed_view('fgcf_formations_par_format', 'default', $format);
+    else {
+      $bc[] = l(t('Formats de formation'), 'fgcf/format');
+      drupal_set_title(t('Format : @term', array('@term' => $term->name)));
+      $values = _fgcf_filter_form_translate_values();
+    }
+
+    $ret .= views_embed_view('fgcf_formations_par_format', 'default', $format, $values['dif'], $values['modalites']);
   }
 
   drupal_set_breadcrumb($bc);
   return $ret;
 }
 
+/**
+ * Page callback : 'Formations par organisme'.
+ */
 function fgcf_page_organisme() {
   $bc = drupal_get_breadcrumb();
   $bc[] = l(t('Catalogue formations'), 'fgcf');
@@ -252,79 +235,61 @@ function fgcf_page_organisme() {
 }
 
 /**
- * Page callback for fgcf.
- *
- * @return string
+ * Page callback : 'Formations par thematique'.
  */
-function fgcf_page_home() {
-  drupal_add_css(drupal_get_path('module', 'fgcf') .'/theme/css/fgcf.css');
-  drupal_set_title('Catalogue des formations France Galop');
+function fgcf_page_thematique($thematique = 0) {
+  $bc = drupal_get_breadcrumb();
+  $bc[] = l(t('Catalogue formations'), 'fgcf');
 
   $filter_form = drupal_get_form('fgcf_filter_form');
-  $ret = theme('fgcf_home', $filter_form);
-
-  return $ret;
-}
 
-/**
- * Preprocess callback for theme('fgcf_home').
- *
- * @param unknown_type $variables
- *
- * @return void
- */
-function fgcf_preprocess_fgcf_home(&$variables) {
-  $variables['app_path'] = url('fgcf');
-}
+  $ret = $filter_form;
 
-/**
- * Implements hook_theme().
- *
- * @param array $existing
- * @param string $type
- * @param string $theme
- * @param string $path
- *
- * @return array
- */
-function fgcf_theme($existing, $type, $theme, $path) {
-  $ret = array(
-    'fgcf_home' => array(
-      'arguments' => array('filter_form' => array()),
-      'template'  => 'fgcf-home',
-      'path'      => $path .'/theme',
-    ),
-    'fgcf_thematiques' => array(
-      'arguments' => array('terms' => array()),
-    ),
-/*
-    'fgcf_fiche_node_form' => array(
-      'arguments' => array('element' => NULL),
-      'template'  => 'fgcf-fiche-node-form',
-      'path'      => $path .'/theme',
-    ),
-*/
-  );
+  // The views itself doesn't mention vocab ids, which might be different in dev
+  // and in production.
+  // We limit to terms in the 'Thématique' vocab outside the view.
+  $vid = _fgcf_get_vocabulary_by_name('FGCF Thématique');
+  if (empty($thematique)) {
+    // Afficher liste des thématiques de 1er niveau.
+    $ret .= views_embed_view('fgcf_thematiques_premier_niveau', 'default', $vid);
+  }
+  else {
+    $term = taxonomy_get_term($thematique);
+    $parents = array();
 
-  return $ret;
-}
+    if (!is_object($term) || !isset($term->vid) || $term->vid != $vid) {
+      $thematique = 0;
+      $description = '';
+    }
+    else {
+      $bc[] = l(t('Thématiques'), 'fgcf/thematique');
+      $parents = taxonomy_get_parents($thematique);
+      $description = $term->description;
+    }
 
-function fgcf_views_api() {
+    if (empty($parents)) {
+      // Top category: display list of sub-categories.
+      drupal_set_title(t('Thématique : @term', array('@term' => $description)));
+      $ret .= views_embed_view('fgcf_thematique_deuxieme_niveau', 'default', $thematique);
+    }
+    else {
+      // Sub-category: display list of nodes.
+      $parent = current($parents);
+      $bc[] = l($parent->description, 'fgcf/thematique/'. $parent->tid);
+      drupal_set_title(t('Thématique : @term', array('@term' => $description)));
+
+      $values = _fgcf_filter_form_translate_values();
+      $ret .= views_embed_view('fgcf_formations_par_thematique', 'default', $thematique, $values['dif'], $values['modalites']);
+    }
+  }
 
-  $ret = array(
-    'api'  => '3.0-alpha1',
-    'path' => drupal_get_path('module', 'fgcf') . '/views',
-  );
+  drupal_set_breadcrumb($bc);
 
   return $ret;
 }
 
 /**
  * Theme function for course themes.
- *
- * @param array $terms
- *
- * @return string
  */
 function theme_fgcf_thematiques($terms) {
   $items = array();
@@ -344,159 +309,113 @@ function theme_fgcf_thematiques($terms) {
   return $ret;
 }
 
+/**
+ * Shared filter form for course lists.
+ *
+ * Filter values are taken from the form logic or, when absent, from the
+ * session, in order for them to be persistent across non-form pages.
+ *
+ * @return array
+ */
+function fgcf_filter_form($form_state) {
 
-/*
-function fgcf_features_api() {
-  $ret = array(
-//    'fgcf_comp1' => array(
-//      'default_hook' => 'fgcf_comp1_defaults',
-//      'default_file' => FEATURES_DEFAULTS_INCLUDED,
-//      'features_source' => TRUE,
-//      // 'file' => drupal_get_path('module', 'fgcf') .'/fgcf.features.inc',
-//    ),
-  );
-  $ret = array(
-    'fgcf' => array(
-      'name' => t('FGCF Comp'),
-      'feature_source' => TRUE,
-      'default_hook' => 'fgcf_default_comp',
-    )
+  $form['filtre'] = array(
+    '#title' => t('Filtrer les formations'),
+    '#attributes' => array('class' => 'fgcf-filtre'),
+    '#type' => 'fieldset',
+    '#collapsible' => TRUE,
   );
-  //  dsm($ret);
-  return $ret;
-}
-
-function fgcf_fgcf_default_comp() {
-  $ret = "Default comp";
-  dsm(get_defined_vars(), __FUNCTION__);
-  return $ret;
-}
-
-function fgcf_features_export($data, &$export, $module_name = '') {
-dsm(get_defined_vars());
 
-  $export['features']['fgcf'] = $data;
-  // On peut ajouter des entrées à $export['dependencies']
-  // $module_name est le module vers lequel on exporte
-  return array();
-}
+  $dif = isset($form_state['storage']['dif'])
+    ? $form_state['storage']['dif']
+    : isset($_SESSION['fgcf']['dif'])
+      ? $_SESSION['fgcf']['dif']
+      : FALSE;
+  $form['filtre']['dif'] = array(
+    '#type' => 'checkbox',
+    '#default_value' => $dif,
+    '#title'         => t('Eligibles DIF'),
+  );
 
-function fgcf_features_export_options() {
-  dsm(get_defined_vars(), __FUNCTION__);
+  $modalite = isset($form_state['storage']['modalite'])
+    ? $form_state['storage']['modalite']
+    : isset($_SESSION['fgcf']['modalite'])
+      ? $_SESSION['fgcf']['modalite']
+      : array();
+  $form['filtre']['modalite'] = array(
+    '#title'   => t('Modalité'),
+    '#type'    => 'checkboxes',
+    '#options' => array(
+      '1'    => t('Inter-entreprises'),
+      '2'    => t('Intra-entreprise'),
+      '3'   => t('Autres'),
+    ),
+    '#default_value' => $modalite,
+  );
 
-  $options = array(
-    'a', 'b', 'c',
+  $form['filtre']['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Appliquer le filtre'),
   );
 
-  return $options;
+  return $form;
 }
 
-function fgcf_features_export_render($module_name = '', $data) {
-  dsm(get_defined_vars());
-
-  $ret = <<<EOT
-return "rendered $module_name" . var_export($data, TRUE) ;
-EOT;
-
-  return $ret;
+/**
+ * Submit handler for fgcf_filter_form().
+ */
+function fgcf_filter_form_submit($form, &$form_state) {
+  foreach (array('modalite', 'dif') as $key) {
+    $value = $form_state['values'][$key];
+    //$form_state['storage'][$key] = $value;
+    $_SESSION['fgcf'][$key] = $value;
+  }
 }
 
-function fgcf_features_export_revert($module) {
-  dsm("reverting $module");
-}
+/**
+ * Translate values in the filter form into arguments for the views.
+ */
+function _fgcf_filter_form_translate_values() {
+  // Default values.
+  $values = array(
+    'dif' => 'all',
+    'modalites' => 'all',
+  );
 
-function fgcf_features_export_rebuild($module) {
-  dsm("export_rebuilding $module");
-}
-*/
+  if (isset($_SESSION['fgcf']['dif']) && $_SESSION['fgcf']['dif']) {
+    $values['dif'] = 'o';
+  }
 
-/*
-function fgcf_link($type, $object, $teaser = FALSE) {
-// function fgcf_link_alter(&$links, $node, $comment = NULL) {
-  if ($type != 'node' || $teaser) {
-    return;
+  if (isset($_SESSION['fgcf']['modalite'])) {
+    $modalites = array_filter($_SESSION['fgcf']['modalite']);
+    if (!empty($modalites)) {
+      $values['modalites'] = implode('+', array_keys($modalites));
+    }
   }
 
+  return $values;
 }
-*/
-
-/*
-function fgcf_preprocess_fgcf_fiche_node_form(&$variables) {
-  $element = &$variables['element'];
 
-  $meta = &$element['group_fgcf_fiche_meta'];
-  foreach (element_children($meta) as $name) {
-    $variables['meta'][$name] = drupal_render($meta[$name]);
+/**
+ * Helper: get a vocabulary ID from its name.
+ *
+ * @todo : inefficient - replace with constants once the vocabs are deployed ?
+ *
+ * @param string $name
+ */
+function _fgcf_get_vocabulary_by_name($name) {
+  static $matches = array();
+
+  if (!isset($matches[$name])) {
+    $matches[$name] = 0;
+    $vocabularies = taxonomy_get_vocabularies();
+    foreach ($vocabularies as $vid => $vocabulary) {
+      if (drupal_strtolower($vocabulary->name) == drupal_strtolower($name)) {
+        $matches[$name] = $vid;
+        break;
+      }
+    }
   }
-}
-*/
-
-
-/*
-$x = (object) array(
-   // 'nid' => 'new',
-//   'vid' => '32',
-//   'revision_uid' => '1',
-   'type' => 'fgcf_fiche',
-   'language' => '',
-// 'uid' => '1',
-   'status' => '1',
-//   'created' => '1278782394',
-//  'changed' => '1278794808',
-   'comment' => '0',
-   'promote' => '0',
-   'moderate' => '0',
-   'sticky' => '0',
-//'tnid' => '0',
-//   'translate' => '0',
-   'title' => 'Analyse des sols 3',
-   'body' => 'Analyser l\'influence du sol sur les végétaux
-Étudier la biologique du sol, l\'analyse de sol, le travail de sol
-Comprendre et connaître le pouvoir absorbant, point sur les constituants chimiques
-Proposer des solutions liées à l\'eau dans le sol (drainage, irrigation)
-Connaître et proposer les amendements
-Connaître et maîtriser la fertilisation
-',
-   'teaser' => 'Analyser l\'influence du sol sur les végétaux
-Étudier la biologique du sol, l\'analyse de sol, le travail de sol
-Comprendre et connaître le pouvoir absorbant, point sur les constituants chimiques
-Proposer des solutions liées à l\'eau dans le sol (drainage, irrigation)
-Connaître et proposer les amendements
-Connaître et maîtriser la fertilisation
-',
-//   'log' => '',
-//   'revision_timestamp' => '1278794708',
-   'format' => '1',
-//   'name' => 'd6root',
-//   'picture' => '',
-//   'data' => 'a:0:{}',
-   'field_fgcf_fiche_organisme' =>
-  array (
-    0 =>
-    array (
-      'nid' => '16',
-    ),
-  ),
-   'field_fgcf_fiche_reference' =>
-  array (
-    0 =>
-    array (
-      'value' => 'EH-EV-03',
-    ),
-  ),
-   'taxonomy' =>
-  array (
-    13 =>
-    (object) array(
-       'tid' => '13',
-       'vid' => '1',
-       'name' => 'EV',
-       'description' => 'Espaces Verts',
-       'weight' => '0',
-    )),
-  );
-$y = node_save($x);
-dsm($x);
-dsm($y);
 
-*/
+  return $matches[$name];
+}

+ 7 - 7
help/pages.html

@@ -1,12 +1,12 @@
 <ul>
   <li><a href="&base_url&fgcf">fgcf</a>: page d'accueil du module</li>
-  <li>fgcf/thematique: liste des thématiques de formation</li>
-  <li>fgcf/thematique/(cat): les sous-catégories de la catégorie (cat)</li>
-  <li>fgcf/thematique/(cat)/(scat): les formations de la sous-thématique &lt;cat/scat&gt;</li>
-  <li>fgcf/prestataire: liste des prestataires de formation</li>
-  <li>fgcf/format: la liste des formats de formation</li>
-  <li>fgcf/format/(format): la liste des formations du format choisi</li>
-  <li>node/(nid)
+  <li><a href="&base_url&fgcf/thematique">fgcf/thematique</a>: liste des thématiques de formation</li>
+  <li><a href="&base_url&fgcf/thematique/(cat)">fgcf/thematique/(cat)</a>: les sous-catégories de la catégorie (cat)</li>
+  <li><a href="&base_url&fgcf/thematique/(cat)/(scat)">fgcf/thematique/(cat)/(scat)</a>: les formations de la sous-thématique &lt;cat/scat&gt;</li>
+  <li><a href="&base_url&fgcf/prestataire">fgcf/prestataire</a>: liste des prestataires de formation</li>
+  <li><a href="&base_url&fgcf/format">fgcf/format</a>: la liste des formats de formation</li>
+  <li><a href="&base_url&fgcf/format/(format)">fgcf/format/(format)</a>: la liste des formations du format choisi</li>
+  <li><a href="&base_url&node/(nid)">node/(nid)</a>:
     <ul>
       <li>type fgcf_fiche: page de fiche de formation, avec le logo de la 
         thématique, et les liens vers thématique et sous-thématique</li>

+ 0 - 14
theme/fgcf-fiche-node-form.tpl.php

@@ -1,14 +0,0 @@
-<?php
-echo drupal_render($element);
-dsm($element);
-dsm($meta);
-
-$i = 0;
-?>
-<table>
-  <tr>
-  <?php foreach ($meta as $field) { ?>
-    <td><?php echo $field; ?></td>
-  <?php if ($i++ % 2): ?></tr><tr><?php endif; ?>
-  <?php } ?>
-  </table>

+ 6 - 4
theme/fgcf-home.tpl.php

@@ -6,8 +6,10 @@
  */
 ?>
 <?php echo $filter_form; ?>
-<ul>
-  <li><a href="<?php echo $app_path .'/thematique'; ?>">Thématiques de formation</a></li>
-  <li><a href="<?php echo $app_path .'/organisme';  ?>">Organismes de formation</a></li>
-  <li><a href="<?php echo $app_path .'/format';     ?>">Formats de formation</a></li>
+<div class="item-list">
+  <ul>
+    <li><?php print l(t('Thématiques de formation'), 'fgcf/thematique'); ?></li>
+    <li><?php print l(t('Organismes de formation'), 'fgcf/organisme'); ?></li>
+    <li><?php print l(t('Formats de formation'), 'fgcf/format'); ?></li>
   </ul>
+</div>

+ 488 - 217
views/fgcf_formations_par_format.php

@@ -12,231 +12,502 @@ $view->tag = 'FGCF';
 $view->view_php = '';
 $view->base_table = 'node';
 $view->is_cacheable = FALSE;
-$view->api_version = '3.0-alpha1';
+$view->api_version = 2;
 $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-/* Display: Defaults */
 $handler = $view->new_display('default', 'Defaults', 'default');
-$handler->display->display_options['group_by'] = TRUE;
-$handler->display->display_options['access']['type'] = 'none';
-$handler->display->display_options['cache']['type'] = 'none';
-$handler->display->display_options['exposed_form']['type'] = 'basic';
-$handler->display->display_options['pager']['type'] = 'full';
-$handler->display->display_options['pager']['options']['items_per_page'] = '10';
-$handler->display->display_options['pager']['options']['offset'] = '0';
-$handler->display->display_options['pager']['options']['id'] = '0';
-$handler->display->display_options['style_plugin'] = 'table';
-$handler->display->display_options['style_options']['columns'] = array(
-  'nid' => 'nid',
-  'name' => 'name',
-  'name_1' => 'name_1',
-  'title' => 'title',
-  'field_fgcf_fiche_format_value' => 'field_fgcf_fiche_format_value',
-);
-$handler->display->display_options['style_options']['default'] = '-1';
-$handler->display->display_options['style_options']['info'] = array(
+$handler->override_option('relationships', array(
+  'parent' => array(
+    'id' => 'parent',
+    'table' => 'term_hierarchy',
+    'field' => 'parent',
+    'required' => 0,
+  ),
+  'field_fgcf_fiche_organisme_nid' => array(
+    'id' => 'field_fgcf_fiche_organisme_nid',
+    'table' => 'node_data_field_fgcf_fiche_organisme',
+    'field' => 'field_fgcf_fiche_organisme_nid',
+    'required' => 0,
+    'delta' => '-1',
+  ),
+));
+$handler->override_option('fields', array(
   'nid' => array(
-    'sortable' => 0,
-    'align' => '',
-    'separator' => '',
+    'id' => 'nid',
+    'table' => 'node',
+    'field' => 'nid',
+    'exclude' => TRUE,
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_node' => 1,
+  ),
+  'tid' => array(
+    'label' => '',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 0,
+      'path' => '',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 0,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'set_precision' => FALSE,
+    'precision' => 0,
+    'decimal' => '.',
+    'separator' => ',',
+    'prefix' => '',
+    'suffix' => '',
+    'exclude' => 1,
+    'id' => 'tid',
+    'table' => 'term_data',
+    'field' => 'tid',
+    'relationship' => 'parent',
+  ),
+  'name' => array(
+    'label' => '',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 1,
+      'path' => 'fgcf/thematique/[tid]',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 0,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_taxonomy' => 0,
+    'exclude' => 1,
+    'id' => 'name',
+    'table' => 'term_data',
+    'field' => 'name',
+    'relationship' => 'parent',
+  ),
+  'tid_1' => array(
+    'label' => '',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 0,
+      'path' => '',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 0,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'set_precision' => FALSE,
+    'precision' => 0,
+    'decimal' => '.',
+    'separator' => ',',
+    'prefix' => '',
+    'suffix' => '',
+    'exclude' => 1,
+    'id' => 'tid_1',
+    'table' => 'term_data',
+    'field' => 'tid',
+    'relationship' => 'none',
+  ),
+  'description' => array(
+    'label' => '',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 1,
+      'path' => 'fgcf/thematique/[tid_1]',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 1,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'exclude' => 1,
+    'id' => 'description',
+    'table' => 'term_data',
+    'field' => 'description',
+    'relationship' => 'none',
+  ),
+  'nothing' => array(
+    'label' => 'Thématique',
+    'alter' => array(
+      'text' => '[name] / [description]',
+      'make_link' => 0,
+      'path' => '',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 0,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'exclude' => 0,
+    'id' => 'nothing',
+    'table' => 'views',
+    'field' => 'nothing',
+    'relationship' => 'none',
+  ),
+  'title' => array(
+    'id' => 'title',
+    'table' => 'node',
+    'field' => 'title',
+    'label' => 'Titre',
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_node' => 1,
   ),
+  'field_fgcf_fiche_organisme_nid' => array(
+    'id' => 'field_fgcf_fiche_organisme_nid',
+    'table' => 'node_data_field_fgcf_fiche_organisme',
+    'field' => 'field_fgcf_fiche_organisme_nid',
+    'label' => 'Organisme',
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_node' => 0,
+    'label_type' => 'custom',
+    'multiple' => array(
+      'group' => 1,
+      'multiple_reversed' => 0,
+    ),
+  ),
+  'field_fgcf_fiche_format_value' => array(
+    'id' => 'field_fgcf_fiche_format_value',
+    'table' => 'node_data_field_fgcf_fiche_format',
+    'field' => 'field_fgcf_fiche_format_value',
+    'label' => 'Format de cours',
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_node' => 0,
+    'multiple' => array(
+      'group' => 1,
+      'multiple_reversed' => 0,
+    ),
+  ),
+));
+$handler->override_option('sorts', array(
   'name' => array(
-    'sortable' => 0,
-    'align' => '',
-    'separator' => '',
+    'id' => 'name',
+    'table' => 'term_data',
+    'field' => 'name',
+    'relationship' => 'parent',
   ),
   'name_1' => array(
-    'sortable' => 0,
-    'align' => '',
-    'separator' => '',
+    'id' => 'name_1',
+    'table' => 'term_data',
+    'field' => 'name',
   ),
   'title' => array(
-    'sortable' => 0,
-    'align' => '',
-    'separator' => '',
+    'id' => 'title',
+    'table' => 'node',
+    'field' => 'title',
+    'relationship' => 'field_fgcf_fiche_organisme_nid',
   ),
+));
+$handler->override_option('arguments', array(
   'field_fgcf_fiche_format_value' => array(
-    'align' => '',
-    'separator' => '',
-  ),
-);
-$handler->display->display_options['style_options']['override'] = 1;
-$handler->display->display_options['style_options']['sticky'] = 0;
-/* Header: Global: Text area */
-$handler->display->display_options['header']['area']['id'] = 'area';
-$handler->display->display_options['header']['area']['table'] = 'views';
-$handler->display->display_options['header']['area']['field'] = 'area';
-$handler->display->display_options['header']['area']['empty'] = FALSE;
-/* Empty text: Global: Text area */
-$handler->display->display_options['empty']['area']['id'] = 'area';
-$handler->display->display_options['empty']['area']['table'] = 'views';
-$handler->display->display_options['empty']['area']['field'] = 'area';
-$handler->display->display_options['empty']['area']['label'] = '';
-$handler->display->display_options['empty']['area']['empty'] = FALSE;
-$handler->display->display_options['empty']['area']['content'] = '<p>Pas de résultats</p>';
-$handler->display->display_options['empty']['area']['format'] = '1';
-/* Relationship: Taxonomy: Parent term */
-$handler->display->display_options['relationships']['parent']['id'] = 'parent';
-$handler->display->display_options['relationships']['parent']['table'] = 'term_hierarchy';
-$handler->display->display_options['relationships']['parent']['field'] = 'parent';
-$handler->display->display_options['relationships']['parent']['required'] = 0;
-/* Relationship: Content: Organisme de formation (field_fgcf_fiche_organisme) */
-$handler->display->display_options['relationships']['field_fgcf_fiche_organisme_nid']['id'] = 'field_fgcf_fiche_organisme_nid';
-$handler->display->display_options['relationships']['field_fgcf_fiche_organisme_nid']['table'] = 'node_data_field_fgcf_fiche_organisme';
-$handler->display->display_options['relationships']['field_fgcf_fiche_organisme_nid']['field'] = 'field_fgcf_fiche_organisme_nid';
-$handler->display->display_options['relationships']['field_fgcf_fiche_organisme_nid']['required'] = 0;
-$handler->display->display_options['relationships']['field_fgcf_fiche_organisme_nid']['delta'] = '-1';
-/* Field: Node: Nid */
-$handler->display->display_options['fields']['nid']['id'] = 'nid';
-$handler->display->display_options['fields']['nid']['table'] = 'node';
-$handler->display->display_options['fields']['nid']['field'] = 'nid';
-$handler->display->display_options['fields']['nid']['exclude'] = TRUE;
-$handler->display->display_options['fields']['nid']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['nid']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['nid']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['nid']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['nid']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['nid']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['nid']['alter']['html'] = 0;
-$handler->display->display_options['fields']['nid']['hide_empty'] = 0;
-$handler->display->display_options['fields']['nid']['empty_zero'] = 0;
-$handler->display->display_options['fields']['nid']['link_to_node'] = 1;
-/* Field: Taxonomy: Term */
-$handler->display->display_options['fields']['name']['id'] = 'name';
-$handler->display->display_options['fields']['name']['table'] = 'term_data';
-$handler->display->display_options['fields']['name']['field'] = 'name';
-$handler->display->display_options['fields']['name']['relationship'] = 'parent';
-$handler->display->display_options['fields']['name']['label'] = 'Thématique';
-$handler->display->display_options['fields']['name']['exclude'] = TRUE;
-$handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['name']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['name']['alter']['html'] = 0;
-$handler->display->display_options['fields']['name']['hide_empty'] = 0;
-$handler->display->display_options['fields']['name']['empty_zero'] = 0;
-$handler->display->display_options['fields']['name']['link_to_taxonomy'] = 1;
-/* Field: Taxonomy: Term */
-$handler->display->display_options['fields']['name_1']['id'] = 'name_1';
-$handler->display->display_options['fields']['name_1']['table'] = 'term_data';
-$handler->display->display_options['fields']['name_1']['field'] = 'name';
-$handler->display->display_options['fields']['name_1']['label'] = '';
-$handler->display->display_options['fields']['name_1']['exclude'] = TRUE;
-$handler->display->display_options['fields']['name_1']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['name_1']['alter']['text'] = '[name]/[name_1]';
-$handler->display->display_options['fields']['name_1']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['name_1']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['name_1']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['name_1']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['name_1']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['name_1']['alter']['html'] = 0;
-$handler->display->display_options['fields']['name_1']['hide_empty'] = 0;
-$handler->display->display_options['fields']['name_1']['empty_zero'] = 0;
-$handler->display->display_options['fields']['name_1']['link_to_taxonomy'] = 1;
-/* Field: Global: Custom text */
-$handler->display->display_options['fields']['nothing']['id'] = 'nothing';
-$handler->display->display_options['fields']['nothing']['table'] = 'views';
-$handler->display->display_options['fields']['nothing']['field'] = 'nothing';
-$handler->display->display_options['fields']['nothing']['label'] = 'Thématique';
-$handler->display->display_options['fields']['nothing']['alter']['text'] = '[name]/[name_1]';
-$handler->display->display_options['fields']['nothing']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['nothing']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['nothing']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['nothing']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['nothing']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['nothing']['alter']['html'] = 0;
-$handler->display->display_options['fields']['nothing']['hide_empty'] = 0;
-$handler->display->display_options['fields']['nothing']['empty_zero'] = 0;
-/* Field: Node: Title */
-$handler->display->display_options['fields']['title']['id'] = 'title';
-$handler->display->display_options['fields']['title']['table'] = 'node';
-$handler->display->display_options['fields']['title']['field'] = 'title';
-$handler->display->display_options['fields']['title']['label'] = 'Titre';
-$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['title']['alter']['html'] = 0;
-$handler->display->display_options['fields']['title']['hide_empty'] = 0;
-$handler->display->display_options['fields']['title']['empty_zero'] = 0;
-$handler->display->display_options['fields']['title']['link_to_node'] = 1;
-/* Field: Content: Organisme de formation (field_fgcf_fiche_organisme) */
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['id'] = 'field_fgcf_fiche_organisme_nid';
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['table'] = 'node_data_field_fgcf_fiche_organisme';
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['field'] = 'field_fgcf_fiche_organisme_nid';
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['label'] = 'Organisme';
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['alter']['html'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['hide_empty'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['empty_zero'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['link_to_node'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['label_type'] = 'custom';
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['multiple']['group'] = 1;
-$handler->display->display_options['fields']['field_fgcf_fiche_organisme_nid']['multiple']['multiple_reversed'] = 0;
-/* Field: Content: Format de cours (field_fgcf_fiche_format) */
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['id'] = 'field_fgcf_fiche_format_value';
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['table'] = 'node_data_field_fgcf_fiche_format';
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['field'] = 'field_fgcf_fiche_format_value';
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['label'] = 'Format de cours';
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['alter']['html'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['hide_empty'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['empty_zero'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['link_to_node'] = 0;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['multiple']['group'] = 1;
-$handler->display->display_options['fields']['field_fgcf_fiche_format_value']['multiple']['multiple_reversed'] = 0;
-/* Sort criterion: Taxonomy: Term */
-$handler->display->display_options['sorts']['name']['id'] = 'name';
-$handler->display->display_options['sorts']['name']['table'] = 'term_data';
-$handler->display->display_options['sorts']['name']['field'] = 'name';
-$handler->display->display_options['sorts']['name']['relationship'] = 'parent';
-/* Sort criterion: Taxonomy: Term */
-$handler->display->display_options['sorts']['name_1']['id'] = 'name_1';
-$handler->display->display_options['sorts']['name_1']['table'] = 'term_data';
-$handler->display->display_options['sorts']['name_1']['field'] = 'name';
-/* Sort criterion: Node: Title */
-$handler->display->display_options['sorts']['title']['id'] = 'title';
-$handler->display->display_options['sorts']['title']['table'] = 'node';
-$handler->display->display_options['sorts']['title']['field'] = 'title';
-$handler->display->display_options['sorts']['title']['relationship'] = 'field_fgcf_fiche_organisme_nid';
-/* Argument: Content: Format de cours (field_fgcf_fiche_format) */
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['id'] = 'field_fgcf_fiche_format_value';
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['table'] = 'node_data_field_fgcf_fiche_format';
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['field'] = 'field_fgcf_fiche_format_value';
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['default_action'] = 'empty';
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['style_plugin'] = 'default_summary';
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['style_options']['items_per_page'] = '25';
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['default_argument_type'] = 'fixed';
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['validate_type'] = 'taxonomy_term';
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['validate_options']['vids'] = array(
-  '2' => 2,
-);
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['validate_options']['type'] = 'tids';
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['validate_options']['transform'] = 0;
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['break_phrase'] = 1;
-$handler->display->display_options['arguments']['field_fgcf_fiche_format_value']['not'] = 0;
-/* Filter: Node: Type */
-$handler->display->display_options['filters']['type']['id'] = 'type';
-$handler->display->display_options['filters']['type']['table'] = 'node';
-$handler->display->display_options['filters']['type']['field'] = 'type';
-$handler->display->display_options['filters']['type']['value'] = array(
-  'fgcf_fiche' => 'fgcf_fiche',
-);
-/* Filter: Node: Published or admin */
-$handler->display->display_options['filters']['status_extra']['id'] = 'status_extra';
-$handler->display->display_options['filters']['status_extra']['table'] = 'node';
-$handler->display->display_options['filters']['status_extra']['field'] = 'status_extra';
+    'default_action' => 'empty',
+    'style_plugin' => 'default_summary',
+    'style_options' => array(
+      'items_per_page' => '25',
+    ),
+    'wildcard' => 'all',
+    'wildcard_substitution' => 'All',
+    'title' => '',
+    'breadcrumb' => '',
+    'default_argument_type' => 'fixed',
+    'default_argument' => '',
+    'validate_type' => 'none',
+    'validate_fail' => 'not found',
+    'break_phrase' => 1,
+    'not' => 0,
+    'id' => 'field_fgcf_fiche_format_value',
+    'table' => 'node_data_field_fgcf_fiche_format',
+    'field' => 'field_fgcf_fiche_format_value',
+    'validate_options' => array(
+      'vids' => array(
+        '2' => 2,
+      ),
+      'type' => 'tids',
+      'transform' => 0,
+    ),
+    'validate_user_argument_type' => 'uid',
+    'validate_user_roles' => array(
+      '2' => 0,
+    ),
+    'relationship' => 'none',
+    'default_options_div_prefix' => '',
+    'default_argument_fixed' => '',
+    'default_argument_user' => 0,
+    'default_argument_php' => '',
+    'validate_argument_node_type' => array(
+      'fgcf_fiche' => 0,
+      'fgcf_prestataire' => 0,
+      'fgcf_thematique' => 0,
+      'page' => 0,
+      'story' => 0,
+    ),
+    'validate_argument_node_access' => 0,
+    'validate_argument_nid_type' => 'nid',
+    'validate_argument_vocabulary' => array(
+      '2' => 0,
+      '5' => 0,
+      '4' => 0,
+      '3' => 0,
+      '1' => 0,
+    ),
+    'validate_argument_type' => 'tids',
+    'validate_argument_transform' => 0,
+    'validate_user_restrict_roles' => 0,
+    'validate_argument_php' => '',
+  ),
+  'field_fgcf_fiche_dif_value' => array(
+    'default_action' => 'ignore',
+    'style_plugin' => 'default_summary',
+    'style_options' => array(),
+    'wildcard' => 'all',
+    'wildcard_substitution' => 'All',
+    'title' => '',
+    'breadcrumb' => '',
+    'default_argument_type' => 'fixed',
+    'default_argument' => '',
+    'validate_type' => 'none',
+    'validate_fail' => 'not found',
+    'add_table' => 0,
+    'require_value' => 0,
+    'reduce_duplicates' => 0,
+    'id' => 'field_fgcf_fiche_dif_value',
+    'table' => 'node_data_field_fgcf_fiche_dif',
+    'field' => 'field_fgcf_fiche_dif_value',
+    'validate_user_argument_type' => 'uid',
+    'validate_user_roles' => array(
+      '2' => 0,
+    ),
+    'relationship' => 'none',
+    'default_options_div_prefix' => '',
+    'default_argument_fixed' => '',
+    'default_argument_user' => 0,
+    'default_argument_php' => '',
+    'validate_argument_node_type' => array(
+      'fgcf_fiche' => 0,
+      'fgcf_prestataire' => 0,
+      'fgcf_thematique' => 0,
+      'page' => 0,
+      'story' => 0,
+    ),
+    'validate_argument_node_access' => 0,
+    'validate_argument_nid_type' => 'nid',
+    'validate_argument_vocabulary' => array(
+      '2' => 0,
+      '5' => 0,
+      '4' => 0,
+      '3' => 0,
+      '1' => 0,
+    ),
+    'validate_argument_type' => 'tid',
+    'validate_argument_transform' => 0,
+    'validate_user_restrict_roles' => 0,
+    'validate_argument_php' => '',
+  ),
+  'field_fgcf_fiche_modalite_value' => array(
+    'default_action' => 'ignore',
+    'style_plugin' => 'default_summary',
+    'style_options' => array(),
+    'wildcard' => 'all',
+    'wildcard_substitution' => 'All',
+    'title' => '',
+    'breadcrumb' => '',
+    'default_argument_type' => 'fixed',
+    'default_argument' => '',
+    'validate_type' => 'none',
+    'validate_fail' => 'not found',
+    'break_phrase' => 1,
+    'add_table' => 0,
+    'require_value' => 0,
+    'reduce_duplicates' => 1,
+    'id' => 'field_fgcf_fiche_modalite_value',
+    'table' => 'node_data_field_fgcf_fiche_modalite',
+    'field' => 'field_fgcf_fiche_modalite_value',
+    'validate_user_argument_type' => 'uid',
+    'validate_user_roles' => array(
+      '2' => 0,
+    ),
+    'relationship' => 'none',
+    'default_options_div_prefix' => '',
+    'default_argument_fixed' => '',
+    'default_argument_user' => 0,
+    'default_argument_php' => '',
+    'validate_argument_node_type' => array(
+      'fgcf_fiche' => 0,
+      'fgcf_prestataire' => 0,
+      'fgcf_thematique' => 0,
+      'page' => 0,
+      'story' => 0,
+    ),
+    'validate_argument_node_access' => 0,
+    'validate_argument_nid_type' => 'nid',
+    'validate_argument_vocabulary' => array(
+      '2' => 0,
+      '5' => 0,
+      '4' => 0,
+      '3' => 0,
+      '1' => 0,
+    ),
+    'validate_argument_type' => 'tid',
+    'validate_argument_transform' => 0,
+    'validate_user_restrict_roles' => 0,
+    'validate_argument_php' => '',
+  ),
+));
+$handler->override_option('filters', array(
+  'type' => array(
+    'id' => 'type',
+    'table' => 'node',
+    'field' => 'type',
+    'value' => array(
+      'fgcf_fiche' => 'fgcf_fiche',
+    ),
+  ),
+  'status_extra' => array(
+    'id' => 'status_extra',
+    'table' => 'node',
+    'field' => 'status_extra',
+  ),
+));
+$handler->override_option('access', array(
+  'type' => 'none',
+));
+$handler->override_option('cache', array(
+  'type' => 'none',
+));
+$handler->override_option('header_format', '1');
+$handler->override_option('header_empty', 0);
+$handler->override_option('footer_format', '1');
+$handler->override_option('footer_empty', 0);
+$handler->override_option('empty', 'pas de résultat');
+$handler->override_option('empty_format', '1');
+$handler->override_option('style_plugin', 'table');
+$handler->override_option('style_options', array(
+  'columns' => array(
+    'nid' => 'nid',
+    'name' => 'name',
+    'name_1' => 'name_1',
+    'title' => 'title',
+    'field_fgcf_fiche_format_value' => 'field_fgcf_fiche_format_value',
+  ),
+  'default' => '-1',
+  'info' => array(
+    'nid' => array(
+      'sortable' => 0,
+      'align' => '',
+      'separator' => '',
+    ),
+    'name' => array(
+      'sortable' => 0,
+      'align' => '',
+      'separator' => '',
+    ),
+    'name_1' => array(
+      'sortable' => 0,
+      'align' => '',
+      'separator' => '',
+    ),
+    'title' => array(
+      'sortable' => 0,
+      'align' => '',
+      'separator' => '',
+    ),
+    'field_fgcf_fiche_format_value' => array(
+      'align' => '',
+      'separator' => '',
+    ),
+  ),
+  'override' => 1,
+  'sticky' => 0,
+));
+

+ 252 - 186
views/fgcf_formations_par_organisme.php

@@ -12,197 +12,263 @@ $view->tag = 'FGCF';
 $view->view_php = '';
 $view->base_table = 'node';
 $view->is_cacheable = FALSE;
-$view->api_version = '3.0-alpha1';
+$view->api_version = 2;
 $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-/* Display: Defaults */
 $handler = $view->new_display('default', 'Defaults', 'default');
-$handler->display->display_options['title'] = 'Formations proposées';
-$handler->display->display_options['access']['type'] = 'none';
-$handler->display->display_options['cache']['type'] = 'none';
-$handler->display->display_options['exposed_form']['type'] = 'basic';
-$handler->display->display_options['pager']['type'] = 'full';
-$handler->display->display_options['style_plugin'] = 'table';
-$handler->display->display_options['style_options']['columns'] = array(
-  'title' => 'title',
-  'tid' => 'tid',
-  'description' => 'description',
-);
-$handler->display->display_options['style_options']['default'] = '-1';
-$handler->display->display_options['style_options']['info'] = array(
-  'title' => array(
-    'sortable' => 0,
-    'align' => '',
-    'separator' => '',
+$handler->override_option('relationships', array(
+  'parent' => array(
+    'id' => 'parent',
+    'table' => 'term_hierarchy',
+    'field' => 'parent',
+    'required' => 0,
   ),
+));
+$handler->override_option('fields', array(
   'tid' => array(
-    'sortable' => 0,
-    'align' => '',
-    'separator' => '',
+    'id' => 'tid',
+    'table' => 'term_data',
+    'field' => 'tid',
+    'relationship' => 'parent',
+    'label' => 'ParentTid',
+    'exclude' => TRUE,
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+  ),
+  'name' => array(
+    'id' => 'name',
+    'table' => 'term_data',
+    'field' => 'name',
+    'relationship' => 'parent',
+    'exclude' => TRUE,
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 1,
+      'path' => 'fgcf/thematique/[tid]',
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_taxonomy' => 0,
+  ),
+  'tid_1' => array(
+    'id' => 'tid_1',
+    'table' => 'term_data',
+    'field' => 'tid',
+    'exclude' => TRUE,
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '[description] / [tid_1]',
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+  ),
+  'description_1' => array(
+    'id' => 'description_1',
+    'table' => 'term_data',
+    'field' => 'description',
+    'exclude' => TRUE,
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '[description] / <a href="/fgcf/thematique/[tid_1]">[description_1]</a>',
+      'make_link' => 1,
+      'path' => 'fgcf/thematique/[tid_1]',
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 1,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+  ),
+  'nothing' => array(
+    'id' => 'nothing',
+    'table' => 'views',
+    'field' => 'nothing',
+    'label' => 'Thématique',
+    'alter' => array(
+      'text' => '[name] / [description_1]',
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+  ),
+  'title' => array(
+    'id' => 'title',
+    'table' => 'node',
+    'field' => 'title',
+    'label' => 'Titre',
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_node' => 1,
+  ),
+));
+$handler->override_option('sorts', array(
+  'name' => array(
+    'id' => 'name',
+    'table' => 'term_data',
+    'field' => 'name',
+    'relationship' => 'parent',
+  ),
+  'name_1' => array(
+    'id' => 'name_1',
+    'table' => 'term_data',
+    'field' => 'name',
+  ),
+  'title' => array(
+    'id' => 'title',
+    'table' => 'node',
+    'field' => 'title',
+  ),
+));
+$handler->override_option('arguments', array(
+  'field_fgcf_fiche_organisme_nid' => array(
+    'default_action' => 'default',
+    'style_plugin' => 'default_summary',
+    'style_options' => array(),
+    'wildcard' => 'all',
+    'wildcard_substitution' => 'All',
+    'title' => '',
+    'breadcrumb' => '',
+    'default_argument_type' => 'node',
+    'default_argument' => '',
+    'validate_type' => 'node',
+    'validate_fail' => 'empty',
+    'break_phrase' => 0,
+    'not' => 0,
+    'id' => 'field_fgcf_fiche_organisme_nid',
+    'table' => 'node_data_field_fgcf_fiche_organisme',
+    'field' => 'field_fgcf_fiche_organisme_nid',
+    'validate_options' => array(
+      'types' => array(
+        'fgcf_prestataire' => 'fgcf_prestataire',
+      ),
+      'access' => 1,
+    ),
+    'validate_user_argument_type' => 'uid',
+    'validate_user_roles' => array(
+      '2' => 0,
+    ),
+    'relationship' => 'none',
+    'default_options_div_prefix' => '',
+    'default_argument_fixed' => '',
+    'default_argument_user' => 0,
+    'default_argument_php' => '',
+    'validate_argument_node_type' => array(
+      'fgcf_prestataire' => 'fgcf_prestataire',
+      'fgcf_fiche' => 0,
+      'fgcf_thematique' => 0,
+      'page' => 0,
+      'story' => 0,
+    ),
+    'validate_argument_node_access' => 0,
+    'validate_argument_nid_type' => 'nid',
+    'validate_argument_vocabulary' => array(
+      '2' => 0,
+      '5' => 0,
+      '4' => 0,
+      '3' => 0,
+      '1' => 0,
+    ),
+    'validate_argument_type' => 'tid',
+    'validate_argument_transform' => 0,
+    'validate_user_restrict_roles' => 0,
+    'validate_argument_php' => '',
+  ),
+));
+$handler->override_option('filters', array(
+  'status_extra' => array(
+    'id' => 'status_extra',
+    'table' => 'node',
+    'field' => 'status_extra',
+  ),
+  'type' => array(
+    'id' => 'type',
+    'table' => 'node',
+    'field' => 'type',
+    'value' => array(
+      'fgcf_fiche' => 'fgcf_fiche',
+    ),
+  ),
+));
+$handler->override_option('access', array(
+  'type' => 'none',
+));
+$handler->override_option('cache', array(
+  'type' => 'none',
+));
+$handler->override_option('title', 'Formations proposées');
+$handler->override_option('empty', 'pas de résultat');
+$handler->override_option('empty_format', '1');
+$handler->override_option('items_per_page', 0);
+$handler->override_option('style_plugin', 'table');
+$handler->override_option('style_options', array(
+  'columns' => array(
+    'title' => 'title',
+    'tid' => 'tid',
+    'description' => 'description',
   ),
-  'description' => array(
-    'align' => '',
-    'separator' => '',
+  'default' => '-1',
+  'info' => array(
+    'title' => array(
+      'sortable' => 0,
+      'align' => '',
+      'separator' => '',
+    ),
+    'tid' => array(
+      'sortable' => 0,
+      'align' => '',
+      'separator' => '',
+    ),
+    'description' => array(
+      'align' => '',
+      'separator' => '',
+    ),
   ),
-);
-$handler->display->display_options['style_options']['override'] = 1;
-$handler->display->display_options['style_options']['sticky'] = 0;
-/* Relationship: Taxonomy: Parent term */
-$handler->display->display_options['relationships']['parent']['id'] = 'parent';
-$handler->display->display_options['relationships']['parent']['table'] = 'term_hierarchy';
-$handler->display->display_options['relationships']['parent']['field'] = 'parent';
-$handler->display->display_options['relationships']['parent']['required'] = 0;
-/* Field: Taxonomy: Term ID */
-$handler->display->display_options['fields']['tid']['id'] = 'tid';
-$handler->display->display_options['fields']['tid']['table'] = 'term_data';
-$handler->display->display_options['fields']['tid']['field'] = 'tid';
-$handler->display->display_options['fields']['tid']['relationship'] = 'parent';
-$handler->display->display_options['fields']['tid']['label'] = 'ParentTid';
-$handler->display->display_options['fields']['tid']['exclude'] = TRUE;
-$handler->display->display_options['fields']['tid']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['tid']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['tid']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['tid']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['tid']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['tid']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['tid']['alter']['html'] = 0;
-$handler->display->display_options['fields']['tid']['hide_empty'] = 0;
-$handler->display->display_options['fields']['tid']['empty_zero'] = 0;
-/* Field: Taxonomy: Term */
-$handler->display->display_options['fields']['name']['id'] = 'name';
-$handler->display->display_options['fields']['name']['table'] = 'term_data';
-$handler->display->display_options['fields']['name']['field'] = 'name';
-$handler->display->display_options['fields']['name']['relationship'] = 'parent';
-$handler->display->display_options['fields']['name']['exclude'] = TRUE;
-$handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['name']['alter']['make_link'] = 1;
-$handler->display->display_options['fields']['name']['alter']['path'] = 'fgcf/thematique/[tid]';
-$handler->display->display_options['fields']['name']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['name']['alter']['html'] = 0;
-$handler->display->display_options['fields']['name']['hide_empty'] = 0;
-$handler->display->display_options['fields']['name']['empty_zero'] = 0;
-$handler->display->display_options['fields']['name']['link_to_taxonomy'] = 0;
-/* Field: Taxonomy: Term description */
-$handler->display->display_options['fields']['description']['id'] = 'description';
-$handler->display->display_options['fields']['description']['table'] = 'term_data';
-$handler->display->display_options['fields']['description']['field'] = 'description';
-$handler->display->display_options['fields']['description']['relationship'] = 'parent';
-$handler->display->display_options['fields']['description']['label'] = 'ParentDescription';
-$handler->display->display_options['fields']['description']['exclude'] = TRUE;
-$handler->display->display_options['fields']['description']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['description']['alter']['make_link'] = 1;
-$handler->display->display_options['fields']['description']['alter']['path'] = 'fgcf/thematique/[tid]';
-$handler->display->display_options['fields']['description']['alter']['trim'] = 1;
-$handler->display->display_options['fields']['description']['alter']['max_length'] = '20';
-$handler->display->display_options['fields']['description']['alter']['word_boundary'] = 0;
-$handler->display->display_options['fields']['description']['alter']['ellipsis'] = 0;
-$handler->display->display_options['fields']['description']['alter']['strip_tags'] = 1;
-$handler->display->display_options['fields']['description']['alter']['html'] = 0;
-$handler->display->display_options['fields']['description']['hide_empty'] = 0;
-$handler->display->display_options['fields']['description']['empty_zero'] = 0;
-/* Field: Taxonomy: Term ID */
-$handler->display->display_options['fields']['tid_1']['id'] = 'tid_1';
-$handler->display->display_options['fields']['tid_1']['table'] = 'term_data';
-$handler->display->display_options['fields']['tid_1']['field'] = 'tid';
-$handler->display->display_options['fields']['tid_1']['exclude'] = TRUE;
-$handler->display->display_options['fields']['tid_1']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['tid_1']['alter']['text'] = '[description] / [tid_1]';
-$handler->display->display_options['fields']['tid_1']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['tid_1']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['tid_1']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['tid_1']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['tid_1']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['tid_1']['alter']['html'] = 0;
-$handler->display->display_options['fields']['tid_1']['hide_empty'] = 0;
-$handler->display->display_options['fields']['tid_1']['empty_zero'] = 0;
-/* Field: Taxonomy: Term description */
-$handler->display->display_options['fields']['description_1']['id'] = 'description_1';
-$handler->display->display_options['fields']['description_1']['table'] = 'term_data';
-$handler->display->display_options['fields']['description_1']['field'] = 'description';
-$handler->display->display_options['fields']['description_1']['exclude'] = TRUE;
-$handler->display->display_options['fields']['description_1']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['description_1']['alter']['text'] = '[description] / <a href="/fgcf/thematique/[tid_1]">[description_1]</a>';
-$handler->display->display_options['fields']['description_1']['alter']['make_link'] = 1;
-$handler->display->display_options['fields']['description_1']['alter']['path'] = 'fgcf/thematique/[tid_1]';
-$handler->display->display_options['fields']['description_1']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['description_1']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['description_1']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['description_1']['alter']['strip_tags'] = 1;
-$handler->display->display_options['fields']['description_1']['alter']['html'] = 0;
-$handler->display->display_options['fields']['description_1']['hide_empty'] = 0;
-$handler->display->display_options['fields']['description_1']['empty_zero'] = 0;
-/* Field: Global: Custom text */
-$handler->display->display_options['fields']['nothing']['id'] = 'nothing';
-$handler->display->display_options['fields']['nothing']['table'] = 'views';
-$handler->display->display_options['fields']['nothing']['field'] = 'nothing';
-$handler->display->display_options['fields']['nothing']['label'] = 'Thématique';
-$handler->display->display_options['fields']['nothing']['alter']['text'] = '[name] / [description_1]';
-$handler->display->display_options['fields']['nothing']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['nothing']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['nothing']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['nothing']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['nothing']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['nothing']['alter']['html'] = 0;
-$handler->display->display_options['fields']['nothing']['hide_empty'] = 0;
-$handler->display->display_options['fields']['nothing']['empty_zero'] = 0;
-/* Field: Node: Title */
-$handler->display->display_options['fields']['title']['id'] = 'title';
-$handler->display->display_options['fields']['title']['table'] = 'node';
-$handler->display->display_options['fields']['title']['field'] = 'title';
-$handler->display->display_options['fields']['title']['label'] = 'Titre';
-$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['title']['alter']['html'] = 0;
-$handler->display->display_options['fields']['title']['hide_empty'] = 0;
-$handler->display->display_options['fields']['title']['empty_zero'] = 0;
-$handler->display->display_options['fields']['title']['link_to_node'] = 1;
-/* Sort criterion: Taxonomy: Term */
-$handler->display->display_options['sorts']['name']['id'] = 'name';
-$handler->display->display_options['sorts']['name']['table'] = 'term_data';
-$handler->display->display_options['sorts']['name']['field'] = 'name';
-$handler->display->display_options['sorts']['name']['relationship'] = 'parent';
-/* Sort criterion: Taxonomy: Term */
-$handler->display->display_options['sorts']['name_1']['id'] = 'name_1';
-$handler->display->display_options['sorts']['name_1']['table'] = 'term_data';
-$handler->display->display_options['sorts']['name_1']['field'] = 'name';
-/* Sort criterion: Node: Title */
-$handler->display->display_options['sorts']['title']['id'] = 'title';
-$handler->display->display_options['sorts']['title']['table'] = 'node';
-$handler->display->display_options['sorts']['title']['field'] = 'title';
-/* Argument: Content: Organisme de formation (field_fgcf_fiche_organisme) */
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['id'] = 'field_fgcf_fiche_organisme_nid';
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['table'] = 'node_data_field_fgcf_fiche_organisme';
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['field'] = 'field_fgcf_fiche_organisme_nid';
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['default_action'] = 'default';
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['style_plugin'] = 'default_summary';
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['default_argument_type'] = 'node';
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['validate_type'] = 'node';
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['validate_options']['types'] = array(
+  'override' => 1,
+  'sticky' => 0,
+));
+$handler = $view->new_display('node_content', 'Node content', 'node_content_1');
+$handler->override_option('types', array(
   'fgcf_prestataire' => 'fgcf_prestataire',
-);
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['validate_options']['access'] = 1;
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['validate_fail'] = 'empty';
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['break_phrase'] = 0;
-$handler->display->display_options['arguments']['field_fgcf_fiche_organisme_nid']['not'] = 0;
-/* Filter: Node: Published or admin */
-$handler->display->display_options['filters']['status_extra']['id'] = 'status_extra';
-$handler->display->display_options['filters']['status_extra']['table'] = 'node';
-$handler->display->display_options['filters']['status_extra']['field'] = 'status_extra';
-/* Filter: Node: Type */
-$handler->display->display_options['filters']['type']['id'] = 'type';
-$handler->display->display_options['filters']['type']['table'] = 'node';
-$handler->display->display_options['filters']['type']['field'] = 'type';
-$handler->display->display_options['filters']['type']['value'] = array(
-  'fgcf_fiche' => 'fgcf_fiche',
-);
+));
+$handler->override_option('modes', array(
+  '0' => 'full',
+));
+$handler->override_option('argument_mode', 'nid');
+$handler->override_option('default_argument', '');
+$handler->override_option('show_title', 0);
 
-/* Display: Block */
-$handler = $view->new_display('block', 'Block', 'block_1');
-$handler->display->display_options['block_description'] = 'FG Formations par organisme';

+ 371 - 0
views/fgcf_formations_par_thematique.php

@@ -0,0 +1,371 @@
+<?php
+// $Id$
+/**
+ * @file
+ * Liste des formations pour une thématique passée en argument..
+ */
+
+$view = new view;
+$view->name = 'fgcf_formations_par_thematique';
+$view->description = 'Liste des formations correpsondant à une thématique donnée';
+$view->tag = 'FGCF';
+$view->view_php = '';
+$view->base_table = 'node';
+$view->is_cacheable = FALSE;
+$view->api_version = 2;
+$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
+$handler = $view->new_display('default', 'Defaults', 'default');
+$handler->override_option('relationships', array(
+  'field_fgcf_fiche_organisme_nid' => array(
+    'label' => 'Organisme de formation',
+    'required' => 0,
+    'delta' => '-1',
+    'id' => 'field_fgcf_fiche_organisme_nid',
+    'table' => 'node_data_field_fgcf_fiche_organisme',
+    'field' => 'field_fgcf_fiche_organisme_nid',
+    'relationship' => 'none',
+  ),
+));
+$handler->override_option('fields', array(
+  'title' => array(
+    'label' => 'Titre',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 0,
+      'path' => '',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 0,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_node' => 1,
+    'exclude' => 0,
+    'id' => 'title',
+    'table' => 'node',
+    'field' => 'title',
+    'relationship' => 'none',
+    'group_type' => 'group',
+  ),
+  'field_fgcf_fiche_organisme_nid' => array(
+    'label' => 'Organisme',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 0,
+      'path' => '',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 0,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_node' => 0,
+    'label_type' => 'custom',
+    'format' => 'default',
+    'multiple' => array(
+      'group' => 1,
+      'multiple_number' => '',
+      'multiple_from' => '',
+      'multiple_reversed' => 0,
+    ),
+    'exclude' => 0,
+    'id' => 'field_fgcf_fiche_organisme_nid',
+    'table' => 'node_data_field_fgcf_fiche_organisme',
+    'field' => 'field_fgcf_fiche_organisme_nid',
+    'relationship' => 'none',
+  ),
+  'field_fgcf_fiche_format_value' => array(
+    'label' => 'Format de cours',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 0,
+      'path' => '',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 0,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_node' => 0,
+    'label_type' => 'widget',
+    'format' => 'default',
+    'multiple' => array(
+      'group' => 1,
+      'multiple_number' => '',
+      'multiple_from' => '',
+      'multiple_reversed' => 0,
+    ),
+    'exclude' => 0,
+    'id' => 'field_fgcf_fiche_format_value',
+    'table' => 'node_data_field_fgcf_fiche_format',
+    'field' => 'field_fgcf_fiche_format_value',
+    'relationship' => 'none',
+  ),
+));
+$handler->override_option('sorts', array(
+  'title' => array(
+    'order' => 'ASC',
+    'id' => 'title',
+    'table' => 'node',
+    'field' => 'title',
+    'relationship' => 'field_fgcf_fiche_organisme_nid',
+  ),
+  'title_1' => array(
+    'order' => 'ASC',
+    'id' => 'title_1',
+    'table' => 'node',
+    'field' => 'title',
+    'relationship' => 'none',
+  ),
+));
+$handler->override_option('arguments', array(
+  'tid' => array(
+    'default_action' => 'not found',
+    'style_plugin' => 'default_summary',
+    'style_options' => array(),
+    'wildcard' => 'all',
+    'wildcard_substitution' => 'All',
+    'title' => '',
+    'breadcrumb' => '',
+    'default_argument_type' => 'fixed',
+    'default_argument' => '',
+    'validate_type' => 'none',
+    'validate_fail' => 'not found',
+    'break_phrase' => 0,
+    'add_table' => 0,
+    'require_value' => 0,
+    'reduce_duplicates' => 0,
+    'set_breadcrumb' => 0,
+    'id' => 'tid',
+    'table' => 'term_node',
+    'field' => 'tid',
+    'validate_user_argument_type' => 'uid',
+    'validate_user_roles' => array(
+      '2' => 0,
+    ),
+    'relationship' => 'none',
+    'default_options_div_prefix' => '',
+    'default_argument_fixed' => '',
+    'default_argument_user' => 0,
+    'default_argument_php' => '',
+    'validate_argument_node_type' => array(
+      'fgcf_fiche' => 0,
+      'fgcf_prestataire' => 0,
+      'fgcf_thematique' => 0,
+      'page' => 0,
+      'story' => 0,
+    ),
+    'validate_argument_node_access' => 0,
+    'validate_argument_nid_type' => 'nid',
+    'validate_argument_vocabulary' => array(
+      '1' => 1,
+      '2' => 0,
+      '5' => 0,
+      '4' => 0,
+      '3' => 0,
+    ),
+    'validate_argument_type' => 'tid',
+    'validate_argument_transform' => 0,
+    'validate_user_restrict_roles' => 0,
+    'validate_argument_php' => '',
+  ),
+  'field_fgcf_fiche_dif_value' => array(
+    'default_action' => 'ignore',
+    'style_plugin' => 'default_summary',
+    'style_options' => array(),
+    'wildcard' => 'all',
+    'wildcard_substitution' => 'All',
+    'title' => '',
+    'breadcrumb' => '',
+    'default_argument_type' => 'fixed',
+    'default_argument' => '',
+    'validate_type' => 'none',
+    'validate_fail' => 'not found',
+    'add_table' => 0,
+    'require_value' => 0,
+    'reduce_duplicates' => 0,
+    'id' => 'field_fgcf_fiche_dif_value',
+    'table' => 'node_data_field_fgcf_fiche_dif',
+    'field' => 'field_fgcf_fiche_dif_value',
+    'validate_user_argument_type' => 'uid',
+    'validate_user_roles' => array(
+      '2' => 0,
+    ),
+    'relationship' => 'none',
+    'default_options_div_prefix' => '',
+    'default_argument_fixed' => '',
+    'default_argument_user' => 0,
+    'default_argument_php' => '',
+    'validate_argument_node_type' => array(
+      'fgcf_fiche' => 0,
+      'fgcf_prestataire' => 0,
+      'fgcf_thematique' => 0,
+      'page' => 0,
+      'story' => 0,
+    ),
+    'validate_argument_node_access' => 0,
+    'validate_argument_nid_type' => 'nid',
+    'validate_argument_vocabulary' => array(
+      '2' => 0,
+      '5' => 0,
+      '4' => 0,
+      '3' => 0,
+      '1' => 0,
+    ),
+    'validate_argument_type' => 'tid',
+    'validate_argument_transform' => 0,
+    'validate_user_restrict_roles' => 0,
+    'validate_argument_php' => '',
+  ),
+  'field_fgcf_fiche_modalite_value' => array(
+    'default_action' => 'ignore',
+    'style_plugin' => 'default_summary',
+    'style_options' => array(),
+    'wildcard' => 'all',
+    'wildcard_substitution' => 'All',
+    'title' => '',
+    'breadcrumb' => '',
+    'default_argument_type' => 'fixed',
+    'default_argument' => '',
+    'validate_type' => 'none',
+    'validate_fail' => 'not found',
+    'break_phrase' => 1,
+    'add_table' => 0,
+    'require_value' => 0,
+    'reduce_duplicates' => 1,
+    'id' => 'field_fgcf_fiche_modalite_value',
+    'table' => 'node_data_field_fgcf_fiche_modalite',
+    'field' => 'field_fgcf_fiche_modalite_value',
+    'validate_user_argument_type' => 'uid',
+    'validate_user_roles' => array(
+      '2' => 0,
+    ),
+    'relationship' => 'none',
+    'default_options_div_prefix' => '',
+    'default_argument_fixed' => '',
+    'default_argument_user' => 0,
+    'default_argument_php' => '',
+    'validate_argument_node_type' => array(
+      'fgcf_fiche' => 0,
+      'fgcf_prestataire' => 0,
+      'fgcf_thematique' => 0,
+      'page' => 0,
+      'story' => 0,
+    ),
+    'validate_argument_node_access' => 0,
+    'validate_argument_nid_type' => 'nid',
+    'validate_argument_vocabulary' => array(
+      '2' => 0,
+      '5' => 0,
+      '4' => 0,
+      '3' => 0,
+      '1' => 0,
+    ),
+    'validate_argument_type' => 'tid',
+    'validate_argument_transform' => 0,
+    'validate_user_restrict_roles' => 0,
+    'validate_argument_php' => '',
+  ),
+));
+$handler->override_option('filters', array(
+  'type_1' => array(
+    'id' => 'type_1',
+    'table' => 'node',
+    'field' => 'type',
+    'relationship' => 'none',
+    'group_type' => 'group',
+    'operator' => 'in',
+    'value' => array(
+      'fgcf_fiche' => 'fgcf_fiche',
+    ),
+    'group' => '0',
+    'exposed' => FALSE,
+    'expose' => array(
+      'operator' => '',
+      'label' => '',
+      'use_operator' => NULL,
+      'identifier' => '',
+      'optional' => 1,
+      'remember' => 0,
+      'single' => 1,
+      'reduce' => FALSE,
+    ),
+  ),
+  'status_extra' => array(
+    'operator' => '=',
+    'value' => '',
+    'group' => '0',
+    'exposed' => FALSE,
+    'expose' => array(
+      'operator' => FALSE,
+      'label' => '',
+    ),
+    'id' => 'status_extra',
+    'table' => 'node',
+    'field' => 'status_extra',
+    'relationship' => 'none',
+  ),
+));
+$handler->override_option('access', array(
+  'type' => 'none',
+));
+$handler->override_option('cache', array(
+  'type' => 'none',
+));
+$handler->override_option('empty', 'Pas de résultat.');
+$handler->override_option('empty_format', '1');
+$handler->override_option('style_plugin', 'table');
+$handler->override_option('style_options', array(
+  'grouping' => '',
+  'override' => 1,
+  'sticky' => 0,
+  'order' => 'asc',
+  'columns' => array(
+    'title' => 'title',
+    'field_fgcf_fiche_organisme_nid' => 'field_fgcf_fiche_organisme_nid',
+  ),
+  'info' => array(
+    'title' => array(
+      'sortable' => 0,
+      'separator' => '',
+    ),
+    'field_fgcf_fiche_organisme_nid' => array(
+      'separator' => '',
+    ),
+  ),
+  'default' => '-1',
+));
+

+ 105 - 61
views/fgcf_formats_de_formations.php

@@ -12,66 +12,110 @@ $view->tag = 'FGCF';
 $view->view_php = '';
 $view->base_table = 'term_data';
 $view->is_cacheable = FALSE;
-$view->api_version = '3.0-alpha1';
+$view->api_version = 2;
 $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-/* Display: Defaults */
 $handler = $view->new_display('default', 'Defaults', 'default');
-$handler->display->display_options['access']['type'] = 'none';
-$handler->display->display_options['cache']['type'] = 'none';
-$handler->display->display_options['exposed_form']['type'] = 'basic';
-$handler->display->display_options['pager']['type'] = 'full';
-$handler->display->display_options['pager']['options']['items_per_page'] = '20';
-$handler->display->display_options['pager']['options']['offset'] = '0';
-$handler->display->display_options['pager']['options']['id'] = '0';
-$handler->display->display_options['style_plugin'] = 'list';
-$handler->display->display_options['row_plugin'] = 'fields';
-/* Relationship: Taxonomy: Parent term */
-$handler->display->display_options['relationships']['parent']['id'] = 'parent';
-$handler->display->display_options['relationships']['parent']['table'] = 'term_hierarchy';
-$handler->display->display_options['relationships']['parent']['field'] = 'parent';
-$handler->display->display_options['relationships']['parent']['required'] = 0;
-/* Field: Taxonomy: Term ID */
-$handler->display->display_options['fields']['tid']['id'] = 'tid';
-$handler->display->display_options['fields']['tid']['table'] = 'term_data';
-$handler->display->display_options['fields']['tid']['field'] = 'tid';
-$handler->display->display_options['fields']['tid']['exclude'] = TRUE;
-$handler->display->display_options['fields']['tid']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['tid']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['tid']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['tid']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['tid']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['tid']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['tid']['alter']['html'] = 0;
-$handler->display->display_options['fields']['tid']['hide_empty'] = 0;
-$handler->display->display_options['fields']['tid']['empty_zero'] = 0;
-/* Field: Taxonomy: Term */
-$handler->display->display_options['fields']['name']['id'] = 'name';
-$handler->display->display_options['fields']['name']['table'] = 'term_data';
-$handler->display->display_options['fields']['name']['field'] = 'name';
-$handler->display->display_options['fields']['name']['label'] = '';
-$handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['name']['alter']['make_link'] = 1;
-$handler->display->display_options['fields']['name']['alter']['path'] = 'fgcf/format/[tid]';
-$handler->display->display_options['fields']['name']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['name']['alter']['html'] = 0;
-$handler->display->display_options['fields']['name']['hide_empty'] = 0;
-$handler->display->display_options['fields']['name']['empty_zero'] = 0;
-$handler->display->display_options['fields']['name']['link_to_taxonomy'] = 0;
-/* Sort criterion: Taxonomy: Term */
-$handler->display->display_options['sorts']['name']['id'] = 'name';
-$handler->display->display_options['sorts']['name']['table'] = 'term_data';
-$handler->display->display_options['sorts']['name']['field'] = 'name';
-/* Argument: Taxonomy: Vocabulary ID */
-$handler->display->display_options['arguments']['vid']['id'] = 'vid';
-$handler->display->display_options['arguments']['vid']['table'] = 'vocabulary';
-$handler->display->display_options['arguments']['vid']['field'] = 'vid';
-$handler->display->display_options['arguments']['vid']['default_action'] = 'empty';
-$handler->display->display_options['arguments']['vid']['style_plugin'] = 'default_summary';
-$handler->display->display_options['arguments']['vid']['default_argument_type'] = 'fixed';
-$handler->display->display_options['arguments']['vid']['validate_type'] = 'php';
-$handler->display->display_options['arguments']['vid']['validate_options']['code'] = 'return TRUE;';
-$handler->display->display_options['arguments']['vid']['validate_fail'] = 'empty';
+$handler->override_option('fields', array(
+  'tid' => array(
+    'id' => 'tid',
+    'table' => 'term_data',
+    'field' => 'tid',
+    'exclude' => TRUE,
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+  ),
+  'name' => array(
+    'id' => 'name',
+    'table' => 'term_data',
+    'field' => 'name',
+    'label' => '',
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 1,
+      'path' => 'fgcf/format/[tid]',
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_taxonomy' => 0,
+  ),
+));
+$handler->override_option('sorts', array(
+  'name' => array(
+    'id' => 'name',
+    'table' => 'term_data',
+    'field' => 'name',
+  ),
+));
+$handler->override_option('arguments', array(
+  'vid' => array(
+    'default_action' => 'empty',
+    'style_plugin' => 'default_summary',
+    'style_options' => array(),
+    'wildcard' => 'all',
+    'wildcard_substitution' => 'All',
+    'title' => '',
+    'breadcrumb' => '',
+    'default_argument_type' => 'fixed',
+    'default_argument' => '',
+    'validate_type' => 'php',
+    'validate_fail' => 'empty',
+    'id' => 'vid',
+    'table' => 'vocabulary',
+    'field' => 'vid',
+    'validate_options' => array(
+      'code' => 'return TRUE;',
+    ),
+    'validate_user_argument_type' => 'uid',
+    'validate_user_roles' => array(
+      '2' => 0,
+    ),
+    'relationship' => 'none',
+    'default_options_div_prefix' => '',
+    'default_argument_fixed' => '',
+    'default_argument_user' => 0,
+    'default_argument_php' => '',
+    'validate_argument_node_type' => array(
+      'fgcf_fiche' => 0,
+      'fgcf_prestataire' => 0,
+      'fgcf_thematique' => 0,
+      'page' => 0,
+      'story' => 0,
+    ),
+    'validate_argument_node_access' => 0,
+    'validate_argument_nid_type' => 'nid',
+    'validate_argument_vocabulary' => array(
+      '2' => 0,
+      '5' => 0,
+      '4' => 0,
+      '3' => 0,
+      '1' => 0,
+    ),
+    'validate_argument_type' => 'tid',
+    'validate_argument_transform' => 0,
+    'validate_user_restrict_roles' => 0,
+    'validate_argument_php' => 'return TRUE;',
+  ),
+));
+$handler->override_option('access', array(
+  'type' => 'none',
+));
+$handler->override_option('cache', array(
+  'type' => 'none',
+));
+$handler->override_option('empty', 'pas de résultats');
+$handler->override_option('empty_format', '1');
+$handler->override_option('style_plugin', 'list');

+ 75 - 58
views/fgcf_organismes_de_formation.php

@@ -12,63 +12,80 @@ $view->tag = 'FGCF';
 $view->view_php = '';
 $view->base_table = 'node';
 $view->is_cacheable = FALSE;
-$view->api_version = '3.0-alpha1';
+$view->api_version = 2;
 $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-/* Display: Defaults */
 $handler = $view->new_display('default', 'Defaults', 'default');
-$handler->display->display_options['access']['type'] = 'none';
-$handler->display->display_options['cache']['type'] = 'none';
-$handler->display->display_options['exposed_form']['type'] = 'basic';
-$handler->display->display_options['pager']['type'] = 'none';
-$handler->display->display_options['pager']['options']['offset'] = '0';
-$handler->display->display_options['style_plugin'] = 'grid';
-$handler->display->display_options['style_options']['columns'] = '2';
-$handler->display->display_options['style_options']['fill_single_line'] = 1;
-$handler->display->display_options['row_plugin'] = 'fields';
-/* Field: Content: Logo (field_fgcf_prestataire_logo) */
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['id'] = 'field_fgcf_prestataire_logo_fid';
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['table'] = 'node_data_field_fgcf_prestataire_logo';
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['field'] = 'field_fgcf_prestataire_logo_fid';
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['alter']['html'] = 0;
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['hide_empty'] = 0;
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['empty_zero'] = 0;
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['link_to_node'] = 1;
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['label_type'] = 'none';
-$handler->display->display_options['fields']['field_fgcf_prestataire_logo_fid']['format'] = 'prestataire_logo_liste_default';
-/* Field: Node: Title */
-$handler->display->display_options['fields']['title']['id'] = 'title';
-$handler->display->display_options['fields']['title']['table'] = 'node';
-$handler->display->display_options['fields']['title']['field'] = 'title';
-$handler->display->display_options['fields']['title']['label'] = '';
-$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
-$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
-$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
-$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
-$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
-$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
-$handler->display->display_options['fields']['title']['alter']['html'] = 0;
-$handler->display->display_options['fields']['title']['hide_empty'] = 0;
-$handler->display->display_options['fields']['title']['empty_zero'] = 0;
-$handler->display->display_options['fields']['title']['link_to_node'] = 1;
-/* Sort criterion: Node: Title */
-$handler->display->display_options['sorts']['title']['id'] = 'title';
-$handler->display->display_options['sorts']['title']['table'] = 'node';
-$handler->display->display_options['sorts']['title']['field'] = 'title';
-/* Filter: Node: Type */
-$handler->display->display_options['filters']['type']['id'] = 'type';
-$handler->display->display_options['filters']['type']['table'] = 'node';
-$handler->display->display_options['filters']['type']['field'] = 'type';
-$handler->display->display_options['filters']['type']['value'] = array(
-  'fgcf_prestataire' => 'fgcf_prestataire',
-);
-/* Filter: Node: Published or admin */
-$handler->display->display_options['filters']['status_extra']['id'] = 'status_extra';
-$handler->display->display_options['filters']['status_extra']['table'] = 'node';
-$handler->display->display_options['filters']['status_extra']['field'] = 'status_extra';
+$handler->override_option('fields', array(
+  'field_fgcf_prestataire_logo_fid' => array(
+    'id' => 'field_fgcf_prestataire_logo_fid',
+    'table' => 'node_data_field_fgcf_prestataire_logo',
+    'field' => 'field_fgcf_prestataire_logo_fid',
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_node' => 1,
+    'label_type' => 'none',
+    'format' => 'prestataire_logo_liste_default',
+  ),
+  'title' => array(
+    'id' => 'title',
+    'table' => 'node',
+    'field' => 'title',
+    'label' => '',
+    'alter' => array(
+      'alter_text' => 0,
+      'make_link' => 0,
+      'trim' => 0,
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'strip_tags' => 0,
+      'html' => 0,
+    ),
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'link_to_node' => 1,
+  ),
+));
+$handler->override_option('sorts', array(
+  'title' => array(
+    'id' => 'title',
+    'table' => 'node',
+    'field' => 'title',
+  ),
+));
+$handler->override_option('filters', array(
+  'type' => array(
+    'id' => 'type',
+    'table' => 'node',
+    'field' => 'type',
+    'value' => array(
+      'fgcf_prestataire' => 'fgcf_prestataire',
+    ),
+  ),
+  'status_extra' => array(
+    'id' => 'status_extra',
+    'table' => 'node',
+    'field' => 'status_extra',
+  ),
+));
+$handler->override_option('access', array(
+  'type' => 'none',
+));
+$handler->override_option('cache', array(
+  'type' => 'none',
+));
+$handler->override_option('empty', 'pas de résultats');
+$handler->override_option('empty_format', '1');
+$handler->override_option('style_plugin', 'grid');
+$handler->override_option('style_options', array(
+  'columns' => '2',
+  'fill_single_line' => 1,
+));

+ 156 - 0
views/fgcf_thematique_deuxieme_niveau.php

@@ -0,0 +1,156 @@
+<?php
+// $Id$
+/**
+ * @file
+ * Liste des sous-thématiques d'une thématique passée en argument.
+ */
+
+$view = new view;
+$view->name = 'fgcf_thematique_deuxieme_niveau';
+$view->description = 'Liste des thématiques de 2e niveau pour une thématique donnée';
+$view->tag = '';
+$view->view_php = '';
+$view->base_table = 'term_data';
+$view->is_cacheable = FALSE;
+$view->api_version = 2;
+$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
+$handler = $view->new_display('default', 'Defaults', 'default');
+$handler->override_option('fields', array(
+  'tid' => array(
+    'label' => 'Term ID',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 0,
+      'path' => '',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 0,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'set_precision' => FALSE,
+    'precision' => 0,
+    'decimal' => '.',
+    'separator' => ',',
+    'prefix' => '',
+    'suffix' => '',
+    'exclude' => 1,
+    'id' => 'tid',
+    'table' => 'term_data',
+    'field' => 'tid',
+    'relationship' => 'none',
+  ),
+  'description' => array(
+    'label' => '',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 1,
+      'path' => 'fgcf/thematique/[tid]',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 1,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'exclude' => 0,
+    'id' => 'description',
+    'table' => 'term_data',
+    'field' => 'description',
+    'relationship' => 'none',
+  ),
+));
+$handler->override_option('sorts', array(
+  'weight' => array(
+    'order' => 'ASC',
+    'id' => 'weight',
+    'table' => 'term_data',
+    'field' => 'weight',
+    'relationship' => 'none',
+  ),
+));
+$handler->override_option('arguments', array(
+  'parent' => array(
+    'default_action' => 'empty',
+    'style_plugin' => 'default_summary',
+    'style_options' => array(),
+    'wildcard' => 'all',
+    'wildcard_substitution' => 'All',
+    'title' => '',
+    'breadcrumb' => '',
+    'default_argument_type' => 'fixed',
+    'default_argument' => '',
+    'validate_type' => 'none',
+    'validate_fail' => 'not found',
+    'break_phrase' => 0,
+    'not' => 0,
+    'id' => 'parent',
+    'table' => 'term_hierarchy',
+    'field' => 'parent',
+    'validate_user_argument_type' => 'uid',
+    'validate_user_roles' => array(
+      '2' => 0,
+    ),
+    'relationship' => 'none',
+    'default_options_div_prefix' => '',
+    'default_argument_fixed' => '',
+    'default_argument_user' => 0,
+    'default_argument_php' => '',
+    'validate_argument_node_type' => array(
+      'fgcf_fiche' => 0,
+      'fgcf_prestataire' => 0,
+      'fgcf_thematique' => 0,
+      'page' => 0,
+      'story' => 0,
+    ),
+    'validate_argument_node_access' => 0,
+    'validate_argument_nid_type' => 'nid',
+    'validate_argument_vocabulary' => array(
+      '2' => 0,
+      '5' => 0,
+      '4' => 0,
+      '3' => 0,
+      '1' => 0,
+    ),
+    'validate_argument_type' => 'tid',
+    'validate_argument_transform' => 0,
+    'validate_user_restrict_roles' => 0,
+    'validate_argument_php' => '',
+  ),
+));
+$handler->override_option('access', array(
+  'type' => 'none',
+));
+$handler->override_option('cache', array(
+  'type' => 'none',
+));
+$handler->override_option('empty', 'Pas de résultat');
+$handler->override_option('empty_format', '1');
+$handler->override_option('style_plugin', 'list');
+$handler->override_option('style_options', array(
+  'grouping' => '',
+  'type' => 'ul',
+));
+
+

+ 195 - 0
views/fgcf_thematiques_premier_niveau.php

@@ -0,0 +1,195 @@
+<?php
+// $Id$
+/**
+ * @file
+ * Liste des thématiques de 1er niveau.
+ */
+
+$view = new view;
+$view->name = 'fgcf_thematiques_premier_niveau';
+$view->description = 'Liste des thématiques de 1er niveau';
+$view->tag = '';
+$view->view_php = '';
+$view->base_table = 'term_data';
+$view->is_cacheable = FALSE;
+$view->api_version = 2;
+$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
+$handler = $view->new_display('default', 'Defaults', 'default');
+$handler->override_option('relationships', array(
+  'nid' => array(
+    'label' => 'NAT Node',
+    'required' => 1,
+    'id' => 'nid',
+    'table' => 'nat',
+    'field' => 'nid',
+    'relationship' => 'none',
+  ),
+));
+$handler->override_option('fields', array(
+  'tid' => array(
+    'label' => 'Term ID',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 0,
+      'path' => '',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 0,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'set_precision' => FALSE,
+    'precision' => 0,
+    'decimal' => '.',
+    'separator' => ',',
+    'prefix' => '',
+    'suffix' => '',
+    'exclude' => 1,
+    'id' => 'tid',
+    'table' => 'term_data',
+    'field' => 'tid',
+    'relationship' => 'none',
+  ),
+  'description' => array(
+    'label' => '',
+    'alter' => array(
+      'alter_text' => 0,
+      'text' => '',
+      'make_link' => 1,
+      'path' => 'fgcf/thematique/[tid]',
+      'link_class' => '',
+      'alt' => '',
+      'prefix' => '',
+      'suffix' => '',
+      'target' => '',
+      'help' => '',
+      'trim' => 0,
+      'max_length' => '',
+      'word_boundary' => 1,
+      'ellipsis' => 1,
+      'html' => 0,
+      'strip_tags' => 1,
+    ),
+    'empty' => '',
+    'hide_empty' => 0,
+    'empty_zero' => 0,
+    'exclude' => 0,
+    'id' => 'description',
+    'table' => 'term_data',
+    'field' => 'description',
+    'relationship' => 'none',
+  ),
+));
+$handler->override_option('sorts', array(
+  'weight' => array(
+    'order' => 'ASC',
+    'id' => 'weight',
+    'table' => 'term_data',
+    'field' => 'weight',
+    'relationship' => 'none',
+  ),
+));
+$handler->override_option('arguments', array(
+  'vid' => array(
+    'default_action' => 'empty',
+    'style_plugin' => 'default_summary',
+    'style_options' => array(),
+    'wildcard' => 'all',
+    'wildcard_substitution' => 'All',
+    'title' => '',
+    'breadcrumb' => '',
+    'default_argument_type' => 'fixed',
+    'default_argument' => '',
+    'validate_type' => 'none',
+    'validate_fail' => 'not found',
+    'id' => 'vid',
+    'table' => 'vocabulary',
+    'field' => 'vid',
+    'validate_user_argument_type' => 'uid',
+    'validate_user_roles' => array(
+      '2' => 0,
+    ),
+    'relationship' => 'none',
+    'default_options_div_prefix' => '',
+    'default_argument_fixed' => '',
+    'default_argument_user' => 0,
+    'default_argument_php' => '',
+    'validate_argument_node_type' => array(
+      'fgcf_fiche' => 0,
+      'fgcf_prestataire' => 0,
+      'fgcf_thematique' => 0,
+      'page' => 0,
+      'story' => 0,
+    ),
+    'validate_argument_node_access' => 0,
+    'validate_argument_nid_type' => 'nid',
+    'validate_argument_vocabulary' => array(
+      '2' => 0,
+      '5' => 0,
+      '4' => 0,
+      '3' => 0,
+      '1' => 0,
+    ),
+    'validate_argument_type' => 'tid',
+    'validate_argument_transform' => 0,
+    'validate_user_restrict_roles' => 0,
+    'validate_argument_php' => '',
+  ),
+));
+$handler->override_option('filters', array(
+  'vid' => array(
+    'operator' => 'in',
+    'value' => array(
+      '1' => 1,
+    ),
+    'group' => '0',
+    'exposed' => FALSE,
+    'expose' => array(
+      'operator' => FALSE,
+      'label' => '',
+    ),
+    'id' => 'vid',
+    'table' => 'term_data',
+    'field' => 'vid',
+    'relationship' => 'none',
+  ),
+  'status_extra' => array(
+    'operator' => '=',
+    'value' => '',
+    'group' => '0',
+    'exposed' => FALSE,
+    'expose' => array(
+      'operator' => FALSE,
+      'label' => '',
+    ),
+    'id' => 'status_extra',
+    'table' => 'node',
+    'field' => 'status_extra',
+    'relationship' => 'nid',
+  ),
+));
+$handler->override_option('access', array(
+  'type' => 'none',
+));
+$handler->override_option('cache', array(
+  'type' => 'none',
+));
+$handler->override_option('empty', 'Pas de résultat');
+$handler->override_option('empty_format', '1');
+$handler->override_option('style_plugin', 'list');
+$handler->override_option('style_options', array(
+  'grouping' => '',
+  'type' => 'ul',
+));
+