* @uses $vars['multiple'] If set to true, input type will be set to checkbox, otherwise radio * @uses $vars['required'] For now, this will be ignored as HTML spec does not provide clear guidelines */ namespace hypeJunction\Categories; elgg_load_js('categories.tree.js'); elgg_push_context('categories-input'); $entity = elgg_extract('entity', $vars, false); $name = 'categories'; if (isset($vars['name_override'])) { $name = elgg_extract('name_override', $vars); } $multiple = elgg_extract('multiple', $vars, HYPECATEGORIES_INPUT_MULTIPLE); $required = elgg_extract('required', $vars, true); $value = elgg_extract('value', $vars, false); if (elgg_instanceof($entity)) { $value = get_entity_categories($entity->guid, array(), true); } $page_owner = elgg_get_page_owner_entity(); if (!elgg_instanceof($page_owner, 'group') || !HYPECATEGORIES_GROUP_CATEGORIES) { $page_owner = elgg_get_site_entity(); } /*echo elgg_view('input/hidden', array( 'name' => "{$name}", 'value' => true, 'required' => $required ));*/ echo '<div class="categories-input">'; echo elgg_view_menu('categories', array('entity' => $page_owner, 'sort_by' => 'priority', 'input' => array('name' => $name, 'value' => $value, 'multiple' => $multiple))); echo '</div>'; elgg_pop_context();
<?php /** * Categories * * @uses $vars['value'] Array of category GUIDs * @uses $vars['type'] The entity type, optional * @uses $vars['subtype'] The entity subtype, optional * @uses $vars['entity'] Optional. Entity whose categories are being displayed * @uses $vars['list_class'] Optional. Additional classes to be passed to <ul> element * @uses $vars['item_class'] Optional. Additional classes to be passed to <li> elements */ namespace hypeJunction\Categories; if (isset($vars['entity'])) { $vars['categories'] = get_entity_categories($vars['entity']->guid); unset($vars['entity']); } if (!empty($vars['type'])) { $type = "&type=" . rawurlencode($vars['type']); } else { $type = ""; } if (!empty($vars['subtype'])) { $subtype = "&subtype=" . rawurlencode($vars['subtype']); } else { $subtype = ""; } if (empty($vars['categories']) && !empty($vars['value'])) { if (!is_array($vars['value'])) { $vars['value'] = string_to_tag_array($vars['value']);