| 
					
				 | 
			
			
				@@ -8,6 +8,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # @License: GPL-V3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Drupal\Core\Entity\EntityInterface; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use Drupal\Core\Entity\Display\EntityViewDisplayInterface; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Implements hook_theme(). 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -28,7 +29,6 @@ function edlp_corpus_theme($existing, $type, $theme, $path) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * hook_entity_extra_field_info() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function edlp_corpus_entity_extra_field_info(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $extra = []; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -45,7 +45,7 @@ function edlp_corpus_entity_extra_field_info(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Implements hook_ENTITY_TYPE_view(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @see https://www.amazeelabs.com/en/render-menu-tree-custom-code-drupal-8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function edlp_corpus_taxonomy_term_view(array &$build, \Drupal\Core\Entity\EntityInterface $entity, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display, $view_mode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function edlp_corpus_taxonomy_term_view(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $index_display_settings = $display->getComponent('index'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!empty($index_display_settings)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // dpm($entity); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -140,58 +140,47 @@ function edlp_corpus_page_attachments(array &$attachments) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function edlp_corpus_invalidate_corpus_cache(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  \Drupal::service('cache_tags.invalidator')->invalidateTags(['rebuild-corpus-cache']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function _edlp_corpus_invalidate_corpus_cache($node){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if($node->getType() == 'enregistrement'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $sid = WorkflowManager::getCurrentStateId($node, 'field_workflow'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if($sid == 'corpus_documents_publie'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      \Drupal::service('cache_tags.invalidator')->invalidateTags(['rebuild-corpus-cache']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Acts when creating a new entity of a specific type. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * This hook runs after a new entity object has just been instantiated. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @param \Drupal\Core\Entity\EntityInterface $entity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  *   The entity object. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @ingroup entity_crud 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @see hook_entity_create() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function edlp_corpus_node_create(EntityInterface $node) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if($node->getType() == 'enregistrement'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    edlp_corpus_invalidate_corpus_cache(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  _edlp_corpus_invalidate_corpus_cache($node); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Respond to updates to an entity of a particular type. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * This hook runs once the entity storage has been updated. Note that hook 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * implementations may not alter the stored entity data. Get the original entity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * object from $entity->original. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @param \Drupal\Core\Entity\EntityInterface $entity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  *   The entity object. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @ingroup entity_crud 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @see hook_entity_update() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function edlp_corpus_node_update(EntityInterface $node) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if($node->getType() == 'enregistrement'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    edlp_corpus_invalidate_corpus_cache(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  _edlp_corpus_invalidate_corpus_cache(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Respond to entity deletion. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * This hook runs once the entity has been deleted from the storage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @param \Drupal\Core\Entity\EntityInterface $entity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  *   The entity object for the entity that has been deleted. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @ingroup entity_crud 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @see hook_ENTITY_TYPE_delete() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function edlp_corpus_node_delete(EntityInterface $node) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if($node->getType() == 'enregistrement'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    edlp_corpus_invalidate_corpus_cache(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  _edlp_corpus_invalidate_corpus_cache(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |