public function handleEntity(array &$metadata = array()) { $sitemap = xmlsitemap_link_load($this->original_entity->type(), $this->original_entity->id()); if ($sitemap) { $resolver = new Resolver($this->original_entity, false); $resolver->resolveDependencies(false, $sitemap, false, 'xmlsitemap'); $metadata['sitemap_definition'] = $resolver->resolvedDefinition(); } }
public function handleEntity(array &$metadata = array()) { $metadata['webform_validation']['processed'] = true; $metadata['webform_validation']['rules'] = array(); $validation = webform_validation_get_node_rules($this->original_entity->id()); if ($validation) { $resolver = new Resolver($this->original_entity, false); $resolver->resolveDependencies(false, $validation, false, 'webform_validation'); $metadata['webform_validation']['rules'] = $resolver->resolvedDefinition(); } }
public function singleDiff($old_revision, Entity $new_revision) { // Get rid of extra indexes. if ($old_revision !== null) { $old_revision->cleanLoad(); $new_revision->cleanLoad(); } else { $new_revision->cleanNew(); } // Run the entities through the resolver. if ($old_revision !== null) { $old_revision = clone $old_revision->definition; } $new_resolver = new Resolver($new_revision, false); $new_revision_object = clone $new_revision->definition; if ($old_revision !== null) { $old_revision_array = (array) $old_revision; } else { $old_revision_array = array(); } $new_revision_array = (array) $new_revision_object; $additions = drupal_array_diff_assoc_recursive($new_revision_array, $old_revision_array); $deletions = $this->findToDelete($new_revision_array, $old_revision_array); // Pull in properties that don't support revisions on the node. $this->preserveUnchangingProperties($new_revision, $additions); // Resolve the additions. $new_resolver->resolveDependencies(false, $additions); $additions = $new_resolver->resolvedDefinition(); return array('additions' => $additions, 'deletions' => $deletions); }