public function execute($request) { // Get parent menu $criteria = new Criteria(); $criteria->add(QubitMenu::NAME, 'groups'); $this->groupsMenu = QubitMenu::getOne($criteria); }
public function execute($request) { // Get menu $criteria = new Criteria(); $criteria->add(QubitMenu::NAME, 'users'); $this->userAclMenu = null; if (null !== ($menu = QubitMenu::getOne($criteria))) { $this->userAclMenu = $menu; } }
/** * Move this menu after $referenceMenu * * @param integer reference menu id * @return QubitMenu $this object */ public function moveAfterById($referenceMenuId) { // Limit re-sorting to list of siblings $parent = $this->parent; $criteria = new Criteria(); $criteria->add(QubitMenu::ID, $referenceMenuId); $criteria->addAnd(QubitMenu::LFT, $parent->getLft(), Criteria::GREATER_THAN); $criteria->addAnd(QubitMenu::RGT, $parent->getRgt(), Criteria::LESS_THAN); if ($nextMenu = QubitMenu::getOne($criteria)) { // Need to get menu *after* the "next" menu, because we only have an // insertBefore() method $criteria = new Criteria(); $criteria->add(QubitMenu::LFT, $nextMenu->getRgt(), Criteria::GREATER_THAN); $criteria->addAnd(QubitMenu::LFT, $parent->getLft(), Criteria::GREATER_THAN); $criteria->addAnd(QubitMenu::RGT, $parent->getRgt(), Criteria::LESS_THAN); $criteria->addAscendingOrderByColumn(QubitMenu::LFT); if ($referenceMenu = QubitMenu::getOne($criteria)) { $parent->insertBefore($this, $referenceMenu); } else { // If no referenceMenu found, then move to end of sibling list $parent->insertBefore($this, null); } // Refresh moved object to get up-to-date data from db $this->clear(); } return $this; }