Changeset 9221
- Timestamp:
- 10/22/2019 04:41:16 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/common/includes/slack/announce/lib.php
r9217 r9221 63 63 $channel = $data['channel_name']; 64 64 $user = false; 65 $slack_profiledata = false; 65 66 66 67 // Find the user_login for the Slack user_id 67 68 if ( isset( $data['user_id'] ) ) { 68 $ user = $wpdb->get_var( $wpdb->prepare(69 "SELECT user_login 69 $db_row = $wpdb->get_row( $wpdb->prepare( 70 "SELECT user_login, profiledata 70 71 FROM slack_users 71 72 JOIN {$wpdb->users} ON slack_users.user_id = {$wpdb->users}.id … … 73 74 $data['user_id'] 74 75 ) ); 76 77 $user = $db_row->user_login ?? false; 78 $slack_profiledata = json_decode( ($db_row->profiledata ?? '{}'), true ); 75 79 } 80 76 81 // Default back to the historical 'user_name' Slack field. 77 82 if ( ! $user ) { … … 97 102 } 98 103 104 // Use their Slack Display name, falling back to their WordPress.org login if that's not available. 105 $display_name = $user; 106 if ( ! empty( $slack_profiledata['display_name'] ) ) { 107 $display_name = $slack_profiledata['display_name']; 108 } 109 110 $avatar = false; 111 // Respect the avatar set in Slack, and prefer it over their Gravatar. 112 if ( ! empty( $slack_profiledata['image_192'] ) ) { 113 $avatar = $slack_profiledata['image_192']; 114 } 115 $get_avatar = __NAMESPACE__ . '\\' . 'get_avatar'; 116 if ( ! $avatar && function_exists( $get_avatar ) ) { 117 $avatar = call_user_func( $get_avatar, $data['user_name'], $data['user_id'], $data['team_id'] ); 118 } 119 99 120 $text = sprintf( "<!%s> %s", $command, $data['text'] ); 100 121 101 122 $send = new Send( \Dotorg\Slack\Send\WEBHOOK ); 102 $send->set_username( $ user);123 $send->set_username( $display_name ); 103 124 $send->set_text( $text ); 104 105 $get_avatar = __NAMESPACE__ . '\\' . 'get_avatar'; 106 if ( function_exists( $get_avatar ) ) { 107 $send->set_icon( call_user_func( $get_avatar, $data['user_name'], $data['user_id'], $data['team_id'] ) ); 125 if ( $avatar ) { 126 $send->set_icon( $avatar ); 108 127 } 109 128
Note: See TracChangeset
for help on using the changeset viewer.