AutorÃa | Ultima modificación | Ver Log |
<?php// This file is part of Moodle - http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>./*** Text profile field.** @package profilefield_text* @copyright 2007 onwards Shane Elliot {@link http://pukunui.com}* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*//*** Class profile_field_text** @copyright 2007 onwards Shane Elliot {@link http://pukunui.com}* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/class profile_field_text extends profile_field_base {/*** Overwrite the base class to display the data for this field*/public function display_data() {// Default formatting.$data = format_string($this->data);// Are we creating a link?if (!empty($this->field->param4) && !empty($data)) {// Define the target.if (! empty($this->field->param5)) {$target = 'target="'.$this->field->param5.'"';} else {$target = '';}// Create the link.$data = '<a href="'.str_replace('$$', urlencode($data),$this->field->param4).'" '.$target.'>'.htmlspecialchars($data, ENT_COMPAT).'</a>';}return $data;}/*** Add fields for editing a text profile field.* @param moodleform $mform*/public function edit_field_add($mform) {$size = $this->field->param1;$maxlength = $this->field->param2;$fieldtype = ($this->field->param3 == 1 ? 'password' : 'text');// Create the form field.$mform->addElement($fieldtype, $this->inputname, format_string($this->field->name),'maxlength="'.$maxlength.'" size="'.$size.'" ');$mform->setType($this->inputname, PARAM_TEXT);}/*** Process the data before it gets saved in database** @param string|null $data* @param stdClass $datarecord* @return string|null*/public function edit_save_data_preprocess($data, $datarecord) {if ($data === null) {return null;}return core_text::substr($data, 0, $this->field->param2);}/*** Convert external data (csv file) from value to key for processing later by edit_save_data_preprocess** @param string $data* @return string|null*/public function convert_external_data($data) {if (core_text::strlen($data) > $this->field->param2) {return null;}return $data;}/*** Return the field type and null properties.* This will be used for validating the data submitted by a user.** @return array the param type and null property* @since Moodle 3.2*/public function get_field_properties() {return array(PARAM_TEXT, NULL_NOT_ALLOWED);}}