Changeset 13073
- Timestamp:
- 08/17/2021 10:52:34 PM (4 years ago)
- Location:
- branches/7.0
- Files:
-
- 2 edited
-
src/bp-core/classes/class-bp-invitation.php (modified) (2 diffs)
-
tests/phpunit/testcases/core/invitations.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/7.0/src/bp-core/classes/class-bp-invitation.php
r12547 r13073 131 131 */ 132 132 public $accepted; 133 134 /** 135 * Columns in the invitations table. 136 * 137 * @since 9.0.0 138 * @access public 139 * @var array 140 */ 141 public static $columns = array( 142 'id', 143 'user_id', 144 'inviter_id', 145 'invitee_email', 146 'class', 147 'item_id', 148 'secondary_item_id', 149 'type', 150 'content', 151 'date_modified', 152 'invite_sent', 153 'accepted' 154 ); 133 155 134 156 /** Public Methods ****************************************************/ … … 474 496 // Order by. 475 497 if ( ! empty( $args['order_by'] ) ) { 476 $order_by = implode( ', ', (array) $args['order_by'] ); 477 $conditions['order_by'] = "{$order_by}"; 498 $order_by_clean = array(); 499 foreach ( (array) $args['order_by'] as $key => $value ) { 500 if ( in_array( $value, self::$columns, true ) ) { 501 $order_by_clean[] = $value; 502 } 503 } 504 if ( ! empty( $order_by_clean ) ) { 505 $order_by = implode( ', ', $order_by_clean ); 506 $conditions['order_by'] = "{$order_by}"; 507 } 478 508 } 479 509 -
branches/7.0/tests/phpunit/testcases/core/invitations.php
r12428 r13073 174 174 $this->set_current_user( $old_current_user ); 175 175 } 176 176 177 177 public function test_bp_invitations_add_request_vanilla() { 178 178 $old_current_user = get_current_user_id(); … … 288 288 } 289 289 290 public function test_bp_invitations_orderby_item_id() { 291 $old_current_user = get_current_user_id(); 292 293 $u1 = $this->factory->user->create(); 294 $u2 = $this->factory->user->create(); 295 $u3 = $this->factory->user->create(); 296 $this->set_current_user( $u1 ); 297 298 $invites_class = new BPTest_Invitation_Manager_Extension(); 299 300 // Create an invitation. 301 $i1_args = array( 302 'user_id' => $u2, 303 'inviter_id' => $u1, 304 'item_id' => 6, 305 ); 306 $i1 = $invites_class->add_invitation( $i1_args ); 307 $invites_class->send_invitation_by_id( $i1 ); 308 309 $i2_args = array( 310 'user_id' => $u3, 311 'inviter_id' => $u1, 312 'item_id' => 4, 313 ); 314 $i2 = $invites_class->add_invitation( $i2_args ); 315 $invites_class->send_invitation_by_id( $i2 ); 316 317 $i3_args = array( 318 'user_id' => $u2, 319 'inviter_id' => $u1, 320 'item_id' => 8, 321 ); 322 $i3 = $invites_class->add_invitation( $i3_args ); 323 $invites_class->send_invitation_by_id( $i3 ); 324 325 $get_invites = array( 326 'order_by' => 'item_id', 327 'sort_order' => 'ASC', 328 'fields' => 'ids', 329 ); 330 $invites = $invites_class->get_invitations( $get_invites ); 331 $this->assertEquals( array( $i2, $i1, $i3 ), $invites ); 332 333 $get_invites['sort_order'] = 'DESC'; 334 $invites = $invites_class->get_invitations( $get_invites ); 335 $this->assertEquals( array( $i3, $i1, $i2 ), $invites ); 336 337 $this->set_current_user( $old_current_user ); 338 } 290 339 }
Note: See TracChangeset
for help on using the changeset viewer.