Loading...
 
Skip to main content

Lots of wrongly escaped quotes in /lib/prefs/feature.php

Status
Open
Subject
Lots of wrongly escaped quotes in /lib/prefs/feature.php
Version
18.x
Category
  • Bug
  • Usability
  • Easy for Newbie Dev
  • Less than 30-minutes fix
Feature
Admin Interface (UI)
Resolution status
New
Submitted by
hman
Lastmod by
hman
Rating
(0)
Description

/lib/prefs/feature.php contains 11 instances of quote characters that are wrongly escaped. To my understanding of PHP they shouldn't be escaped with a backslash if they are in single quote strings, which they are.

Example:

Copy to clipboard
'feature_jquery_zoom' => [ 'name' => tra('jQuery zoom'), 'description' => tra('Enables zoom in images on mouseover or click. Used in Plugin Img with the parameter \"thumb=zoombox\"'), 'type' => 'flag', 'help' => 'PluginImg#Zoombox', 'default' => 'n', ],


The description string is enclosed in single quotes, yet the double quotes that are part of the string were escaped with backslashes. And the strings are fed into tra().

This leads to the backslashes being visible to the user in English language, and making translating really hard: The only way that tra() will catch these with a content from custom.php is double escaping like this:

Copy to clipboard
"Enables zoom in images on mouseover or click. Used in Plugin Img with the parameter \\\"thumb=zoombox\\\"" => "Emöglicht, in Bilder hineinzuzoomen bei Mouseover oder Klick. Im Img-Plugin mit dem Parameter \"thumb=zoombox\" verwendet",


I'm not sure if many writers of other translations out there know about this implication...

Not all strings in feature.php have been escaped like this, actually there are 11 instances of \" in there. Some, actually many, strings were written the right way like this example:

Copy to clipboard
'feature_jquery_reflection' => [ 'name' => tra('Reflection'), 'description' => tra('Creates a reflection under an image. Used in Plugin Img with the parameter "class=reflect"'), 'type' => 'flag', 'help' => 'JQuery#Reflection', 'default' => 'n', // reflection effects on images ],


The 11 instances are on lines 1526 (2), 1841 (2), 2084 (2), 2191 (2), 2928 (2). Line 2496 uses \" for something else.

Importance
5
Easy to solve?
10 easy
Priority
50
Demonstrate Bug on Tiki 19+
Demonstrate Bug (older Tiki versions)
Ticket ID
7431
Created
Tuesday 21 July, 2020 22:57:48 UTC
by hman
LastModif
Tuesday 21 July, 2020 23:33:30 UTC


Show PHP error messages