| Conditions | 6 |
| Paths | 5 |
| Total Lines | 30 |
| Code Lines | 17 |
| Lines | 0 |
| Ratio | 0 % |
| Tests | 17 |
| CRAP Score | 6.042 |
| Changes | 0 | ||
| 1 | <?php |
||
| 57 | 6 | public function addAnnotation( DIProperty $property, SemanticData $semanticData ) { |
|
| 58 | |||
| 59 | 6 | $title = $semanticData->getSubject()->getTitle(); |
|
| 60 | |||
| 61 | 6 | if ( !$title->inNamespace( NS_USER ) ) { |
|
| 62 | return; |
||
| 63 | } |
||
| 64 | |||
| 65 | 6 | $user = $this->appFactory->newUserFromTitle( |
|
| 66 | $title |
||
|
|
|||
| 67 | 6 | ); |
|
| 68 | |||
| 69 | 6 | if ( !$user instanceof User || ( $block = $user->getBlock() ) === null ) { |
|
| 70 | return; |
||
| 71 | } |
||
| 72 | |||
| 73 | $actions = [ |
||
| 74 | 6 | 'edit', |
|
| 75 | 6 | 'createaccount', |
|
| 76 | 6 | 'sendemail', |
|
| 77 | 6 | 'editownusertalk', |
|
| 78 | 'read' |
||
| 79 | 6 | ]; |
|
| 80 | |||
| 81 | 6 | foreach ( $actions as $action ) { |
|
| 82 | 6 | if ( $block->prevents( $action ) ) { |
|
| 83 | 5 | $semanticData->addPropertyObjectValue( $property, new DIBlob( $action ) ); |
|
| 84 | 5 | } |
|
| 85 | 6 | } |
|
| 86 | 6 | } |
|
| 87 | |||
| 89 |
Unless you are absolutely sure that the expression can never be null because of other conditions, we strongly recommend to add an additional type check to your code: