*/ /** * Klasa WebpageGroupHasWebpage * * @package stWebpagePlugin * @subpackage libs */ class WebpageGroupHasWebpage extends BaseWebpageGroupHasWebpage { public function moveUp() { $c = new Criteria(); $c->add(WebpageGroupHasWebpagePeer::WEBPAGE_GROUP_ID, $this->getWebpageGroupId()); $c->add(WebpageGroupHasWebpagePeer::RANK, $this->getRank(), Criteria::LESS_THAN); $c->addDescendingOrderByColumn(WebpageGroupHasWebpagePeer::RANK); $previous = WebpageGroupHasWebpagePeer::doSelectOne($c); if ($previous) { $rank = $this->getRank(); $this->setRank($previous->getRank()); $previous->setRank($rank); $previous->save(); $this->save(); } } public function moveDown() { $c = new Criteria(); $c->add(WebpageGroupHasWebpagePeer::WEBPAGE_GROUP_ID, $this->getWebpageGroupId()); $c->add(WebpageGroupHasWebpagePeer::RANK, $this->getRank(), Criteria::GREATER_THAN); $c->addAscendingOrderByColumn(WebpageGroupHasWebpagePeer::RANK); $next = WebpageGroupHasWebpagePeer::doSelectOne($c); if ($next) { $rank = $this->getRank(); $this->setRank($next->getRank()); $next->setRank($rank); $next->save(); $this->save(); } } public function save($con = null) { if ($this->isNew()) { $max_rank = WebpageGroupHasWebpagePeer::doSelectMaxRank($this->getWebpageGroupId()); $this->setRank($max_rank + 1); } $ret = parent::save($con); WebpagePeer::clearCache(); } public function delete($con = null) { $rank = $this->getRank(); $group_id = $this->getWebpageGroupId(); $ret = parent::delete($con); WebpageGroupHasWebpagePeer::moveAllUp($group_id, $rank); WebpagePeer::clearCache(); } } /** * Dodanie sortowania */