Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Issues (210)

Classes/Common/KitodoFlashMessageRenderer.php (1 issue)

Severity
1
<?php
2
3
/**
4
 * (c) Kitodo. Key to digital objects e.V. <[email protected]>
5
 *
6
 * This file is part of the Kitodo and TYPO3 projects.
7
 *
8
 * @license GNU General Public License version 3 or later.
9
 * For the full copyright and license information, please read the
10
 * LICENSE.txt file that was distributed with this source code.
11
 */
12
13
namespace Kitodo\Dlf\Common;
14
15
use TYPO3\CMS\Core\Messaging\FlashMessage;
16
use TYPO3\CMS\Core\Messaging\Renderer\FlashMessageRendererInterface;
17
18
/**
19
 * A class representing a bootstrap flash messages.
20
 * This class renders flash messages as markup, based on the
21
 * bootstrap HTML/CSS framework. It is used in backend context.
22
 * The created output contains all classes which are required for
23
 * the TYPO3 backend. Any kind of message contains also a nice icon.
24
 *
25
 * @package TYPO3
26
 * @subpackage dlf
27
 *
28
 * @access public
29
 */
30
class KitodoFlashMessageRenderer implements FlashMessageRendererInterface
31
{
32
    /**
33
     * @var array The message severity class names
34
     */
35
    protected static array $classes = [
36
        // Todo: FlashMessage constants deprecated in v12, remove when dropping v11 support
37
        FlashMessage::NOTICE => 'notice',
38
        FlashMessage::INFO => 'info',
39
        FlashMessage::OK => 'success',
40
        FlashMessage::WARNING => 'warning',
41
        FlashMessage::ERROR => 'danger'
42
    ];
43
44
    /**
45
     * @var array The message severity icon names
46
     */
47
    protected static array $icons = [
48
        // Todo: FlashMessage constants deprecated in v12, remove when dropping v11 support
49
        FlashMessage::NOTICE => 'lightbulb-o',
50
        FlashMessage::INFO => 'info',
51
        FlashMessage::OK => 'check',
52
        FlashMessage::WARNING => 'exclamation',
53
        FlashMessage::ERROR => 'times'
54
    ];
55
56
    /**
57
     * Render method
58
     * 
59
     * @access public
60
     *
61
     * @param FlashMessage[] $flashMessages
62
     *
63
     * @return string Representation of the flash message
64
     */
65
    public function render(array $flashMessages): string
66
    {
67
        return $this->getMessageAsMarkup($flashMessages);
68
    }
69
70
    /**
71
     * Gets the message severity as integer value for compatibility with Typo3 v12
72
     *
73
     * @access public
74
     *
75
     * @param FlashMessage $flashMessage
76
     *
77
     * @return int The message severity as integer
78
     */
79
    protected function getSeverityAsInt(FlashMessage $flashMessage): int
80
    {
81
        $severity = $flashMessage->getSeverity();
82
        if (is_int($severity)) {
0 ignored issues
show
The condition is_int($severity) is always true.
Loading history...
83
            // $severity is integer constant from FlashMessage in Typo3 v11
84
            return $severity;
85
        }
86
        // $severity is instance of ContextualFeedbackSeverity enum introduced in Typo3 v12
87
        // TODO: migrate message severity to ContextualFeedbackSeverity when dropping support for Typo3 v11
88
        return $severity->value;
89
    }
90
91
    /**
92
     * Gets the message severity class name
93
     *
94
     * @access public
95
     *
96
     * @param FlashMessage $flashMessage
97
     *
98
     * @return string The message severity class name
99
     */
100
    protected function getClass(FlashMessage $flashMessage): string
101
    {
102
        return 'alert-' . self::$classes[$this->getSeverityAsInt($flashMessage)];
103
    }
104
105
    /**
106
     * Gets the message severity icon name
107
     *
108
     * @access public
109
     *
110
     * @param FlashMessage $flashMessage
111
     *
112
     * @return string The message severity icon name
113
     */
114
    protected function getIconName(FlashMessage $flashMessage): string
115
    {
116
        return self::$icons[$this->getSeverityAsInt($flashMessage)];
117
    }
118
119
    /**
120
     * Gets the message rendered as clean and secure markup
121
     *
122
     * @access public
123
     *
124
     * @param FlashMessage[] $flashMessages
125
     *
126
     * @return string
127
     */
128
    protected function getMessageAsMarkup(array $flashMessages): string
129
    {
130
        // \TYPO3\CMS\Core\Messaging\FlashMessage::getMessageAsMarkup() uses htmlspecialchars()
131
        // on all messages, but we have messages with HTML tags. Therefore we copy the official
132
        // implementation and remove the htmlspecialchars() call on the message body.
133
        $markup = [];
134
        $markup[] = '<div class="typo3-messages">';
135
        foreach ($flashMessages as $flashMessage) {
136
            $messageTitle = $flashMessage->getTitle();
137
            $markup[] = '<div class="alert ' . htmlspecialchars($this->getClass($flashMessage)) . '">';
138
            $markup[] = '  <div class="media">';
139
            $markup[] = '    <div class="media-left">';
140
            $markup[] = '      <span class="fa-stack fa-lg">';
141
            $markup[] = '        <i class="fa fa-circle fa-stack-2x"></i>';
142
            $markup[] = '        <i class="fa fa-' . htmlspecialchars($this->getIconName($flashMessage)) . ' fa-stack-1x"></i>';
143
            $markup[] = '      </span>';
144
            $markup[] = '    </div>';
145
            $markup[] = '    <div class="media-body">';
146
            if ($messageTitle !== '') {
147
                $markup[] = '      <h4 class="alert-title">' . htmlspecialchars($messageTitle) . '</h4>';
148
            }
149
            $markup[] = '      <p class="alert-message">' . $flashMessage->getMessage() . '</p>';
150
            $markup[] = '    </div>';
151
            $markup[] = '  </div>';
152
            $markup[] = '</div>';
153
        }
154
        $markup[] = '</div>';
155
        return implode('', $markup);
156
    }
157
}
158