public function run($ctx) { $allKeys = \CRM_Extension_System::singleton()->getFullContainer()->getKeys(); $names = \CRM_Utils_String::filterByWildcards($this->names, $allKeys, TRUE); $manager = \CRM_Extension_System::singleton()->getManager(); switch ($this->action) { case 'install': $manager->install($names); break; case 'uninstall': $manager->disable($names); $manager->uninstall($names); break; } }
/** * @param $patterns * @param $expectedResults * @dataProvider wildcardCases */ public function testFilterByWildCards($patterns, $expectedResults) { $data = array('foo.bar.1', 'foo.bar.2', 'foo.whiz', 'bang.bang'); $actualResults = CRM_Utils_String::filterByWildcards($patterns, $data); $this->assertEquals($expectedResults, $actualResults); $patterns = (array) $patterns; $patterns[] = 'noise'; $actualResults = CRM_Utils_String::filterByWildcards($patterns, $data, FALSE); $this->assertEquals($expectedResults, $actualResults); $actualResults = CRM_Utils_String::filterByWildcards($patterns, $data, TRUE); $this->assertEquals(array_merge($expectedResults, array('noise')), $actualResults); }