/**
  *
  */
 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);
     }
 }