Przeglądaj źródła

complete refactoring of thematique list display : entityfieldquery + viewmode

Bachir Soussi Chiadmi 7 lat temu
rodzic
commit
30577d3c6b

+ 30 - 7
sites/all/modules/features/admin/admin.views_default.inc

@@ -49,15 +49,17 @@ function admin_views_default_views() {
   $handler->display->display_options['style_plugin'] = 'table';
   $handler->display->display_options['style_options']['columns'] = array(
     'views_bulk_operations' => 'views_bulk_operations',
-    'field_video' => 'field_video',
+    'field_emvideo' => 'field_emvideo',
     'type' => 'title',
     'title' => 'title',
+    'field_poid' => 'field_poid',
     'edit_node' => 'title',
     'sid' => 'sid',
     'sid_1' => 'sid',
     'scheduled' => 'sid',
-    'field_thematique' => 'field_thematique',
     'field_episodes' => 'field_episodes',
+    'field_eclairages' => 'field_eclairages',
+    'field_thematique' => 'field_thematique',
     'translate_node' => 'translate_node',
     'changed' => 'changed',
     'delete_node' => 'delete_node',
@@ -69,7 +71,7 @@ function admin_views_default_views() {
       'separator' => '',
       'empty_column' => 0,
     ),
-    'field_video' => array(
+    'field_emvideo' => array(
       'sortable' => 0,
       'default_sort_order' => 'asc',
       'align' => '',
@@ -90,6 +92,13 @@ function admin_views_default_views() {
       'separator' => '<br />',
       'empty_column' => 0,
     ),
+    'field_poid' => array(
+      'sortable' => 1,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
     'edit_node' => array(
       'align' => '',
       'separator' => '',
@@ -116,14 +125,19 @@ function admin_views_default_views() {
       'separator' => '',
       'empty_column' => 0,
     ),
-    'field_thematique' => array(
-      'sortable' => 0,
-      'default_sort_order' => 'asc',
+    'field_episodes' => array(
       'align' => '',
       'separator' => '',
       'empty_column' => 0,
     ),
-    'field_episodes' => array(
+    'field_eclairages' => array(
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'field_thematique' => array(
+      'sortable' => 0,
+      'default_sort_order' => 'asc',
       'align' => '',
       'separator' => '',
       'empty_column' => 0,
@@ -207,6 +221,14 @@ function admin_views_default_views() {
   $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
   $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
   $handler->display->display_options['fields']['title']['hide_alter_empty'] = FALSE;
+  /* Field: Content: Poid */
+  $handler->display->display_options['fields']['field_poid']['id'] = 'field_poid';
+  $handler->display->display_options['fields']['field_poid']['table'] = 'field_data_field_poid';
+  $handler->display->display_options['fields']['field_poid']['field'] = 'field_poid';
+  $handler->display->display_options['fields']['field_poid']['settings'] = array(
+    'thousand_separator' => '',
+    'prefix_suffix' => 1,
+  );
   /* Field: Content: Edit link */
   $handler->display->display_options['fields']['edit_node']['id'] = 'edit_node';
   $handler->display->display_options['fields']['edit_node']['table'] = 'views_entity_node';
@@ -430,6 +452,7 @@ return !(node_access(\'update\', node_load($data->nid), $user));
     t('Video'),
     t('Type'),
     t('Title'),
+    t('Poid'),
     t('<span class="node-edit">[edit_node]</span>'),
     t('Current state'),
     t('Scheduled state'),

+ 42 - 0
sites/all/modules/features/clameurs/clameurs.features.field_base.inc

@@ -371,6 +371,26 @@ function clameurs_field_default_field_bases() {
     'type' => 'text',
   );
 
+  // Exported field_base: 'field_poid'.
+  $field_bases['field_poid'] = array(
+    'active' => 1,
+    'cardinality' => 1,
+    'deleted' => 0,
+    'entity_types' => array(),
+    'field_name' => 'field_poid',
+    'field_permissions' => array(
+      'type' => 1,
+    ),
+    'indexes' => array(),
+    'locked' => 0,
+    'module' => 'number',
+    'settings' => array(
+      'entity_translation_sync' => FALSE,
+    ),
+    'translatable' => 0,
+    'type' => 'number_integer',
+  );
+
   // Exported field_base: 'field_thematique'.
   $field_bases['field_thematique'] = array(
     'active' => 1,
@@ -410,5 +430,27 @@ function clameurs_field_default_field_bases() {
     'type' => 'entityreference',
   );
 
+  // Exported field_base: 'title_field'.
+  $field_bases['title_field'] = array(
+    'active' => 1,
+    'cardinality' => 1,
+    'deleted' => 0,
+    'entity_types' => array(),
+    'field_name' => 'title_field',
+    'indexes' => array(
+      'format' => array(
+        0 => 'format',
+      ),
+    ),
+    'locked' => 0,
+    'module' => 'text',
+    'settings' => array(
+      'entity_translation_sync' => FALSE,
+      'max_length' => 255,
+    ),
+    'translatable' => 1,
+    'type' => 'text',
+  );
+
   return $field_bases;
 }

+ 316 - 18
sites/all/modules/features/clameurs/clameurs.features.field_instance.inc

@@ -230,6 +230,12 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 2,
+      ),
       'default' => array(
         'label' => 'hidden',
         'module' => 'text',
@@ -275,6 +281,12 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 6,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'text',
@@ -321,6 +333,15 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'entityreference',
+        'settings' => array(
+          'link' => FALSE,
+        ),
+        'type' => 'entityreference_label',
+        'weight' => 0,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'entityreference',
@@ -369,6 +390,19 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'video_embed_field_overlay',
+        'settings' => array(
+          'description' => 1,
+          'image_style' => 'video_thumb_docu',
+          'overlay' => 'dom-window',
+          'show_thumbnail' => 1,
+          'video_style' => 'normal',
+        ),
+        'type' => 'video_embed_field_overlay',
+        'weight' => 5,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'video_embed_field',
@@ -424,6 +458,12 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 5,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'entityreference',
@@ -461,6 +501,56 @@ function clameurs_field_default_field_instances() {
     ),
   );
 
+  // Exported field_instance: 'node-documentair-title_field'.
+  $field_instances['node-documentair-title_field'] = array(
+    'bundle' => 'documentair',
+    'default_value' => NULL,
+    'deleted' => 0,
+    'description' => '',
+    'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'text',
+        'settings' => array(),
+        'type' => 'text_default',
+        'weight' => 1,
+      ),
+      'default' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 6,
+      ),
+      'teaser' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+    ),
+    'entity_type' => 'node',
+    'field_name' => 'title_field',
+    'label' => 'Titre',
+    'required' => TRUE,
+    'settings' => array(
+      'entity_translation_sync' => FALSE,
+      'hide_label' => array(
+        'entity' => FALSE,
+        'page' => FALSE,
+      ),
+      'text_processing' => 0,
+      'user_register_form' => FALSE,
+    ),
+    'widget' => array(
+      'module' => 'text',
+      'settings' => array(
+        'size' => 60,
+      ),
+      'type' => 'text_textfield',
+      'weight' => -5,
+    ),
+  );
+
   // Exported field_instance: 'node-episode-body'.
   $field_instances['node-episode-body'] = array(
     'bundle' => 'episode',
@@ -468,6 +558,12 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 6,
+      ),
       'default' => array(
         'label' => 'hidden',
         'module' => 'text',
@@ -513,6 +609,12 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 7,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'text',
@@ -559,6 +661,19 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'video_embed_field_overlay',
+        'settings' => array(
+          'description' => 1,
+          'image_style' => 'video_thumb_episode',
+          'overlay' => 'dom-window',
+          'show_thumbnail' => 1,
+          'video_style' => 'normal',
+        ),
+        'type' => 'video_embed_field_overlay',
+        'weight' => 9,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'video_embed_field',
@@ -614,6 +729,12 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'entityreference',
@@ -668,6 +789,12 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 8,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'entityreference',
@@ -705,6 +832,56 @@ function clameurs_field_default_field_instances() {
     ),
   );
 
+  // Exported field_instance: 'node-episode-title_field'.
+  $field_instances['node-episode-title_field'] = array(
+    'bundle' => 'episode',
+    'default_value' => NULL,
+    'deleted' => 0,
+    'description' => '',
+    'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'text',
+        'settings' => array(),
+        'type' => 'text_default',
+        'weight' => 3,
+      ),
+      'default' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 6,
+      ),
+      'teaser' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+    ),
+    'entity_type' => 'node',
+    'field_name' => 'title_field',
+    'label' => 'Titre',
+    'required' => TRUE,
+    'settings' => array(
+      'entity_translation_sync' => FALSE,
+      'hide_label' => array(
+        'entity' => FALSE,
+        'page' => FALSE,
+      ),
+      'text_processing' => 0,
+      'user_register_form' => FALSE,
+    ),
+    'widget' => array(
+      'module' => 'text',
+      'settings' => array(
+        'size' => 60,
+      ),
+      'type' => 'text_textfield',
+      'weight' => -5,
+    ),
+  );
+
   // Exported field_instance: 'node-thematique-body'.
   $field_instances['node-thematique-body'] = array(
     'bundle' => 'thematique',
@@ -712,6 +889,13 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'text',
+        'settings' => array(),
+        'type' => 'text_default',
+        'weight' => 3,
+      ),
       'default' => array(
         'label' => 'hidden',
         'module' => 'text',
@@ -722,11 +906,9 @@ function clameurs_field_default_field_instances() {
       'teaser' => array(
         'label' => 'hidden',
         'module' => 'text',
-        'settings' => array(
-          'trim_length' => 600,
-        ),
-        'type' => 'text_summary_or_trimmed',
-        'weight' => 0,
+        'settings' => array(),
+        'type' => 'text_default',
+        'weight' => 1,
       ),
     ),
     'entity_type' => 'node',
@@ -757,6 +939,13 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'text',
+        'settings' => array(),
+        'type' => 'text_default',
+        'weight' => 11,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'text',
@@ -765,10 +954,11 @@ function clameurs_field_default_field_instances() {
         'weight' => 2,
       ),
       'teaser' => array(
-        'label' => 'above',
+        'label' => 'hidden',
+        'module' => 'text',
         'settings' => array(),
-        'type' => 'hidden',
-        'weight' => 0,
+        'type' => 'text_default',
+        'weight' => 9,
       ),
     ),
     'entity_type' => 'node',
@@ -803,6 +993,17 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'entityreference',
+        'settings' => array(
+          'links' => 0,
+          'use_content_language' => 1,
+          'view_mode' => 'accueil',
+        ),
+        'type' => 'entityreference_entity_view',
+        'weight' => 6,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'entityreference',
@@ -816,7 +1017,7 @@ function clameurs_field_default_field_instances() {
         'label' => 'above',
         'settings' => array(),
         'type' => 'hidden',
-        'weight' => 0,
+        'weight' => 7,
       ),
     ),
     'entity_type' => 'node',
@@ -847,6 +1048,13 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'taxonomy',
+        'settings' => array(),
+        'type' => 'taxonomy_term_reference_plain',
+        'weight' => 10,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'taxonomy',
@@ -858,7 +1066,7 @@ function clameurs_field_default_field_instances() {
         'label' => 'above',
         'settings' => array(),
         'type' => 'hidden',
-        'weight' => 0,
+        'weight' => 6,
       ),
     ),
     'entity_type' => 'node',
@@ -878,7 +1086,7 @@ function clameurs_field_default_field_instances() {
         'formatter_settings' => array(),
       ),
       'type' => 'field_extrawidgets_read_only',
-      'weight' => 9,
+      'weight' => 5,
     ),
   );
 
@@ -889,6 +1097,19 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'video_embed_field_overlay',
+        'settings' => array(
+          'description' => 1,
+          'image_style' => 'video_thumb_themat',
+          'overlay' => 'dom-window',
+          'show_thumbnail' => 1,
+          'video_style' => 'normal',
+        ),
+        'type' => 'video_embed_field_overlay',
+        'weight' => 8,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'video_embed_field',
@@ -901,10 +1122,17 @@ function clameurs_field_default_field_instances() {
         'weight' => 7,
       ),
       'teaser' => array(
-        'label' => 'above',
-        'settings' => array(),
-        'type' => 'hidden',
-        'weight' => 0,
+        'label' => 'hidden',
+        'module' => 'video_embed_field_overlay',
+        'settings' => array(
+          'description' => 1,
+          'image_style' => 'video_thumb_themat',
+          'overlay' => 'dom-window',
+          'show_thumbnail' => 1,
+          'video_style' => 'normal',
+        ),
+        'type' => 'video_embed_field_overlay',
+        'weight' => 8,
       ),
     ),
     'entity_type' => 'node',
@@ -916,7 +1144,7 @@ function clameurs_field_default_field_instances() {
         'vimeo' => 'vimeo',
         'youtube' => 'youtube',
       ),
-      'description_field' => 1,
+      'description_field' => 0,
       'description_length' => 128,
       'entity_translation_sync' => FALSE,
       'user_register_form' => FALSE,
@@ -937,6 +1165,17 @@ function clameurs_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'hidden',
+        'module' => 'entityreference',
+        'settings' => array(
+          'links' => 0,
+          'use_content_language' => 1,
+          'view_mode' => 'accueil',
+        ),
+        'type' => 'entityreference_entity_view',
+        'weight' => 5,
+      ),
       'default' => array(
         'label' => 'above',
         'module' => 'entityreference',
@@ -947,10 +1186,10 @@ function clameurs_field_default_field_instances() {
         'weight' => 3,
       ),
       'teaser' => array(
-        'label' => 'above',
+        'label' => 'hidden',
         'settings' => array(),
         'type' => 'hidden',
-        'weight' => 0,
+        'weight' => 2,
       ),
     ),
     'entity_type' => 'node',
