MDL-83776 customfield_text: correct link field URL encoding.

This commit is contained in:
Paul Holden
2024-11-21 09:02:33 +00:00
parent 269a8a8a1b
commit b48cb6861e
@@ -14,24 +14,12 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Customfields text field plugin
*
* @package customfield_text
* @copyright 2018 Daniel Neis Araujo <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace customfield_text;
defined('MOODLE_INTERNAL') || die;
use core_customfield\api;
/**
* Class data
*
* @package customfield_text
* @package customfield_text
* @copyright 2018 Daniel Neis Araujo <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
@@ -105,8 +93,8 @@ class data_controller extends \core_customfield\data_controller {
$link = $this->get_field()->get_configdata_property('link');
if ($link) {
$url = new \moodle_url(str_replace('$$', $this->get_value(), $link));
$linktarget = $this->get_field()->get_configdata_property('linktarget');
$url = str_replace('$$', urlencode($this->get_value()), $link);
$attributes = $linktarget ? ['target' => $linktarget] : [];
$value = \html_writer::link($url, $value, $attributes);
}