diff --git a/core/modules/block/src/BlockForm.php b/core/modules/block/src/BlockForm.php index 1249dab..1d19331 100644 --- a/core/modules/block/src/BlockForm.php +++ b/core/modules/block/src/BlockForm.php @@ -195,7 +195,7 @@ public function form(array $form, array &$form_state) { } // Per-role visibility. - $role_options = array_map('check_plain', user_role_names()); + $role_options = array_map(array('\Drupal\Component\Utility\String', 'checkPlain'), user_role_names()); $form['visibility']['role'] = array( '#type' => 'details', '#title' => $this->t('Roles'), diff --git a/core/modules/block/src/BlockViewBuilder.php b/core/modules/block/src/BlockViewBuilder.php index 9e3b1b5..43bbdbf 100644 --- a/core/modules/block/src/BlockViewBuilder.php +++ b/core/modules/block/src/BlockViewBuilder.php @@ -65,7 +65,7 @@ public function viewMultiple(array $entities = array(), $view_mode = 'full', $la // @todo Remove after fixing http://drupal.org/node/1989568. '#block' => $entity, ); - $build[$entity_id]['#configuration']['label'] = check_plain($configuration['label']); + $build[$entity_id]['#configuration']['label'] = String::checkPlain($configuration['label']); // Set cache tags; these always need to be set, whether the block is // cacheable or not, so that the page cache is correctly informed. diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module index 8fc5537..09bbaa9 100644 --- a/core/modules/comment/comment.module +++ b/core/modules/comment/comment.module @@ -13,6 +13,7 @@ use Drupal\comment\CommentInterface; use Drupal\comment\Entity\Comment; use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface; +use Drupal\Component\Utility\String; use Drupal\Core\Entity\ContentEntityInterface; use Drupal\Core\Entity\EntityInterface; use Drupal\entity\Entity\EntityViewDisplay; @@ -1265,7 +1266,7 @@ function comment_preview(CommentInterface $comment, array &$form_state) { if (!empty($account) && $account->isAuthenticated()) { $comment->setOwner($account); - $comment->setAuthorName(check_plain($account->getUsername())); + $comment->setAuthorName(String::checkPlain($account->getUsername())); } elseif (empty($author_name)) { $comment->setAuthorName(\Drupal::config('user.settings')->get('anonymous')); diff --git a/core/modules/comment/comment.tokens.inc b/core/modules/comment/comment.tokens.inc index 058bdc5..8d0620e 100644 --- a/core/modules/comment/comment.tokens.inc +++ b/core/modules/comment/comment.tokens.inc @@ -5,6 +5,7 @@ * Builds placeholder replacement tokens for comment-related data. */ +use Drupal\Component\Utility\String; use Drupal\Component\Utility\Xss; /** @@ -141,12 +142,12 @@ function comment_tokens($type, $tokens, array $data = array(), array $options = // Poster identity information for comments. case 'hostname': - $replacements[$original] = $sanitize ? check_plain($comment->getHostname()) : $comment->getHostname(); + $replacements[$original] = $sanitize ? String::checkPlain($comment->getHostname()) : $comment->getHostname(); break; case 'mail': $mail = $comment->getAuthorEmail(); - $replacements[$original] = $sanitize ? check_plain($mail) : $mail; + $replacements[$original] = $sanitize ? String::checkPlain($mail) : $mail; break; case 'homepage': diff --git a/core/modules/comment/src/Plugin/views/argument/UserUid.php b/core/modules/comment/src/Plugin/views/argument/UserUid.php index 674c3b6..6e15d66 100644 --- a/core/modules/comment/src/Plugin/views/argument/UserUid.php +++ b/core/modules/comment/src/Plugin/views/argument/UserUid.php @@ -7,6 +7,7 @@ namespace Drupal\comment\Plugin\views\argument; +use Drupal\Component\Utility\String; use Drupal\Core\Database\Connection; use Drupal\views\Plugin\views\argument\ArgumentPluginBase; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -64,7 +65,7 @@ function title() { return t('No user'); } - return check_plain($title); + return String::checkPlain($title); } protected function defaultActions($which = NULL) { diff --git a/core/modules/comment/src/Tests/CommentTokenReplaceTest.php b/core/modules/comment/src/Tests/CommentTokenReplaceTest.php index 0d2a4b2..b2d5ebc 100644 --- a/core/modules/comment/src/Tests/CommentTokenReplaceTest.php +++ b/core/modules/comment/src/Tests/CommentTokenReplaceTest.php @@ -7,6 +7,7 @@ namespace Drupal\comment\Tests; +use Drupal\Component\Utility\String; use Drupal\Component\Utility\Xss; use Drupal\Core\Language\Language; @@ -54,10 +55,10 @@ function testCommentTokenReplacement() { // Generate and test sanitized tokens. $tests = array(); $tests['[comment:cid]'] = $comment->id(); - $tests['[comment:hostname]'] = check_plain($comment->getHostname()); + $tests['[comment:hostname]'] = String::checkPlain($comment->getHostname()); $tests['[comment:name]'] = Xss::filter($comment->getAuthorName()); $tests['[comment:author]'] = Xss::filter($comment->getAuthorName()); - $tests['[comment:mail]'] = check_plain($this->admin_user->getEmail()); + $tests['[comment:mail]'] = String::checkPlain($this->admin_user->getEmail()); $tests['[comment:homepage]'] = check_url($comment->getHomepage()); $tests['[comment:title]'] = Xss::filter($comment->getSubject()); $tests['[comment:body]'] = $comment->comment_body->processed; @@ -66,11 +67,11 @@ function testCommentTokenReplacement() { $tests['[comment:created:since]'] = format_interval(REQUEST_TIME - $comment->getCreatedTime(), 2, $language_interface->id); $tests['[comment:changed:since]'] = format_interval(REQUEST_TIME - $comment->getChangedTime(), 2, $language_interface->id); $tests['[comment:parent:cid]'] = $comment->hasParentComment() ? $comment->getParentComment()->id() : NULL; - $tests['[comment:parent:title]'] = check_plain($parent_comment->getSubject()); + $tests['[comment:parent:title]'] = String::checkPlain($parent_comment->getSubject()); $tests['[comment:node:nid]'] = $comment->getCommentedEntityId(); - $tests['[comment:node:title]'] = check_plain($node->getTitle()); + $tests['[comment:node:title]'] = String::checkPlain($node->getTitle()); $tests['[comment:author:uid]'] = $comment->getOwnerId(); - $tests['[comment:author:name]'] = check_plain($this->admin_user->getUsername()); + $tests['[comment:author:name]'] = String::checkPlain($this->admin_user->getUsername()); // Test to make sure that we generated something for each token. $this->assertFalse(in_array(0, array_map('strlen', $tests)), 'No empty tokens generated.'); diff --git a/core/modules/entity_reference/src/ConfigurableEntityReferenceItem.php b/core/modules/entity_reference/src/ConfigurableEntityReferenceItem.php index e5ad209..8dd6f13 100644 --- a/core/modules/entity_reference/src/ConfigurableEntityReferenceItem.php +++ b/core/modules/entity_reference/src/ConfigurableEntityReferenceItem.php @@ -190,7 +190,7 @@ public function instanceSettingsForm(array $form, array &$form_state) { // entity type specific plugins (e.g. 'default_node', 'default_user', // ...). if (in_array($plugin_id, $handler_groups)) { - $handlers_options[$plugin_id] = check_plain($plugin['label']); + $handlers_options[$plugin_id] = String::checkPlain($plugin['label']); } } diff --git a/core/modules/entity_reference/src/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php b/core/modules/entity_reference/src/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php index bc305cd..992da6a 100644 --- a/core/modules/entity_reference/src/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php +++ b/core/modules/entity_reference/src/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php @@ -7,6 +7,7 @@ namespace Drupal\entity_reference\Plugin\Field\FieldFormatter; +use Drupal\Component\Utility\String; use Drupal\Core\Field\FieldItemListInterface; /** @@ -77,7 +78,7 @@ public function viewElements(FieldItemListInterface $items) { ) + $uri->toRenderArray(); } else { - $elements[$delta] = array('#markup' => check_plain($label)); + $elements[$delta] = array('#markup' => String::checkPlain($label)); } $elements[$delta]['#cache']['tags'] = $referenced_entity->getCacheTag(); } diff --git a/core/modules/entity_reference/src/Plugin/entity_reference/selection/SelectionBase.php b/core/modules/entity_reference/src/Plugin/entity_reference/selection/SelectionBase.php index 650486c..1d18deb 100644 --- a/core/modules/entity_reference/src/Plugin/entity_reference/selection/SelectionBase.php +++ b/core/modules/entity_reference/src/Plugin/entity_reference/selection/SelectionBase.php @@ -7,6 +7,7 @@ namespace Drupal\entity_reference\Plugin\entity_reference\selection; +use Drupal\Component\Utility\String; use Drupal\Core\Database\Query\AlterableInterface; use Drupal\Core\Database\Query\SelectInterface; use Drupal\Core\Entity\EntityInterface; @@ -183,7 +184,7 @@ public function getReferenceableEntities($match = NULL, $match_operator = 'CONTA $entities = entity_load_multiple($target_type, $result); foreach ($entities as $entity_id => $entity) { $bundle = $entity->bundle(); - $options[$bundle][$entity_id] = check_plain($entity->label()); + $options[$bundle][$entity_id] = String::checkPlain($entity->label()); } return $options; diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceSelectionAccessTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceSelectionAccessTest.php index f33e759..4e9c4fc 100644 --- a/core/modules/entity_reference/src/Tests/EntityReferenceSelectionAccessTest.php +++ b/core/modules/entity_reference/src/Tests/EntityReferenceSelectionAccessTest.php @@ -7,6 +7,7 @@ namespace Drupal\entity_reference\Tests; +use Drupal\Component\Utility\String; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Language\Language; use Drupal\comment\CommentInterface; @@ -114,7 +115,7 @@ public function testNodeHandler() { $node = entity_create('node', $values); $node->save(); $nodes[$key] = $node; - $node_labels[$key] = check_plain($node->label()); + $node_labels[$key] = String::checkPlain($node->label()); } // Test as a non-admin. @@ -260,7 +261,7 @@ public function testUserHandler() { $account = $values; } $users[$key] = $account; - $user_labels[$key] = check_plain($account->getUsername()); + $user_labels[$key] = String::checkPlain($account->getUsername()); } // Test as a non-admin. @@ -439,7 +440,7 @@ public function testCommentHandler() { $comment = entity_create('comment', $values); $comment->save(); $comments[$key] = $comment; - $comment_labels[$key] = check_plain($comment->label()); + $comment_labels[$key] = String::checkPlain($comment->label()); } // Test as a non-admin. diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceSelectionSortTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceSelectionSortTest.php index 43ce3a2..a0ab8db 100644 --- a/core/modules/entity_reference/src/Tests/EntityReferenceSelectionSortTest.php +++ b/core/modules/entity_reference/src/Tests/EntityReferenceSelectionSortTest.php @@ -7,6 +7,7 @@ namespace Drupal\entity_reference\Tests; +use Drupal\Component\Utility\String; use Drupal\simpletest\WebTestBase; /** @@ -115,7 +116,7 @@ public function testSort() { $node = entity_create('node', $values); $node->save(); $nodes[$key] = $node; - $node_labels[$key] = check_plain($node->label()); + $node_labels[$key] = String::checkPlain($node->label()); } // Test as a non-admin. diff --git a/core/modules/field/src/Plugin/views/argument/FieldList.php b/core/modules/field/src/Plugin/views/argument/FieldList.php index 6b6a5c5..d55ca6a 100644 --- a/core/modules/field/src/Plugin/views/argument/FieldList.php +++ b/core/modules/field/src/Plugin/views/argument/FieldList.php @@ -7,6 +7,7 @@ namespace Drupal\field\Plugin\views\argument; +use Drupal\Component\Utility\String; use Drupal\views\ViewExecutable; use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\argument\Numeric; @@ -69,7 +70,7 @@ public function summaryName($data) { } // else fallback to the key. else { - return check_plain($value); + return String::checkPlain($value); } } diff --git a/core/modules/field/src/Plugin/views/argument/ListString.php b/core/modules/field/src/Plugin/views/argument/ListString.php index 678f1d1..742a151 100644 --- a/core/modules/field/src/Plugin/views/argument/ListString.php +++ b/core/modules/field/src/Plugin/views/argument/ListString.php @@ -7,6 +7,7 @@ namespace Drupal\field\Plugin\views\argument; +use Drupal\Component\Utility\String as UtilityString; use Drupal\views\ViewExecutable; use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\argument\String; @@ -71,7 +72,7 @@ public function summaryName($data) { } // else fallback to the key. else { - return $this->caseTransform(check_plain($value), $this->options['case']); + return $this->caseTransform(UtilityString::checkPlain($value), $this->options['case']); } } diff --git a/core/modules/field/src/Tests/FormTest.php b/core/modules/field/src/Tests/FormTest.php index ba4ebd3..a18ea91 100644 --- a/core/modules/field/src/Tests/FormTest.php +++ b/core/modules/field/src/Tests/FormTest.php @@ -7,6 +7,7 @@ namespace Drupal\field\Tests; +use Drupal\Component\Utility\String; use Drupal\Core\Field\FieldDefinitionInterface; /** @@ -107,7 +108,7 @@ function testFieldFormSingle() { $this->drupalGet('entity_test/add'); // Create token value expected for description. - $token_description = check_plain(\Drupal::config('system.site')->get('name')) . '_description'; + $token_description = String::checkPlain(\Drupal::config('system.site')->get('name')) . '_description'; $this->assertText($token_description, 'Token replacement for description is displayed'); $this->assertFieldByName("{$field_name}[0][value]", '', 'Widget is displayed'); $this->assertNoField("{$field_name}[1][value]", 'No extraneous widget is displayed'); diff --git a/core/modules/field_ui/src/DisplayOverviewBase.php b/core/modules/field_ui/src/DisplayOverviewBase.php index 2a6f46f..5fc7240 100644 --- a/core/modules/field_ui/src/DisplayOverviewBase.php +++ b/core/modules/field_ui/src/DisplayOverviewBase.php @@ -8,6 +8,7 @@ namespace Drupal\field_ui; use Drupal\Component\Plugin\PluginManagerBase; +use Drupal\Component\Utility\String; use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\Entity\Display\EntityDisplayInterface; use Drupal\Core\Entity\EntityManagerInterface; @@ -275,7 +276,7 @@ protected function buildFieldRow(FieldDefinitionInterface $field_definition, Ent 'defaultPlugin' => $this->getDefaultPlugin($field_definition->getType()), ), 'human_name' => array( - '#markup' => check_plain($label), + '#markup' => String::checkPlain($label), ), 'weight' => array( '#type' => 'textfield', diff --git a/core/modules/field_ui/src/FieldOverview.php b/core/modules/field_ui/src/FieldOverview.php index 46dff17..e249eb0 100644 --- a/core/modules/field_ui/src/FieldOverview.php +++ b/core/modules/field_ui/src/FieldOverview.php @@ -7,6 +7,7 @@ namespace Drupal\field_ui; +use Drupal\Component\Utility\String; use Drupal\Core\Entity\EntityListBuilderInterface; use Drupal\Core\Entity\EntityManagerInterface; use Drupal\Core\Extension\ModuleHandlerInterface; @@ -125,7 +126,7 @@ public function buildForm(array $form, array &$form_state, $entity_type_id = NUL 'id' => drupal_html_class($name), ), 'label' => array( - '#markup' => check_plain($instance->getLabel()), + '#markup' => String::checkPlain($instance->getLabel()), ), 'field_name' => array( '#markup' => $instance->getName(), diff --git a/core/modules/file/file.field.inc b/core/modules/file/file.field.inc index 67db185..510966c 100644 --- a/core/modules/file/file.field.inc +++ b/core/modules/file/file.field.inc @@ -6,6 +6,7 @@ */ use Drupal\Component\Utility\Html; +use Drupal\Component\Utility\String; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Render\Element; @@ -188,7 +189,7 @@ function theme_file_upload_help($variables) { $descriptions[] = t('!size limit.', array('!size' => format_size($upload_validators['file_validate_size'][0]))); } if (isset($upload_validators['file_validate_extensions'])) { - $descriptions[] = t('Allowed types: !extensions.', array('!extensions' => check_plain($upload_validators['file_validate_extensions'][0]))); + $descriptions[] = t('Allowed types: !extensions.', array('!extensions' => String::checkPlain($upload_validators['file_validate_extensions'][0]))); } if (isset($upload_validators['file_validate_image_resolution'])) { diff --git a/core/modules/file/file.module b/core/modules/file/file.module index eaa5e12..d7bb3ee 100644 --- a/core/modules/file/file.module +++ b/core/modules/file/file.module @@ -5,6 +5,7 @@ * Defines a "managed_file" Form API field and a "file" field for Field module. */ +use Drupal\Component\Utility\String; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Render\Element; use Drupal\file\Entity\File; @@ -1048,15 +1049,15 @@ function file_tokens($type, $tokens, array $data = array(), array $options = arr // Essential file data case 'name': - $replacements[$original] = $sanitize ? check_plain($file->getFilename()) : $file->getFilename(); + $replacements[$original] = $sanitize ? String::checkPlain($file->getFilename()) : $file->getFilename(); break; case 'path': - $replacements[$original] = $sanitize ? check_plain($file->getFileUri()) : $file->getFileUri(); + $replacements[$original] = $sanitize ? String::checkPlain($file->getFileUri()) : $file->getFileUri(); break; case 'mime': - $replacements[$original] = $sanitize ? check_plain($file->getMimeType()) : $file->getMimeType(); + $replacements[$original] = $sanitize ? String::checkPlain($file->getMimeType()) : $file->getMimeType(); break; case 'size': @@ -1064,7 +1065,7 @@ function file_tokens($type, $tokens, array $data = array(), array $options = arr break; case 'url': - $replacements[$original] = $sanitize ? check_plain(file_create_url($file->getFileUri())) : file_create_url($file->getFileUri()); + $replacements[$original] = $sanitize ? String::checkPlain(file_create_url($file->getFileUri())) : file_create_url($file->getFileUri()); break; // These tokens are default variations on the chained tokens handled below. @@ -1078,7 +1079,7 @@ function file_tokens($type, $tokens, array $data = array(), array $options = arr case 'owner': $name = $file->getOwner()->label(); - $replacements[$original] = $sanitize ? check_plain($name) : $name; + $replacements[$original] = $sanitize ? String::checkPlain($name) : $name; break; } } @@ -1626,7 +1627,7 @@ function theme_file_link($variables) { } else { $link_text = $variables['description']; - $options['attributes']['title'] = check_plain($file->getFilename()); + $options['attributes']['title'] = String::checkPlain($file->getFilename()); } $file_icon = array( @@ -1654,7 +1655,7 @@ function theme_file_icon($variables) { $file = $variables['file']; $icon_directory = $variables['icon_directory']; - $mime = check_plain($file->getMimeType()); + $mime = String::checkPlain($file->getMimeType()); $icon_url = file_icon_url($file, $icon_directory); return ''; } diff --git a/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php b/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php index 0d052c5..4fa4e04 100644 --- a/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php +++ b/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php @@ -7,6 +7,7 @@ namespace Drupal\file\Plugin\Field\FieldWidget; +use Drupal\Component\Utility\String; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\WidgetBase; use Drupal\Core\Field\FieldItemListInterface; @@ -94,7 +95,7 @@ protected function formMultipleElements(FieldItemListInterface $items, array &$f break; } - $title = check_plain($this->fieldDefinition->getLabel()); + $title = String::checkPlain($this->fieldDefinition->getLabel()); $description = field_filter_xss($this->fieldDefinition->getDescription()); $elements = array(); diff --git a/core/modules/file/src/Tests/FileTokenReplaceTest.php b/core/modules/file/src/Tests/FileTokenReplaceTest.php index 35bb593..2e3127e 100644 --- a/core/modules/file/src/Tests/FileTokenReplaceTest.php +++ b/core/modules/file/src/Tests/FileTokenReplaceTest.php @@ -7,6 +7,7 @@ namespace Drupal\file\Tests; +use Drupal\Component\Utility\String; use Drupal\Core\Language\Language; /** @@ -48,16 +49,16 @@ function testFileTokenReplacement() { // Generate and test sanitized tokens. $tests = array(); $tests['[file:fid]'] = $file->id(); - $tests['[file:name]'] = check_plain($file->getFilename()); - $tests['[file:path]'] = check_plain($file->getFileUri()); - $tests['[file:mime]'] = check_plain($file->getMimeType()); + $tests['[file:name]'] = String::checkPlain($file->getFilename()); + $tests['[file:path]'] = String::checkPlain($file->getFileUri()); + $tests['[file:mime]'] = String::checkPlain($file->getMimeType()); $tests['[file:size]'] = format_size($file->getSize()); - $tests['[file:url]'] = check_plain(file_create_url($file->getFileUri())); + $tests['[file:url]'] = String::checkPlain(file_create_url($file->getFileUri())); $tests['[file:created]'] = format_date($file->getCreatedTime(), 'medium', '', NULL, $language_interface->id); $tests['[file:created:short]'] = format_date($file->getCreatedTime(), 'short', '', NULL, $language_interface->id); $tests['[file:changed]'] = format_date($file->getChangedTime(), 'medium', '', NULL, $language_interface->id); $tests['[file:changed:short]'] = format_date($file->getChangedTime(), 'short', '', NULL, $language_interface->id); - $tests['[file:owner]'] = check_plain(user_format_name($this->admin_user)); + $tests['[file:owner]'] = String::checkPlain(user_format_name($this->admin_user)); $tests['[file:owner:uid]'] = $file->getOwnerId(); // Test to make sure that we generated something for each token. diff --git a/core/modules/filter/filter.module b/core/modules/filter/filter.module index 8eb3373..76af239 100644 --- a/core/modules/filter/filter.module +++ b/core/modules/filter/filter.module @@ -964,8 +964,8 @@ function _filter_url_parse_full_links($match) { $i = 1; $match[$i] = decode_entities($match[$i]); - $caption = check_plain(_filter_url_trim($match[$i])); - $match[$i] = check_plain($match[$i]); + $caption = String::checkPlain(_filter_url_trim($match[$i])); + $match[$i] = String::checkPlain($match[$i]); return '' . $caption . ''; } @@ -979,8 +979,8 @@ function _filter_url_parse_email_links($match) { $i = 0; $match[$i] = decode_entities($match[$i]); - $caption = check_plain(_filter_url_trim($match[$i])); - $match[$i] = check_plain($match[$i]); + $caption = String::checkPlain(_filter_url_trim($match[$i])); + $match[$i] = String::checkPlain($match[$i]); return '' . $caption . ''; } @@ -994,8 +994,8 @@ function _filter_url_parse_partial_links($match) { $i = 1; $match[$i] = decode_entities($match[$i]); - $caption = check_plain(_filter_url_trim($match[$i])); - $match[$i] = check_plain($match[$i]); + $caption = String::checkPlain(_filter_url_trim($match[$i])); + $match[$i] = String::checkPlain($match[$i]); return '' . $caption . ''; } @@ -1127,7 +1127,7 @@ function _filter_autop($text) { * Escapes all HTML tags, so they will be visible instead of being effective. */ function _filter_html_escape($text) { - return trim(check_plain($text)); + return trim(String::checkPlain($text)); } /** diff --git a/core/modules/filter/src/Plugin/Filter/FilterHtml.php b/core/modules/filter/src/Plugin/Filter/FilterHtml.php index 543f147..6549168 100644 --- a/core/modules/filter/src/Plugin/Filter/FilterHtml.php +++ b/core/modules/filter/src/Plugin/Filter/FilterHtml.php @@ -7,6 +7,7 @@ namespace Drupal\filter\Plugin\Filter; +use Drupal\Component\Utility\String; use Drupal\filter\FilterProcessResult; use Drupal\filter\Plugin\FilterBase; @@ -100,7 +101,7 @@ public function tips($long = FALSE) { $output .= '

