danielebarchiesi@4: $entity) { danielebarchiesi@4: foreach ($entity['bundles'] as $bundle_name => $bundle) { danielebarchiesi@4: $bundles[$entity_type . '-' . $bundle_name] = $entity['label'] . ': ' . $bundle['label']; danielebarchiesi@4: } danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: return $bundles; danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Implementation of hook_features_export_render(). danielebarchiesi@4: * danielebarchiesi@4: * Renders a set of components to code as a defaults hook. danielebarchiesi@4: */ danielebarchiesi@4: function schemaorg_features_export_render($module, $data, $export = NULL) { danielebarchiesi@4: $code = array(); danielebarchiesi@4: $code[] = ' $schemaorg = array();'; danielebarchiesi@4: $code[] = ''; danielebarchiesi@4: danielebarchiesi@4: foreach ($data as $key => $entity_type_bundle) { danielebarchiesi@4: if (is_array($entity_type_bundle)) { danielebarchiesi@4: $entity_type_bundle = $key; danielebarchiesi@4: } danielebarchiesi@4: $parts = explode('-', $entity_type_bundle); danielebarchiesi@4: $entity_type = $parts[0]; danielebarchiesi@4: $bundle_name = $parts[1]; danielebarchiesi@4: if ($rdf_mapping = rdf_mapping_load($entity_type, $bundle_name)) { danielebarchiesi@4: $rdf_mapping_export = features_var_export($rdf_mapping, ' '); danielebarchiesi@4: $rdf_bundle = features_var_export($bundle_name); danielebarchiesi@4: $rdf_entity_type = features_var_export($entity_type); danielebarchiesi@4: $code[] = " // Exported RDF mapping: {$bundle_name}"; danielebarchiesi@4: $code[] = " \$schemaorg[$rdf_entity_type][$rdf_bundle] = $rdf_mapping_export;"; danielebarchiesi@4: $code[] = ""; danielebarchiesi@4: } danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: $code[] = ' return $schemaorg;'; danielebarchiesi@4: $code = implode("\n", $code); danielebarchiesi@4: return array('rdf_default_mappings' => $code); danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Implementation of hook_features_revert(). danielebarchiesi@4: * danielebarchiesi@4: * Reverts components of a feature back to their default state. danielebarchiesi@4: */ danielebarchiesi@4: function schemaorg_features_revert($module) { danielebarchiesi@4: return schemaorg_features_rebuild($module); danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Implementation of hook_features_rebuild(). danielebarchiesi@4: * danielebarchiesi@4: * Updates faux-exportable components back to their default state. danielebarchiesi@4: */ danielebarchiesi@4: function schemaorg_features_rebuild($module) { danielebarchiesi@4: if ($defaults = features_get_default('schemaorg', $module)) { danielebarchiesi@4: foreach ($defaults as $entity_type => $bundles) { danielebarchiesi@4: foreach ($bundles as $bundle => $mapping) { danielebarchiesi@4: rdf_mapping_save(array( danielebarchiesi@4: 'type' => $entity_type, danielebarchiesi@4: 'bundle' => $bundle, danielebarchiesi@4: 'mapping' => $mapping, danielebarchiesi@4: )); danielebarchiesi@4: } danielebarchiesi@4: } danielebarchiesi@4: } danielebarchiesi@4: }