/** * Get exportable metadata values * * @param ElggMetadata $metadata * @return array */ function elgg_tokeninput_export_metadata($metadata) { if ($metadata instanceof ElggMetadata) { $type = $metadata->getType(); $subtype = $metadata->getSubtype(); $tag = $metadata->value; $id = $metadata->id; } else { if (is_string($metadata)) { $type = 'tag'; $subtype = null; $tag = $metadata; $id = null; } else { return array(); } } $export = array('label' => $tag, 'value' => $tag, 'type' => $type, 'subtype' => $subtype, 'html_result' => elgg_view_exists("tokeninput/{$type}/{$subtype}") ? elgg_view("tokeninput/{$type}/{$subtype}", array('tag' => $tag, 'metadata_id' => $id, 'for' => 'result')) : null, 'html_token' => elgg_view_exists("tokeninput/{$type}/{$subtype}") ? elgg_view("tokeninput/{$type}/{$subtype}", array('tag' => $tag, 'metadata_id' => $id, 'for' => 'token')) : null); $export = elgg_trigger_plugin_hook('tokeninput:entity:export', $type, array('tag' => $tag, 'metadata_id' => $id), $export); array_walk_recursive($export, function (&$value) { $value = is_string($value) ? html_entity_decode($value, ENT_QUOTES, 'UTF-8') : $value; }); return $export; }