aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorben <ben@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-07-15 14:25:33 +0000
committerben <ben@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-07-15 14:25:33 +0000
commite1a797c36b4a9ebf90f08d1a7cf81cacbdb0a4f0 (patch)
treeb20267d977702926a0b501349d7655901fe1a68c
parentc46cadcc8264e5ded6e335a337e0312fee42da3c (diff)
downloadelgg-e1a797c36b4a9ebf90f08d1a7cf81cacbdb0a4f0.tar.gz
elgg-e1a797c36b4a9ebf90f08d1a7cf81cacbdb0a4f0.tar.bz2
You can now override entity URLs with the setURL($string) method.
git-svn-id: https://code.elgg.org/elgg/trunk@1427 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r--engine/lib/entities.php25
1 files changed, 22 insertions, 3 deletions
diff --git a/engine/lib/entities.php b/engine/lib/entities.php
index ff997810c..720597a83 100644
--- a/engine/lib/entities.php
+++ b/engine/lib/entities.php
@@ -39,7 +39,12 @@
* Any field not appearing in this will be viewed as a
*/
protected $attributes;
-
+
+ /**
+ * If set, overrides the value of getURL()
+ */
+ protected $url_override;
+
/**
* Temporary cache for metadata, permitting meta data access before a guid has obtained.
*/
@@ -437,7 +442,21 @@
*
* @return string The URL
*/
- public function getURL() { return get_entity_url($this->getGUID()); }
+ public function getURL() {
+ if (!empty($this->url_override)) return $this->url_override;
+ return get_entity_url($this->getGUID());
+ }
+
+ /**
+ * Overrides the URL returned by getURL
+ *
+ * @param string $url The new item URL
+ * @return string The URL
+ */
+ public function setURL($url) {
+ $this->url_override = $url;
+ return $url;
+ }
/**
* Tests to see whether the object has been fully loaded.
@@ -1450,7 +1469,7 @@
global $CONFIG;
if ($entity = get_entity($entity_guid)) {
- $url = "";
+ $url = "";
if (isset($CONFIG->entity_url_handler[$entity->getType()][$entity->getSubType()])) {
$function = $CONFIG->entity_url_handler[$entity->getType()][$entity->getSubType()];