Пример #1
0
 public function removeObject(eZContentObject $contentObject)
 {
     $contentObject->purge();
 }
Пример #2
0
 public function remove()
 {
     $this->object->removeThis();
     $this->object->purge();
 }
Пример #3
0
 /**
  * Removes content object
  *
  * @param eZContentObject $object
  * @return bool true if object was removed, otherwise false
  */
 public function removeObject(eZContentObject $object)
 {
     $objectName = $object->attribute('name');
     $this->debug('Removing "' . $objectName . '" object (class: ' . $object->attribute('class_name') . ') with remote ID ' . $object->attribute('remote_id'));
     $this->db->begin();
     $object->resetDataMap();
     eZContentObject::clearCache($object->attribute('id'));
     if (is_null($object->attribute('main_node'))) {
         $object->purge();
         $this->db->commit();
         $this->debug('[Removed] "' . $objectName . '"');
         return true;
     } else {
         $removeNodeIDs = array($object->attribute('main_node')->attribute('node_id'));
         $nodeAssigments = eZNodeAssignment::fetchForObject($object->attribute('id'));
         foreach ($nodeAssigments as $assigment) {
             $node = $assigment->attribute('node');
             if ($node instanceof eZContentObjectTreeNode) {
                 $removeNodeIDs[] = $node->attribute('node_id');
             }
         }
         $removeNodeIDs = array_unique($removeNodeIDs);
         $info = eZContentObjectTreeNode::subtreeRemovalInformation($removeNodeIDs);
         foreach ($info['delete_list'] as $deleteItem) {
             $node = $deleteItem['node'];
             if ($node === null) {
                 continue;
             }
             if ($deleteItem['can_remove']) {
                 eZContentObjectTreeNode::removeSubtrees(array($node->attribute('node_id')), false);
                 $this->debug('[Removed] "' . $objectName . '", Node ID: ' . $node->attribute('node_id'), array('red'));
             }
         }
         $this->db->commit();
     }
     return false;
 }