ImportModel::setRoleDefaults PHP Method

setRoleDefaults() public method

public setRoleDefaults ( )
    public function setRoleDefaults()
    {
        if (!$this->importExists('Role', 'RoleID')) {
            return;
        }
        $Data = $this->SQL->get('zRole')->resultArray();
        $RoleDefaults = array('Garden.Registration.ConfirmEmail' => false);
        $RoleTypes = array();
        foreach ($Data as $Row) {
            if ($this->importExists('Role', '_Default')) {
                $Name = $Row['_Default'];
            } else {
                $Name = val('Name', $Row);
            }
            $RoleID = $Row['RoleID'];
            if (preg_match('`anonymous`', $Name)) {
                $Name = 'guest';
            } elseif (preg_match('`admin`', $Name)) {
                $Name = 'administrator';
            }
            switch (strtolower($Name)) {
                case 'email':
                case 'confirm email':
                case 'users awaiting email confirmation':
                case 'pending':
                    $RoleTypes[$RoleID] = RoleModel::TYPE_UNCONFIRMED;
                    $RoleDefaults['Garden.Registration.ConfirmEmail'] = true;
                    break;
                case 'member':
                case 'members':
                case 'registered':
                case 'registered users':
                    $RoleTypes[$RoleID] = RoleModel::TYPE_MEMBER;
                    break;
                case 'guest':
                case 'guests':
                case 'unauthenticated':
                case 'unregistered':
                case 'unregistered / not logged in':
                    $RoleTypes[$RoleID] = RoleModel::TYPE_GUEST;
                    break;
                case 'applicant':
                case 'applicants':
                    $RoleTypes[$RoleID] = RoleModel::TYPE_APPLICANT;
                    break;
            }
        }
        saveToConfig($RoleDefaults);
        $roleModel = new RoleModel();
        foreach ($RoleTypes as $RoleID => $Type) {
            $roleModel->setField($RoleID, 'Type', $Type);
        }
    }