Example #1
0
 /**
  * Test various ACL action permissions for com_attachments for various users
  *
  * @dataProvider provider
  *
  * @param string $username The name of ther user (for error outputs)
  * @param int $admin correct 'core.admin' permission (0/1 interpreted as bool)
  * @param int $manage correct 'core.manage' permission (0/1 interpreted as bool)
  * @param int $create correct 'core.create' permission (0/1 interpreted as bool)
  * @param int $delete correct 'core.delete' permission (0/1 interpreted as bool)
  * @param int $edit_state correct 'core.edit.state' permission (0/1 interpreted as bool)
  * @param int $edit correct 'core.edit' permission (0/1 interpreted as bool)
  * @param int $edit_own correct 'core.edit.own' permission (0/1 interpreted as bool)
  * @param int $delete_own correct 'attachments.delete.own' permission (0/1 interpreted as bool)
  */
 public function testActions($username, $admin, $manage, $create, $delete, $edit_state, $edit, $edit_own, $delete_own)
 {
     $user_id = JUserHelper::getUserId($username);
     $errmsg = "ERROR: ========> USERNAME={$username} does not exist!";
     $this->assertNotEquals((int) $user_id, 0, $errmsg);
     $canDo = AttachmentsPermissions::getActions((int) $user_id);
     $errmsg = "----> Failed test for {$username} core.admin for com_attachments, " . " expected {$admin}, got " . $canDo->get('core.admin') . " for " . $username;
     $this->assertEquals($canDo->get('core.admin'), (bool) $admin, $errmsg);
     $errmsg = "----> Failed test for {$username} core.manage for com_attachments, " . " expected {$manage}, got " . $canDo->get('core.manage') . " for " . $username;
     $this->assertEquals($canDo->get('core.manage'), (bool) $manage, $errmsg);
     $errmsg = "----> Failed test for {$username} core.create for com_attachments, " . " expected {$create}, got " . $canDo->get('core.create') . " for " . $username;
     $this->assertEquals($canDo->get('core.create'), (bool) $create, $errmsg);
     $errmsg = "----> Failed test for {$username} core.delete for com_attachments, " . " expected {$delete}, got " . $canDo->get('core.delete') . " for " . $username;
     $this->assertEquals($canDo->get('core.delete'), (bool) $delete, $errmsg);
     $errmsg = "----> Failed test for {$username} core.edit.state for com_attachments, " . " expected {$edit_state}, got " . $canDo->get('core.edit.state') . " for " . $username;
     $this->assertEquals($canDo->get('core.edit.state'), (bool) $edit_state, $errmsg);
     $errmsg = "----> Failed test for {$username} core.edit for com_attachments, " . " expected {$edit}, got " . $canDo->get('core.edit') . " for " . $username;
     $this->assertEquals($canDo->get('core.edit'), (bool) $edit, $errmsg);
     $errmsg = "----> Failed test for {$username} core.edit.own for com_attachments, " . " expected {$edit_own}, got " . $canDo->get('core.edit.own') . " for " . $username;
     $this->assertEquals($canDo->get('core.edit.own'), (bool) $edit_own, $errmsg);
     $errmsg = "----> Failed test for {$username} attachments.delete.own for com_attachments, " . " expected {$delete_own}, got " . $canDo->get('attachments.delete.own') . " for " . $username;
     $this->assertEquals($canDo->get('attachments.delete.own'), (bool) $delete_own, $errmsg);
 }
Example #2
0
 /**
  * Setting the toolbar
  */
 protected function addToolBar()
 {
     require_once JPATH_COMPONENT_ADMINISTRATOR . '/permissions.php';
     $canDo = AttachmentsPermissions::getActions();
     $toolbar = JToolBar::getInstance('toolbar');
     JToolBarHelper::title(JText::_('ATTACH_ATTACHMENTS'), 'attachments.png');
     if ($canDo->get('core.create')) {
         JToolBarHelper::addNew('attachment.add');
     }
     if ($canDo->get('core.edit') or $canDo->get('core.edit.own')) {
         JToolBarHelper::editList('attachment.edit');
     }
     if ($canDo->get('core.edit.state') or $canDo->get('attachments.edit.state.own')) {
         JToolBarHelper::divider();
         JToolBarHelper::publishList('attachments.publish');
         JToolBarHelper::unpublishList('attachments.unpublish');
     }
     if ($canDo->get('core.delete') or $canDo->get('attachments.delete.own')) {
         JToolBarHelper::divider();
         JToolBarHelper::deleteList('', 'attachments.delete');
     }
     if ($canDo->get('core.admin')) {
         JToolBarHelper::divider();
         JToolBarHelper::custom('params.edit', 'options', 'options', 'JTOOLBAR_OPTIONS', false);
         $icon_name = 'adminUtils';
         if (version_compare(JVERSION, '3.0', 'ge')) {
             $icon_name = 'wrench';
         }
         // Add a button for extra admin commands
         $toolbar->appendButton('Popup', $icon_name, 'ATTACH_UTILITIES', 'index.php?option=com_attachments&task=adminUtils&tmpl=component', 800, 500);
     }
     JToolBarHelper::divider();
     // Manually add a help button for the help view
     $url = 'index.php?option=com_attachments&task=help&tmpl=component';
     $help = ' ' . JText::_('JTOOLBAR_HELP') . ' ';
     if (version_compare(JVERSION, '3.0', 'ge')) {
         $link = "<button class=\"btn btn-small\" rel=\"help\" href=\"#\" ";
         $link .= "onclick=\"Joomla.popupWindow('{$url}', 'Help', 800, 650, 1)\"> ";
         $link .= "<i class=\"icon-question-sign\"></i>{$help}</button>";
     } else {
         $link = '<a class="toolbar" rel="help" href="#" ';
         $link .= "onclick=\"Joomla.popupWindow('{$url}', 'Help', 800, 650, 1)\"> ";
         $link .= "<span class=\"icon-32-help\"> </span>{$help}</a>";
     }
     $toolbar->appendButton('Custom', $link, 'toolbar-help');
 }