Commit e9d62827 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Added workaround for IA2 users

parent dea1fb34
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -98,4 +98,19 @@ class Identity {
        $this->primary = false;
    }

    private static function endsWith($haystack, $needle) {
        return substr($haystack, -strlen($needle)) === $needle;
    }

    /**
     * Workaround for IA2 users
     */
    public function getUIType() {
        if ($this->eppn !== null && $this->endsWith($this->eppn, '@ia2.inaf.it')) {
            return 'IA2';
        } else {
            return $this->type;
        }
    }

}
+4 −1
Original line number Diff line number Diff line
@@ -208,13 +208,16 @@ class MySQLDAO implements DAO {
                . " i.`id`, `type`, `typed_id`, `email`, `name`, `surname`, `institution`, `eppn`"
                . " FROM identity i"
                . " JOIN `user` u on u.id = i.user_id"
                . " WHERE `email` LIKE :email OR `name` LIKE :name OR `surname` LIKE :surname"
                . " WHERE `email` LIKE :email OR `email` LIKE :emailPart"
                . " OR `name` LIKE :name OR `surname` LIKE :surname"
                . " OR CONCAT(`name`,' ',`surname`) LIKE :namesurname";

        $stmt = $dbh->prepare($query);

        $searchParam = $searchText . '%';
        $emailPartSearchParam = '%.' . $searchText . '%';
        $stmt->bindParam(':email', $searchParam);
        $stmt->bindParam(':emailPart', $emailPartSearchParam);
        $stmt->bindParam(':name', $searchParam);
        $stmt->bindParam(':surname', $searchParam);
        $stmt->bindParam(':namesurname', $searchParam);
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ class UserSearchResult {
        $email = null;
        $identityTypes = [];
        foreach ($user->identities as $identity) {
            array_push($identityTypes, $identity->type);
            array_push($identityTypes, $identity->getUIType());
            if ($nameAndSurname === null && $identity->name !== null && $identity->surname !== null) {
                $nameAndSurname = $identity->name . ' ' . $identity->surname;
            }
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
            <?php } ?>
            Type
        </dt>
        <dd><?php echo $identity->type; ?></dd>
        <dd><?php echo $identity->getUIType(); ?></dd>
        <dt>E-mail</dt>
        <dd><?php echo $identity->email; ?></dd>
        <?php if ($identity->eppn !== null) { ?>