%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/bbw/farmaci/kritik-portale/module/Backend/src/Backend/Form/Element/
Upload File :
Create Path :
Current File : /var/www/html/bbw/farmaci/kritik-portale/module/Backend/src/Backend/Form/Element/RoleFactory.php

<?php
namespace Backend\Form\Element;

use Zend\Form\Element\Select,
    Zend\ServiceManager\FactoryInterface,
    Zend\ServiceManager\ServiceLocatorInterface;

/**
 * @package Backend
 * @author Cornelius Adams (conlabz GmbH) <cornelius.adams@conlabz.de>
 */
class RoleFactory implements FactoryInterface
{
    /**
     * 
     * @param ServiceLocatorInterface $serviceLocator
     * @return Select
     */
    public function createService(ServiceLocatorInterface $serviceLocator)
    {
        $config = $serviceLocator->getServiceLocator()
            ->get('Config');
        $roles = array_keys($config['zfc_rbac']['role_provider']['ZfcRbac\Role\InMemoryRoleProvider']);
        $valueOptions = $this->getValueOptions($roles);
        $roleSelect = new Select('role');
        $roleSelect->setValueOptions(
            $valueOptions
        );
        
        return $roleSelect;
    }   
    
    /**
     * 
     * @param array $roles
     * @param array $skip
     * @return array
     */
    protected function getValueOptions(array $roles, $skip = array('guest'))
    {
        $valueOptions = array();
        foreach ($roles as $role) {
            if (in_array($role, $skip)) continue;
            switch($role){
                case("admin"):  $valueOptions[$role] = "Administrator"; break;
                case("user"):  $valueOptions[$role] = "Benutzer"; break;
                case("owner"):  $valueOptions[$role] = "Apotheker"; break;
                default: $valueOptions[$role] = ucfirst($role); break;
            }
        }
        return $valueOptions;
    }
}

Zerion Mini Shell 1.0