iPédiatre
 Tout Classes Fichiers Fonctions Variables
iPUnpublishActionHandler.php
Aller à la documentation de ce fichier.
1 <?php
3 {
4  public function handle(&$module, &$http, &$objectID)
5  {
6  $UserNodeID = eZUser::currentUser()->contentObject()->mainNodeID();
7  $article = eZContentObject::fetch( $objectID );
8  $nodes = $article->assignedNodes();
9  $ParentNodeID = $article->mainParentNodeID();
10  $NodeID = $article->mainNodeID();
11 
12  if ($ParentNodeID == $UserNodeID ) {
13 
14  eZContentOperationCollection::changeHideStatus( $NodeID );
15  eZDebug::writeNotice("l'article $objectID a été dépublié par son propriétaire");
16 
17  } else {
18 
19  // noeuds à supprimer
20  $to_remove_nodes = array_filter( $nodes, function($node) use($UserNodeID){ return ( $node->attribute('parent_node_id') == $UserNodeID ); } );
21 
22  // identifiants des noeuds à supprimer
23  $to_remove_nodes_id = array_map( function($node) { return (int) $node->attribute('node_id'); }, $to_remove_nodes );
24 
25  eZContentOperationCollection::removeNodes( $to_remove_nodes_id );
26  eZDebug::writeNotice("l'article $objectID a été dépublié par un pédiatre");
27 
28  }
29  }
30 }