]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
redirect to original URL or URI for remote notices
authorEvan Prodromou <evan@controlyourself.ca>
Thu, 19 Mar 2009 15:36:24 +0000 (11:36 -0400)
committerEvan Prodromou <evan@controlyourself.ca>
Thu, 19 Mar 2009 15:38:25 +0000 (11:38 -0400)
actions/shownotice.php

index d5f35cd84bc9ddc08dee6c590a23e6a8f8855e68..ccae49bb3e4a59e13c526117962ec130cd7ced4b 100644 (file)
@@ -177,10 +177,17 @@ class ShownoticeAction extends Action
     {
         parent::handle($args);
 
-        $this->showPage();
+        if ($this->notice->is_local == 0) {
+            if (!empty($this->notice->url)) {
+                common_redirect($this->notice->url, 301);
+            } else if (!empty($this->notice->uri) && preg_match('/^https?:/', $this->notice->uri)) {
+                common_redirect($this->notice->uri, 301);
+            }
+        } else {
+            $this->showPage();
+        }
     }
 
-
     /**
      * Don't show local navigation
      *
@@ -191,7 +198,6 @@ class ShownoticeAction extends Action
     {
     }
 
-
     /**
      * Fill the content area of the page
      *
@@ -208,8 +214,6 @@ class ShownoticeAction extends Action
         $this->elementEnd('ul');
     }
 
-
-
     /**
      * Don't show page notice
      *
@@ -220,7 +224,6 @@ class ShownoticeAction extends Action
     {
     }
 
-
     /**
      * Don't show aside
      *
@@ -230,7 +233,6 @@ class ShownoticeAction extends Action
     function showAside() {
     }
 
-
     /**
      * Extra <head> content
      *