aboutsummaryrefslogtreecommitdiff
path: root/mod/categories/views/default/input/categories.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/categories/views/default/input/categories.php')
-rw-r--r--mod/categories/views/default/input/categories.php56
1 files changed, 56 insertions, 0 deletions
diff --git a/mod/categories/views/default/input/categories.php b/mod/categories/views/default/input/categories.php
new file mode 100644
index 000000000..b543cde45
--- /dev/null
+++ b/mod/categories/views/default/input/categories.php
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Categories input view
+ *
+ * @package ElggCategories
+ *
+ * @uses $vars['entity'] The entity being edited or created
+ */
+
+if (isset($vars['entity']) && $vars['entity'] instanceof ElggEntity) {
+ $selected_categories = $vars['entity']->universal_categories;
+}
+
+// use sticky values if set
+if (isset($vars['universal_categories_list'])) {
+ $selected_categories = $vars['universal_categories_list'];
+}
+
+$categories = elgg_get_site_entity()->categories;
+if (empty($categories)) {
+ $categories = array();
+}
+if (empty($selected_categories)) {
+ $selected_categories = array();
+}
+
+if (!empty($categories)) {
+ if (!is_array($categories)) {
+ $categories = array($categories);
+ }
+
+ // checkboxes want Label => value, so in our case we need category => category
+ $categories = array_flip($categories);
+ array_walk($categories, create_function('&$v, $k', '$v = $k;'));
+
+ ?>
+
+<div class="categories">
+ <label><?php echo elgg_echo('categories'); ?></label><br />
+ <?php
+ echo elgg_view('input/checkboxes', array(
+ 'options' => $categories,
+ 'value' => $selected_categories,
+ 'name' => 'universal_categories_list',
+ 'align' => 'horizontal',
+ ));
+
+ ?>
+ <input type="hidden" name="universal_category_marker" value="on" />
+</div>
+
+ <?php
+
+} else {
+ echo '<input type="hidden" name="universal_category_marker" value="on" />';
+}