' . $this->t('This site allows HTML content. While learning all of HTML may feel intimidating, learning how to use a very small number of the most basic HTML "tags" is very easy. This table provides examples for each tag that is enabled on this site.') . '

'; $output .= '

' . $this->t('For more information see W3C\'s HTML Specifications or use your favorite search engine to find other sites that explain HTML.', array('@html-specifications' => 'http://www.w3.org/TR/html/')) . '

'; $tips = array( - 'a' => array($this->t('Anchors are used to make links to other pages.'), '' . check_plain(\Drupal::config('system.site')->get('name')) . ''), + 'a' => array($this->t('Anchors are used to make links to other pages.'), '' . String::checkPlain(\Drupal::config('system.site')->get('name')) . ''), 'br' => array($this->t('By default line break tags are automatically added, so use this tag to add additional ones. Use of this tag is different because it is not used with an open/close pair like all the others. Use the extra " /" inside the tag to maintain XHTML 1.0 compatibility'), $this->t('Text with
line break')), 'p' => array($this->t('By default paragraph tags are automatically added, so use this tag to add additional ones.'), '

' . $this->t('Paragraph one.') . '

' . $this->t('Paragraph two.') . '

'), 'strong' => array($this->t('Strong', array(), array('context' => 'Font weight')), '' . $this->t('Strong', array(), array('context' => 'Font weight')) . ''), @@ -142,7 +143,7 @@ public function tips($long = FALSE) { if (!empty($tips[$tag])) { $rows[] = array( array('data' => $tips[$tag][0], 'class' => array('description')), - array('data' => '' . check_plain($tips[$tag][1]) . '', 'class' => array('type')), + array('data' => '' . String::checkPlain($tips[$tag][1]) . '', 'class' => array('type')), array('data' => $tips[$tag][1], 'class' => array('get')) ); } @@ -173,7 +174,7 @@ public function tips($long = FALSE) { foreach ($entities as $entity) { $rows[] = array( array('data' => $entity[0], 'class' => array('description')), - array('data' => '' . check_plain($entity[1]) . '', 'class' => array('type')), + array('data' => '' . String::checkPlain($entity[1]) . '', 'class' => array('type')), array('data' => $entity[1], 'class' => array('get')) ); } diff --git a/core/modules/filter/src/Tests/FilterAdminTest.php b/core/modules/filter/src/Tests/FilterAdminTest.php index 9e6d74b..4437c8a 100644 --- a/core/modules/filter/src/Tests/FilterAdminTest.php +++ b/core/modules/filter/src/Tests/FilterAdminTest.php @@ -7,6 +7,7 @@ namespace Drupal\filter\Tests; +use Drupal\Component\Utility\String; use Drupal\simpletest\WebTestBase; /** @@ -304,7 +305,7 @@ function testFilterAdmin() { $edit['body[0][format]'] = $plain; $this->drupalPostForm('node/' . $node->id() . '/edit', $edit, t('Save')); $this->drupalGet('node/' . $node->id()); - $this->assertText(check_plain($text), 'The "Plain text" text format escapes all HTML tags.'); + $this->assertText(String::checkPlain($text), 'The "Plain text" text format escapes all HTML tags.'); \Drupal::config('filter.settings') ->set('always_show_fallback_choice', FALSE) ->save(); diff --git a/core/modules/filter/src/Tests/FilterUnitTest.php b/core/modules/filter/src/Tests/FilterUnitTest.php index b15f0a0..832257d 100644 --- a/core/modules/filter/src/Tests/FilterUnitTest.php +++ b/core/modules/filter/src/Tests/FilterUnitTest.php @@ -8,6 +8,7 @@ namespace Drupal\filter\Tests; use Drupal\Component\Utility\Html; +use Drupal\Component\Utility\String; use Drupal\simpletest\DrupalUnitTestBase; use Drupal\filter\FilterBag; @@ -360,7 +361,7 @@ function testNoFollowFilter() { /** * Tests the HTML escaping filter. * - * check_plain() is not tested here. + * \Drupal\Component\Utility\String::checkPlain() is not tested here. */ function testHtmlEscapeFilter() { // Get FilterHtmlEscape object. @@ -726,10 +727,10 @@ function assertFilteredString($filter, $tests) { ))); } if (!$success) { - $this->verbose('Source:
' . check_plain(var_export($source, TRUE)) . '
' - . '
' . 'Result:
' . check_plain(var_export($result, TRUE)) . '
' + $this->verbose('Source:
' . String::checkPlain(var_export($source, TRUE)) . '
' + . '
' . 'Result:
' . String::checkPlain(var_export($result, TRUE)) . '
' . '
' . ($is_expected ? 'Expected:' : 'Not expected:') - . '
' . check_plain(var_export($value, TRUE)) . '
' + . '
' . String::checkPlain(var_export($value, TRUE)) . '
' ); } } diff --git a/core/modules/node/node.tokens.inc b/core/modules/node/node.tokens.inc index bc19c22..98e1612 100644 --- a/core/modules/node/node.tokens.inc +++ b/core/modules/node/node.tokens.inc @@ -5,6 +5,7 @@ * Builds placeholder replacement tokens for node-related data. */ +use Drupal\Component\Utility\String; use Drupal\Core\Language\Language; /** @@ -112,16 +113,16 @@ function node_tokens($type, $tokens, array $data = array(), array $options = arr break; case 'type': - $replacements[$original] = $sanitize ? check_plain($node->getType()) : $node->getType(); + $replacements[$original] = $sanitize ? String::checkPlain($node->getType()) : $node->getType(); break; case 'type-name': $type_name = node_get_type_label($node); - $replacements[$original] = $sanitize ? check_plain($type_name) : $type_name; + $replacements[$original] = $sanitize ? String::checkPlain($type_name) : $type_name; break; case 'title': - $replacements[$original] = $sanitize ? check_plain($node->getTitle()) : $node->getTitle(); + $replacements[$original] = $sanitize ? String::checkPlain($node->getTitle()) : $node->getTitle(); break; case 'body': @@ -160,7 +161,7 @@ function node_tokens($type, $tokens, array $data = array(), array $options = arr break; case 'langcode': - $replacements[$original] = $sanitize ? check_plain($node->language()->id) : $node->language()->id; + $replacements[$original] = $sanitize ? String::checkPlain($node->language()->id) : $node->language()->id; break; case 'url': @@ -174,7 +175,7 @@ function node_tokens($type, $tokens, array $data = array(), array $options = arr // Default values for the chained tokens handled below. case 'author': $account = $node->getOwner() ? $node->getOwner() : user_load(0); - $replacements[$original] = $sanitize ? check_plain($account->label()) : $account->label(); + $replacements[$original] = $sanitize ? String::checkPlain($account->label()) : $account->label(); break; case 'created': diff --git a/core/modules/node/src/Plugin/Search/NodeSearch.php b/core/modules/node/src/Plugin/Search/NodeSearch.php index 1bcd79b..55bdabf 100644 --- a/core/modules/node/src/Plugin/Search/NodeSearch.php +++ b/core/modules/node/src/Plugin/Search/NodeSearch.php @@ -7,6 +7,7 @@ namespace Drupal\node\Plugin\Search; +use Drupal\Component\Utility\String; use Drupal\Core\Config\Config; use Drupal\Core\Database\Connection; use Drupal\Core\Database\Query\SelectExtender; @@ -279,7 +280,7 @@ public function execute() { ); $results[] = array( 'link' => $node->url('canonical', array('absolute' => TRUE, 'language' => $language)), - 'type' => check_plain($this->entityManager->getStorage('node_type')->load($node->bundle())->label()), + 'type' => String::checkPlain($this->entityManager->getStorage('node_type')->load($node->bundle())->label()), 'title' => $node->label(), 'user' => drupal_render($username), 'date' => $node->getChangedTime(), @@ -358,7 +359,7 @@ protected function indexNode(NodeInterface $node) { unset($build['#theme']); $node->rendered = drupal_render($build); - $text = '

