if ( $reassigned_authors_objs === false ) { return false; } return $this->update_indexable_authors( $reassigned_authors_objs, $limit ); } /** * Fetches pairs of old_id -> new_id indexed by old_id. * By using the old_id (i.e. the id of the user that has been deleted) as key of the associative array, we can * easily compose an array of unique pairs of old_id -> new_id. * * @param int $limit The limit we'll apply to the queries. * * @return int|bool The associative array with shape [ old_id => [ old_id, new_author ] ] or false if query to get * data fails. */ private function get_reassigned_authors( $limit ) { global $wpdb; $indexable_table = Model::get_table_name( 'Indexable' ); $posts_table = $wpdb->posts; // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Reason: There is no unescaped user input. $query = $wpdb->prepare( " SELECT {$indexable_table}.author_id, {$posts_table}.post_author FROM {$indexable_table} JOIN {$posts_table} on {$indexable_table}.object_id = {$posts_table}.id WHERE object_type='post' AND {$indexable_table}.author_id <> {$posts_table}.post_author ORDER BY {$indexable_table}.author_id LIMIT %d", $limit ); // phpcs:enable // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- Reason: Already prepared. return $wpdb->get_results( $query, \OBJECT_K ); } /** * Updates the indexable's author_id referring to a deleted author with the id of the reassigned user. * * @param array $reassigned_authors_objs The array of objects with shape [ old_id => [ old_id, new_id ] ]. * @param int $limit The limit we'll apply to the queries. * * @return int|bool The associative array with shape [ old_id => [ old_id, new_author ] ] or false if query to get * data fails. */ private function update_indexable_authors( $reassigned_authors_objs, $limit ) { global $wpdb; $indexable_table = Model::get_table_name( 'Indexable' ); // This is a workaround for the fact that the array_column function does not work on objects in PHP 5.6. $reassigned_authors_array = \array_map( static function ( $obj ) { return (array) $obj; }, $reassigned_authors_objs ); $reassigned_authors = \array_combine( \array_column( $reassigned_authors_array, 'author_id' ), \array_column( $reassigned_authors_array, 'post_author' ) ); foreach ( $reassigned_authors as $old_author_id => $new_author_id ) { // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Reason: There is no unescaped user input. $query = $wpdb->prepare( " UPDATE {$indexable_table} SET {$indexable_table}.author_id = {$new_author_id} WHERE {$indexable_table}.author_id = {$old_author_id} AND object_type='post' LIMIT %d", $limit ); // phpcs:enable // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- Reason: Already prepared. $wpdb->query( $query ); } return \count( $reassigned_authors ); } } Activiteiten - Alles voor Elkaar
Menu Sluiten

Activiteiten

1 2 3

Uitgelichte activiteiten

Geen activiteiten
ma
di
wo
do
vr
za
zo
m
d
w
d
v
z
z
2
3
5
6
7
9
10
12
13
14
16
17
19
20
21
23
24
26
27
28
30
31
1
2
3
4
01 jul
ma 1 jul 2024    
09:00 - 12:00
Heeft u een lekke band of zoekt u een fiets voor een voordelig tarief? Dan bent u bij ons welkom. We  repareren ook rollators en [...]
04 jul
do 4 jul 2024    
09:00 - 12:00
Heeft u een lekke band of zoekt u een fiets voor een voordelig tarief? Dan bent u bij ons welkom. We  repareren ook rollators en [...]
08 jul
ma 8 jul 2024    
09:00 - 12:00
Heeft u een lekke band of zoekt u een fiets voor een voordelig tarief? Dan bent u bij ons welkom. We  repareren ook rollators en [...]
11 jul
do 11 jul 2024    
09:00 - 12:00
Heeft u een lekke band of zoekt u een fiets voor een voordelig tarief? Dan bent u bij ons welkom. We  repareren ook rollators en [...]
15 jul
ma 15 jul 2024    
09:00 - 12:00
Heeft u een lekke band of zoekt u een fiets voor een voordelig tarief? Dan bent u bij ons welkom. We  repareren ook rollators en [...]
18 jul
do 18 jul 2024    
09:00 - 12:00
Heeft u een lekke band of zoekt u een fiets voor een voordelig tarief? Dan bent u bij ons welkom. We  repareren ook rollators en [...]
22 jul
ma 22 jul 2024    
09:00 - 12:00
Heeft u een lekke band of zoekt u een fiets voor een voordelig tarief? Dan bent u bij ons welkom. We  repareren ook rollators en [...]
25 jul
do 25 jul 2024    
09:00 - 12:00
Heeft u een lekke band of zoekt u een fiets voor een voordelig tarief? Dan bent u bij ons welkom. We  repareren ook rollators en [...]
29 jul
ma 29 jul 2024    
09:00 - 12:00
Heeft u een lekke band of zoekt u een fiets voor een voordelig tarief? Dan bent u bij ons welkom. We  repareren ook rollators en [...]
01 aug
do 1 aug 2024    
09:00 - 12:00
Heeft u een lekke band of zoekt u een fiets voor een voordelig tarief? Dan bent u bij ons welkom. We  repareren ook rollators en [...]
Events on ma 1 jul 2024
01 jul
1 jul 24
#_TOWN
Events on do 4 jul 2024
04 jul
4 jul 24
#_TOWN
Events on ma 8 jul 2024
08 jul
8 jul 24
#_TOWN
Events on do 11 jul 2024
11 jul
11 jul 24
#_TOWN
Events on ma 15 jul 2024
15 jul
15 jul 24
#_TOWN
Events on do 18 jul 2024
18 jul
18 jul 24
#_TOWN
Events on ma 22 jul 2024
22 jul
22 jul 24
#_TOWN
Events on do 25 jul 2024
25 jul
25 jul 24
#_TOWN
Events on ma 29 jul 2024
29 jul
29 jul 24
#_TOWN
Events on do 1 aug 2024
01 aug
1 aug 24
#_TOWN