init();
parent::__construct($data,$parent);
}
protected function makeChild($d) {
return new CSRPerk($d,$this);
}
function grant($pid) {
$iter = $this->getIterator();
while($iter->hasNext()) {
$curr = $iter->getNext();
$curr->grant($pid);
$this->setChildDone($curr->getIdx());
}
$this->parent->setChildDone($this->idx);
}
function deny($pid) {
$iter = $this->getIterator();
while($iter->hasNext()) {
$curr = $iter->getNext();
$curr->deny($pid);
$this->setChildOpen($curr->getIdx());
}
$this->parent->setChildOpen($this->idx);
}
function setPerkDone($idx) {
echo "perk
";
$this->setChildDone($idx);
echo "ach
";
$this->parent->addChildDone($this->idx);
if(!$this->hasOpen()) {
$this->parent->removeChildOpen($this->idx);
}
}
function setPerkOpen($idx) {
echo "perk
";
$this->setChildOpen($idx);
echo "ach
";
$this->parent->addChildOpen($this->idx);
if(!$this->hasDone()) {
$this->parent->removeChildDone($this->idx);
}
}
}
?>