iPédiatre
 Tout Classes Fichiers Fonctions Variables
iPArticlePublishedType.php
Aller à la documentation de ce fichier.
1 <?php
14 {
15  const WORKFLOW_TYPE_STRING = "ipediatrearticlepublished";
16 
17  public function __construct()
18  {
19  parent::__construct(
21  'Push an article to top list'
22  );
23  }
24 
25  public function execute( $process, $event )
26  {
27  $parameters = $process->attribute('parameter_list');
28  $ObjectID = $parameters['object_id'];
29  $article = eZContentObject::fetch($ObjectID);
30  $UserNodeID = eZUser::currentUser()->contentObject()->mainNodeID();
31  $UserNode = eZUser::currentUser()->contentObject()->mainNode();
32  $NodeID = $article->mainNodeID();
33  $ParentNodeID = $article->mainParentNodeID();
34  $children = $UserNode->children();
35 
40  if ($article->attribute( 'current_version' ) != 1) {
41  return eZWorkflowType::STATUS_ACCEPTED;
42  }
43 
44  // On décale les priorités de 1 sur le droite pour laisser la place au nouveau noeud (de priorité 0)
45  $priorityArray = array_map(function($n){return $n+1;}, array_keys($children));
46  $priorityIDArray = array_map(function($n){return $n->attribute('node_id');}, array_values($children));
47  eZContentOperationCollection::updatePriority($UserNodeID, $priorityArray, $priorityIDArray);
48  eZContentCacheManager::clearContentCacheIfNeeded(eZUser::currentUser()->contentObject()->attribute('id') );
49 
50  $article = eZContentObject::fetch($ObjectID);
51 
52  $x = $article->mainNode();
53  $x->setAttribute('priority', 0);
54  $x->store();
55 
56  return eZWorkflowType::STATUS_ACCEPTED;
57  }
58 }