aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-06-09 22:15:56 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-06-09 22:15:56 +0000
commit6fbacea7340b0739c23be0a7d073782c64eee78d (patch)
tree46d15a9ef94965d50e26d1f16a973654b138f353
parent0fc684c3d5f34945224e1ef6d6c38939bbc1eece (diff)
downloadelgg-6fbacea7340b0739c23be0a7d073782c64eee78d.tar.gz
elgg-6fbacea7340b0739c23be0a7d073782c64eee78d.tar.bz2
Fixes #3489 added input/output views for tag and location
git-svn-id: http://code.elgg.org/elgg/trunk@9163 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r--engine/lib/users.php4
-rw-r--r--views/default/input/location.php21
-rw-r--r--views/default/input/tag.php17
-rw-r--r--views/default/output/location.php14
-rw-r--r--views/default/output/tag.php30
-rw-r--r--views/default/output/tags.php2
6 files changed, 85 insertions, 3 deletions
diff --git a/engine/lib/users.php b/engine/lib/users.php
index a7765a5e5..832bcd529 100644
--- a/engine/lib/users.php
+++ b/engine/lib/users.php
@@ -1345,7 +1345,7 @@ function elgg_profile_fields_setup() {
$profile_defaults = array (
'description' => 'longtext',
'briefdescription' => 'text',
- 'location' => 'tags',
+ 'location' => 'location',
'interests' => 'tags',
'skills' => 'tags',
'contactemail' => 'email',
@@ -1379,7 +1379,7 @@ function elgg_profile_fields_setup() {
// register any tag metadata names
foreach ($CONFIG->profile_fields as $name => $type) {
- if ($type == 'tags') {
+ if ($type == 'tags' || $type == 'location' || $type == 'tag') {
elgg_register_tag_metadata_name($name);
// register a tag name translation
add_translation(get_current_language(), array("tag_names:$name" => elgg_echo("profile:$name")));
diff --git a/views/default/input/location.php b/views/default/input/location.php
new file mode 100644
index 000000000..d7ae2bbbd
--- /dev/null
+++ b/views/default/input/location.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Location input field
+ *
+ * @uses $vars['entity'] The ElggEntity that has a location
+ * @uses $vars['value'] The default value for the location
+ */
+
+$defaults = array(
+ 'class' => 'elgg-input-location',
+ 'disabled' => FALSE,
+);
+
+if (isset($vars['entity'])) {
+ $defaults['value'] = $vars['entity']->location;
+ unset($vars['entity']);
+}
+
+$vars = array_merge($defaults, $vars);
+
+echo elgg_view('input/tag', $vars);
diff --git a/views/default/input/tag.php b/views/default/input/tag.php
new file mode 100644
index 000000000..a78ec3163
--- /dev/null
+++ b/views/default/input/tag.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Elgg tag input
+ *
+ * Accepts a single tag value
+ *
+ * @uses $vars['value'] The default value for the tag
+ */
+
+$defaults = array(
+ 'class' => 'elgg-input-tag',
+ 'disabled' => FALSE,
+);
+
+$vars = array_merge($defaults, $vars);
+
+echo elgg_view('input/text', $vars); \ No newline at end of file
diff --git a/views/default/output/location.php b/views/default/output/location.php
new file mode 100644
index 000000000..e3619d2e1
--- /dev/null
+++ b/views/default/output/location.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Display a location
+ *
+ * @uses $vars['entity'] The ElggEntity that has a location
+ * @uses $vars['value'] The location string if the entity is not passed
+ */
+
+if (isset($vars['entity'])) {
+ $vars['value'] = $vars['entity']->location;
+ unset($vars['entity']);
+}
+
+echo elgg_view('output/tag', $vars);
diff --git a/views/default/output/tag.php b/views/default/output/tag.php
new file mode 100644
index 000000000..abae9c4b2
--- /dev/null
+++ b/views/default/output/tag.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Elgg single tag output
+ *
+ * @uses $vars['value'] String
+ * @uses $vars['type'] The entity type, optional
+ * @uses $vars['subtype'] The entity subtype, optional
+ *
+ */
+
+if (!empty($vars['subtype'])) {
+ $subtype = "&subtype=" . urlencode($vars['subtype']);
+} else {
+ $subtype = "";
+}
+if (!empty($vars['object'])) {
+ $object = "&object=" . urlencode($vars['object']);
+} else {
+ $object = "";
+}
+
+if (isset($vars['value'])) {
+ if (!empty($vars['type'])) {
+ $type = "&type={$vars['type']}";
+ } else {
+ $type = "";
+ }
+ $url = elgg_get_site_url() . 'search?q=' . urlencode($vars['value']) . "&search_type=tags{$type}{$subtype}{$object}";
+ echo elgg_view('output/url', array('href' => $url, 'text' => $vars['value'], 'rel' => 'tag'));
+}
diff --git a/views/default/output/tags.php b/views/default/output/tags.php
index 57cb21ea7..6dedfacc7 100644
--- a/views/default/output/tags.php
+++ b/views/default/output/tags.php
@@ -10,7 +10,7 @@
*/
if (isset($vars['entity'])) {
- $defaults['value'] = $vars['entity']->tags;
+ $vars['tags'] = $vars['entity']->tags;
unset($vars['entity']);
}