' . check_plain($node->label($language->id)) . '

' . $node->rendered; + $text = '

' . String::checkPlain($node->label($language->id)) . '

' . $node->rendered; // Fetch extra data normally not visible. $extra = $this->moduleHandler->invokeAll('node_update_index', array($node, $language->id)); @@ -430,7 +431,7 @@ public function searchFormAlter(array &$form, array &$form_state) { ); // Add node types. - $types = array_map('check_plain', node_type_get_names()); + $types = array_map(array('\Drupal\Component\Utility\String', 'checkPlain'), node_type_get_names()); $form['advanced']['types-fieldset'] = array( '#type' => 'fieldset', '#title' => t('Types'), diff --git a/core/modules/node/src/Plugin/views/argument/Nid.php b/core/modules/node/src/Plugin/views/argument/Nid.php index 82bd934..06ea25d 100644 --- a/core/modules/node/src/Plugin/views/argument/Nid.php +++ b/core/modules/node/src/Plugin/views/argument/Nid.php @@ -7,6 +7,7 @@ namespace Drupal\node\Plugin\views\argument; +use Drupal\Component\Utility\String; use Drupal\views\Plugin\views\argument\Numeric; /** @@ -24,7 +25,7 @@ public function titleQuery() { $nodes = node_load_multiple($this->value); foreach ($nodes as $node) { - $titles[] = check_plain($node->label()); + $titles[] = String::checkPlain($node->label()); } return $titles; } diff --git a/core/modules/node/src/Plugin/views/argument/Type.php b/core/modules/node/src/Plugin/views/argument/Type.php index 1f38cc1..42a14a6 100644 --- a/core/modules/node/src/Plugin/views/argument/Type.php +++ b/core/modules/node/src/Plugin/views/argument/Type.php @@ -7,6 +7,7 @@ namespace Drupal\node\Plugin\views\argument; +use Drupal\Component\Utility\String as UtilityString; use Drupal\views\Plugin\views\argument\String; /** @@ -35,7 +36,7 @@ function title() { function node_type($type_name) { $type = entity_load('node_type', $type_name); $output = $type ? $type->label() : t('Unknown content type'); - return check_plain($output); + return UtilityString::checkPlain($output); } } diff --git a/core/modules/node/src/Plugin/views/argument/Vid.php b/core/modules/node/src/Plugin/views/argument/Vid.php index 39cce5a..9c7d39e 100644 --- a/core/modules/node/src/Plugin/views/argument/Vid.php +++ b/core/modules/node/src/Plugin/views/argument/Vid.php @@ -7,6 +7,7 @@ namespace Drupal\node\Plugin\views\argument; +use Drupal\Component\Utility\String; use Drupal\Core\Database\Connection; use Drupal\views\Plugin\views\argument\Numeric; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -66,7 +67,7 @@ public function titleQuery() { foreach ($results as $result) { $nodes[$result['nid']]->set('title', $result['title']); - $titles[] = check_plain($nodes[$result['nid']]->label()); + $titles[] = String::checkPlain($nodes[$result['nid']]->label()); } return $titles; diff --git a/core/modules/node/src/Plugin/views/row/Rss.php b/core/modules/node/src/Plugin/views/row/Rss.php index 2df6281..9bb5574 100644 --- a/core/modules/node/src/Plugin/views/row/Rss.php +++ b/core/modules/node/src/Plugin/views/row/Rss.php @@ -7,6 +7,7 @@ namespace Drupal\node\Plugin\views\row; +use Drupal\Component\Utility\String; use Drupal\views\Plugin\views\row\RowPluginBase; /** @@ -74,7 +75,7 @@ public function buildOptionsForm_summary_options() { public function summaryTitle() { $options = $this->buildOptionsForm_summary_options(); - return check_plain($options[$this->options['item_length']]); + return String::checkPlain($options[$this->options['item_length']]); } public function preRender($values) { diff --git a/core/modules/node/src/Tests/NodeTokenReplaceTest.php b/core/modules/node/src/Tests/NodeTokenReplaceTest.php index 7f12113..e9c1a1f 100644 --- a/core/modules/node/src/Tests/NodeTokenReplaceTest.php +++ b/core/modules/node/src/Tests/NodeTokenReplaceTest.php @@ -73,10 +73,10 @@ function testNodeTokenReplacement() { $tests['[node:vid]'] = $node->getRevisionId(); $tests['[node:type]'] = 'article'; $tests['[node:type-name]'] = 'Article'; - $tests['[node:title]'] = check_plain($node->getTitle()); + $tests['[node:title]'] = String::checkPlain($node->getTitle()); $tests['[node:body]'] = $node->body->processed; $tests['[node:summary]'] = $node->body->summary_processed; - $tests['[node:langcode]'] = check_plain($node->language()->id); + $tests['[node:langcode]'] = String::checkPlain($node->language()->id); $tests['[node:url]'] = url('node/' . $node->id(), $url_options); $tests['[node:edit-url]'] = url('node/' . $node->id() . '/edit', $url_options); $tests['[node:author]'] = String::checkPlain($account->getUsername()); diff --git a/core/modules/rdf/rdf.module b/core/modules/rdf/rdf.module index dc97773..81335c1 100644 --- a/core/modules/rdf/rdf.module +++ b/core/modules/rdf/rdf.module @@ -5,6 +5,7 @@ * Enables semantically enriched output for Drupal sites in the form of RDFa. */ +use Drupal\Component\Utility\String; use Drupal\Core\Template\Attribute; use Symfony\Cmf\Component\Routing\RouteObjectInterface; use Symfony\Component\HttpFoundation\Request; @@ -418,7 +419,7 @@ function rdf_preprocess_username(&$variables) { // Long usernames are truncated by template_preprocess_username(). Store the // full name in the content attribute so it can be extracted in RDFa. if ($variables['truncated']) { - $attributes['content'] = check_plain($variables['name_raw']); + $attributes['content'] = String::checkPlain($variables['name_raw']); } // The remaining attributes can have multiple values listed, with whitespace // separating the values in the RDFa attributes diff --git a/core/modules/responsive_image/src/Entity/ResponsiveImageMapping.php b/core/modules/responsive_image/src/Entity/ResponsiveImageMapping.php index d94d376..ed96b17 100644 --- a/core/modules/responsive_image/src/Entity/ResponsiveImageMapping.php +++ b/core/modules/responsive_image/src/Entity/ResponsiveImageMapping.php @@ -7,6 +7,7 @@ namespace Drupal\responsive_image\Entity; +use Drupal\Component\Utility\String; use Drupal\Core\Config\Entity\ConfigEntityBase; use Drupal\responsive_image\ResponsiveImageMappingInterface; @@ -122,7 +123,7 @@ public function save() { public function createDuplicate() { return entity_create('responsive_image_mapping', array( 'id' => '', - 'label' => t('Clone of !label', array('!label' => check_plain($this->label()))), + 'label' => t('Clone of !label', array('!label' => String::checkPlain($this->label()))), 'mappings' => $this->getMappings(), )); } diff --git a/core/modules/responsive_image/src/ResponsiveImageMappingForm.php b/core/modules/responsive_image/src/ResponsiveImageMappingForm.php index ff62862..c83c17e 100644 --- a/core/modules/responsive_image/src/ResponsiveImageMappingForm.php +++ b/core/modules/responsive_image/src/ResponsiveImageMappingForm.php @@ -7,6 +7,7 @@ namespace Drupal\responsive_image; +use Drupal\Component\Utility\String; use Drupal\Core\Entity\EntityForm; /** @@ -78,7 +79,7 @@ public function form(array $form, array &$form_state) { $label = $multiplier . ' ' . $breakpoint->name . ' [' . $breakpoint->mediaQuery . ']'; $form['mappings'][$breakpoint_id][$multiplier] = array( '#type' => 'select', - '#title' => check_plain($label), + '#title' => String::checkPlain($label), '#options' => $image_styles, '#default_value' => $image_style, '#description' => $this->t('Select an image style for this breakpoint.'), diff --git a/core/modules/rest/src/Plugin/views/display/RestExport.php b/core/modules/rest/src/Plugin/views/display/RestExport.php index 12e6be5..e41fef0 100644 --- a/core/modules/rest/src/Plugin/views/display/RestExport.php +++ b/core/modules/rest/src/Plugin/views/display/RestExport.php @@ -7,6 +7,7 @@ namespace Drupal\rest\Plugin\views\display; +use Drupal\Component\Utility\String; use Drupal\Core\Form\FormErrorInterface; use Drupal\Core\State\StateInterface; use Drupal\Core\Routing\RouteProviderInterface; @@ -286,7 +287,7 @@ public function render() { // Wrap the output in a pre tag if this is for a live preview. if (!empty($this->view->live_preview)) { $build['#prefix'] = '
';
-      $build['#markup'] = check_plain($build['#markup']);
+      $build['#markup'] = String::checkPlain($build['#markup']);
       $build['#suffix'] = '
