public function toArray() { $arr = ['title' => $this->title, 'description' => $this->description, 'class' => $this->class, 'acl' => $this->acl->toArray(), 'responder' => $this->responder->toArray(), 'l10n' => $this->l10n->toArray(), 'scripts' => $this->scripts->toArray(), 'styles' => $this->styles->toArray()]; $ret = []; foreach ($arr as $k => $v) { if (!empty($v)) { $ret[$k] = $v; } } return $ret; }
public function testAddRemove() { $item1 = 'item 1'; $item2 = 'item 2'; $item3 = 'item 3'; $items = [$item1, $item2]; $set = new Set(); $set->add($item1); $this->assertEquals(1, $set->size()); $set->remove($item1); $this->assertEquals(0, $set->size()); $set->addAll($items); $this->assertEquals(2, $set->size()); $this->assertSame($items, $set->toArray()); $set->add($item3); $this->assertEquals(3, $set->size()); $set->removeAll($items); $this->assertEquals(1, $set->size()); }
/** * @param string $name * @return Startgroup */ private function getStartgroup($name) { $name = $this->translate($name); // some special cases $competition = null; if ($name == 'Junior Expert (male)' || $name == 'Expert (male)') { $competition = $this->competitions->get('Individual Freestyle (male)'); $startgroupName = str_replace(' (male)', '', $name); } else { if ($name == 'Junior Expert (female)' || $name == 'Expert (female)') { $competition = $this->competitions->get('Individual Freestyle (female)'); $startgroupName = str_replace(' (female)', '', $name); } } if ($competition === null) { $words = new Set(); foreach (array_values($this->translations) as $names) { $words->addAll(Text::create($names)->split(' ')); } $startgroupName = trim(str_replace($words->toArray(), '', $name)); $words = Text::create($startgroupName)->split(' '); $competitionName = preg_replace('/\\s\\s+/', ' ', trim(str_replace($words->toArray(), '', $name))); if (!$this->competitions->has($competitionName)) { throw new \Exception('Cannot find competition for ' . $competitionName); } $competition = $this->competitions->get($competitionName); } $startgroup = new Startgroup(); $startgroup->setName($startgroupName); $startgroup->setSlug(NameUtils::dasherize(strtolower($startgroupName))); $startgroup->setCompetition($competition); return $startgroup; }