Merge pull request #5963 from MrPetovan/bug/5956-catch-more-diaspora-magic-links
Diaspora: Widen the magic link regular expression
This commit is contained in:
commit
45156652cc
5 changed files with 74 additions and 2 deletions
|
@ -1319,7 +1319,7 @@ class BBCode extends BaseObject
|
|||
|
||||
// Handle Diaspora posts
|
||||
$text = preg_replace_callback(
|
||||
"&\[url=/posts/([^\[\]]*)\](.*)\[\/url\]&Usi",
|
||||
"&\[url=/?posts/([^\[\]]*)\](.*)\[\/url\]&Usi",
|
||||
function ($match) {
|
||||
return "[url=" . System::baseUrl() . "/display/" . $match[1] . "]" . $match[2] . "[/url]";
|
||||
}, $text
|
||||
|
|
|
@ -26,6 +26,11 @@ class Conversation
|
|||
const PARCEL_TWITTER = 67;
|
||||
const PARCEL_UNKNOWN = 255;
|
||||
|
||||
public static function getByItemUri($item_uri)
|
||||
{
|
||||
return DBA::selectFirst('conversation', [], ['item-uri' => $item_uri]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Store the conversation data
|
||||
*
|
||||
|
|
39
src/Module/Itemsource.php
Normal file
39
src/Module/Itemsource.php
Normal file
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
namespace Friendica\Module;
|
||||
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Model;
|
||||
|
||||
/**
|
||||
* @author Hypolite Petovan <mrpetovan@gmail.com>
|
||||
*/
|
||||
class Itemsource extends \Friendica\BaseModule
|
||||
{
|
||||
public static function content()
|
||||
{
|
||||
if (!is_site_admin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$source = '';
|
||||
$item_uri = '';
|
||||
if (!empty($_REQUEST['guid'])) {
|
||||
$item = Model\Item::selectFirst([], ['guid' => $_REQUEST['guid']]);
|
||||
|
||||
$conversation = Model\Conversation::getByItemUri($item['uri']);
|
||||
|
||||
$item_uri = $item['uri'];
|
||||
$source = htmlspecialchars($conversation['source']);
|
||||
}
|
||||
|
||||
$tpl = get_markup_template('debug/itemsource.tpl');
|
||||
$o = replace_macros($tpl, [
|
||||
'$guid' => ['guid', L10n::t('Item Guid'), htmlentities(defaults($_REQUEST, 'guid', '')), ''],
|
||||
'$source' => $source,
|
||||
'$item_uri' => $item_uri
|
||||
]);
|
||||
|
||||
return $o;
|
||||
}
|
||||
}
|
|
@ -1200,7 +1200,7 @@ class Diaspora
|
|||
);
|
||||
|
||||
preg_replace_callback(
|
||||
"&\[url=/posts/([^\[\]]*)\](.*)\[\/url\]&Usi",
|
||||
"&\[url=/?posts/([^\[\]]*)\](.*)\[\/url\]&Usi",
|
||||
function ($match) use ($item) {
|
||||
self::fetchGuidSub($match, $item);
|
||||
},
|
||||
|
|
28
view/templates/debug/itemsource.tpl
Normal file
28
view/templates/debug/itemsource.tpl
Normal file
|
@ -0,0 +1,28 @@
|
|||
<h2>Item Source</h2>
|
||||
<form action="itemsource" method="get" class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
{{include file="field_input.tpl" field=$guid}}
|
||||
</div>
|
||||
<p><button type="submit" class="btn btn-primary">Submit</button></p>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{{if $source}}
|
||||
<div class="itemsource-results">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">Item URI</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{{$item_uri}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">Source</h3>
|
||||
</div>
|
||||
<pre><code class="language-php">{{$source}}</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
Loading…
Reference in a new issue