public function testFilterPagesByVersion() { $pages = array(TestPage::getPage1()->getSSpage(), TestPage::getPage2()->getSSpage(), TestPage::getPage3()->getSSpage()); $filtered = Util::filterPagesByVersion($pages, "^2."); /* @var $filtered \Selim\SilverstripePage[] */ $this->assertCount(1, $filtered); $this->assertEquals($filtered[0]->getName(), "page1"); }
protected function execute(InputInterface $input, OutputInterface $output) { $cfg = $this->getSelimConfig($input); $sites = $cfg->getSites(); $filter_name = $input->getOption("filter-name"); if (strlen($filter_name)) { $sites = Util::filterSitesByName($sites, $filter_name); } $sspages = array(); foreach ($sites as $sc) { if ($sc instanceof SiteConfig) { array_push($sspages, new SilverstripePage($sc)); } } $filter_version = $input->getOption("filter-version"); if (strlen($filter_version)) { $sspages = Util::filterPagesByVersion($sspages, $filter_version); } $filter_module = $input->getOption("filter-module"); if (strlen($filter_module)) { $sspages = Util::filterPagesByModules($sspages, $filter_module); } if ($input->getOption("filter-da")) { $sspages = Util::filterPagesByDefaultAdmin($sspages, true); } $filter_env = $input->getOption("filter-env"); if ($input->getOption("filter-env")) { $sspages = Util::filterPagesByEnvironmentType($sspages, $filter_env); } if ($input->getOption("table")) { $out = new ConsoleOutputTable($sspages); } else { $out = new ConsoleOutput($sspages); } $format = $input->getOption("format"); if (strlen($format)) { $out->write($format); } else { $out->write(); } }