PluginProbe
ManageWP Worker / 4.9.29
ManageWP Worker v4.9.29
4.9.38 4.9.37 4.9.36 4.9.35 4.9.34 3.8.7 3.8.8 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.22 3.9.23 3.9.24 All 73 releases
worker / src / MWP / WordPress / Query / User.php

User.php in ManageWP Worker 4.9.29, at src/MWP/WordPress/Query/User.php

41 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 * This file is part of the ManageWP Worker plugin.
4 *
5 * (c) ManageWP LLC <contact@managewp.com>
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
9 */
10
11 class MWP_WordPress_Query_User extends MWP_WordPress_Query_Abstract
12 {
13 public function query(array $options = array())
14 {
15 $options += array(
16 'query' => null,
17 'simplifiedQuery' => null,
18 'prefixName' => '{{prefix}}',
19 'deserialize' => array(),
20 'tryDeserialize' => array(),
21 );
22
23 // Depending on the total number of users we choose whether we will run the query or the simplified query without sorts.
24 $query = $options['query'];
25 $users_count = $this->getDb()->get_var('SELECT COUNT(*) FROM '.$this->getDb()->base_prefix.'users');
26 if ($users_count > 500) {
27 $query = $options['simplifiedQuery'];
28 }
29
30 // We change the {{prefix}}users and {{prefix}}usermeta string with base_prefix because in a multisite network,
31 // all of the websites are sharing the same users and usermeta tables.
32 $query = str_replace($options['prefixName'].'users', $this->getDb()->base_prefix.'users', $query);
33 $query = str_replace($options['prefixName'].'usermeta', $this->getDb()->base_prefix.'usermeta', $query);
34 $query = str_replace($options['prefixName'], $this->getDb()->prefix, $query);
35 $users = $this->getDb()->get_results($query, ARRAY_A);
36 $this->deserialize($users, $options['deserialize'], $options['tryDeserialize']);
37
38 return $users;
39 }
40 }
41