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/art2.php | 2 +- app/class/config.php | 73 ++++++++++----------------------------- app/class/modelrender.php | 23 ++++++++---- app/view/templates/admin.php | 22 ++++++++---- app/view/templates/edittopbar.php | 2 +- app/view/templates/homeopt.php | 3 +- 6 files changed, 54 insertions(+), 71 deletions(-) (limited to 'app') diff --git a/app/class/art2.php b/app/class/art2.php index 474531b..b4c0ff3 100644 --- a/app/class/art2.php +++ b/app/class/art2.php @@ -41,7 +41,7 @@ class Art2 const LEN = 255; - const LENTEXT = 20000; + const LENTEXT = 2**20; const SECUREMAX = 2; const LENCOULEUR = 7; const DEBUT = '(?id='; diff --git a/app/class/config.php b/app/class/config.php index f9ed8fd..c90f080 100644 --- a/app/class/config.php +++ b/app/class/config.php @@ -5,11 +5,6 @@ abstract class Config { protected static $arttable = 'mystore'; - protected static $domain; - protected static $admin; - protected static $editor = 'editor'; - protected static $invite; - protected static $read; protected static $color4; protected static $fontsize = 15; protected static $basepath = ''; @@ -21,6 +16,8 @@ abstract class Config protected static $showeditmenu = true; protected static $editsymbol = 'pen'; protected static $analytics = ''; + protected static $externallinkblank = true; + protected static $internallinkblank = false; @@ -83,31 +80,6 @@ abstract class Config return self::$arttable; } - public static function domain() - { - return self::$domain; - } - - public static function admin() - { - return self::$admin; - } - - public static function editor() - { - return self::$editor; - } - - public static function invite() - { - return self::$invite; - } - - public static function read() - { - return self::$read; - } - public static function color4() { return self::$color4; @@ -163,40 +135,23 @@ abstract class Config return self::$analytics; } - - -// __________________________________________ S E T ______________________________________ - - public static function setarttable($arttable) + public static function externallinkblank() { - self::$arttable = strip_tags($arttable); + return self::$externallinkblank; } - public static function setdomain($domain) + public static function internallinkblank() { - self::$domain = strip_tags($domain); + return self::$internallinkblank; } - public static function setadmin($admin) - { - if(is_string($admin) && strlen($admin) >= 4 && strlen($admin) <= 64) { - self::$admin = strip_tags($admin); - } - } - public static function seteditor($editor) - { - self::$editor = strip_tags($editor); - } - public static function setinvite($invite) - { - self::$invite = strip_tags($invite); - } +// __________________________________________ S E T ______________________________________ - public static function setread($read) + public static function setarttable($arttable) { - self::$read = strip_tags($read); + self::$arttable = strip_tags($arttable); } public static function setcolor4($color4) @@ -279,7 +234,17 @@ abstract class Config self::$analytics = $analytics; } } + + public static function setexternallinkblank($externallinkblank) + { + self::$externallinkblank = boolval($externallinkblank); + } + public static function setinternallinkblank($internallinkblank) + { + self::$internallinkblank = boolval($internallinkblank); + } + 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; diff --git a/app/view/templates/admin.php b/app/view/templates/admin.php index 007ced4..4f03503 100644 --- a/app/view/templates/admin.php +++ b/app/view/templates/admin.php @@ -17,12 +17,6 @@ -

    Passwords

    - - - - -

    Page creation

    + > + + + +
    + + > + +
    +

    Editing

    - +
    > + +
    url('home') ?>" class="icon" >⍇ - + diff --git a/app/view/templates/homeopt.php b/app/view/templates/homeopt.php index f240d0a..a37e65b 100644 --- a/app/view/templates/homeopt.php +++ b/app/view/templates/homeopt.php @@ -23,8 +23,7 @@ foreach ($opt->col('array') as $key => $col) {
    Privacy
    -- cgit v1.2.3