'; } diff --git a/core/modules/rest/src/Tests/Views/StyleSerializerTest.php b/core/modules/rest/src/Tests/Views/StyleSerializerTest.php index 2a72be5..e2ff66e 100644 --- a/core/modules/rest/src/Tests/Views/StyleSerializerTest.php +++ b/core/modules/rest/src/Tests/Views/StyleSerializerTest.php @@ -7,6 +7,7 @@ namespace Drupal\rest\Tests\Views; +use Drupal\Component\Utility\String; use Drupal\views\Views; use Drupal\views\Tests\Plugin\PluginTestBase; use Drupal\views\Tests\ViewTestData; @@ -280,7 +281,7 @@ public function testPreview() { $entities[] = $row->_entity; } - $expected = check_plain($serializer->serialize($entities, 'json')); + $expected = String::checkPlain($serializer->serialize($entities, 'json')); $view->display_handler->setContentType('json'); $view->live_preview = TRUE; diff --git a/core/modules/search/search.module b/core/modules/search/search.module index 3d5631b..1f164e7 100644 --- a/core/modules/search/search.module +++ b/core/modules/search/search.module @@ -5,6 +5,7 @@ * Enables site-wide keyword searching. */ +use Drupal\Component\Utility\String; use Drupal\Component\Utility\Unicode; use Symfony\Component\HttpFoundation\Request; @@ -675,7 +676,7 @@ function search_excerpt($keys, $text, $langcode = NULL) { // We didn't find any keyword matches, so just return the first part of the // text. We also need to re-encode any HTML special characters that we // entity-decoded above. - return check_plain(truncate_utf8($text, 256, TRUE, TRUE)); + return String::checkPlain(truncate_utf8($text, 256, TRUE, TRUE)); } // Sort the text ranges by starting position. @@ -716,7 +717,7 @@ function search_excerpt($keys, $text, $langcode = NULL) { // translated. Let translators have the … separator text as one chunk. $ellipses = explode('!excerpt', t('… !excerpt … !excerpt …')); $text = (isset($new_ranges[0]) ? '' : $ellipses[0]) . implode($ellipses[1], $out) . (($max_end < strlen($text) - 1) ? $ellipses[2] : ''); - $text = check_plain($text); + $text = String::check_plain($text); // Highlight keywords. Must be done at once to prevent conflicts ('strong' // and ''). diff --git a/core/modules/search/search.pages.inc b/core/modules/search/search.pages.inc index 34b235c..9d8783c 100644 --- a/core/modules/search/search.pages.inc +++ b/core/modules/search/search.pages.inc @@ -5,6 +5,7 @@ * User page callbacks for the Search module. */ +use Drupal\Component\Utility\String; use Drupal\Core\Language\Language; /** @@ -35,7 +36,7 @@ function template_preprocess_search_result(&$variables) { $result = $variables['result']; $variables['url'] = check_url($result['link']); - $variables['title'] = check_plain($result['title']); + $variables['title'] = String::checkPlain($result['title']); if (isset($result['language']) && $result['language'] != $language_interface->id && $result['language'] != Language::LANGCODE_NOT_SPECIFIED) { $variables['title_attributes']['lang'] = $result['language']; $variables['content_attributes']['lang'] = $result['language']; @@ -43,7 +44,7 @@ function template_preprocess_search_result(&$variables) { $info = array(); if (!empty($result['plugin_id'])) { - $info['plugin_id'] = check_plain($result['plugin_id']); + $info['plugin_id'] = String::checkPlain($result['plugin_id']); } if (!empty($result['user'])) { $info['user'] = $result['user']; diff --git a/core/modules/search/src/Tests/SearchCommentTest.php b/core/modules/search/src/Tests/SearchCommentTest.php index 896bf7b..c825d2a 100644 --- a/core/modules/search/src/Tests/SearchCommentTest.php +++ b/core/modules/search/src/Tests/SearchCommentTest.php @@ -8,6 +8,7 @@ namespace Drupal\search\Tests; use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface; +use Drupal\Component\Utility\String; use Drupal\field\Entity\FieldInstanceConfig; /** @@ -124,7 +125,7 @@ function testSearchResultsComment() { // Verify that comment is rendered using proper format. $this->assertText($comment_body, 'Comment body text found in search results.'); $this->assertNoRaw(t('n/a'), 'HTML in comment body is not hidden.'); - $this->assertNoRaw(check_plain($edit_comment['comment_body[0][value]']), 'HTML in comment body is not escaped.'); + $this->assertNoRaw(String::checkPlain($edit_comment['comment_body[0][value]']), 'HTML in comment body is not escaped.'); // Hide comments. $this->drupalLogin($this->admin_user); diff --git a/core/modules/shortcut/shortcut.admin.inc b/core/modules/shortcut/shortcut.admin.inc index 2444eec..52783d4 100644 --- a/core/modules/shortcut/shortcut.admin.inc +++ b/core/modules/shortcut/shortcut.admin.inc @@ -4,6 +4,7 @@ * @file * Administrative page callbacks for the shortcut module. */ +use Drupal\Component\Utility\String; use Drupal\shortcut\Entity\ShortcutSet; /** @@ -40,7 +41,7 @@ function shortcut_set_switch($form, &$form_state, $account = NULL) { $options = array(); foreach ($sets as $name => $set) { - $options[$name] = check_plain($set->label()); + $options[$name] = String::checkPlain($set->label()); } // Only administrators can add shortcut sets. diff --git a/core/modules/simpletest/simpletest.install b/core/modules/simpletest/simpletest.install index 3cb1217..3b2226e 100644 --- a/core/modules/simpletest/simpletest.install +++ b/core/modules/simpletest/simpletest.install @@ -6,6 +6,7 @@ */ use Drupal\Component\Utility\Environment; +use Drupal\Component\Utility\String; /** * Minimum value of PHP memory_limit for SimpleTest. @@ -67,7 +68,7 @@ function simpletest_requirements($phase) { 'value' => is_dir(DRUPAL_ROOT . '/' . $site_directory) ? t('Not writable') : t('Missing'), 'severity' => REQUIREMENT_ERROR, 'description' => t('The testing framework requires the !sites-simpletest directory to exist and be writable in order to run tests.', array( - '!sites-simpletest' => './' . check_plain($site_directory) . '', + '!sites-simpletest' => './' . String::checkPlain($site_directory) . '', )), ); } @@ -77,7 +78,7 @@ function simpletest_requirements($phase) { 'value' => t('Not protected'), 'severity' => REQUIREMENT_ERROR, 'description' => t('The file !file does not exist and could not be created automatically, which poses a security risk. Ensure that the directory is writable.', array( - '!file' => './' . check_plain($site_directory) . '/.htaccess', + '!file' => './' . String::checkPlain($site_directory) . '/.htaccess', )), ); } diff --git a/core/modules/simpletest/src/WebTestBase.php b/core/modules/simpletest/src/WebTestBase.php index 399c07d..7baaa1b 100644 --- a/core/modules/simpletest/src/WebTestBase.php +++ b/core/modules/simpletest/src/WebTestBase.php @@ -1518,7 +1518,7 @@ protected function drupalGet($path, array $options = array(), array $headers = a $verbose = 'GET request to: ' . $path . '
Ending URL: ' . $this->getUrl(); if ($this->dumpHeaders) { - $verbose .= '
Headers:
' . check_plain(var_export(array_map('trim', $this->headers), TRUE)) . '
'; + $verbose .= '
Headers:
' . String::checkPlain(var_export(array_map('trim', $this->headers), TRUE)) . '
'; } $verbose .= '
' . $out; @@ -1708,7 +1708,7 @@ protected function drupalPostForm($path, $edit, $submit, array $options = array( $verbose = 'POST request to: ' . $path; $verbose .= '
Ending URL: ' . $this->getUrl(); if ($this->dumpHeaders) { - $verbose .= '
Headers:
' . check_plain(var_export(array_map('trim', $this->headers), TRUE)) . '
'; + $verbose .= '
Headers:
' . String::checkPlain(var_export(array_map('trim', $this->headers), TRUE)) . '
'; } $verbose .= '
Fields: ' . highlight_string('' . $out; @@ -2108,7 +2108,7 @@ protected function drupalHead($path, array $options = array(), array $headers = if ($this->dumpHeaders) { $this->verbose('GET request to: ' . $path . '
Ending URL: ' . $this->getUrl() . - '
Headers:
' . check_plain(var_export(array_map('trim', $this->headers), TRUE)) . '
'); + '
Headers:
' . String::checkPlain(var_export(array_map('trim', $this->headers), TRUE)) . '
'); } return $out; @@ -3129,9 +3129,9 @@ protected function assertNoTitle($title, $message = '', $group = 'Other') { */ protected function assertThemeOutput($callback, array $variables = array(), $expected, $message = '', $group = 'Other') { $output = _theme($callback, $variables); - $this->verbose('Variables:' . '
' .  check_plain(var_export($variables, TRUE)) . '
' - . '
' . 'Result:' . '
' .  check_plain(var_export($output, TRUE)) . '
' - . '
' . 'Expected:' . '
' .  check_plain(var_export($expected, TRUE)) . '
' + $this->verbose('Variables:' . '
' .  String::checkPlain(var_export($variables, TRUE)) . '
' + . '
' . 'Result:' . '
' .  String::checkPlain(var_export($output, TRUE)) . '
' + . '
' . 'Expected:' . '
' .  String::checkPlain(var_export($expected, TRUE)) . '
' . '
' . $output ); if (!$message) { diff --git a/core/modules/system/form.api.php b/core/modules/system/form.api.php index cbef68c..3a32863 100644 --- a/core/modules/system/form.api.php +++ b/core/modules/system/form.api.php @@ -5,6 +5,8 @@ * Callbacks provided by the form system. */ +use Drupal\Component\Utility\String; + /** * @addtogroup callbacks * @{ @@ -74,7 +76,7 @@ function callback_batch_operation($MULTIPLE_PARAMS, &$context) { node_save($node); // Store some result for post-processing in the finished callback. - $context['results'][] = check_plain($node->title); + $context['results'][] = String::checkPlain($node->title); // Update our progress information. $context['sandbox']['progress']++; diff --git a/core/modules/system/src/Form/FileSystemForm.php b/core/modules/system/src/Form/FileSystemForm.php index 281bab5..e3c33f9 100644 --- a/core/modules/system/src/Form/FileSystemForm.php +++ b/core/modules/system/src/Form/FileSystemForm.php @@ -7,6 +7,7 @@ namespace Drupal\system\Form; +use Drupal\Component\Utility\String; use Drupal\Core\StreamWrapper\PublicStream; use Drupal\Core\Form\ConfigFormBase; @@ -55,7 +56,7 @@ public function buildForm(array $form, array &$form_state) { // Any visible, writeable wrapper can potentially be used for the files // directory, including a remote file system that integrates with a CDN. foreach (file_get_stream_wrappers(STREAM_WRAPPERS_WRITE_VISIBLE) as $scheme => $info) { - $options[$scheme] = check_plain($info['description']); + $options[$scheme] = String::checkPlain($info['description']); } if (!empty($options)) { diff --git a/core/modules/system/src/Form/ModulesListForm.php b/core/modules/system/src/Form/ModulesListForm.php index d061495..f993c79 100644 --- a/core/modules/system/src/Form/ModulesListForm.php +++ b/core/modules/system/src/Form/ModulesListForm.php @@ -7,6 +7,7 @@ namespace Drupal\system\Form; +use Drupal\Component\Utility\String; use Drupal\Component\Utility\Unicode; use Drupal\Core\Entity\EntityManagerInterface; use Drupal\Core\Entity\Query\QueryFactory; @@ -116,7 +117,7 @@ public function getFormId() { */ public function buildForm(array $form, array &$form_state) { require_once DRUPAL_ROOT . '/core/includes/install.inc'; - $distribution = check_plain(drupal_install_profile_distribution_name()); + $distribution = String::checkPlain(drupal_install_profile_distribution_name()); // Include system.admin.inc so we can use the sort callbacks. $this->moduleHandler->loadInclude('system', 'inc', 'system.admin'); diff --git a/core/modules/system/src/Tests/Common/CascadingStylesheetsTest.php b/core/modules/system/src/Tests/Common/CascadingStylesheetsTest.php index 97b1fc6..9b7e454 100644 --- a/core/modules/system/src/Tests/Common/CascadingStylesheetsTest.php +++ b/core/modules/system/src/Tests/Common/CascadingStylesheetsTest.php @@ -7,6 +7,7 @@ namespace Drupal\system\Tests\Common; +use Drupal\Component\Utility\String; use Drupal\simpletest\DrupalUnitTestBase; /** @@ -78,7 +79,7 @@ function testRenderFile() { $this->assertTrue(strpos($styles, $css) > 0, 'Rendered CSS includes the added stylesheet.'); // Verify that newlines are properly added inside style tags. $query_string = $this->container->get('state')->get('system.css_js_query_string') ?: '0'; - $css_processed = ''; + $css_processed = ''; $this->assertEqual(trim($styles), $css_processed, 'Rendered CSS includes newlines inside style tags for JavaScript use.'); } diff --git a/core/modules/system/src/Tests/Common/RenderWebTest.php b/core/modules/system/src/Tests/Common/RenderWebTest.php index 8168b96..4eaba07 100644 --- a/core/modules/system/src/Tests/Common/RenderWebTest.php +++ b/core/modules/system/src/Tests/Common/RenderWebTest.php @@ -7,6 +7,7 @@ namespace Drupal\system\Tests\Common; +use Drupal\Component\Utility\String; use Drupal\simpletest\WebTestBase; /** @@ -153,8 +154,8 @@ function testDrupalRenderFormElements() { protected function assertRenderedElement(array $element, $xpath, array $xpath_args = array()) { $original_element = $element; $this->drupalSetContent(drupal_render($element)); - $this->verbose('
' .  check_plain(var_export($original_element, TRUE)) . '
' - . '
' .  check_plain(var_export($element, TRUE)) . '
' + $this->verbose('
' .  String::checkPlain(var_export($original_element, TRUE)) . '
' + . '
' .  String::checkPlain(var_export($element, TRUE)) . '
' . '
' . $this->drupalGetContent() ); diff --git a/core/modules/system/src/Tests/Common/TableSortExtenderUnitTest.php b/core/modules/system/src/Tests/Common/TableSortExtenderUnitTest.php index 7b5ab6b..28091bd 100644 --- a/core/modules/system/src/Tests/Common/TableSortExtenderUnitTest.php +++ b/core/modules/system/src/Tests/Common/TableSortExtenderUnitTest.php @@ -7,6 +7,7 @@ namespace Drupal\system\Tests\Common; +use Drupal\Component\Utility\String; use Drupal\simpletest\UnitTestBase; use Symfony\Component\HttpFoundation\Request; @@ -43,7 +44,7 @@ function testTableSortInit() { $request->query->replace(array()); \Drupal::getContainer()->set('request', $request); $ts = tablesort_init($headers); - $this->verbose(strtr('$ts:
!ts
', array('!ts' => check_plain(var_export($ts, TRUE))))); + $this->verbose(strtr('$ts:
!ts
', array('!ts' => String::checkPlain(var_export($ts, TRUE))))); $this->assertEqual($ts, $expected_ts, 'Simple table headers sorted correctly.'); // Test with simple table headers plus $_GET parameters that should _not_ @@ -56,7 +57,7 @@ function testTableSortInit() { )); \Drupal::getContainer()->set('request', $request); $ts = tablesort_init($headers); - $this->verbose(strtr('$ts:
!ts
', array('!ts' => check_plain(var_export($ts, TRUE))))); + $this->verbose(strtr('$ts:
!ts
', array('!ts' => String::checkPlain(var_export($ts, TRUE))))); $this->assertEqual($ts, $expected_ts, 'Simple table headers plus non-overriding $_GET parameters sorted correctly.'); // Test with simple table headers plus $_GET parameters that _should_ @@ -72,7 +73,7 @@ function testTableSortInit() { $expected_ts['sort'] = 'desc'; $expected_ts['query'] = array('alpha' => 'beta'); $ts = tablesort_init($headers); - $this->verbose(strtr('$ts:
!ts
', array('!ts' => check_plain(var_export($ts, TRUE))))); + $this->verbose(strtr('$ts:
!ts
', array('!ts' => String::checkPlain(var_export($ts, TRUE))))); $this->assertEqual($ts, $expected_ts, 'Simple table headers plus $_GET parameters sorted correctly.'); // Test complex table headers. @@ -104,7 +105,7 @@ function testTableSortInit() { 'sort' => 'desc', 'query' => array(), ); - $this->verbose(strtr('$ts:
!ts
', array('!ts' => check_plain(var_export($ts, TRUE))))); + $this->verbose(strtr('$ts:
!ts
', array('!ts' => String::checkPlain(var_export($ts, TRUE))))); $this->assertEqual($ts, $expected_ts, 'Complex table headers sorted correctly.'); // Test complex table headers plus $_GET parameters that should _not_ @@ -123,7 +124,7 @@ function testTableSortInit() { 'sort' => 'asc', 'query' => array(), ); - $this->verbose(strtr('$ts:
!ts
', array('!ts' => check_plain(var_export($ts, TRUE))))); + $this->verbose(strtr('$ts:
!ts
', array('!ts' => String::checkPlain(var_export($ts, TRUE))))); $this->assertEqual($ts, $expected_ts, 'Complex table headers plus non-overriding $_GET parameters sorted correctly.'); // Test complex table headers plus $_GET parameters that _should_ @@ -144,7 +145,7 @@ function testTableSortInit() { 'query' => array('alpha' => 'beta'), ); $ts = tablesort_init($headers); - $this->verbose(strtr('$ts:
!ts
', array('!ts' => check_plain(var_export($ts, TRUE))))); + $this->verbose(strtr('$ts:
!ts
', array('!ts' => String::checkPlain(var_export($ts, TRUE))))); $this->assertEqual($ts, $expected_ts, 'Complex table headers plus $_GET parameters sorted correctly.'); } } diff --git a/core/modules/system/src/Tests/Form/FormTest.php b/core/modules/system/src/Tests/Form/FormTest.php index e45defc..098751a 100644 --- a/core/modules/system/src/Tests/Form/FormTest.php +++ b/core/modules/system/src/Tests/Form/FormTest.php @@ -610,7 +610,7 @@ function testDisabledMarkup() { $path = strtr($path, array('!type' => $type)); // Verify that the element exists. $element = $this->xpath($path, array( - ':name' => check_plain($name), + ':name' => String::checkPlain($name), ':div-class' => $class, ':value' => isset($item['#value']) ? $item['#value'] : '', )); diff --git a/core/modules/system/src/Tests/Mail/HtmlToTextTest.php b/core/modules/system/src/Tests/Mail/HtmlToTextTest.php index e55e0563..0f17ede 100644 --- a/core/modules/system/src/Tests/Mail/HtmlToTextTest.php +++ b/core/modules/system/src/Tests/Mail/HtmlToTextTest.php @@ -7,6 +7,7 @@ namespace Drupal\system\Tests\Mail; +use Drupal\Component\Utility\String; use Drupal\Core\Site\Settings; use Drupal\simpletest\WebTestBase; @@ -37,7 +38,7 @@ protected function stringToHtml($text) { str_replace( array("\n", ' '), array('\n', ' '), - check_plain($text) + String::checkPlain($text) ) . '"'; } @@ -59,7 +60,7 @@ protected function assertHtmlToText($html, $text, $message, $allowed_tags = NULL $tested_tags = implode(', ', array_unique($matches[1])); $message .= ' (' . $tested_tags . ')'; $result = drupal_html_to_text($html, $allowed_tags); - $pass = $this->assertEqual($result, $text, check_plain($message)); + $pass = $this->assertEqual($result, $text, String::checkPlain($message)); $verbose = 'html =
' . $this->stringToHtml($html)
       . '

