public function addResources(Kwf_Acl $acl) { if (!$acl->has('kwc_shop')) { $acl->add(new Kwf_Acl_Resource_MenuDropdown('kwc_shop', array('text' => trlKwfStatic('Shop'), 'icon' => 'cart.png')), 'kwf_component_root'); } $acl->add(new Kwf_Acl_Resource_ComponentClass_MenuUrl($this->_class, array('text' => trlKwfStatic('Vouchers'), 'icon' => 'application_view_list.png'), Kwc_Admin::getInstance($this->_class)->getControllerUrl('Vouchers')), 'kwc_shop'); }
public function testBelowZendResourceGoesToParent() { $acl = new Kwf_Acl(); $acl->add(new Zend_Acl_Resource('foo')); $acl->add(new Kwf_Acl_Resource_MenuUrl('misc_languages', array('text' => 'Sprachen', 'icon' => 'comment.png'), '/admin/misc/languages'), 'foo'); $acl->allow(null, 'foo'); $config = $acl->getMenuConfig(null); $this->assertEquals(1, count($config)); $this->assertEquals('url', $config[0]['type']); }
public function testComplexMenu() { $acl = new Kwf_Acl(); $acl->add(new Kwf_Acl_Resource_MenuDropdown('fooBar1', array('text' => 'FooBar1', 'icon' => 'heart.png'))); $acl->add(new Kwf_Acl_Resource_MenuUrl('foo1', array('text' => 'Foo1', 'icon' => 'heart.png', 'order' => -1), '/admin/foo'), 'fooBar1'); $acl->add(new Kwf_Acl_Resource_MenuUrl('bar1', array('text' => 'Bar1', 'icon' => 'heart.png', 'order' => -2), '/admin/bar'), 'fooBar1'); $acl->allow(null, 'fooBar1'); $acl->add(new Kwf_Acl_Resource_MenuDropdown('fooBar2', array('text' => 'FooBar2', 'icon' => 'heart.png', 'order' => 1))); $acl->add(new Kwf_Acl_Resource_MenuUrl('foo2', array('text' => 'Foo2', 'icon' => 'heart.png', 'order' => 1), '/admin/foo'), 'fooBar2'); $acl->add(new Kwf_Acl_Resource_MenuUrl('bar2', array('text' => 'Bar2', 'icon' => 'heart.png'), '/admin/bar'), 'fooBar2'); $acl->allow(null, 'fooBar2'); $acl->add(new Kwf_Acl_Resource_MenuDropdown('fooBar3', array('text' => 'FooBar3', 'icon' => 'heart.png', 'order' => -1))); $acl->add(new Kwf_Acl_Resource_MenuUrl('foo3', array('text' => 'Foo3', 'icon' => 'heart.png'), '/admin/foo'), 'fooBar3'); $acl->add(new Kwf_Acl_Resource_MenuUrl('bar3', array('text' => 'Bar3', 'icon' => 'heart.png', 'order' => -1), '/admin/bar'), 'fooBar3'); $acl->allow(null, 'fooBar3'); $config = $acl->getMenuConfig(null); //order of the dropdowns $this->assertEquals('FooBar3', $config[0]['menuConfig']['text']); $this->assertEquals('FooBar1', $config[1]['menuConfig']['text']); //order of fooBar1 children $this->assertEquals('Bar1', $config[1]['children'][0]['menuConfig']['text']); //order of fooBar2 children $this->assertEquals('Bar2', $config[2]['children'][0]['menuConfig']['text']); //order of fooBar3 children $this->assertEquals('Bar3', $config[0]['children'][0]['menuConfig']['text']); }
public function addResources(Kwf_Acl $acl) { if (!$acl->has('kwc_shop')) { $acl->add(new Kwf_Acl_Resource_MenuDropdown('kwc_shop', array('text' => trlKwf('Shop'), 'icon' => 'cart.png')), 'kwf_component_root'); } $components = Kwf_Component_Data_Root::getInstance()->getComponentsBySameClass($this->_class, array('ignoreVisible' => true)); $icon = Kwc_Abstract::getSetting($this->_class, 'componentIcon'); foreach ($components as $c) { $text = Kwc_Abstract::getSetting($this->_class, 'componentName'); if (count($components) > 1) { if ($domain = $c->getParentByClass('Kwc_Root_DomainRoot_Domain_Component')) { $text .= " ({$domain->name})"; } } $acl->add(new Kwf_Acl_Resource_Component_MenuUrl($c, array('text' => $text, 'icon' => $icon), Kwc_Admin::getInstance($c->componentClass)->getControllerUrl('Orders') . '?componentId=' . $c->dbId), 'kwc_shop'); } }
public function testKwcAcl() { $acl = new Kwf_Acl(); $acl->add(new Zend_Acl_Resource('misc')); $acl->allow(null, 'misc'); $config = $acl->getMenuConfig(null); $this->assertEquals(1, count($config)); $this->assertEquals('url', $config[0]['type']); }
public function addResources(Kwf_Acl $acl) { $menuConfig = array('icon' => new Kwf_Asset('group.png')); $components = Kwf_Component_Data_Root::getInstance()->getComponentsByClass(Kwc_Abstract::getSetting($this->_class, 'subscribeToNewsletterClass'), array('ignoreVisible' => true)); foreach ($components as $c) { $menuConfig['text'] = $this->_getMenuConfigText($c); if (count($components) > 1) { $subRoot = $c; while ($subRoot = $subRoot->parent) { if (Kwc_Abstract::getFlag($subRoot->componentClass, 'subroot')) { break; } } if ($subRoot) { $menuConfig['text'] .= ' (' . $subRoot->name . ')'; } } $acl->add(new Kwc_Newsletter_Subscribe_Resource($this->_class . $c->dbId, $menuConfig, Kwc_Admin::getInstance($this->_class)->getControllerUrl('Recipients') . '?newsletterComponentId=' . $c->dbId, $this->_class, $c), $this->_getParentResource($acl, 'subscribe')); } }
public function addResources(Kwf_Acl $acl) { $icon = Kwc_Abstract::getSetting($this->_class, 'componentIcon'); $menuConfig = array('icon' => $icon); $components = Kwf_Component_Data_Root::getInstance()->getComponentsBySameClass($this->_class, array('ignoreVisible' => true)); foreach ($components as $c) { $menuConfig['text'] = $this->_getMenuConfigText($c, 'newsletter'); if (count($components) > 1) { $subRoot = $c; while ($subRoot = $subRoot->parent) { if (Kwc_Abstract::getFlag($subRoot->componentClass, 'subroot')) { break; } } if ($subRoot) { $menuConfig['text'] .= ' (' . $subRoot->name . ')'; } } $acl->add(new Kwf_Acl_Resource_Component_MenuUrl($c, $menuConfig), $this->_getParentResource($acl, 'newsletter')); } }
public function addResources(Kwf_Acl $acl) { $menuConfig = array('icon' => new Kwf_Asset('package')); $components = Kwf_Component_Data_Root::getInstance()->getComponentsBySameClass($this->_class, array('ignoreVisible' => true)); foreach ($components as $c) { $menuConfig['text'] = $this->_getMenuConfigText($c, 'categories'); if (count($components) > 1) { $subRoot = $c; while ($subRoot = $subRoot->parent) { if (Kwc_Abstract::getFlag($subRoot->componentClass, 'subroot')) { break; } } if ($subRoot) { $menuConfig['text'] .= ' (' . $subRoot->name . ')'; } } $acl->add(new Kwf_Acl_Resource_Component_MenuUrl('kwc_' . $c->dbId . '-categories', $menuConfig, Kwc_Admin::getInstance($this->_class)->getControllerUrl('Categories') . '?componentId=' . $c->dbId, $c), $this->_getParentResource($acl, 'categories')); } parent::addResources($acl); }
public function addResources(Kwf_Acl $acl) { $components = Kwf_Component_Data_Root::getInstance()->getComponentsBySameClass($this->_class, array('ignoreVisible' => true)); if (Kwc_Abstract::hasSetting($this->_class, 'componentNameShort')) { $name = Kwc_Abstract::getSetting($this->_class, 'componentNameShort'); } else { $name = Kwc_Abstract::getSetting($this->_class, 'componentName'); } $icon = Kwc_Abstract::getSetting($this->_class, 'componentIcon'); if (count($components)) { $dropdownName = 'kwc_' . $this->_class; if (!$acl->has($dropdownName)) { $dropDown = new Kwf_Acl_Resource_MenuDropdown($dropdownName, array('text' => $name, 'icon' => $icon)); $dropDown->setCollapseIfSingleChild(true); $acl->add($dropDown, $this->_getParentResource($acl)); } foreach ($components as $c) { $t = $this->_getResourceText($c); $acl->add(new Kwf_Acl_Resource_Component_MenuUrl($c, array('text' => $t, 'icon' => $icon)), $dropdownName); } } }
public function addResources(Kwf_Acl $acl) { $acl->add(new Kwf_Acl_Resource_ComponentClass_MenuUrl('kwc_tags', array('text' => $this->_getSetting('componentName'), 'icon' => 'tag_blue_edit'), Kwc_Admin::getInstance($this->_class)->getControllerUrl('Grid'), $this->_class), 'settings'); }
public function addResources(Kwf_Acl $acl) { if (!$acl->has('kwc_Kwc_Editable')) { $acl->add(new Kwc_Editable_AdminResource($this->_class, array('text' => trlKwf('Texts'), 'icon' => 'page_white_text.png'), Kwc_Admin::getInstance($this->_class)->getControllerUrl('Components')), 'kwf_component_root'); } }
public function addResources(Kwf_Acl $acl) { $acl->add(new Kwf_Acl_Resource_ComponentClass_MenuUrl('kwc_article_category', array('text' => trlKwfStatic('Categories'), 'icon' => 'application_side_tree'), Kwc_Admin::getInstance($this->_class)->getControllerUrl('Categories'), $this->_class), 'settings'); }
public function addResources(Kwf_Acl $acl) { $acl->add(new Kwf_Acl_Resource_MenuUrl('misc_languages', array('text' => 'Sprachen', 'icon' => 'comment.png'), '/admin/misc/languages'), 'misc'); }