forked from mirror/pixelfed
commit
f7aeb8f433
3 changed files with 40 additions and 2 deletions
|
@ -220,7 +220,7 @@ class Helpers {
|
||||||
$id = (int) last(explode('/', $url));
|
$id = (int) last(explode('/', $url));
|
||||||
return Status::findOrFail($id);
|
return Status::findOrFail($id);
|
||||||
} else {
|
} else {
|
||||||
$cached = Status::whereUri($url)->orWhere('url', $url)->first();
|
$cached = Status::whereUri($url)->orWhere('object_url', $url)->first();
|
||||||
if($cached) {
|
if($cached) {
|
||||||
return $cached;
|
return $cached;
|
||||||
}
|
}
|
||||||
|
@ -317,6 +317,7 @@ class Helpers {
|
||||||
$status->profile_id = $profile->id;
|
$status->profile_id = $profile->id;
|
||||||
$status->url = isset($res['url']) ? $res['url'] : $url;
|
$status->url = isset($res['url']) ? $res['url'] : $url;
|
||||||
$status->uri = isset($res['url']) ? $res['url'] : $url;
|
$status->uri = isset($res['url']) ? $res['url'] : $url;
|
||||||
|
$status->object_url = isset($res['id']) ? $res['id'] : $url;
|
||||||
$status->caption = strip_tags($res['content']);
|
$status->caption = strip_tags($res['content']);
|
||||||
$status->rendered = Purify::clean($res['content']);
|
$status->rendered = Purify::clean($res['content']);
|
||||||
$status->created_at = Carbon::parse($ts);
|
$status->created_at = Carbon::parse($ts);
|
||||||
|
|
|
@ -326,7 +326,7 @@ class Inbox
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'Tombstone':
|
case 'Tombstone':
|
||||||
$status = Status::whereUri($id)->first();
|
$status = Status::whereUri($id)->orWhere('object_url', $id)->first();
|
||||||
if(!$status) {
|
if(!$status) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
class AddObjectIdToStatusesTable extends Migration
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
DB::getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::table('statuses', function (Blueprint $table) {
|
||||||
|
$table->string('object_url')->nullable()->unique()->index();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::table('statuses', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('object_url');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue