| @@ -3,9 +3,8 @@ | ||
| 3 | 3 | namespace Wdk\Extensions; |
| 4 | 4 | |
| 5 | 5 | if (!defined('ABSPATH')) exit; // Exit if accessed directly |
| 6 | 6 | |
| 7 | -define( 'WDK_EXTENSIONS_CACHED_USERS_ACTIVATED', '1' ); | |
| 8 | 7 | |
| 9 | 8 | class WdkCachedUsers |
| 10 | 9 | { |
| 11 | 10 | /** |
| @@ -18,9 +17,9 @@ | ||
| 18 | 17 | |
| 19 | 18 | public function __construct($data = array(), $args = null) |
| 20 | 19 | { |
| 21 | 20 | |
| 22 | - add_action( 'edit_user_profile_update', array($this, 'update'), 11); | |
| 21 | + add_action( 'wp_update_user', array($this, 'update'), 11); | |
| 23 | 22 | add_action( 'init', array($this, 'regenerate_cache_activation'), 11); |
| 24 | 23 | |
| 25 | 24 | /* call with GET['wdk_cached_users_regenerate'] */ |
| 26 | 25 | add_action( 'init', array($this, 'regenerate_cache_regenerate'), 11); |
| @@ -54,32 +53,35 @@ | ||
| 54 | 53 | } |
| 55 | 54 | |
| 56 | 55 | $insert_id = $Winter_MVC_WDK->cachedusers_m->insert(array( |
| 57 | 56 | 'cacheduser_user_id' => $user_id, |
| 58 | - 'cacheduser_profile_url' => $user_data['profile_url'], | |
| 59 | - 'cacheduser_avatar_url' => $user_data['avatar'], | |
| 60 | - 'cacheduser_display_name' => wdk_get_user_field ($user_id, 'display_name'), | |
| 61 | - 'cacheduser_email' => wdk_get_user_field ($user_id, 'user_email'), | |
| 62 | - 'cacheduser_wdk_address' => wdk_get_user_field ($user_id, 'wdk_address'), | |
| 63 | - 'cacheduser_wdk_phone' => wdk_get_user_field ($user_id, 'wdk_phone'), | |
| 64 | - 'cacheduser_wdk_city' => wdk_get_user_field ($user_id, 'wdk_city'), | |
| 65 | - 'cacheduser_wdk_company_name' => wdk_get_user_field ($user_id, 'wdk_company_name'), | |
| 66 | - 'cacheduser_wdk_facebook' => wdk_get_user_field ($user_id, 'wdk_facebook'), | |
| 67 | - 'cacheduser_wdk_youtube' => wdk_get_user_field ($user_id, 'wdk_youtube'), | |
| 68 | - 'cacheduser_wdk_linkedin' => wdk_get_user_field ($user_id, 'wdk_linkedin'), | |
| 69 | - 'cacheduser_wdk_twitter' => wdk_get_user_field ($user_id, 'wdk_twitter'), | |
| 70 | - 'cacheduser_wdk_instagram' => wdk_get_user_field ($user_id, 'wdk_instagram'), | |
| 71 | - 'cacheduser_wdk_whatsapp' => wdk_get_user_field ($user_id, 'wdk_whatsapp'), | |
| 72 | - 'cacheduser_wdk_viber' => wdk_get_user_field ($user_id, 'wdk_viber'), | |
| 73 | - 'cacheduser_wdk_iban' => wdk_get_user_field ($user_id, 'wdk_iban'), | |
| 74 | - 'cacheduser_wdk_telegram' => wdk_get_user_field ($user_id, 'wdk_telegram'), | |
| 75 | - 'cacheduser_wdk_position_title' => wdk_get_user_field ($user_id, 'wdk_position_title'), | |
| 76 | - 'cacheduser_agency_name' => wdk_get_user_field ($user_id, 'agency_name'), | |
| 77 | - 'cacheduser_description' => wdk_get_user_field ($user_id, 'description'), | |
| 78 | - 'cacheduser_user_url' => wdk_get_user_field ($user_id, 'user_url'), | |
| 79 | - 'cacheduser_roles' => join(',', ( array ) wdk_get_user_field ($user_id, 'roles')), | |
| 80 | - 'cacheduser_json_data' => json_encode($json_data), | |
| 81 | - 'cacheduser_date_updated' => date('Y-m-d H:i:s'), | |
| 57 | + 'cacheduser_profile_url' => wdk_esc_sql($user_data['profile_url'], true), | |
| 58 | + 'cacheduser_avatar_url' => wdk_esc_sql($user_data['avatar'], true), | |
| 59 | + 'cacheduser_display_name' => wdk_esc_sql(wdk_get_user_field($user_id, 'display_name'), true), | |
| 60 | + 'cacheduser_email' => wdk_esc_sql(wdk_get_user_field($user_id, 'user_email'), true), | |
| 61 | + 'cacheduser_wdk_address' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_address'), true), | |
| 62 | + 'cacheduser_wdk_phone' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_phone'), true), | |
| 63 | + 'cacheduser_wdk_city' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_city'), true), | |
| 64 | + 'cacheduser_wdk_company_name' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_company_name'), true), | |
| 65 | + 'cacheduser_wdk_facebook' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_facebook'), true), | |
| 66 | + 'cacheduser_wdk_youtube' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_youtube'), true), | |
| 67 | + 'cacheduser_wdk_linkedin' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_linkedin'), true), | |
| 68 | + 'cacheduser_wdk_twitter' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_twitter'), true), | |
| 69 | + 'cacheduser_wdk_instagram' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_instagram'), true), | |
| 70 | + 'cacheduser_wdk_whatsapp' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_whatsapp'), true), | |
| 71 | + 'cacheduser_wdk_viber' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_viber'), true), | |
| 72 | + 'cacheduser_wdk_iban' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_iban'), true), | |
| 73 | + 'cacheduser_wdk_telegram' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_telegram'), true), | |
| 74 | + 'cacheduser_wdk_position_title' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_position_title'), true), | |
| 75 | + 'cacheduser_wdk_slug' => wdk_esc_sql(wdk_get_user_field($user_id, 'wdk_slug'), true), | |
| 76 | + 'cacheduser_user_login' => wdk_esc_sql(wdk_get_user_field($user_id, 'user_login'), true), | |
| 77 | + 'cacheduser_agency_name' => wdk_esc_sql(wdk_get_user_field($user_id, 'agency_name'), true), | |
| 78 | + 'cacheduser_description' => wdk_esc_sql(wdk_get_user_field($user_id, 'description'), true), | |
| 79 | + 'cacheduser_user_url' => wdk_esc_sql(wdk_get_user_field($user_id, 'user_url'), true), | |
| 80 | + 'cacheduser_roles' => wdk_esc_sql(join(',', (array) wdk_get_user_field($user_id, 'roles')), true), | |
| 81 | + 'cacheduser_json_data' => wdk_esc_sql(json_encode($json_data), true), | |
| 82 | + 'cacheduser_date_updated' => gmdate('Y-m-d H:i:s'), | |
| 83 | + | |
| 82 | 84 | ), NULL); |
| 83 | 85 | } |
| 84 | 86 | |
| 85 | 87 | public function regenerate_cache_activation() |
| @@ -104,14 +106,20 @@ | ||
| 104 | 106 | |
| 105 | 107 | public function regenerate_cache($limit = NULL) |
| 106 | 108 | { |
| 107 | 109 | global $wpdb; |
| 108 | - $sql = "SELECT * FROM $wpdb->users"; | |
| 109 | - | |
| 110 | - if(!empty($limit)) | |
| 111 | - $sql .= " LIMIT ".esc_sql($limit); | |
| 112 | - | |
| 113 | - $dbusers = $wpdb->get_results($sql); | |
| 110 | + if (!empty($limit)) { | |
| 111 | + $dbusers = $wpdb->get_results( | |
| 112 | + $wpdb->prepare( | |
| 113 | + "SELECT * FROM {$wpdb->users} LIMIT %d", | |
| 114 | + absint($limit) | |
| 115 | + ) | |
| 116 | + ); | |
| 117 | + } else { | |
| 118 | + $dbusers = $wpdb->get_results( | |
| 119 | + "SELECT * FROM {$wpdb->users}" | |
| 120 | + ); | |
| 121 | + } | |
| 114 | 122 | |
| 115 | 123 | foreach($dbusers as $dbuser) { |
| 116 | 124 | $this->update(wmvc_show_data('ID', $dbuser)); |
| 117 | 125 | } |