' . 'result =
' . $this->stringToHtml($result)
       . '

' . 'expected =
' . $this->stringToHtml($text)
diff --git a/core/modules/system/src/Tests/Menu/BreadcrumbTest.php b/core/modules/system/src/Tests/Menu/BreadcrumbTest.php
index 849aadc..b3378e2 100644
--- a/core/modules/system/src/Tests/Menu/BreadcrumbTest.php
+++ b/core/modules/system/src/Tests/Menu/BreadcrumbTest.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\system\Tests\Menu;
 
+use Drupal\Component\Utility\String;
 use Drupal\Component\Utility\Unicode;
 
 /**
@@ -272,7 +273,7 @@ function testBreadCrumbs() {
         $link['link_path'] => $link['link_title'],
       );
       $this->assertBreadcrumb($link['link_path'], $trail, $term->getName(), $tree);
-      $this->assertRaw(check_plain($parent->getTitle()), 'Tagged node found.');
+      $this->assertRaw(String::checkPlain($parent->getTitle()), 'Tagged node found.');
 
       // Additionally make sure that this link appears only once; i.e., the
       // untranslated menu links automatically generated from menu router items
diff --git a/core/modules/system/src/Tests/Menu/MenuTestBase.php b/core/modules/system/src/Tests/Menu/MenuTestBase.php
index d205b13..fc896d8 100644
--- a/core/modules/system/src/Tests/Menu/MenuTestBase.php
+++ b/core/modules/system/src/Tests/Menu/MenuTestBase.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\system\Tests\Menu;
 
+use Drupal\Component\Utility\String;
 use Drupal\simpletest\WebTestBase;
 
 abstract class MenuTestBase extends WebTestBase {
@@ -65,7 +66,7 @@ protected function assertBreadcrumbParts($trail) {
       foreach ($trail as $path => $title) {
         $url = url($path);
         $part = array_shift($parts);
-        $pass = ($pass && $part['href'] === $url && $part['text'] === check_plain($title));
+        $pass = ($pass && $part['href'] === $url && $part['text'] === String::checkPlain($title));
       }
     }
     // No parts must be left, or an expected "Home" will always pass.
diff --git a/core/modules/system/src/Tests/System/PageTitleTest.php b/core/modules/system/src/Tests/System/PageTitleTest.php
index 87c4edb..977b60d 100644
--- a/core/modules/system/src/Tests/System/PageTitleTest.php
+++ b/core/modules/system/src/Tests/System/PageTitleTest.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\system\Tests\System;
 
+use Drupal\Component\Utility\String;
 use Drupal\Component\Utility\Xss;
 use Drupal\Core\Utility\Title;
 use Drupal\simpletest\WebTestBase;
@@ -65,7 +66,7 @@ function testTitleTags() {
     $node = $this->drupalGetNodeByTitle($edit['title[0][value]']);
     $this->assertNotNull($node, 'Node created and found in database');
     $this->drupalGet("node/" . $node->id());
-    $this->assertText(check_plain($edit['title[0][value]']), 'Check to make sure tags in the node title are converted.');
+    $this->assertText(String::checkPlain($edit['title[0][value]']), 'Check to make sure tags in the node title are converted.');
   }
 
   /**
@@ -74,7 +75,7 @@ function testTitleTags() {
   function testTitleXSS() {
     // Set some title with JavaScript and HTML chars to escape.
     $title = ' & < > " \' ';
-    $title_filtered = check_plain($title);
+    $title_filtered = String::checkPlain($title);
 
     $slogan = '';
     $slogan_filtered = Xss::filterAdmin($slogan);
diff --git a/core/modules/system/src/Tests/Theme/FunctionsTest.php b/core/modules/system/src/Tests/Theme/FunctionsTest.php
index 7aa294c..c1b0433 100644
--- a/core/modules/system/src/Tests/Theme/FunctionsTest.php
+++ b/core/modules/system/src/Tests/Theme/FunctionsTest.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\system\Tests\Theme;
 
+use Drupal\Component\Utility\String;
 use Drupal\Core\Session\UserSession;
 use Drupal\simpletest\WebTestBase;
 use Symfony\Cmf\Component\Routing\RouteObjectInterface;
@@ -198,10 +199,10 @@ function testLinks() {
 
     $expected_links = '';
     $expected_links .= '';
 
     // Verify that passing a string as heading works.
@@ -234,10 +235,10 @@ function testLinks() {
     );
     $expected_links = '';
     $expected_links .= '';
     $expected = $expected_heading . $expected_links;
     $this->assertThemeOutput('links', $variables, $expected);
@@ -247,10 +248,10 @@ function testLinks() {
     $variables['set_active_class'] = TRUE;
     $expected_links = '';
     $expected_links .= '';
     $expected = $expected_heading . $expected_links;
     $this->assertThemeOutput('links', $variables, $expected);
diff --git a/core/modules/system/system.api.php b/core/modules/system/system.api.php
index e7ff778..0ba28bf 100644
--- a/core/modules/system/system.api.php
+++ b/core/modules/system/system.api.php
@@ -5,6 +5,7 @@
  * Hooks provided by Drupal core and the System module.
  */
 
