Code Duplication    Length = 27-27 lines in 2 locations

src/database/databasetraits/RoleTrait.php 1 location

@@ 540-566 (lines=27) @@
537
     *
538
     * @internal param $group (array) The groups to create the user in
539
     */
540
    public function createUser($username, $password, $createdb, $createuser, $expiry, $groups)
541
    {
542
        $enc = $this->_encryptPassword($username, $password);
543
        $this->fieldClean($username);
544
        $this->clean($enc);
545
        $this->clean($expiry);
546
        $this->fieldArrayClean($groups);
547
548
        $sql = "CREATE USER \"{$username}\"";
549
        if ($password != '') {
550
            $sql .= " WITH ENCRYPTED PASSWORD '{$enc}'";
551
        }
552
553
        $sql .= $createdb ? ' CREATEDB' : ' NOCREATEDB';
554
        $sql .= $createuser ? ' CREATEUSER' : ' NOCREATEUSER';
555
        if (is_array($groups) && sizeof($groups) > 0) {
556
            $sql .= ' IN GROUP "'.join('", "', $groups).'"';
557
        }
558
559
        if ($expiry != '') {
560
            $sql .= " VALID UNTIL '{$expiry}'";
561
        } else {
562
            $sql .= " VALID UNTIL 'infinity'";
563
        }
564
565
        return $this->execute($sql);
566
    }
567
568
    /**
569
     * Adjusts a user's info and renames the user.

src/database/Postgres96.php 1 location

@@ 73-99 (lines=27) @@
70
     *
71
     * @internal param $group (array) The groups to create the user in
72
     */
73
    public function createUser($username, $password, $createdb, $createrole, $expiry, $groups)
74
    {
75
        $enc = $this->_encryptPassword($username, $password);
76
        $this->fieldClean($username);
77
        $this->clean($enc);
78
        $this->clean($expiry);
79
        $this->fieldArrayClean($groups);
80
81
        $sql = "CREATE USER \"{$username}\"";
82
        if ($password != '') {
83
            $sql .= " WITH ENCRYPTED PASSWORD '{$enc}'";
84
        }
85
86
        $sql .= $createdb ? ' CREATEDB' : ' NOCREATEDB';
87
        $sql .= $createrole ? ' CREATEROLE' : ' NOCREATEROLE';
88
        if (is_array($groups) && sizeof($groups) > 0) {
89
            $sql .= ' IN GROUP "'.join('", "', $groups).'"';
90
        }
91
92
        if ($expiry != '') {
93
            $sql .= " VALID UNTIL '{$expiry}'";
94
        } else {
95
            $sql .= " VALID UNTIL 'infinity'";
96
        }
97
98
        return $this->execute($sql);
99
    }
100
}
101