| Conditions | 5 | 
| Paths | 6 | 
| Total Lines | 27 | 
| Code Lines | 16 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 2 | ||
| Bugs | 0 | Features | 0 | 
| 1 | <?php  | 
            ||
| 27 | public function actionInvalidate(): bool  | 
            ||
| 28 |     { | 
            ||
| 29 |         $flags = Craft::$app->getRequest()->getParam('flags', []); | 
            ||
| 30 | |||
| 31 |         if (\is_string($flags)) { | 
            ||
| 32 |             $flags = \preg_replace('/\s+/', '', $flags); | 
            ||
| 33 |             $flags = \array_filter(\explode(',', $flags)); | 
            ||
| 34 |         } else if (\is_array($flags)) { | 
            ||
| 35 |             $flags = \array_reduce($flags, function (array $carry, string $flag) { | 
            ||
| 36 |                 $flag = \preg_replace('/\s+/', '', $flag); | 
            ||
| 37 |                 if (\strlen($flag)) { | 
            ||
| 38 | $carry[] = $flag;  | 
            ||
| 39 | }  | 
            ||
| 40 | return $carry;  | 
            ||
| 41 | }, []);  | 
            ||
| 42 | }  | 
            ||
| 43 | |||
| 44 | /** @var array $flags */  | 
            ||
| 45 |         if (empty($flags)) { | 
            ||
| 46 | CacheFlag::getInstance()->cacheFlag->invalidateAllFlaggedCaches();  | 
            ||
| 47 | return true;  | 
            ||
| 48 | }  | 
            ||
| 49 | |||
| 50 | $flags = \array_unique($flags);  | 
            ||
| 51 | |||
| 52 | CacheFlag::getInstance()->cacheFlag->invalidateFlaggedCachesByFlags($flags);  | 
            ||
| 53 | return true;  | 
            ||
| 54 | }  | 
            ||
| 56 |