Example #1
0
    $doctrineUser->setTitle((string) $user->TITLE);
    $doctrineUser->setEmail((string) $user->EMAIL);
    $doctrineUser->setTelephone((string) $user->TEL);
    $doctrineUser->setWorkingHoursStart((string) $user->WORKING_HOURS_START);
    $doctrineUser->setWorkingHoursEnd((string) $user->WORKING_HOURS_END);
    //$doctrineUser->setCertificateDn((string) $user->CERTDN);
    $doctrineUser->setCertificateDn($dn);
    $doctrineUser->setAdmin(false);
    //  echo "DN is " . (string) $doctrineUser->getCertificateDn() . ".\r\n";
    // Roughly half of users don't have a home site set
    if ($user->HOMESITE != "" && !isBad($user->HOMESITE)) {
        // get the home site entity
        $dql = "SELECT s from Site s WHERE s.shortName = ?1";
        $homeSites = $entityManager->createQuery($dql)->setParameter(1, (string) $user->HOMESITE)->getResult();
        /* Error checking: ensure each "home site" refers to exactly
         * one home site */
        if (count($homeSites) !== 1) {
            throw new Exception(count($homeSites) . " sites found with short name: " . $user->HOMESITE . ". user DN is  " . $user->CERTDN);
        }
        foreach ($homeSites as $result) {
            $homeSite = $result;
        }
        $doctrineUser->setHomeSiteDoJoin($homeSite);
    }
    //Make Dave an admin
    if ($doctrineUser->getCertificateDn() == "/C=UK/O=eScience/OU=CLRC/L=DL/CN=david meredith") {
        $doctrineUser->setAdmin(true);
    }
    $entityManager->persist($doctrineUser);
}
$entityManager->flush();
Example #2
0
 public function addUserDoJoin(User $user)
 {
     $this->users[] = $user;
     $user->setHomeSiteDoJoin($this);
 }