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.

Code Duplication    Length = 26-26 lines in 6 locations

src/php/Storyplayer/SPv3/Modules/Browser/DomElementSearch.php 6 locations

@@ 107-132 (lines=26) @@
104
     * @param  string $tags
105
     * @return array<\DataSift\WebDriver\WebDriverElement>
106
     */
107
    public function getElementsByAltText($text, $tags = '*')
108
    {
109
        // what are we doing?
110
        $tag = $this->convertTagsToString($tags);
111
        $log = usingLog()->startAction("get '{$tag}' elements with alt text '{$text}'");
112
113
        // prepare the list of tags
114
        if (is_string($tags)) {
115
            $tags = array($tags);
116
        }
117
118
        // build up the xpath to use
119
        $xpathList = array();
120
        foreach ($tags as $tag) {
121
            $xpathList[] = 'descendant::' . $tag . '[@alt = "' . $text . '"]';
122
        }
123
124
        // get the possibly matching elements
125
        $elements = $this->getElementsByXpath($xpathList);
126
127
        // log the result
128
        $log->endAction(count($elements) . " element(s) found");
129
130
        // return the elements
131
        return $elements;
132
    }
133
134
    /**
135
     * @param  string $class
@@ 139-164 (lines=26) @@
136
     * @param  string $tags
137
     * @return array<\DataSift\WebDriver\WebDriverElement>
138
     */
139
    public function getElementsByClass($class, $tags = '*')
140
    {
141
        // what are we doing?
142
        $tag = $this->convertTagsToString($tags);
143
        $log = usingLog()->startAction("get '{$tag}' elements with CSS class '{$class}'");
144
145
        // prepare the list of tags
146
        if (is_string($tags)) {
147
            $tags = array($tags);
148
        }
149
150
        // build up the xpath to use
151
        $xpathList = array();
152
        foreach ($tags as $tag) {
153
            $xpathList[] = 'descendant::' . $tag . '[contains(concat(" ", normalize-space(@class), " "), " ' . $class . ' ")]';
154
        }
155
156
        // find the matches
157
        $elements = $this->getElementsByXpath($xpathList);
158
159
        // log the result
160
        $log->endAction(count($elements) . " element(s) found");
161
162
        // return the elements
163
        return $elements;
164
    }
165
166
    /**
167
     * @param  string $id
@@ 171-196 (lines=26) @@
168
     * @param  string $tags
169
     * @return array<\DataSift\WebDriver\WebDriverElement>
170
     */
171
    public function getElementsById($id, $tags = '*')
172
    {
173
        // what are we doing?
174
        $tag = $this->convertTagsToString($tags);
175
        $log = usingLog()->startAction("get '{$tag}' elements with id '{$id}'");
176
177
        // prepare the list of tags
178
        if (is_string($tags)) {
179
            $tags = array($tags);
180
        }
181
182
        // build up the xpath to use
183
        $xpathList = array();
184
        foreach ($tags as $tag) {
185
            $xpathList[] = 'descendant::' . $tag . '[@id = "' . $id . '"]';
186
        }
187
188
        // find the matches
189
        $elements = $this->getElementsByXpath($xpathList);
190
191
        // log the result
192
        $log->endAction(count($elements) . " element(s) found");
193
194
        // return the elements
195
        return $elements;
196
    }
197
198
    /**
199
     * @param  string $labelText
@@ 381-406 (lines=26) @@
378
     * @param  string $tags
379
     * @return array<\DataSift\WebDriver\WebDriverElement>
380
     */
381
    public function getElementsByName($name, $tags = '*')
382
    {
383
        // what are we doing?
384
        $tag = $this->convertTagsToString($tags);
385
        $log = usingLog()->startAction("get '{$tag}' elements with name '{$name}'");
386
387
        // prepare the list of tags
388
        if (is_string($tags)) {
389
            $tags = array($tags);
390
        }
391
392
        // build up the xpath to use
393
        $xpathList = array();
394
        foreach ($tags as $tag) {
395
            $xpathList[] = 'descendant::' . $tag . '[@name = "' . $name . '"]';
396
        }
397
398
        // find the matches
399
        $elements = $this->getElementsByXpath($xpathList);
400
401
        // log the result
402
        $log->endAction(count($elements) . " element(s) found");
403
404
        // return the elements
405
        return $elements;
406
    }
407
408
    /**
409
     * @param  string $text
@@ 413-438 (lines=26) @@
410
     * @param  string $tags
411
     * @return array<\DataSift\WebDriver\WebDriverElement>
412
     */
413
    public function getElementsByPlaceholder($text, $tags = '*')
414
    {
415
        // what are we doing?
416
        $tag = $this->convertTagsToString($tags);
417
        $log = usingLog()->startAction("get '{$tag}' element with placeholder '{$text}'");
418
419
        // prepare the list of tags
420
        if (is_string($tags)) {
421
            $tags = array($tags);
422
        }
423
424
        // build up the xpath to use
425
        $xpathList = array();
426
        foreach ($tags as $tag) {
427
            $xpathList[] = 'descendant::' . $tag . '[@placeholder = "' . $text . '"]';
428
        }
429
430
        // get the possibly matching elements
431
        $elements = $this->getElementsByXpath($xpathList);
432
433
        // log the result
434
        $log->endAction(count($elements) . " element(s) found");
435
436
        // return the elements
437
        return $elements;
438
    }
439
440
    /**
441
     * @param  string $text
@@ 485-510 (lines=26) @@
482
     * @param  string $tags
483
     * @return array<\DataSift\WebDriver\WebDriverElement>
484
     */
485
    public function getElementsByTitle($title, $tags = '*')
486
    {
487
        // what are we doing?
488
        $tag = $this->convertTagsToString($tags);
489
        $log = usingLog()->startAction("get '{$tag}' element with title '{$title}'");
490
491
        // prepare the list of tags
492
        if (is_string($tags)) {
493
            $tags = array($tags);
494
        }
495
496
        // build up the xpath to use
497
        $xpathList = array();
498
        foreach ($tags as $tag) {
499
            $xpathList[] = 'descendant::' . $tag . '[@title = "' . $title . '"]';
500
        }
501
502
        // search using the xpath
503
        $elements = $this->getElementsByXpath($xpathList);
504
505
        // log the result
506
        $log->endAction(count($elements) . " element(s) found");
507
508
        // return the elements
509
        return $elements;
510
    }
511
512
    /**
513
     * @param  array<string> $xpathList