@@ -974,6 +1213,63 @@ function clameurs_field_default_field_instances() {
     ),
   );
 
+  // Exported field_instance: 'node-thematique-field_poid'.
+  $field_instances['node-thematique-field_poid'] = array(
+    'bundle' => 'thematique',
+    'default_value' => array(
+      0 => array(
+        'value' => 0,
+      ),
+    ),
+    'deleted' => 0,
+    'description' => '',
+    'display' => array(
+      'accueil' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 7,
+      ),
+      'default' => array(
+        'label' => 'above',
+        'module' => 'number',
+        'settings' => array(
+          'decimal_separator' => '.',
+          'prefix_suffix' => TRUE,
+          'scale' => 0,
+          'thousand_separator' => '',
+        ),
+        'type' => 'number_integer',
+        'weight' => 8,
+      ),
+      'teaser' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 8,
+      ),
+    ),
+    'entity_type' => 'node',
+    'field_name' => 'field_poid',
+    'label' => 'Poid',
+    'required' => 1,
+    'settings' => array(
+      'entity_translation_sync' => FALSE,
+      'max' => 10,
+      'min' => 0,
+      'prefix' => '',
+      'suffix' => '',
+      'user_register_form' => FALSE,
+    ),
+    'widget' => array(
+      'active' => 0,
+      'module' => 'number',
+      'settings' => array(),
+      'type' => 'number',
+      'weight' => 1,
+    ),
+  );
+
   // Translatables
   // Included for use with string extractors like potx.
   t('Bidirectional');
