These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | namespace Redaxscript\Content\Tag; |
||
3 | |||
4 | use Redaxscript\Html; |
||
5 | use function str_replace; |
||
6 | use function strpos; |
||
7 | use function substr; |
||
8 | |||
9 | /** |
||
10 | * children class to parse content for more tags |
||
11 | * |
||
12 | * @since 3.0.0 |
||
13 | * |
||
14 | * @package Redaxscript |
||
15 | * @category Content |
||
16 | * @author Henry Ruhs |
||
17 | */ |
||
18 | |||
19 | class More extends TagAbstract |
||
20 | { |
||
21 | /** |
||
22 | * options of the more tag |
||
23 | * |
||
24 | * @var array |
||
25 | */ |
||
26 | |||
27 | protected $_optionArray = |
||
28 | [ |
||
29 | 'className' => |
||
30 | [ |
||
31 | 'more' => 'rs-link-more' |
||
32 | ], |
||
33 | 'search' => |
||
34 | [ |
||
35 | '<rs-more>' |
||
36 | ] |
||
37 | ]; |
||
38 | |||
39 | /** |
||
40 | * process the class |
||
41 | * |
||
42 | * @since 3.0.0 |
||
43 | * |
||
44 | * @param string $content content to be parsed |
||
45 | * @param string $route route of the content |
||
46 | * |
||
47 | * @return string |
||
48 | */ |
||
49 | |||
50 | 15 | public function process(string $content = null, string $route = null) : string |
|
51 | { |
||
52 | 15 | $output = str_replace($this->_optionArray['search'], null, $content); |
|
53 | 15 | $position = strpos($content, $this->_optionArray['search'][0]); |
|
54 | |||
55 | /* html element */ |
||
56 | |||
57 | 15 | $linkElement = new Html\Element(); |
|
58 | 15 | $linkElement->init('a', |
|
59 | [ |
||
60 | 15 | 'class' => $this->_optionArray['className']['more'] |
|
61 | ]); |
||
62 | |||
63 | /* collect output */ |
||
64 | |||
65 | 15 | if ($position > -1 && $this->_registry->get('lastTable') === 'categories') |
|
66 | { |
||
67 | 1 | $output = substr($output, 0, $position); |
|
68 | 1 | if ($route) |
|
69 | { |
||
70 | $output .= $linkElement |
||
71 | 1 | ->copy() |
|
72 | 1 | ->attr('href', $this->_registry->get('parameterRoute') . $route) |
|
73 | 1 | ->text($this->_language->get('read_more')); |
|
0 ignored issues
–
show
|
|||
74 | } |
||
75 | } |
||
76 | 15 | return $output; |
|
77 | } |
||
78 | } |
This check looks at variables that are passed out again to other methods.
If the outgoing method call has stricter type requirements than the method itself, an issue is raised.
An additional type check may prevent trouble.