+use Drupal\Component\Utility\String;
 use Drupal\Core\Utility\UpdateException;
 
 /**
@@ -2428,7 +2429,7 @@ function hook_tokens($type, $tokens, array $data = array(), array $options = arr
           break;
 
         case 'title':
-          $replacements[$original] = $sanitize ? check_plain($node->getTitle()) : $node->getTitle();
+          $replacements[$original] = $sanitize ? String::checkPlain($node->getTitle()) : $node->getTitle();
           break;
 
         case 'edit-url':
@@ -2438,7 +2439,7 @@ function hook_tokens($type, $tokens, array $data = array(), array $options = arr
         // Default values for the chained tokens handled below.
         case 'author':
           $account = $node->getOwner() ? $node->getOwner() : user_load(0);
-          $replacements[$original] = $sanitize ? check_plain($account->label()) : $account->label();
+          $replacements[$original] = $sanitize ? String::checkPlain($account->label()) : $account->label();
           break;
 
         case 'created':
diff --git a/core/modules/system/system.tokens.inc b/core/modules/system/system.tokens.inc
index 3750ff2..404cc13 100644
--- a/core/modules/system/system.tokens.inc
+++ b/core/modules/system/system.tokens.inc
@@ -7,6 +7,7 @@
  * This file handles tokens for the global 'site' and 'date' tokens.
  */
 
+use Drupal\Component\Utility\String;
 use Drupal\Component\Utility\Xss;
 
 /**
@@ -106,7 +107,7 @@ function system_tokens($type, $tokens, array $data = array(), array $options = a
       switch ($name) {
         case 'name':
           $site_name = \Drupal::config('system.site')->get('name');
-          $replacements[$original] = $sanitize ? check_plain($site_name) : $site_name;
+          $replacements[$original] = $sanitize ? String::checkPlain($site_name) : $site_name;
           break;
 
         case 'slogan':
@@ -160,7 +161,7 @@ function system_tokens($type, $tokens, array $data = array(), array $options = a
           break;
 
         case 'raw':
-          $replacements[$original] = $sanitize ? check_plain($date) : $date;
+          $replacements[$original] = $sanitize ? String::checkPlain($date) : $date;
           break;
       }
     }
diff --git a/core/modules/system/templates/links.html.twig b/core/modules/system/templates/links.html.twig
index 65d87c2..14ff3e8 100644
--- a/core/modules/system/templates/links.html.twig
+++ b/core/modules/system/templates/links.html.twig
@@ -12,7 +12,7 @@
  *     item in the links list. If 'href' is supplied, the entire link is passed
  *     to l() as its $options parameter.
  *   - html: (optional) Whether or not 'title' is HTML. If set, the title will
- *     not be passed through check_plain().
+ *     not be passed through \Drupal\Component\Utility\String::checkPlain().
  *   - attributes: (optional) HTML attributes for the anchor, or for the 
  *     tag if no 'href' is supplied.
  * - heading: (optional) A heading to precede the links.
diff --git a/core/modules/system/tests/modules/database_test/database_test.module b/core/modules/system/tests/modules/database_test/database_test.module
index f41ad30..cb9da23 100644
--- a/core/modules/system/tests/modules/database_test/database_test.module
+++ b/core/modules/system/tests/modules/database_test/database_test.module
@@ -215,7 +215,7 @@ function database_test_theme_tablesort($form, &$form_state) {
   foreach (user_load_multiple($uids) as $account) {
     $options[$account->id()] = array(
       'title' => array('data' => array('#title' => String::checkPlain($account->getUsername()))),
-      'username' => check_plain($account->getUsername()),
+      'username' => String::checkPlain($account->getUsername()),
       'status' =>  $account->isActive() ? t('active') : t('blocked'),
     );
   }
diff --git a/core/modules/system/tests/modules/entity_test/src/EntityTestViewBuilder.php b/core/modules/system/tests/modules/entity_test/src/EntityTestViewBuilder.php
index e45ddc0..535faff 100644
--- a/core/modules/system/tests/modules/entity_test/src/EntityTestViewBuilder.php
+++ b/core/modules/system/tests/modules/entity_test/src/EntityTestViewBuilder.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\entity_test;
 
+use Drupal\Component\Utility\String;
 use Drupal\Core\Entity\EntityViewBuilder;
 
 /**
@@ -25,7 +26,7 @@ public function buildComponents(array &$build, array $entities, array $displays,
     foreach ($entities as $id => $entity) {
       $build[$id]['label'] = array(
         '#weight' => -100,
-        '#markup' => check_plain($entity->label()),
+        '#markup' => String::checkPlain($entity->label()),
       );
       $build[$id]['separator'] = array(
         '#weight' => -150,
@@ -33,7 +34,7 @@ public function buildComponents(array &$build, array $entities, array $displays,
       );
       $build[$id]['view_mode'] = array(
         '#weight' => -200,
-        '#markup' => check_plain($view_mode),
+        '#markup' => String::checkPlain($view_mode),
       );
     }
   }
diff --git a/core/modules/system/tests/modules/form_test/form_test.module b/core/modules/system/tests/modules/form_test/form_test.module
index a98cd4f..e3e394b 100644
--- a/core/modules/system/tests/modules/form_test/form_test.module
+++ b/core/modules/system/tests/modules/form_test/form_test.module
@@ -6,6 +6,7 @@
  */
 
 use Drupal\Component\Serialization\Json;
