Browse Source

Do a redirect when the post doesn't come from our system but we know where it comes from.

pull/2650/head
Michael Vogel 6 years ago
parent
commit
5341223617
  1. 14
      mod/fetch.php
  2. 14
      mod/p.php

14
mod/fetch.php

@ -20,6 +20,20 @@ function fetch_init($a){
FROM `item` WHERE `wall` AND NOT `private` AND `guid` = '%s' AND `network` IN ('%s', '%s') AND `id` = `parent` LIMIT 1",
dbesc($guid), NETWORK_DFRN, NETWORK_DIASPORA);
if (!$item) {
$r = q("SELECT `author-link`
FROM `item` WHERE `uid` = 0 AND `guid` = '%s' AND `network` IN ('%s', '%s') AND `id` = `parent` LIMIT 1",
dbesc($guid), NETWORK_DFRN, NETWORK_DIASPORA);
if ($r) {
$parts = parse_url($r[0]["author-link"]);
$host = $parts["scheme"]."://".$parts["host"];
$location = $host."/fetch/".$a->argv[1]."/".$guid;
header("HTTP/1.1 301 Moved Permanently");
header("Location:".$location);
killme();
}
header($_SERVER["SERVER_PROTOCOL"].' 404 '.t('Not Found'));
killme();
}

14
mod/p.php

@ -24,6 +24,20 @@ function p_init($a){
FROM `item` WHERE `wall` AND NOT `private` AND `guid` = '%s' AND `network` IN ('%s', '%s') AND `id` = `parent` LIMIT 1",
dbesc($guid), NETWORK_DFRN, NETWORK_DIASPORA);
if (!$item) {
$r = q("SELECT `author-link`
FROM `item` WHERE `uid` = 0 AND `guid` = '%s' AND `network` IN ('%s', '%s') AND `id` = `parent` LIMIT 1",
dbesc($guid), NETWORK_DFRN, NETWORK_DIASPORA);
if ($r) {
$parts = parse_url($r[0]["author-link"]);
$host = $parts["scheme"]."://".$parts["host"];
$location = $host."/p/".$guid.".xml";
header("HTTP/1.1 301 Moved Permanently");
header("Location:".$location);
killme();
}
header($_SERVER["SERVER_PROTOCOL"].' 404 '.t('Not Found'));
killme();
}

Loading…
Cancel
Save