Changeset 43055 for trunk/src/wp-includes/user.php
- Timestamp:
- 05/01/2018 01:58:02 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/user.php
r43014 r43055 2827 2827 2828 2828 /** 2829 * Registers the personal data exporter for users. 2830 * 2831 * @since 4.9.6 2832 * 2833 * @param array $exporters An array of personal data exporters. 2834 * @return array An array of personal data exporters. 2835 */ 2836 function wp_register_user_personal_data_exporter( $exporters ) { 2837 $exporters[] = array( 2838 'exporter_friendly_name' => __( 'WordPress User' ), 2839 'callback' => 'wp_user_personal_data_exporter', 2840 ); 2841 2842 return $exporters; 2843 } 2844 2845 /** 2846 * Finds and exports personal data associated with an email address from the user and user_meta table. 2847 * 2848 * @since 4.9.6 2849 * 2850 * @param string $email_address The users email address. 2851 * @return array An array of personal data. 2852 */ 2853 function wp_user_personal_data_exporter( $email_address ) { 2854 $email_address = trim( $email_address ); 2855 2856 $data_to_export = array(); 2857 2858 $user = get_user_by( 'email', $email_address ); 2859 2860 if ( ! $user ) { 2861 return array( 2862 'data' => array(), 2863 'done' => true, 2864 ); 2865 } 2866 2867 $user_meta = get_user_meta( $user->ID ); 2868 2869 $user_prop_to_export = array( 2870 'ID' => __( 'User ID' ), 2871 'user_login' => __( 'User Login Name' ), 2872 'user_nicename' => __( 'User Nice Name' ), 2873 'user_email' => __( 'User Email' ), 2874 'user_url' => __( 'User URL' ), 2875 'user_registered' => __( 'User Registration Date' ), 2876 'display_name' => __( 'User Display Name' ), 2877 'nickname' => __( 'User Nickname' ), 2878 'first_name' => __( 'User First Name' ), 2879 'last_name' => __( 'User Last Name' ), 2880 'description' => __( 'User Description' ), 2881 ); 2882 2883 $user_data_to_export = array(); 2884 2885 foreach ( $user_prop_to_export as $key => $name ) { 2886 $value = ''; 2887 2888 switch ( $key ) { 2889 case 'ID': 2890 case 'user_login': 2891 case 'user_nicename': 2892 case 'user_email': 2893 case 'user_url': 2894 case 'user_registered': 2895 case 'display_name': 2896 $value = $user->data->$key; 2897 break; 2898 case 'nickname': 2899 case 'first_name': 2900 case 'last_name': 2901 case 'description': 2902 $value = $user_meta[ $key ][0]; 2903 break; 2904 } 2905 2906 if ( ! empty( $value ) ) { 2907 $user_data_to_export[] = array( 2908 'name' => $name, 2909 'value' => $value, 2910 ); 2911 } 2912 } 2913 2914 $data_to_export[] = array( 2915 'group_id' => 'user', 2916 'group_label' => __( 'User' ), 2917 'item_id' => "user-{$user->ID}", 2918 'data' => $user_data_to_export, 2919 ); 2920 2921 return array( 2922 'data' => $data_to_export, 2923 'done' => true, 2924 ); 2925 } 2926 2927 /** 2829 2928 * Update log when privacy request is confirmed. 2830 2929 *
Note: See TracChangeset
for help on using the changeset viewer.