PluginProbe
MainWP Dashboard: Self-hosted WordPress Management for Agencies / 6.3
MainWP Dashboard: Self-hosted WordPress Management for Agencies v6.3
6.3 6.2.3 6.2.2 6.2.1 6.2 6.1.8 6.1.7 6.1.6 6.1.5 6.1.4 6.1.3 6.1.2 6.1.1 6.1 6.0.12 6.0.11 4.6.0.1 5.0 5.0.1 5.0.2 5.0.3 5.0.3.1 5.0.3.2 5.1 5.1.1 All 157 releases
← All changes | modules/logs/classes/class-log-db-helper.php +14 -3 6.1.7 → 6.3 View file →
@@ -154,13 +154,25 @@
154 154
155 155 /**
156 156 * Method get_logs_users().
157 157 *
158 + * @param array|null $sites_ids Optional, array websites ids.
159 + *
158 160 * @return array Users list.
159 161 */
160 - public function get_logs_users() { //phpcs:ignore -- NOSONAR -complex.
162 + public function get_logs_users( $sites_ids = null ) { //phpcs:ignore -- NOSONAR -complex.
161 163 $where = MainWP_DB::instance()->get_sql_where_allow_access_sites( 'wp' );
162 - $sql = 'SELECT lo.log_id, lo.site_id, lo.user_id, lo.user_login, lo.connector, wp.name, me.meta_log_id, me.meta_key, me.meta_value '
164 +
165 + if ( ! empty( $sites_ids ) ) {
166 + $sites_ids = array_map( 'intval', $sites_ids );
167 + $placeholders = implode( ',', array_fill( 0, count( $sites_ids ), '%d' ) );
168 + $where .= $this->wpdb->prepare(
169 + " AND wp.id IN ($placeholders)", // phpcs:ignore --NOSONAR -- $placeholders contains only generated %d placeholders.
170 + $sites_ids
171 + );
172 + }
173 +
174 + $sql = 'SELECT lo.log_id, lo.site_id, lo.user_id, lo.user_login, lo.connector, wp.name, me.meta_log_id, me.meta_key, me.meta_value '
163 175 . ', CASE
164 176 WHEN connector != "non-mainwp-changes" THEN "dashboard"
165 177 ELSE "wpadmin"
166 178 END AS log_source '
@@ -169,9 +181,8 @@
169 181 . ' LEFT JOIN ' . $this->table_name( 'wp_logs_meta' ) . ' me ON lo.log_id = me.meta_log_id '
170 182 . ' WHERE me.meta_key = "user_meta_json" '
171 183 . $where
172 184 . ' GROUP BY site_id, user_id, log_source ';
173 -
174 185 $users_sites_logs = $this->wpdb->get_results( $sql ); //phpcs:ignore -- ok.
175 186 if ( $users_sites_logs ) {
176 187 $logs_users = array();
177 188 $dash_users = array();