[ReporterreBridge + KernelBugTrackerBridge + BastaBridge] Use defaultLinkTo() (#1862)

This commit is contained in:
Joseph 2020-11-23 18:49:25 +00:00 committed by GitHub
parent 0755181555
commit 1e75f9d3d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 26 deletions

View file

@ -19,13 +19,11 @@ class BastaBridge extends BridgeAbstract {
$item['title'] = $element->find('title', 0)->innertext; $item['title'] = $element->find('title', 0)->innertext;
$item['uri'] = $element->find('guid', 0)->plaintext; $item['uri'] = $element->find('guid', 0)->plaintext;
$item['timestamp'] = strtotime($element->find('dc:date', 0)->plaintext); $item['timestamp'] = strtotime($element->find('dc:date', 0)->plaintext);
// Replaces all relative image URLs by absolute URLs.
// Relative URLs always start with 'local/'! $html = getSimpleHTMLDOM($item['uri']);
$item['content'] = preg_replace( $html = defaultLinkTo($html, self::URI);
'/src=["\']{1}([^"\']+)/ims',
'src=\'' . self::URI . '$1\'', $item['content'] = $html->find('div.texte', 0)->innertext;
getSimpleHTMLDOM($item['uri'])->find('div.texte', 0)->innertext
);
$this->items[] = $item; $this->items[] = $item;
$limit++; $limit++;
} }

View file

@ -61,6 +61,8 @@ class KernelBugTrackerBridge extends BridgeAbstract {
if($html === false) if($html === false)
returnServerError('Failed to load page!'); returnServerError('Failed to load page!');
$html = defaultLinkTo($html, self::URI);
// Store header information into private members // Store header information into private members
$this->bugid = $html->find('#bugzilla-body', 0)->find('a', 0)->innertext; $this->bugid = $html->find('#bugzilla-body', 0)->find('a', 0)->innertext;
$this->bugdesc = $html->find('table.bugfields', 0)->find('tr', 0)->find('td', 0)->innertext; $this->bugdesc = $html->find('table.bugfields', 0)->find('tr', 0)->find('td', 0)->innertext;
@ -93,7 +95,7 @@ class KernelBugTrackerBridge extends BridgeAbstract {
$item['content'] = str_replace("\n", '<br>', $item['content']); $item['content'] = str_replace("\n", '<br>', $item['content']);
// Fix relative URIs // Fix relative URIs
$item['content'] = $this->replaceRelativeURI($item['content']); $item['content'] = $item['content'];
$this->items[] = $item; $this->items[] = $item;
} }
@ -125,17 +127,6 @@ class KernelBugTrackerBridge extends BridgeAbstract {
} }
} }
/**
* Replaces all relative URIs with absolute ones
*
* @param string $content The source string
* @return string Returns the source string with all relative URIs replaced
* by absolute ones.
*/
private function replaceRelativeURI($content){
return preg_replace('/href="(?!http)/', 'href="' . self::URI . '/', $content);
}
/** /**
* Adds styles as attributes to tags with known classes * Adds styles as attributes to tags with known classes
* *

View file

@ -8,6 +8,7 @@ class ReporterreBridge extends BridgeAbstract {
private function extractContent($url){ private function extractContent($url){
$html2 = getSimpleHTMLDOM($url); $html2 = getSimpleHTMLDOM($url);
$html2 = defaultLinkTo($html2, self::URI);
foreach($html2->find('div[style=text-align:justify]') as $e) { foreach($html2->find('div[style=text-align:justify]') as $e) {
$text = $e->outertext; $text = $e->outertext;
@ -16,13 +17,6 @@ class ReporterreBridge extends BridgeAbstract {
$html2->clear(); $html2->clear();
unset($html2); unset($html2);
// Replace all relative urls with absolute ones
$text = preg_replace(
'/(href|src)(\=[\"\'])(?!http)([^"\']+)/ims',
'$1$2' . self::URI . '$3',
$text
);
$text = strip_tags($text, '<p><br><a><img>'); $text = strip_tags($text, '<p><br><a><img>');
return $text; return $text;
} }