@@ -984,8 +1280,10 @@ function clameurs_field_default_field_instances() {
   t('Habiter');
   t('Left Field');
   t('Legende');
+  t('Poid');
   t('Right Field');
   t('Thématique');
+  t('Titre');
   t('Video');
   t('Weight');
   t('Écouter');

+ 1 - 1
sites/all/modules/features/clameurs/clameurs.features.inc

@@ -60,7 +60,7 @@ function clameurs_image_default_styles() {
         'name' => 'image_scale',
         'data' => array(
           'width' => 300,
-          'height' => 170,
+          'height' => 160,
           'upscale' => 0,
         ),
         'weight' => 1,

+ 378 - 8
sites/all/modules/features/clameurs/clameurs.field_group.inc

@@ -10,6 +10,93 @@
 function clameurs_field_group_info() {
   $field_groups = array();
 
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_body|node|thematique|teaser';
+  $field_group->group_name = 'group_body';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'thematique';
+  $field_group->mode = 'teaser';
+  $field_group->parent_name = '';
+  $field_group->data = array(
+    'label' => 'Body',
+    'weight' => '0',
+    'children' => array(
+      0 => 'body',
+    ),
+    'format_type' => 'html5',
+    'format_settings' => array(
+      'label' => 'Body',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'group-body field-group-html5',
+        'wrapper' => 'section',
+      ),
+    ),
+  );
+  $field_groups['group_body|node|thematique|teaser'] = $field_group;
+
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_bottom|node|thematique|accueil';
+  $field_group->group_name = 'group_bottom';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'thematique';
+  $field_group->mode = 'accueil';
+  $field_group->parent_name = '';
+  $field_group->data = array(
+    'label' => 'bottom',
+    'weight' => '2',
+    'children' => array(
+      0 => 'field_episodes',
+    ),
+    'format_type' => 'html5',
+    'format_settings' => array(
+      'label' => 'bottom',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'bottom',
+        'wrapper' => 'aside',
+      ),
+    ),
+  );
+  $field_groups['group_bottom|node|thematique|accueil'] = $field_group;
+
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_description|node|thematique|accueil';
+  $field_group->group_name = 'group_description';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'thematique';
+  $field_group->mode = 'accueil';
+  $field_group->parent_name = 'group_video';
+  $field_group->data = array(
+    'label' => 'description',
+    'weight' => '9',
+    'children' => array(
+      0 => 'field_description',
+      1 => 'field_ecouter',
+    ),
+    'format_type' => 'div',
+    'format_settings' => array(
+      'label' => 'description',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'group-description field-group-div',
+        'description' => '',
+        'show_label' => '0',
+        'label_element' => 'h3',
+        'effect' => 'none',
+        'speed' => 'fast',
+      ),
+      'formatter' => 'open',
+    ),
+  );
+  $field_groups['group_description|node|thematique|accueil'] = $field_group;
+
   $field_group = new stdClass();
   $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
   $field_group->api_version = 1;
