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.
Completed
Push — master ( 98ea29...64877f )
by Sebastian
18s queued 18s
created

KitodoFlashMessageRenderer::getClass()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
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
17
/**
18
 * A class representing a bootstrap flash messages.
19
 * This class renders flash messages as markup, based on the
20
 * bootstrap HTML/CSS framework. It is used in backend context.
21
 * The created output contains all classes which are required for
22
 * the TYPO3 backend. Any kind of message contains also a nice icon.
23
 */
24
class KitodoFlashMessageRenderer implements \TYPO3\CMS\Core\Messaging\Renderer\FlashMessageRendererInterface
25
{
26
    /**
27
     * @var string The message severity class names
28
     */
29
    protected static $classes = [
30
        FlashMessage::NOTICE => 'notice',
31
        FlashMessage::INFO => 'info',
32
        FlashMessage::OK => 'success',
33
        FlashMessage::WARNING => 'warning',
34
        FlashMessage::ERROR => 'danger'
35
    ];
36
37
    /**
38
     * @var string The message severity icon names
39
     */
40
    protected static $icons = [
41
        FlashMessage::NOTICE => 'lightbulb-o',
42
        FlashMessage::INFO => 'info',
43
        FlashMessage::OK => 'check',
44
        FlashMessage::WARNING => 'exclamation',
45
        FlashMessage::ERROR => 'times'
46
    ];
47
48
    /**
49
     * Render method
50
     *
51
     * @param FlashMessage[] $flashMessages
52
     * @return string Representation of the flash message
53
     */
54
    public function render(array $flashMessages): string
55
    {
56
        return $this->getMessageAsMarkup($flashMessages);
57
    }
58
59
    /**
60
     * Gets the message severity class name
61
     *
62
     * @param FlashMessage $flashMessage
63
     *
64
     * @return string The message severity class name
65
     */
66
    protected function getClass(FlashMessage $flashMessage): string
67
    {
68
        return 'alert-' . self::$classes[$flashMessage->getSeverity()];
69
    }
70
71
    /**
72
     * Gets the message severity icon name
73
     *
74
     * @param FlashMessage $flashMessage
75
     *
76
     * @return string The message severity icon name
77
     */
78
    protected function getIconName(FlashMessage $flashMessage): string
79
    {
80
        return self::$icons[$flashMessage->getSeverity()];
81
    }
82
83
    /**
84
     * Gets the message rendered as clean and secure markup
85
     *
86
     * @param FlashMessage[] $flashMessages
87
     * @return string
88
     */
89
    protected function getMessageAsMarkup(array $flashMessages): string
90
    {
91
        // \TYPO3\CMS\Core\Messaging\FlashMessage::getMessageAsMarkup() uses htmlspecialchars()
92
        // on all messages, but we have messages with HTML tags. Therefore we copy the official
93
        // implementation and remove the htmlspecialchars() call on the message body.
94
        $markup = [];
95
        $markup[] = '<div class="typo3-messages">';
96
        foreach ($flashMessages as $flashMessage) {
97
            $messageTitle = $flashMessage->getTitle();
98
            $markup[] = '<div class="alert ' . htmlspecialchars($this->getClass($flashMessage)) . '">';
99
            $markup[] = '  <div class="media">';
100
            $markup[] = '    <div class="media-left">';
101
            $markup[] = '      <span class="fa-stack fa-lg">';
102
            $markup[] = '        <i class="fa fa-circle fa-stack-2x"></i>';
103
            $markup[] = '        <i class="fa fa-' . htmlspecialchars($this->getIconName($flashMessage)) . ' fa-stack-1x"></i>';
104
            $markup[] = '      </span>';
105
            $markup[] = '    </div>';
106
            $markup[] = '    <div class="media-body">';
107
            if ($messageTitle !== '') {
108
                $markup[] = '      <h4 class="alert-title">' . htmlspecialchars($messageTitle) . '</h4>';
109
            }
110
            $markup[] = '      <p class="alert-message">' . $flashMessage->getMessage() . '</p>';
111
            $markup[] = '    </div>';
112
            $markup[] = '  </div>';
113
            $markup[] = '</div>';
114
        }
115
        $markup[] = '</div>';
116
        return implode('', $markup);
117
    }
118
}
119