Code Duplication    Length = 18-29 lines in 4 locations

typo3/sysext/saltedpasswords/Classes/Utility/SaltedPasswordsUtility.php 1 location

@@ 35-52 (lines=18) @@
32
     *
33
     * @return int
34
     */
35
    public static function getNumberOfBackendUsersWithInsecurePassword()
36
    {
37
        $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('be_users');
38
        $queryBuilder->getRestrictions()->removeAll();
39
40
        $userCount = $queryBuilder
41
            ->count('*')
42
            ->from('be_users')
43
            ->where(
44
                $queryBuilder->expr()->neq('password', $queryBuilder->createNamedParameter('', \PDO::PARAM_STR)),
45
                $queryBuilder->expr()->notLike('password', $queryBuilder->createNamedParameter('$%', \PDO::PARAM_STR)),
46
                $queryBuilder->expr()->notLike('password', $queryBuilder->createNamedParameter('M$%', \PDO::PARAM_STR))
47
            )
48
            ->execute()
49
            ->fetchColumn();
50
51
        return $userCount;
52
    }
53
54
    /**
55
     * Returns extension configuration data from $TYPO3_CONF_VARS (configurable in Extension Manager)

typo3/sysext/backend/Classes/Backend/Avatar/DefaultAvatarProvider.php 1 location

@@ 68-96 (lines=29) @@
65
     * @param int $backendUserId the UID of the be_users record
66
     * @return int the sys_file UID or 0 if none found
67
     */
68
    protected function getAvatarFileUid($backendUserId)
69
    {
70
        $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('sys_file_reference');
71
        $fileUid = $queryBuilder
72
            ->select('uid_local')
73
            ->from('sys_file_reference')
74
            ->where(
75
                $queryBuilder->expr()->eq(
76
                    'tablenames',
77
                    $queryBuilder->createNamedParameter('be_users', \PDO::PARAM_STR)
78
                ),
79
                $queryBuilder->expr()->eq(
80
                    'fieldname',
81
                    $queryBuilder->createNamedParameter('avatar', \PDO::PARAM_STR)
82
                ),
83
                $queryBuilder->expr()->eq(
84
                    'table_local',
85
                    $queryBuilder->createNamedParameter('sys_file', \PDO::PARAM_STR)
86
                ),
87
                $queryBuilder->expr()->eq(
88
                    'uid_foreign',
89
                    $queryBuilder->createNamedParameter((int)$backendUserId, \PDO::PARAM_INT)
90
                )
91
            )
92
            ->execute()
93
            ->fetchColumn();
94
95
        return (int)$fileUid;
96
    }
97
}
98

typo3/sysext/setup/Classes/Controller/SetupModuleController.php 1 location

@@ 939-966 (lines=28) @@
936
     * @param int $beUserId
937
     * @return int
938
     */
939
    protected function getAvatarFileUid($beUserId)
940
    {
941
        $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('sys_file_reference');
942
        $file = $queryBuilder
943
            ->select('uid_local')
944
            ->from('sys_file_reference')
945
            ->where(
946
                $queryBuilder->expr()->eq(
947
                    'tablenames',
948
                    $queryBuilder->createNamedParameter('be_users', \PDO::PARAM_STR)
949
                ),
950
                $queryBuilder->expr()->eq(
951
                    'fieldname',
952
                    $queryBuilder->createNamedParameter('avatar', \PDO::PARAM_STR)
953
                ),
954
                $queryBuilder->expr()->eq(
955
                    'table_local',
956
                    $queryBuilder->createNamedParameter('sys_file', \PDO::PARAM_STR)
957
                ),
958
                $queryBuilder->expr()->eq(
959
                    'uid_foreign',
960
                    $queryBuilder->createNamedParameter($beUserId, \PDO::PARAM_INT)
961
                )
962
            )
963
            ->execute()
964
            ->fetchColumn();
965
        return (int)$file;
966
    }
967
968
    /**
969
     * Set avatar fileUid for backend user

typo3/sysext/recycler/Classes/Controller/DeletedRecordsController.php 1 location

@@ 150-177 (lines=28) @@
147
     * @param int $uid uid of record
148
     * @return int
149
     */
150
    protected function getUserWhoDeleted(string $table, int $uid): int
151
    {
152
        $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
153
            ->getQueryBuilderForTable('sys_history');
154
        $queryBuilder->select('userid')
155
            ->from('sys_history')
156
            ->where(
157
                $queryBuilder->expr()->eq(
158
                    'tablename',
159
                    $queryBuilder->createNamedParameter($table, \PDO::PARAM_STR)
160
                ),
161
                $queryBuilder->expr()->eq(
162
                    'usertype',
163
                    $queryBuilder->createNamedParameter('BE', \PDO::PARAM_STR)
164
                ),
165
                $queryBuilder->expr()->eq(
166
                    'recuid',
167
                    $queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT)
168
                ),
169
                $queryBuilder->expr()->eq(
170
                    'actiontype',
171
                    $queryBuilder->createNamedParameter(RecordHistoryStore::ACTION_DELETE, \PDO::PARAM_INT)
172
                )
173
            )
174
            ->setMaxResults(1);
175
176
        return (int)$queryBuilder->execute()->fetchColumn(0);
177
    }
178
179
    /**
180
     * Returns an instance of LanguageService