separate link formatting for URLs and for plain text
This commit is contained in:
parent
d97f492aaf
commit
33731e8cb0
@ -114,7 +114,8 @@ class ThumbnailGenerationEvent extends Event
|
||||
|
||||
/*
|
||||
* ParseLinkTemplateEvent:
|
||||
* $link -- the formatted link
|
||||
* $link -- the formatted text (with each element URL Escape'd)
|
||||
* $text -- the formatted text (not escaped)
|
||||
* $original -- the formatting string, for reference
|
||||
* $image -- the image who's link is being parsed
|
||||
*/
|
||||
@ -123,6 +124,8 @@ class ParseLinkTemplateEvent extends Event
|
||||
/** @var string */
|
||||
public $link;
|
||||
/** @var string */
|
||||
public $text;
|
||||
/** @var string */
|
||||
public $original;
|
||||
/** @var Image */
|
||||
public $image;
|
||||
@ -131,6 +134,7 @@ class ParseLinkTemplateEvent extends Event
|
||||
{
|
||||
parent::__construct();
|
||||
$this->link = $link;
|
||||
$this->text = $link;
|
||||
$this->original = $link;
|
||||
$this->image = $image;
|
||||
}
|
||||
@ -138,7 +142,8 @@ class ParseLinkTemplateEvent extends Event
|
||||
public function replace(string $needle, ?string $replace): void
|
||||
{
|
||||
if (!is_null($replace)) {
|
||||
$this->link = str_replace($needle, $replace, $this->link);
|
||||
$this->link = str_replace($needle, url_escape($replace), $this->link);
|
||||
$this->text = str_replace($needle, $replace, $this->text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -492,7 +492,9 @@ class Image
|
||||
*/
|
||||
public function get_nice_image_name(): string
|
||||
{
|
||||
return $this->parse_link_template('$id - $tags.$ext');
|
||||
$plte = new ParseLinkTemplateEvent('$id - $tags.$ext', $this);
|
||||
send_event($plte);
|
||||
return $plte->text;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -534,7 +536,9 @@ class Image
|
||||
public function get_tooltip(): string
|
||||
{
|
||||
global $config;
|
||||
return $this->parse_link_template($config->get_string(ImageConfig::TIP));
|
||||
$plte = new ParseLinkTemplateEvent($config->get_string(ImageConfig::TIP), $this);
|
||||
send_event($plte);
|
||||
return $plte->text;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -273,7 +273,7 @@ class TagEdit extends Extension
|
||||
$tags = $event->image->get_tag_list();
|
||||
$tags = str_replace("/", "", $tags);
|
||||
$tags = preg_replace("/^\.+/", "", $tags);
|
||||
$event->replace('$tags', url_escape($tags));
|
||||
$event->replace('$tags', $tags);
|
||||
}
|
||||
|
||||
private function mass_tag_edit(string $search, string $replace)
|
||||
|
Loading…
x
Reference in New Issue
Block a user