+use Drupal\Component\Utility\String;
 use Drupal\Core\Database\Database;
 use Drupal\Core\Language\Language;
 use Drupal\form_test\Callbacks;
@@ -640,7 +641,7 @@ function form_storage_test_form_continue_submit($form, &$form_state) {
  * Form submit handler to finish multi-step form.
  */
 function form_test_storage_form_submit($form, &$form_state) {
-  drupal_set_message("Title: " . check_plain($form_state['values']['title']));
+  drupal_set_message("Title: " . String::checkPlain($form_state['values']['title']));
   drupal_set_message("Form constructions: " . $_SESSION['constructions']);
   if (isset($form_state['storage']['thing']['changed'])) {
     drupal_set_message("The thing has been changed.");
diff --git a/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php b/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php
index b225ace..ca1769d 100644
--- a/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php
+++ b/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php
@@ -49,7 +49,7 @@ public static function propertyDefinitions(FieldStorageDefinitionInterface $fiel
    * {@inheritdoc}
    */
   public function applyDefaultValue($notify = TRUE) {
-    // Default to a simple check_plain().
+    // Default to a simple \Drupal\Component\Utility\String::checkPlain().
     // @todo: Add in the filter default format here.
     $this->setValue(array('format' => NULL), $notify);
     return $this;
diff --git a/core/modules/text/src/Tests/Formatter/TextPlainUnitTest.php b/core/modules/text/src/Tests/Formatter/TextPlainUnitTest.php
index 85b6584..539d510 100644
--- a/core/modules/text/src/Tests/Formatter/TextPlainUnitTest.php
+++ b/core/modules/text/src/Tests/Formatter/TextPlainUnitTest.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\text\Tests\Formatter;
 
+use Drupal\Component\Utility\String;
 use Drupal\Core\Entity\ContentEntityInterface;
 use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Language\Language;
@@ -144,7 +145,7 @@ protected function renderEntityFields(ContentEntityInterface $entity, EntityView
    * @return string
    *   The $message with exported replacement tokens, sanitized for HTML output.
    *
-   * @see check_plain()
+   * @see \Drupal\Component\Utility\String::checkPlain()
    * @see format_string()
    */
   protected function formatString($message, array $args) {
@@ -304,7 +305,7 @@ function testPlainText() {
     $this->renderEntityFields($entity, $this->display);
     $this->assertText($value);
     $this->assertNoRaw($value);
-    $this->assertRaw(nl2br(check_plain($value)));
+    $this->assertRaw(nl2br(String::checkPlain($value)));
   }
 
 }
diff --git a/core/modules/text/src/Tests/TextFieldTest.php b/core/modules/text/src/Tests/TextFieldTest.php
index 84154f3..11e5d73 100644
--- a/core/modules/text/src/Tests/TextFieldTest.php
+++ b/core/modules/text/src/Tests/TextFieldTest.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\text\Tests;
 
+use Drupal\Component\Utility\String;
 use Drupal\simpletest\WebTestBase;
 
 /**
@@ -212,7 +213,7 @@ function _testTextfieldWidgetsFormatted($field_type, $widget_type) {
     $content = $display->build($entity);
     $this->drupalSetContent(drupal_render($content));
     $this->assertNoRaw($value, 'HTML tags are not displayed.');
-    $this->assertRaw(check_plain($value), 'Escaped HTML is displayed correctly.');
+    $this->assertRaw(String::checkPlain($value), 'Escaped HTML is displayed correctly.');
 
     // Create a new text format that does not escape HTML, and grant the user
     // access to it.
diff --git a/core/modules/text/src/TextProcessed.php b/core/modules/text/src/TextProcessed.php
index 3666d29..e9f0914 100644
--- a/core/modules/text/src/TextProcessed.php
+++ b/core/modules/text/src/TextProcessed.php
@@ -49,7 +49,8 @@ public function getValue($langcode = NULL) {
     $item = $this->getParent();
     $text = $item->{($this->definition->getSetting('text source'))};
 
-    // Avoid running check_markup() or check_plain() on empty strings.
+    // Avoid running check_markup() or
+    // \Drupal\Component\Utility\String::checkPlain() on empty strings.
     if (!isset($text) || $text === '') {
       $this->processed = '';
     }
diff --git a/core/modules/toolbar/toolbar.module b/core/modules/toolbar/toolbar.module
index 3599c59..0ac638e 100644
--- a/core/modules/toolbar/toolbar.module
+++ b/core/modules/toolbar/toolbar.module
@@ -5,6 +5,7 @@
  * Administration toolbar for quick access to top level administration items.
  */
 
+use Drupal\Component\Utility\String;
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Language\Language;
 use Drupal\Core\Render\Element;
@@ -459,7 +460,7 @@ function toolbar_menu_navigation_links(&$tree) {
         'toolbar-icon',
         'toolbar-icon-' . strtolower(str_replace(' ', '-', $item['link']['link_title'])),
       ),
-      'title' => check_plain($item['link']['description']),
+      'title' => String::checkPlain($item['link']['description']),
     );
   }
 }
diff --git a/core/modules/tour/src/Plugin/tour/tip/TipPluginText.php b/core/modules/tour/src/Plugin/tour/tip/TipPluginText.php
index ef7fdd8..555cb53 100644
--- a/core/modules/tour/src/Plugin/tour/tip/TipPluginText.php
+++ b/core/modules/tour/src/Plugin/tour/tip/TipPluginText.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\tour\Plugin\tour\tip;
 
+use Drupal\Component\Utility\String;
 use Drupal\Component\Utility\Xss;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\Core\Utility\Token;
@@ -119,7 +120,7 @@ public function getAttributes() {
    * Implements \Drupal\tour\TipPluginInterface::getOutput().
    */
   public function getOutput() {
-    $output = '

' . check_plain($this->getLabel()) . '

'; + $output = '

' . String::checkPlain($this->getLabel()) . '

'; $output .= '

' . Xss::filterAdmin($this->token->replace($this->getBody())) . '

'; return array('#markup' => $output); } diff --git a/core/modules/tour/tests/tour_test/src/Plugin/tour/tip/TipPluginImage.php b/core/modules/tour/tests/tour_test/src/Plugin/tour/tip/TipPluginImage.php index 79ed03c..89f051a 100644 --- a/core/modules/tour/tests/tour_test/src/Plugin/tour/tip/TipPluginImage.php +++ b/core/modules/tour/tests/tour_test/src/Plugin/tour/tip/TipPluginImage.php @@ -7,6 +7,7 @@ namespace Drupal\tour_test\Plugin\tour\tip; +use Drupal\Component\Utility\String; use Drupal\tour\TipPluginBase; /** @@ -44,7 +45,7 @@ public function getOutput() { '#uri' => $this->get('url'), '#alt' => $this->get('alt'), ); - $output = '

' . check_plain($this->get('label')) . '

'; + $output = '

' . String::checkPlain($this->get('label')) . '

'; $output .= '

' . drupal_render($image) . '

'; return array('#markup' => $output); } diff --git a/core/modules/tracker/tracker.pages.inc b/core/modules/tracker/tracker.pages.inc index 30c7915..aa05f2b 100644 --- a/core/modules/tracker/tracker.pages.inc +++ b/core/modules/tracker/tracker.pages.inc @@ -5,6 +5,8 @@ * User page callbacks for tracker.module. */ +use Drupal\Component\Utility\String; + /** * Page callback: Generates a page of tracked nodes for the site. @@ -86,7 +88,7 @@ function tracker_page($account = NULL) { ); $row = array( - 'type' => check_plain(node_get_type_label($node)), + 'type' => String::checkPlain(node_get_type_label($node)), 'title' => array('data' => l($node->getTitle(), 'node/' . $node->id()) . ' ' . drupal_render($mark_build)), 'author' => array('data' => array('#theme' => 'username', '#account' => $node->getOwner())), 'replies' => array('class' => array('replies'), 'data' => $comments), diff --git a/core/modules/update/update.manager.inc b/core/modules/update/update.manager.inc index 83203ae..38611bf 100644 --- a/core/modules/update/update.manager.inc +++ b/core/modules/update/update.manager.inc @@ -36,6 +36,7 @@ * root. */ +use Drupal\Component\Utility\String; use Drupal\Core\Updater\Updater; use Drupal\Core\FileTransfer\Local; use Symfony\Component\HttpFoundation\RedirectResponse; @@ -108,14 +109,14 @@ function update_manager_update_form($form, $form_state = array(), $context) { $project_name = l($project['title'], $project['link']); } else { - $project_name = check_plain($project['title']); + $project_name = String::checkPlain($project['title']); } } elseif (!empty($project['info']['name'])) { - $project_name = check_plain($project['info']['name']); + $project_name = String::checkPlain($project['info']['name']); } else { - $project_name = check_plain($name); + $project_name = String::checkPlain($name); } if ($project['project_type'] == 'theme' || $project['project_type'] == 'theme-disabled') { $project_name .= ' ' . t('(Theme)'); diff --git a/core/modules/update/update.report.inc b/core/modules/update/update.report.inc index 6a06cbe..b4410e0 100644 --- a/core/modules/update/update.report.inc +++ b/core/modules/update/update.report.inc @@ -5,6 +5,8 @@ * Code required only when rendering the available updates report. */ +use Drupal\Component\Utility\String; + /** * Returns HTML for the project status report. * @@ -83,7 +85,7 @@ function theme_update_report($variables) { $row = '
'; $update_status_label = array('#theme' => 'update_status_label', '#status' => $project['status']); $status_label = drupal_render($update_status_label); - $row .= !empty($status_label) ? $status_label : check_plain($project['reason']); + $row .= !empty($status_label) ? $status_label : String::checkPlain($project['reason']); $row .= '' . drupal_render($icon) . ''; $row .= "
\n"; @@ -93,13 +95,13 @@ function theme_update_report($variables) { $row .= l($project['title'], $project['link']); } else { - $row .= check_plain($project['title']); + $row .= String::checkPlain($project['title']); } } else { - $row .= check_plain($project['name']); + $row .= String::checkPlain($project['name']); } - $row .= ' ' . check_plain($project['existing_version']); + $row .= ' ' . String::checkPlain($project['existing_version']); if ($project['install_type'] == 'dev' && !empty($project['datestamp'])) { $row .= ' (' . format_date($project['datestamp'], 'custom', 'Y-M-d') . ')'; } @@ -201,7 +203,7 @@ function theme_update_report($variables) { $row .= '
' . "\n"; foreach ($project['extra'] as $value) { $row .= '
'; - $row .= check_plain($value['label']) . ': '; + $row .= String::checkPlain($value['label']) . ': '; $row .= drupal_placeholder($value['data']); $row .= "
\n"; } diff --git a/core/modules/user/src/AccountForm.php b/core/modules/user/src/AccountForm.php index 8071280..e2526df 100644 --- a/core/modules/user/src/AccountForm.php +++ b/core/modules/user/src/AccountForm.php @@ -193,7 +193,7 @@ public function form(array $form, array &$form_state) { '#access' => $admin, ); - $roles = array_map('check_plain', user_role_names(TRUE)); + $roles = array_map(array('\Drupal\Component\Utility\String', 'checkPlain'), user_role_names(TRUE)); // The disabled checkbox subelement for the 'authenticated user' role // must be generated separately and added to the checkboxes element, // because of a limitation in Form API not supporting a single disabled diff --git a/core/modules/user/src/Plugin/views/access/Role.php b/core/modules/user/src/Plugin/views/access/Role.php index a50ac39..496c9d7 100644 --- a/core/modules/user/src/Plugin/views/access/Role.php +++ b/core/modules/user/src/Plugin/views/access/Role.php @@ -7,6 +7,7 @@ namespace Drupal\user\Plugin\views\access; +use Drupal\Component\Utility\String; use Drupal\views\Plugin\views\access\AccessPluginBase; use Symfony\Component\Routing\Route; use Drupal\Core\Session\AccountInterface; @@ -56,7 +57,7 @@ public function summaryTitle() { else { $rids = user_role_names(); $rid = reset($this->options['role']); - return check_plain($rids[$rid]); + return String::checkPlain($rids[$rid]); } } diff --git a/core/modules/user/src/Plugin/views/argument_validator/User.php b/core/modules/user/src/Plugin/views/argument_validator/User.php index 8fe0bd2..e6a15dd 100644 --- a/core/modules/user/src/Plugin/views/argument_validator/User.php +++ b/core/modules/user/src/Plugin/views/argument_validator/User.php @@ -62,7 +62,7 @@ public function buildOptionsForm(&$form, &$form_state) { $form['roles'] = array( '#type' => 'checkboxes', '#title' => $this->t('Restrict to the selected roles'), - '#options' => array_map('check_plain', user_role_names(TRUE)), + '#options' => array_map(array('\Drupal\Component\Utility\String', 'checkPlain'), user_role_names(TRUE)), '#default_value' => $this->options['roles'], '#description' => $this->t('If no roles are selected, users from any role will be allowed.'), '#states' => array( diff --git a/core/modules/user/src/Plugin/views/field/Name.php b/core/modules/user/src/Plugin/views/field/Name.php index 765a4d7..fa924d7 100644 --- a/core/modules/user/src/Plugin/views/field/Name.php +++ b/core/modules/user/src/Plugin/views/field/Name.php @@ -7,6 +7,7 @@ namespace Drupal\user\Plugin\views\field; +use Drupal\Component\Utility\String; use Drupal\user\Plugin\views\field\User; use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\ResultRow; @@ -84,7 +85,7 @@ protected function renderLink($data, ResultRow $values) { if (!empty($this->options['link_to_user']) || !empty($this->options['overwrite_anonymous'])) { if (!empty($this->options['overwrite_anonymous']) && !$account->id()) { // This is an anonymous user, and we're overriting the text. - return check_plain($this->options['anonymous_text']); + return String::checkPlain($this->options['anonymous_text']); } elseif (!empty($this->options['link_to_user'])) { $account->name = $this->getValue($values); diff --git a/core/modules/user/src/Plugin/views/field/Roles.php b/core/modules/user/src/Plugin/views/field/Roles.php index 0c29fac..57506a8 100644 --- a/core/modules/user/src/Plugin/views/field/Roles.php +++ b/core/modules/user/src/Plugin/views/field/Roles.php @@ -7,6 +7,7 @@ namespace Drupal\user\Plugin\views\field; +use Drupal\Component\Utility\String; use Drupal\Core\Database\Connection; use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\ViewExecutable; @@ -80,7 +81,7 @@ public function preRender(&$values) { $roles = user_roles(); $result = $this->database->query('SELECT u.uid, u.rid FROM {users_roles} u WHERE u.uid IN (:uids) AND u.rid IN (:rids)', array(':uids' => $uids, ':rids' => array_keys($roles))); foreach ($result as $role) { - $this->items[$role->uid][$role->rid]['role'] = check_plain($roles[$role->rid]->label()); + $this->items[$role->uid][$role->rid]['role'] = String::checkPlain($roles[$role->rid]->label()); $this->items[$role->uid][$role->rid]['rid'] = $role->rid; } // Sort the roles for each user by role weight. diff --git a/core/modules/user/src/Tests/UserAutocompleteTest.php b/core/modules/user/src/Tests/UserAutocompleteTest.php index de8062e..0880852 100644 --- a/core/modules/user/src/Tests/UserAutocompleteTest.php +++ b/core/modules/user/src/Tests/UserAutocompleteTest.php @@ -7,6 +7,7 @@ namespace Drupal\user\Tests; +use Drupal\Component\Utility\String; use Drupal\simpletest\WebTestBase; /** @@ -51,9 +52,9 @@ function testUserAutocomplete() { $anonymous_name = $this->randomString() . ''; \Drupal::config('user.settings')->set('anonymous', $anonymous_name)->save(); // Test that anonymous username is in the result when requested and escaped - // with check_plain(). + // with \Drupal\Component\Utility\String::checkPlain(). $users = $this->drupalGetJSON('user/autocomplete/anonymous', array('query' => array('q' => drupal_substr($anonymous_name, 0, 4)))); - $this->assertEqual(check_plain($anonymous_name), $users[0]['label'], 'The anonymous name found in autocompletion results.'); + $this->assertEqual(String::checkPlain($anonymous_name), $users[0]['label'], 'The anonymous name found in autocompletion results.'); $users = $this->drupalGetJSON('user/autocomplete', array('query' => array('q' => drupal_substr($anonymous_name, 0, 4)))); $this->assertTrue(empty($users), 'The anonymous name not found in autocompletion results without enabling anonymous username.'); } diff --git a/core/modules/user/src/Tests/UserTokenReplaceTest.php b/core/modules/user/src/Tests/UserTokenReplaceTest.php index c9be29c..1f8f023 100644 --- a/core/modules/user/src/Tests/UserTokenReplaceTest.php +++ b/core/modules/user/src/Tests/UserTokenReplaceTest.php @@ -7,6 +7,7 @@ namespace Drupal\user\Tests; +use Drupal\Component\Utility\String; use Drupal\simpletest\WebTestBase; use Drupal\Core\Language\Language; @@ -62,15 +63,15 @@ function testUserTokenReplacement() { // Generate and test sanitized tokens. $tests = array(); $tests['[user:uid]'] = $account->id(); - $tests['[user:name]'] = check_plain(user_format_name($account)); - $tests['[user:mail]'] = check_plain($account->getEmail()); + $tests['[user:name]'] = String::checkPlain(user_format_name($account)); + $tests['[user:mail]'] = String::checkPlain($account->getEmail()); $tests['[user:url]'] = url("user/" . $account->id(), $url_options); $tests['[user:edit-url]'] = url("user/" . $account->id() . "/edit", $url_options); $tests['[user:last-login]'] = format_date($account->getLastLoginTime(), 'medium', '', NULL, $language_interface->id); $tests['[user:last-login:short]'] = format_date($account->getLastLoginTime(), 'short', '', NULL, $language_interface->id); $tests['[user:created]'] = format_date($account->getCreatedTime(), 'medium', '', NULL, $language_interface->id); $tests['[user:created:short]'] = format_date($account->getCreatedTime(), 'short', '', NULL, $language_interface->id); - $tests['[current-user:name]'] = check_plain(user_format_name($global_account)); + $tests['[current-user:name]'] = String::checkPlain(user_format_name($global_account)); // Test to make sure that we generated something for each token. $this->assertFalse(in_array(0, array_map('strlen', $tests)), 'No empty tokens generated.'); diff --git a/core/modules/user/user.module b/core/modules/user/user.module index 709d52a..14edc2a 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -1,6 +1,7 @@ hasPermission('access user profiles'); // Populate link path and attributes if appropriate. @@ -664,7 +666,8 @@ function template_preprocess_username(&$variables) { $variables['link_path'] = $account->homepage; $variables['homepage'] = $account->homepage; } - // We do not want the l() function to check_plain() a second time. + // We do not want the l() function to + // \Drupal\Component\Utility\String::checkPlain() a second time. $variables['link_options']['html'] = TRUE; // Set a default class. $variables['link_options']['attributes']['class'] = array('username'); diff --git a/core/modules/user/user.tokens.inc b/core/modules/user/user.tokens.inc index 80c8bbd..51579be 100644 --- a/core/modules/user/user.tokens.inc +++ b/core/modules/user/user.tokens.inc @@ -5,6 +5,8 @@ * Builds placeholder replacement tokens for user-related data. */ +use Drupal\Component\Utility\String; + /** * Implements hook_token_info(). */ @@ -88,11 +90,11 @@ function user_tokens($type, $tokens, array $data = array(), array $options = arr case 'name': $name = user_format_name($account); - $replacements[$original] = $sanitize ? check_plain($name) : $name; + $replacements[$original] = $sanitize ? String::checkPlain($name) : $name; break; case 'mail': - $replacements[$original] = $sanitize ? check_plain($account->getEmail()) : $account->getEmail(); + $replacements[$original] = $sanitize ? String::checkPlain($account->getEmail()) : $account->getEmail(); break; case 'url': diff --git a/core/modules/xmlrpc/xmlrpc.inc b/core/modules/xmlrpc/xmlrpc.inc index cb2180e..aaa9421 100644 --- a/core/modules/xmlrpc/xmlrpc.inc +++ b/core/modules/xmlrpc/xmlrpc.inc @@ -11,6 +11,7 @@ * This version is made available under the GNU GPL License */ +use Drupal\Component\Utility\String; use GuzzleHttp\Exception\RequestException; /** @@ -122,7 +123,7 @@ function xmlrpc_value_get_xml($xmlrpc_value) { case 'struct': $return = '' . "\n"; foreach ($xmlrpc_value->data as $name => $value) { - $return .= " " . check_plain($name) . ""; + $return .= " " . String::checkPlain($name) . ""; $return .= xmlrpc_value_get_xml($value) . "\n"; } $return .= ''; diff --git a/core/themes/bartik/bartik.theme b/core/themes/bartik/bartik.theme index 1532b9f..5ccf24c 100644 --- a/core/themes/bartik/bartik.theme +++ b/core/themes/bartik/bartik.theme @@ -5,6 +5,7 @@ * Functions to support theming in the Bartik theme. */ +use Drupal\Component\Utility\String; use Drupal\Component\Utility\Xss; use Drupal\Core\Template\RenderWrapper; use Drupal\Core\Template\Attribute; @@ -181,7 +182,7 @@ function _bartik_process_page(&$variables) { $variables['hide_site_slogan'] = theme_get_setting('features.slogan') ? FALSE : TRUE; if ($variables['hide_site_name']) { // If toggle_name is FALSE, the site_name will be empty, so we rebuild it. - $variables['site_name'] = check_plain($site_config->get('name')); + $variables['site_name'] = String::checkPlain($site_config->get('name')); } if ($variables['hide_site_slogan']) { // If toggle_site_slogan is FALSE, the site_slogan will be empty, so we diff --git a/core/themes/seven/seven.theme b/core/themes/seven/seven.theme index 8d7e0b5..2923605 100644 --- a/core/themes/seven/seven.theme +++ b/core/themes/seven/seven.theme @@ -119,7 +119,7 @@ function seven_node_add_list($variables) { $output = '
    '; foreach ($content as $type) { $output .= '
  • '; - $content = '' . check_plain($type->name) . ''; + $content = '' . String::checkPlain($type->name) . ''; $content .= '
    ' . Xss::filterAdmin($type->description) . '
    '; $options['html'] = TRUE; $output .= l($content, 'node/add/' . $type->type, $options); @@ -144,7 +144,7 @@ function seven_block_content_add_list($variables) { $output = '
      '; foreach ($variables['types'] as $id => $type) { $output .= '
    • '; - $content = '' . check_plain($type['title']) . ''; + $content = '' . String::checkPlain($type['title']) . ''; $content .= '
      ' . Xss::filterAdmin($type['description']) . '
      '; $options = $type['localized_options']; $options['html'] = TRUE;