Changeset 11816
- Timestamp:
- 05/04/2022 11:02:22 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/profiles.wordpress.org/public_html/wp-content/plugins/wporg-profiles-activity-handler/wporg-profiles-activity-handler.php
r11781 r11816 222 222 $success = intval( $activity_id ) > 0 ? '1' : $activity_id; 223 223 die( $success ); 224 } 225 226 /** 227 * Add an activity payload to a profile 228 * 229 * @param string $component 230 * @param string $type 231 * @param mixed $user 232 * @param array $activity_args The arguments that should be passed to `bp_activity_add()`, minus the other params passed in to this function 233 * 234 * @return int|string 235 */ 236 protected function add_activity( string $component, string $type, $user, array $activity_args ) { 237 $user = $this->get_user( $user ); 238 239 if ( ! $user ) { 240 return '-1 Activity reported for unrecognized user : ' . $user; 241 } 242 243 $required_args = array( 244 'user_id' => $user->ID, 245 'component' => $component, 246 'type' => "{$component}_$type", 247 'error_type' => 'wp_error', 248 ); 249 250 $new_activity_args = array_merge( $activity_args, $required_args ); 251 $activity_id = bp_activity_add( $new_activity_args ); 252 253 if ( is_int( $activity_id ) ) { 254 $result = $activity_id; 255 256 } else { 257 $result = sprintf( 258 '-1 Unable to save activity: %s. Request was: %s', 259 $activity_id->get_error_message(), 260 wp_json_encode( $new_activity_args ) 261 ); 262 } 263 264 return $result; 224 265 } 225 266 … … 350 391 */ 351 392 protected function handle_learn_activity() { 352 $user = $this->get_user( $_POST['user'] ); 353 354 if ( ! $user ) { 355 return '-1 Activity reported for unrecognized user : ' . sanitize_text_field( $_POST['user'] ); 356 } 357 393 $error = ''; 394 $activity_args = array(); 358 395 $activity_type = sanitize_text_field( $_POST['activity'] ); 359 360 $default_args = array( 361 'user_id' => $user->ID, 362 'component' => 'learn', 363 'type' => "learn_$activity_type", 364 'error_type' => 'wp_error', 365 ); 396 $user = sanitize_text_field( $_POST['user'] ); 366 397 367 398 switch ( $activity_type ) { 368 399 case 'course_complete': 369 $ case_args = array(400 $activity_args = array( 370 401 'item_id' => absint( $_POST['course_id'] ), 371 402 'primary_link' => esc_url_raw( $_POST['url'] ), … … 380 411 381 412 default: 382 $error = "-1 Unrecognized Learn activity."; 383 } 384 385 if ( isset( $error ) ) { 386 $result = $error; 387 } else { 388 $new_activity_args = array_merge( $default_args, $case_args ); 389 $activity_id = bp_activity_add( $new_activity_args ); 390 391 if ( is_int( $activity_id ) ) { 392 $result = $activity_id; 393 } else { 394 $result = sprintf( 395 '-1 Unable to save activity: %s. Request was: %s', 396 $activity_id->get_error_message(), 397 wp_json_encode( $new_activity_args ) 398 ); 399 } 400 } 413 $error = '-1 Unrecognized Learn activity.'; 414 } 415 416 $result = $error || $this->add_activity( 'learn', $activity_type, $user, $activity_args ); 401 417 402 418 return $result;
Note: See TracChangeset
for help on using the changeset viewer.