14
14
* The TYPO3 project - inspiring people to share!
15
15
*/
16
16
17
+ use TYPO3 \CMS \Core \Database \Connection ;
17
18
use TYPO3 \CMS \Core \Database \ConnectionPool ;
19
+ use TYPO3 \CMS \Core \Database \Query \QueryBuilder ;
18
20
use TYPO3 \CMS \Core \Utility \ExtensionManagementUtility ;
19
21
use TYPO3 \CMS \Core \Utility \GeneralUtility ;
20
22
@@ -41,38 +43,39 @@ class OpenidStore extends \Auth_OpenID_OpenIDStore
41
43
*/
42
44
public function storeAssociation ($ serverUrl , $ association )
43
45
{
44
- $ builder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable (self ::ASSOCIATION_TABLE_NAME );
45
- $ builder ->getRestrictions ()->removeAll ();
46
+ /** @var QueryBuilder $queryBuilder */
47
+ $ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable (self ::ASSOCIATION_TABLE_NAME );
48
+ $ queryBuilder ->getRestrictions ()->removeAll ();
46
49
47
- $ builder ->getConnection ()->beginTransaction ();
50
+ $ queryBuilder ->getConnection ()->beginTransaction ();
48
51
49
- $ existingAssociations = $ builder
52
+ $ existingAssociations = $ queryBuilder
50
53
->count ('* ' )
51
54
->from (self ::ASSOCIATION_TABLE_NAME )
52
55
->where (
53
- $ builder ->expr ()->eq ('server_url ' , $ builder ->createNamedParameter ($ serverUrl )),
54
- $ builder ->expr ()->eq ('assoc_handle ' , $ builder ->createNamedParameter ($ association ->handle )),
55
- $ builder ->expr ()->eq ('expires ' , $ builder ->createNamedParameter (time (), \PDO ::PARAM_INT ))
56
+ $ queryBuilder ->expr ()->eq ('server_url ' , $ queryBuilder ->createNamedParameter ($ serverUrl )),
57
+ $ queryBuilder ->expr ()->eq ('assoc_handle ' , $ queryBuilder ->createNamedParameter ($ association ->handle )),
58
+ $ queryBuilder ->expr ()->eq ('expires ' , $ queryBuilder ->createNamedParameter (time (), \PDO ::PARAM_INT ))
56
59
)
57
60
->execute ()
58
61
->fetchColumn ();
59
62
60
63
if ($ existingAssociations ) {
61
- $ builder
64
+ $ queryBuilder
62
65
->update (self ::ASSOCIATION_TABLE_NAME )
63
66
->values ([
64
67
'content ' => base64_encode (serialize ($ association )),
65
68
'tstamp ' => time ()
66
69
])
67
70
->where (
68
- $ builder ->expr ()->eq ('server_url ' , $ builder ->createNamedParameter ($ serverUrl )),
69
- $ builder ->expr ()->eq ('assoc_handle ' , $ builder ->createNamedParameter ($ association ->handle )),
70
- $ builder ->expr ()->eq ('expires ' , $ builder ->createNamedParameter (time (), \PDO ::PARAM_INT ))
71
+ $ queryBuilder ->expr ()->eq ('server_url ' , $ queryBuilder ->createNamedParameter ($ serverUrl )),
72
+ $ queryBuilder ->expr ()->eq ('assoc_handle ' , $ queryBuilder ->createNamedParameter ($ association ->handle )),
73
+ $ queryBuilder ->expr ()->eq ('expires ' , $ queryBuilder ->createNamedParameter (time (), \PDO ::PARAM_INT ))
71
74
)
72
75
->execute ();
73
76
} else {
74
77
// In the next query we can get race conditions. sha1_hash prevents many associations from being stored for one server
75
- $ builder
78
+ $ queryBuilder
76
79
->insert (self ::ASSOCIATION_TABLE_NAME )
77
80
->values ([
78
81
'assoc_handle ' => $ association ->handle ,
@@ -85,7 +88,7 @@ public function storeAssociation($serverUrl, $association)
85
88
->execute ();
86
89
}
87
90
88
- $ builder ->getConnection ()->commit ();
91
+ $ queryBuilder ->getConnection ()->commit ();
89
92
}
90
93
91
94
/**
@@ -95,6 +98,7 @@ public function storeAssociation($serverUrl, $association)
95
98
*/
96
99
public function cleanupAssociations ()
97
100
{
101
+ /** @var QueryBuilder $queryBuilder */
98
102
$ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable (self ::ASSOCIATION_TABLE_NAME );
99
103
$ queryBuilder ->getRestrictions ()->removeAll ();
100
104
return $ queryBuilder ->delete (self ::ASSOCIATION_TABLE_NAME )->where ('expires <= ' . time ())->execute ();
@@ -110,6 +114,7 @@ public function cleanupAssociations()
110
114
public function getAssociation ($ serverUrl , $ handle = null )
111
115
{
112
116
$ this ->cleanupAssociations ();
117
+ /** @var QueryBuilder $queryBuilder */
113
118
$ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable (self ::ASSOCIATION_TABLE_NAME );
114
119
$ queryBuilder ->getRestrictions ()->removeAll ();
115
120
$ queryBuilder ->select ('uid ' , 'content ' )->from (self ::ASSOCIATION_TABLE_NAME )->where (
@@ -147,6 +152,7 @@ public function getAssociation($serverUrl, $handle = null)
147
152
*/
148
153
public function removeAssociation ($ serverUrl , $ handle )
149
154
{
155
+ /** @var QueryBuilder $queryBuilder */
150
156
$ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable (self ::ASSOCIATION_TABLE_NAME );
151
157
$ queryBuilder ->getRestrictions ()->removeAll ();
152
158
$ deletedCount = $ queryBuilder
@@ -166,6 +172,7 @@ public function removeAssociation($serverUrl, $handle)
166
172
public function cleanupNonces ()
167
173
{
168
174
$ where = 'crdate < ' . (time () - self ::NONCE_STORAGE_TIME );
175
+ /** @var QueryBuilder $queryBuilder */
169
176
$ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable (self ::NONCE_TABLE_NAME );
170
177
$ queryBuilder ->getRestrictions ()->removeAll ();
171
178
$ queryBuilder ->delete (self ::NONCE_TABLE_NAME )->where ($ where )->execute ();
@@ -189,6 +196,7 @@ public function useNonce($serverUrl, $timestamp, $salt)
189
196
'server_url ' => $ serverUrl ,
190
197
'tstamp ' => $ timestamp
191
198
];
199
+ /** @var Connection $connection */
192
200
$ connection = GeneralUtility::makeInstance (ConnectionPool::class)->getConnectionForTable (self ::NONCE_TABLE_NAME );
193
201
$ affectedRows = $ connection ->createQueryBuilder ()->insert (self ::NONCE_TABLE_NAME )->values ($ values )->execute ();
194
202
$ result = $ affectedRows > 0 ;
0 commit comments