@@ -21,7 +108,7 @@ function clameurs_field_group_info() {
   $field_group->parent_name = 'group_htabs';
   $field_group->data = array(
     'label' => 'Éclairages',
-    'weight' => '10',
+    'weight' => '108',
     'children' => array(
       0 => 'field_eclairages',
     ),
@@ -49,7 +136,7 @@ function clameurs_field_group_info() {
   $field_group->parent_name = 'group_htabs';
   $field_group->data = array(
     'label' => 'Épisodes',
-    'weight' => '9',
+    'weight' => '107',
     'children' => array(
       0 => 'field_episodes',
     ),
@@ -129,7 +216,7 @@ function clameurs_field_group_info() {
   $field_group->parent_name = '';
   $field_group->data = array(
     'label' => 'htabs',
-    'weight' => '1',
+    'weight' => '2',
     'children' => array(
       0 => 'group_video',
       1 => 'group_texte',
@@ -146,6 +233,61 @@ function clameurs_field_group_info() {
   );
   $field_groups['group_htabs|node|thematique|form'] = $field_group;
 
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_main|node|thematique|accueil';
+  $field_group->group_name = 'group_main';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'thematique';
+  $field_group->mode = 'accueil';
+  $field_group->parent_name = '';
+  $field_group->data = array(
+    'label' => 'main',
+    'weight' => '0',
+    'children' => array(
+      0 => 'group_txt',
+      1 => 'group_video',
+    ),
+    'format_type' => 'html5',
+    'format_settings' => array(
+      'label' => 'main',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'main',
+        'wrapper' => 'article',
+      ),
+    ),
+  );
+  $field_groups['group_main|node|thematique|accueil'] = $field_group;
+
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_right|node|thematique|accueil';
+  $field_group->group_name = 'group_right';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'thematique';
+  $field_group->mode = 'accueil';
+  $field_group->parent_name = '';
+  $field_group->data = array(
+    'label' => 'right',
+    'weight' => '1',
+    'children' => array(
+      0 => 'field_eclairages',
+    ),
+    'format_type' => 'html5',
+    'format_settings' => array(
+      'label' => 'right',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'right',
+        'wrapper' => 'aside',
+      ),
+    ),
+  );
+  $field_groups['group_right|node|thematique|accueil'] = $field_group;
+
   $field_group = new stdClass();
   $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
   $field_group->api_version = 1;
@@ -213,7 +355,7 @@ function clameurs_field_group_info() {
   $field_group->parent_name = 'group_htabs';
   $field_group->data = array(
     'label' => 'Texte',
-    'weight' => '7',
+    'weight' => '105',
     'children' => array(
       0 => 'body',
     ),
@@ -229,6 +371,135 @@ function clameurs_field_group_info() {
   );
   $field_groups['group_texte|node|thematique|form'] = $field_group;
 
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_txt|node|documentair|accueil';
+  $field_group->group_name = 'group_txt';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'documentair';
+  $field_group->mode = 'accueil';
+  $field_group->parent_name = '';
+  $field_group->data = array(
+    'label' => 'txt',
+    'weight' => '1',
+    'children' => array(
+      0 => 'field_doc',
+      1 => 'title_field',
+    ),
+    'format_type' => 'div',
+    'format_settings' => array(
+      'label' => 'txt',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'group-txt field-group-div',
+        'description' => '',
+        'show_label' => '0',
+        'label_element' => 'h3',
+        'effect' => 'none',
+        'speed' => 'fast',
+      ),
+      'formatter' => 'open',
+    ),
+  );
+  $field_groups['group_txt|node|documentair|accueil'] = $field_group;
+
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_txt|node|episode|accueil';
+  $field_group->group_name = 'group_txt';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'episode';
+  $field_group->mode = 'accueil';
+  $field_group->parent_name = '';
+  $field_group->data = array(
+    'label' => 'txt',
+    'weight' => '1',
+    'children' => array(
+      0 => 'title_field',
+    ),
+    'format_type' => 'div',
+    'format_settings' => array(
+      'label' => 'txt',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'group-txt field-group-div',
+        'description' => '',
+        'show_label' => '0',
+        'label_element' => 'h3',
+        'effect' => 'none',
+        'speed' => 'fast',
+      ),
+      'formatter' => 'open',
+    ),
+  );
+  $field_groups['group_txt|node|episode|accueil'] = $field_group;
+
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_txt|node|thematique|accueil';
+  $field_group->group_name = 'group_txt';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'thematique';
+  $field_group->mode = 'accueil';
+  $field_group->parent_name = 'group_main';
+  $field_group->data = array(
+    'label' => 'txt',
+    'weight' => '1',
+    'children' => array(
+      0 => 'body',
+    ),
+    'format_type' => 'div',
+    'format_settings' => array(
+      'label' => 'txt',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'group-txt field-group-div',
+        'description' => '',
+        'show_label' => '0',
+        'label_element' => 'h3',
+        'effect' => 'none',
+        'speed' => 'fast',
+      ),
+      'formatter' => 'open',
+    ),
+  );
+  $field_groups['group_txt|node|thematique|accueil'] = $field_group;
+
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_video|node|documentair|accueil';
+  $field_group->group_name = 'group_video';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'documentair';
+  $field_group->mode = 'accueil';
+  $field_group->parent_name = '';
+  $field_group->data = array(
+    'label' => 'video',
+    'weight' => '2',
+    'children' => array(
+      0 => 'field_emvideo',
+    ),
+    'format_type' => 'div',
+    'format_settings' => array(
+      'label' => 'video',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'group-video field-group-div',
+        'description' => '',
+        'show_label' => '0',
+        'label_element' => 'h3',
+        'effect' => 'none',
+        'speed' => 'fast',
+      ),
+      'formatter' => 'open',
+    ),
+  );
+  $field_groups['group_video|node|documentair|accueil'] = $field_group;
+
   $field_group = new stdClass();
   $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
   $field_group->api_version = 1;
@@ -259,6 +530,38 @@ function clameurs_field_group_info() {
   );
   $field_groups['group_video|node|documentair|form'] = $field_group;
 
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_video|node|episode|accueil';
+  $field_group->group_name = 'group_video';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'episode';
+  $field_group->mode = 'accueil';
+  $field_group->parent_name = '';
+  $field_group->data = array(
+    'label' => 'Video',
+    'weight' => '2',
+    'children' => array(
+      0 => 'field_emvideo',
+    ),
+    'format_type' => 'div',
+    'format_settings' => array(
+      'label' => 'Video',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'group-video field-group-div',
+        'description' => '',
+        'show_label' => '0',
+        'label_element' => 'h3',
+        'effect' => 'none',
+        'speed' => 'fast',
+      ),
+      'formatter' => 'open',
+    ),
+  );
+  $field_groups['group_video|node|episode|accueil'] = $field_group;
+
   $field_group = new stdClass();
   $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
   $field_group->api_version = 1;
@@ -289,6 +592,39 @@ function clameurs_field_group_info() {
   );
   $field_groups['group_video|node|episode|form'] = $field_group;
 
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_video|node|thematique|accueil';
+  $field_group->group_name = 'group_video';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'thematique';
+  $field_group->mode = 'accueil';
+  $field_group->parent_name = 'group_main';
+  $field_group->data = array(
+    'label' => 'video',
+    'weight' => '2',
+    'children' => array(
+      0 => 'field_emvideo',
+      1 => 'group_description',
+    ),
+    'format_type' => 'div',
+    'format_settings' => array(
+      'label' => 'video',
+      'instance_settings' => array(
+        'id' => '',
+        'classes' => 'group-video field-group-div',
+        'description' => '',
+        'show_label' => '0',
+        'label_element' => 'h3',
+        'effect' => 'none',
+        'speed' => 'fast',
+      ),
+      'formatter' => 'open',
+    ),
+  );
+  $field_groups['group_video|node|thematique|accueil'] = $field_group;
+
   $field_group = new stdClass();
   $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
   $field_group->api_version = 1;
@@ -300,11 +636,10 @@ function clameurs_field_group_info() {
   $field_group->parent_name = 'group_htabs';
   $field_group->data = array(
     'label' => 'Video',
-    'weight' => '8',
+    'weight' => '106',
     'children' => array(
-      0 => 'field_video',
-      1 => 'field_description',
-      2 => 'field_emvideo',
+      0 => 'field_description',
+      1 => 'field_emvideo',
     ),
     'format_type' => 'htab',
     'format_settings' => array(
@@ -319,11 +654,46 @@ function clameurs_field_group_info() {
   );
   $field_groups['group_video|node|thematique|form'] = $field_group;
 
+  $field_group = new stdClass();
+  $field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
+  $field_group->api_version = 1;
+  $field_group->identifier = 'group_video|node|thematique|teaser';
+  $field_group->group_name = 'group_video';
+  $field_group->entity_type = 'node';
+  $field_group->bundle = 'thematique';
+  $field_group->mode = 'teaser';
+  $field_group->parent_name = '';
+  $field_group->data = array(
+    'label' => 'video',
+    'weight' => '1',
+    'children' => array(
+      0 => 'field_description',
+      1 => 'field_emvideo',
+    ),
+    'format_type' => 'html5',
+    'format_settings' => array(
+      'formatter' => '',
+      'instance_settings' => array(
+        'wrapper' => '',
+        'classes' => 'group-video field-group-html5',
+        'id' => '',
+      ),
+    ),
+  );
+  $field_groups['group_video|node|thematique|teaser'] = $field_group;
+
   // Translatables
   // Included for use with string extractors like potx.
+  t('Body');
   t('Texte');
   t('Video');
+  t('bottom');
+  t('description');
   t('htabs');
+  t('main');
+  t('right');
+  t('txt');
+  t('video');
   t('Éclairages');
   t('Épisodes');
 

+ 18 - 0
sites/all/modules/features/clameurs/clameurs.info

@@ -21,6 +21,7 @@ dependencies[] = libraries
 dependencies[] = list
 dependencies[] = login_destination
 dependencies[] = node
+dependencies[] = number
 dependencies[] = options
 dependencies[] = page
 dependencies[] = page_manager
@@ -63,18 +64,32 @@ features[field_base][] = field_emvideo
 features[field_base][] = field_episodes
 features[field_base][] = field_habiter
 features[field_base][] = field_legende
+features[field_base][] = field_poid
 features[field_base][] = field_thematique
+features[field_base][] = title_field
+features[field_group][] = group_body|node|thematique|teaser
+features[field_group][] = group_bottom|node|thematique|accueil
+features[field_group][] = group_description|node|thematique|accueil
 features[field_group][] = group_eclairage|node|thematique|form
 features[field_group][] = group_episodes|node|thematique|form
 features[field_group][] = group_htabs|node|documentair|form
 features[field_group][] = group_htabs|node|episode|form
 features[field_group][] = group_htabs|node|thematique|form
+features[field_group][] = group_main|node|thematique|accueil
+features[field_group][] = group_right|node|thematique|accueil
 features[field_group][] = group_texte|node|documentair|form
 features[field_group][] = group_texte|node|episode|form
 features[field_group][] = group_texte|node|thematique|form
+features[field_group][] = group_txt|node|documentair|accueil
+features[field_group][] = group_txt|node|episode|accueil
+features[field_group][] = group_txt|node|thematique|accueil
+features[field_group][] = group_video|node|documentair|accueil
 features[field_group][] = group_video|node|documentair|form
+features[field_group][] = group_video|node|episode|accueil
 features[field_group][] = group_video|node|episode|form
+features[field_group][] = group_video|node|thematique|accueil
 features[field_group][] = group_video|node|thematique|form
+features[field_group][] = group_video|node|thematique|teaser
 features[field_instance][] = cer-cer-cer_bidirectional
 features[field_instance][] = cer-cer-cer_enabled
 features[field_instance][] = cer-cer-cer_left
@@ -86,17 +101,20 @@ features[field_instance][] = node-documentair-field_description
 features[field_instance][] = node-documentair-field_doc
 features[field_instance][] = node-documentair-field_emvideo
 features[field_instance][] = node-documentair-field_thematique
+features[field_instance][] = node-documentair-title_field
 features[field_instance][] = node-episode-body
 features[field_instance][] = node-episode-field_description
 features[field_instance][] = node-episode-field_emvideo
 features[field_instance][] = node-episode-field_habiter
 features[field_instance][] = node-episode-field_thematique
+features[field_instance][] = node-episode-title_field
 features[field_instance][] = node-thematique-body
 features[field_instance][] = node-thematique-field_description
 features[field_instance][] = node-thematique-field_eclairages
 features[field_instance][] = node-thematique-field_ecouter
 features[field_instance][] = node-thematique-field_emvideo
 features[field_instance][] = node-thematique-field_episodes
+features[field_instance][] = node-thematique-field_poid
 features[image][] = video_thumb_docu
 features[image][] = video_thumb_episode
 features[image][] = video_thumb_themat

+ 18 - 29
sites/all/modules/features/clameurs/clameurs.pages_default.inc

@@ -44,7 +44,7 @@ function clameurs_default_page_manager_pages() {
         'identifier' => 'T1',
         'keyword' => 'node_1',
         'name' => 'entity:node',
-        'entity_id' => '3',
+        'entity_id' => '32',
         'id' => 1,
       ),
       1 => array(
@@ -58,28 +58,28 @@ function clameurs_default_page_manager_pages() {
         'identifier' => 'T3',
         'keyword' => 'node_3',
         'name' => 'entity:node',
-        'entity_id' => '20',
+        'entity_id' => '38',
         'id' => 3,
       ),
       3 => array(
         'identifier' => 'T4',
         'keyword' => 'node_4',
         'name' => 'entity:node',
-        'entity_id' => '26',
+        'entity_id' => '3',
         'id' => 4,
       ),
       4 => array(
         'identifier' => 'T5',
         'keyword' => 'node_5',
         'name' => 'entity:node',
-        'entity_id' => '32',
+        'entity_id' => '20',
         'id' => 5,
       ),
       5 => array(
         'identifier' => 'T6',
         'keyword' => 'node_6',
         'name' => 'entity:node',
-        'entity_id' => '38',
+        'entity_id' => '26',
         'id' => 6,
       ),
     ),
@@ -171,25 +171,13 @@ function clameurs_default_page_manager_pages() {
   $display->content['new-4151eebf-62c3-4502-bfa0-0da5af08cfd1'] = $pane;
   $display->panels['middle'][1] = 'new-4151eebf-62c3-4502-bfa0-0da5af08cfd1';
   $pane = new stdClass();
-  $pane->pid = 'new-5404a1db-19ad-4398-867f-89709b468f22';
+  $pane->pid = 'new-efb1bca5-47da-48e8-9aed-d84cfe637033';
   $pane->panel = 'middle';
-  $pane->type = 'views';
-  $pane->subtype = 'thematiques_anchors_menu';
+  $pane->type = 'block';
+  $pane->subtype = 'clameursmod-thematiques';
   $pane->shown = TRUE;
   $pane->access = array();
   $pane->configuration = array(
-    'override_pager_settings' => 0,
-    'use_pager' => 0,
-    'nodes_per_page' => '',
-    'pager_id' => '0',
-    'offset' => '0',
-    'more_link' => 0,
-    'feed_icons' => 0,
-    'panel_args' => 0,
-    'link_to_view' => 0,
-    'args' => '',
-    'url' => '',
-    'display' => 'default',
     'override_title' => 0,
     'override_title_text' => '',
     'override_title_heading' => 'h2',
@@ -197,20 +185,21 @@ function clameurs_default_page_manager_pages() {
   $pane->cache = array();
   $pane->style = array(
     'settings' => NULL,
+    'style' => 'naked',
   );
   $pane->css = array();
   $pane->extras = array();
   $pane->position = 2;
   $pane->locks = array();
-  $pane->uuid = '5404a1db-19ad-4398-867f-89709b468f22';
-  $display->content['new-5404a1db-19ad-4398-867f-89709b468f22'] = $pane;
-  $display->panels['middle'][2] = 'new-5404a1db-19ad-4398-867f-89709b468f22';
+  $pane->uuid = 'efb1bca5-47da-48e8-9aed-d84cfe637033';
+  $display->content['new-efb1bca5-47da-48e8-9aed-d84cfe637033'] = $pane;
+  $display->panels['middle'][2] = 'new-efb1bca5-47da-48e8-9aed-d84cfe637033';
   $pane = new stdClass();
   $pane->pid = 'new-698583ec-031d-4b04-a42e-af1c315bde56';
   $pane->panel = 'middle';
   $pane->type = 'panels_mini';
   $pane->subtype = 'th_matique';
-  $pane->shown = TRUE;
+  $pane->shown = FALSE;
   $pane->access = array();
   $pane->configuration = array(
     'context' => array(
@@ -240,7 +229,7 @@ function clameurs_default_page_manager_pages() {
   $pane->panel = 'middle';
   $pane->type = 'panels_mini';
   $pane->subtype = 'th_matique';
-  $pane->shown = TRUE;
+  $pane->shown = FALSE;
   $pane->access = array();
   $pane->configuration = array(
     'override_title' => 0,
@@ -267,7 +256,7 @@ function clameurs_default_page_manager_pages() {
   $pane->panel = 'middle';
   $pane->type = 'panels_mini';
   $pane->subtype = 'th_matique';
-  $pane->shown = TRUE;
+  $pane->shown = FALSE;
   $pane->access = array();
   $pane->configuration = array(
     'context' => array(
@@ -294,7 +283,7 @@ function clameurs_default_page_manager_pages() {
   $pane->panel = 'middle';
   $pane->type = 'panels_mini';
   $pane->subtype = 'th_matique';
-  $pane->shown = TRUE;
+  $pane->shown = FALSE;
   $pane->access = array();
   $pane->configuration = array(
     'context' => array(
@@ -321,7 +310,7 @@ function clameurs_default_page_manager_pages() {
   $pane->panel = 'middle';
   $pane->type = 'panels_mini';
   $pane->subtype = 'th_matique';
-  $pane->shown = TRUE;
+  $pane->shown = FALSE;
   $pane->access = array();
   $pane->configuration = array(
     'context' => array(
@@ -348,7 +337,7 @@ function clameurs_default_page_manager_pages() {
   $pane->panel = 'middle';
   $pane->type = 'panels_mini';
   $pane->subtype = 'th_matique';
-  $pane->shown = TRUE;
+  $pane->shown = FALSE;
   $pane->access = array();
   $pane->configuration = array(
     'context' => array(

+ 28 - 3
sites/all/modules/features/clameurs/clameurs.panels_default.inc

@@ -100,11 +100,11 @@ function clameurs_default_panels_mini() {
   $pane->panel = 'left';
   $pane->type = 'entity_field';
   $pane->subtype = 'node:body';
-  $pane->shown = TRUE;
+  $pane->shown = FALSE;
   $pane->access = array();
   $pane->configuration = array(
     'label' => 'hidden',
-    'formatter' => 'text_summary_or_trimmed',
+    'formatter' => 'text_default',
     'delta_limit' => 0,
     'delta_offset' => '0',
     'delta_reversed' => FALSE,
@@ -133,7 +133,7 @@ function clameurs_default_panels_mini() {
   $pane->panel = 'left';
   $pane->type = 'entity_field';
   $pane->subtype = 'node:field_emvideo';
-  $pane->shown = TRUE;
+  $pane->shown = FALSE;
   $pane->access = array();
   $pane->configuration = array(
     'label' => 'hidden',
@@ -166,6 +166,31 @@ function clameurs_default_panels_mini() {
   $display->content['new-5cb200c4-da2c-4eba-972d-24012a9136b7'] = $pane;
   $display->panels['left'][1] = 'new-5cb200c4-da2c-4eba-972d-24012a9136b7';
   $pane = new stdClass();
+  $pane->pid = 'new-5706499d-b09f-430e-a96b-40c75be56c32';
+  $pane->panel = 'left';
+  $pane->type = 'entity_view';
+  $pane->subtype = 'node';
+  $pane->shown = TRUE;
+  $pane->access = array();
+  $pane->configuration = array(
+    'view_mode' => 'teaser',
+    'context' => 'requiredcontext_entity:node_1',
+    'override_title' => 1,
+    'override_title_text' => '',
+    'override_title_heading' => 'h2',
+  );
+  $pane->cache = array();
+  $pane->style = array(
+    'settings' => NULL,
+  );
+  $pane->css = array();
+  $pane->extras = array();
+  $pane->position = 2;
+  $pane->locks = array();
+  $pane->uuid = '5706499d-b09f-430e-a96b-40c75be56c32';
+  $display->content['new-5706499d-b09f-430e-a96b-40c75be56c32'] = $pane;
+  $display->panels['left'][2] = 'new-5706499d-b09f-430e-a96b-40c75be56c32';
+  $pane = new stdClass();
   $pane->pid = 'new-5c424baf-2ef8-471e-a7f5-d8a5d8048b59';
   $pane->panel = 'right';
   $pane->type = 'entity_field';

+ 41 - 4
sites/all/modules/features/clameurs/clameurs.strongarm.inc

@@ -37,12 +37,20 @@ function clameurs_strongarm() {
             'weight' => '3',
             'visible' => FALSE,
           ),
+          'accueil' => array(
+            'weight' => '3',
+            'visible' => FALSE,
+          ),
         ),
         'workflow' => array(
           'teaser' => array(
             'weight' => '4',
             'visible' => FALSE,
           ),
+          'accueil' => array(
+            'weight' => '4',
+            'visible' => FALSE,
+          ),
         ),
       ),
     ),
@@ -76,12 +84,20 @@ function clameurs_strongarm() {
             'weight' => '3',
             'visible' => FALSE,
           ),
+          'accueil' => array(
+            'weight' => '4',
+            'visible' => FALSE,
+          ),
         ),
         'workflow' => array(
           'teaser' => array(
             'weight' => '4',
             'visible' => FALSE,
           ),
+          'accueil' => array(
+            'weight' => '5',
+            'visible' => FALSE,
+          ),
         ),
       ),
     ),
@@ -100,16 +116,37 @@ function clameurs_strongarm() {
           'weight' => '0',
         ),
         'path' => array(
-          'weight' => '2',
+          'weight' => '3',
         ),
         'redirect' => array(
-          'weight' => '3',
+          'weight' => '4',
         ),
         'workflow' => array(
-          'weight' => '99',
+          'weight' => '6',
+        ),
+      ),
+      'display' => array(
+        'workflow_current_state' => array(
+          'teaser' => array(
+            'weight' => '3',
+            'visible' => FALSE,
+          ),
+          'accueil' => array(
+            'weight' => '3',
+            'visible' => FALSE,
+          ),
+        ),
+        'workflow' => array(
+          'teaser' => array(
+            'weight' => '4',
+            'visible' => FALSE,
+          ),
+          'accueil' => array(
+            'weight' => '4',
+            'visible' => FALSE,
+          ),
         ),
       ),
-      'display' => array(),
     ),
   );
   $export['field_bundle_settings_node__thematique'] = $strongarm;

+ 6 - 0
sites/all/modules/features/page/page.features.field_instance.inc

@@ -17,6 +17,12 @@ function page_field_default_field_instances() {
     'deleted' => 0,
     'description' => '',
     'display' => array(
+      'accueil' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
       'default' => array(
         'label' => 'hidden',
         'module' => 'text',

+ 121 - 27
sites/all/modules/figureslibres/clameursmod/clameursmod.module

@@ -1,21 +1,43 @@
 <?php
 
 
-// function clameursmod_panels_pre_render($panel, &$renderer){
-//   dsm($panel, 'panel');
-//   dsm($renderer, 'renderer');
-//
-//   $node_ctx = $render->display['context'][0]['data'];
-//   dsm($node_ctx, 'node_ctx');
+/**
+ * Implements hook_menu().
+ */
+// function clameursmod_menu() {
+//   $items['accueil'] = array(
+//     'title' => '',
+//     'page callback' => '',
+//     'page arguments' => array(),
+//     'access arguments' => array(''),
+//     'type' => ,
+//     'file' => ,
+//   );
 //
+//   return $items;
 // }
 
+/**
+ * Implements hook_entity_info_alter().
+ */
+function clameursmod_entity_info_alter(&$entity_info) {
+  $entity_info['node']['view modes']['accueil'] = array(
+    'label' => t('Accueil'),
+    'custom settings' => TRUE,
+  );
+}
+
+
 /**
  * Implements hook_block_info().
  */
 function clameursmod_block_info() {
+  $blocks['thematiques'] = array(
+    'info' => t('Clameurs thematiques'),
+    'cache' => DRUPAL_NO_CACHE
+  );
   $blocks['thematiques-anchor-links'] = array(
-    'info' => t('Clameurs thematique anchor links'),
+    'info' => t('Clameurs thematiques anchor links'),
     'cache' => DRUPAL_NO_CACHE
   );
 
@@ -30,21 +52,80 @@ function clameursmod_block_view($delta = '') {
   $block = array();
 
   switch ($delta) {
+    case 'thematiques':
+      $block['subject'] = t('Thématiques');
+      $block['content'] = _clameursmod_thematiques();
+      break;
     case 'thematiques-anchor-links':
-      $block['subject'] = t('Thématique menu');
+      $block['subject'] = t('Thématiques menu');
       $block['content'] = _clameursmod_thematiques_anchor_links();
       break;
   }
   return $block;
 }
 
+
+/**
+ * Implements hook_theme().
+ */
+function clameursmod_theme($existing, $type, $theme, $path) {
+  return array(
+    'thematiques' => array(
+      'render element' => 'element'
+    ),
+    'thematiques_anchor_links' => array(
+      'render element' => 'element'
+    ),
+  );
+}
+
+//   ________                         __  _
+//  /_  __/ /_  ___  ____ ___  ____ _/ /_(_)___ ___  _____  _____
+//   / / / __ \/ _ \/ __ `__ \/ __ `/ __/ / __ `/ / / / _ \/ ___/
+//  / / / / / /  __/ / / / / / /_/ / /_/ / /_/ / /_/ /  __(__  )
+// /_/ /_/ /_/\___/_/ /_/ /_/\__,_/\__/_/\__, /\__,_/\___/____/
+//                                         /_/
+
+function _clameursmod_thematiques(){
+  $query = new EntityFieldQuery();
+  $query
+   ->entityCondition('entity_type', 'node')
+   ->entityCondition('bundle', 'thematique')
+   ->propertyCondition('status', 1)
+   ->fieldOrderBy('field_poid', 'value', 'ASC');
+
+  $result = $query->execute();
+  // dsm($result['node'], "result");
+  $nids = array_keys($result['node']);
+
+  $nodes = array();
+  foreach ($nids as $nid) {
+    $nodes[] = node_load($nid);
+  }
+  return theme('thematiques', array("items"=>$nodes));
+}
+
+
+function theme_thematiques($vars){
+  $nodes = $vars['items'];
+  $view_mode = "accueil";
+  $entity_view = entity_view('node', $nodes, $view_mode);
+  return render($entity_view);
+}
+
+//     ___               __
+//    /   |  ____  _____/ /_  ____  __________
+//   / /| | / __ \/ ___/ __ \/ __ \/ ___/ ___/
+//  / ___ |/ / / / /__/ / / / /_/ / /  (__  )
+// /_/  |_/_/ /_/\___/_/ /_/\____/_/  /____/
+
 function _clameursmod_thematiques_anchor_links(){
   $query = new EntityFieldQuery();
   $query
    ->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'thematique')
-   ->propertyCondition('status', 1);
-  //  ->propertyOrderBy('created', 'DESC');
+   ->propertyCondition('status', 1)
+   ->fieldOrderBy('field_poid', 'value', 'ASC');
 
   $result = $query->execute();
   $nids = array_keys($result['node']);
@@ -52,27 +133,31 @@ function _clameursmod_thematiques_anchor_links(){
   $nodes = [];
   foreach ($nids as $nid) {
     $node = node_load($nid);
+    // dsm($node);
     $alias = drupal_get_path_alias('node/'.$nid);
-    // TODO: get the workflow state ID
+    // get the workflow state ID
+    $current_state = workflow_state_load_single($node->workflow);
+    // dsm($current_state, 'current_state');
+    // $workflow = $current_state->getWorkflow();
+    // dsm($workflow, "workflow");
+    $scheduled_transitions = WorkflowScheduledTransition::load('node', $nid, NULL, 1);
+    $transition = false;
+    if(count($scheduled_transitions)){
+      // dsm($scheduled_transitions, "scheduled_transitions");
+      $transition = $scheduled_transitions[0];
+    }
+
     $nodes[$nid] = array(
       "alias"=>$alias,
-      "title"=>$node->title
+      "title"=>$node->title,
+      "wf_sid"=>$node->workflow,
+      "wf_stamp"=> $transition ? $transition->scheduled : false,
+      "wf_state"=>$current_state->getName(),
     );
   }
   return theme('thematiques_anchor_links', array("items"=>$nodes));
 }
 
-/**
- * Implements hook_theme().
- */
-function clameursmod_theme($existing, $type, $theme, $path) {
-  return array(
-    'thematiques_anchor_links' => array(
-      'render element' => 'element'
-    ),
-  );
-}
-
 function theme_thematiques_anchor_links($vars){
   $list = array(
     'items'=>array(),
@@ -82,13 +167,22 @@ function theme_thematiques_anchor_links($vars){
     )
   );
 
+  $i=0;
   foreach ($vars["items"] as $nid => $val) {
-      // TODO: display the workflow state ID
+    // TODO: display the workflow state ID
     $options = array(
-      "class"=>array("anchor"),
-      "fragment"=>$val['alias']
+      "attributes"=>array(
+        "class"=>array("anchor","pos-".$i, $val['wf_state'], 'node-'.$nid),
+      ),
+      "fragment"=>$val['alias'],
+      "html"=>true,
     );
-    $list['items'][] = l($val['title'], '' , $options);
+    $content = $val['title'];
+    if($val["wf_stamp"]){
+      $content .= "<span>" . format_date($val["wf_stamp"], 'custom', "d M Y") . "</span>";
+    }
+    $list['items'][] = l($content, '' , $options);
+    $i++;
   }
 
   return theme('item_list', $list);