From bed0dcccc88bd417876abd5238883b2b1cd5aafc Mon Sep 17 00:00:00 2001 From: vincent-peugnet Date: Wed, 9 Jan 2019 01:01:47 +0100 Subject: target blank internal or external option admin --- app/class/modelrender.php | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'app/class/modelrender.php') diff --git a/app/class/modelrender.php b/app/class/modelrender.php index 259ce1b..a6ed98b 100644 --- a/app/class/modelrender.php +++ b/app/class/modelrender.php @@ -7,6 +7,8 @@ class Modelrender extends Modelart protected $artlist; protected $linkfrom = []; protected $sum = []; + protected $internallinkblank = ''; + protected $externallinkblank = ''; const SUMMARY = '%SUMMARY%'; const REMPLACE_SELF_ELEMENT = false; @@ -18,6 +20,14 @@ class Modelrender extends Modelart $this->router = $router; $this->artlist = $this->getlister(); + + if(Config::internallinkblank()) { + $this->internallinkblank = ' target="blank" '; + } + + if(Config::externallinkblank()) { + $this->externallinkblank = ' target="blank" '; + } } public function uart($id) @@ -255,7 +265,7 @@ class Modelrender extends Modelart public function autourl($text) { - $text = preg_replace('#( |\R|>)(https?:\/\/((\S+)\.([^< ]+)))#', '$1$3', $text); + $text = preg_replace('#( |\R|>)(https?:\/\/((\S+)\.([^< ]+)))#', '$1externallinkblank .'>$3', $text); return $text; } @@ -268,11 +278,12 @@ class Modelrender extends Modelart function ($matches) use ($rend, &$linkfrom) { $matchart = $rend->get($matches[1]); if (!$matchart) { - return 'href="' . $rend->uart($matches[1]) . '"" title="' . Config::existnot() . '" class="internal"'; + $link = 'href="' . $rend->uart($matches[1]) . '"" title="' . Config::existnot() . '" class="internal"' . $this->internallinkblank; } else { $linkfrom[] = $matchart->id(); - return 'href="' . $rend->uart($matches[1]) . $matches[2] . '" title="' . $matchart->description() . '" class="internal"'; + $link = 'href="' . $rend->uart($matches[1]) . $matches[2] . '" title="' . $matchart->description() . '" class="internal"' . $this->internallinkblank; } + return $link; }, $text ); @@ -289,10 +300,10 @@ class Modelrender extends Modelart function ($matches) use ($rend, &$linkfrom) { $matchart = $rend->get($matches[1]); if (!$matchart) { - return '' . $matches[1] . ''; + return 'internallinkblank .' >' . $matches[1] . ''; } else { $linkfrom[] = $matchart->id(); - return '' . $matchart->title() . ''; + return 'internallinkblank .' >' . $matchart->title() . ''; } }, $text @@ -457,7 +468,7 @@ class Modelrender extends Modelart } else { $actual = ''; } - $ul .= '
  • ' . $item->title() . '
  • ' . PHP_EOL; + $ul .= '
  • internallinkblank .' >' . $item->title() . '
  • ' . PHP_EOL; } $ul .= '' . PHP_EOL; -- cgit v1.2.3