Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
06/03/2018 10:36:32 AM (8 years ago)
Author:
djpaul
Message:

Activity: fix activity permalinks for unauthenticated users.

This change also re-adds the block on accessing spammed activity items.

Fixes #7843

Props r-a-y, espellcaste

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/testcases/activity/functions.php

    r12112 r12154  
    14941494         * @group bp_activity_user_can_read
    14951495         */
    1496         public function test_user_cannot_access_someone_elses_activity() {
    1497                 $u = self::factory()->user->create();
    1498                 $u2 = self::factory()->user->create();
    1499 
    1500                 $a = self::factory()->activity->create( array(
    1501                         'user_id' => $u2,
    1502                 ) );
    1503 
    1504                 $o = self::factory()->activity->get_object_by_id( $a );
    1505 
    1506                 $this->assertFalse( bp_activity_user_can_read( $o, $u ) );
    1507                 $this->assertTrue( bp_activity_user_can_read( $o, $u2 ) );
    1508         }
    1509 
    1510         /**
    1511          * @group bp_activity_user_can_read
    1512          */
    15131496        public function test_admin_can_access_someone_elses_activity() {
    15141497                $u = self::factory()->user->create();
     
    15301513         * @group bp_activity_user_can_read
    15311514         */
    1532         public function test_group_admin_access_someone_elses_activity_in_a_grou() {
     1515        public function test_user_cannot_access_spam_activity() {
     1516                $u = self::factory()->user->create();
     1517                $u2 = self::factory()->user->create();
     1518
     1519                $a = self::factory()->activity->create( array(
     1520                        'user_id' => $u,
     1521                ) );
     1522
     1523                $o = self::factory()->activity->get_object_by_id( $a );
     1524
     1525                bp_activity_mark_as_spam( $o );
     1526
     1527                $this->assertFalse( bp_activity_user_can_read( $o, $u ) );
     1528                $this->assertFalse( bp_activity_user_can_read( $o, $u2 ) );
     1529        }
     1530
     1531        /**
     1532         * @group bp_activity_user_can_read
     1533         */
     1534        public function test_admin_can_access_spam_activity() {
     1535                $u = self::factory()->user->create();
     1536                $u2 = self::factory()->user->create( array( 'role' => 'administrator' ) );
     1537
     1538                $a = self::factory()->activity->create( array(
     1539                        'user_id' => $u,
     1540                ) );
     1541
     1542                $o = self::factory()->activity->get_object_by_id( $a );
     1543
     1544                bp_activity_mark_as_spam( $o );
     1545
     1546                $this->set_current_user( $u2 );
     1547                $this->assertTrue( bp_activity_user_can_read( $o, $u2 ) );
     1548        }
     1549
     1550        /**
     1551         * @group bp_activity_user_can_read
     1552         */
     1553        public function test_group_admin_access_someone_elses_activity_in_a_group() {
    15331554                $u  = self::factory()->user->create();
    15341555                $u2 = self::factory()->user->create();
     
    15801601         * @group bp_activity_user_can_read
    15811602         */
    1582         public function test_user_access_to_his_activity_in_disabled_group() {
     1603        public function test_user_access_to_his_activity_in_hidden_group() {
    15831604                $u  = self::factory()->user->create();
    1584                 $g  = self::factory()->group->create();
     1605                $g  = self::factory()->group->create( array(
     1606                        'status' => 'hidden',
     1607                ) );
    15851608
    15861609                self::add_user_to_group( $u, $g );
     
    15941617                $o = self::factory()->activity->get_object_by_id( $a );
    15951618
    1596                 groups_edit_group_settings( $g, 0, 'hidden' );
    1597 
    15981619                $this->assertTrue( bp_activity_user_can_read( $o, $u ) );
    1599 
    1600                 groups_edit_group_settings( $g, 0, 'private' );
     1620        }
     1621
     1622        /**
     1623         * @group bp_activity_user_can_read
     1624         */
     1625        public function test_user_access_to_his_activity_in_private_group() {
     1626                $u  = self::factory()->user->create();
     1627                $g  = self::factory()->group->create( array(
     1628                        'status' => 'private',
     1629                ) );
     1630
     1631                self::add_user_to_group( $u, $g );
     1632
     1633                $a = self::factory()->activity->create( array(
     1634                        'component' => buddypress()->groups->id,
     1635                        'user_id'   => $u,
     1636                        'item_id'   => $g,
     1637                ) );
     1638
     1639                $o = self::factory()->activity->get_object_by_id( $a );
    16011640
    16021641                $this->assertTrue( bp_activity_user_can_read( $o, $u ) );
     1642        }
     1643
     1644        /**
     1645         * @group bp_activity_user_can_read
     1646         */
     1647        public function test_banned_user_cannot_access_to_his_activity_in_a_private_group() {
     1648                $u  = self::factory()->user->create();
     1649                $g  = self::factory()->group->create( array(
     1650                        'status' => 'private',
     1651                ) );
     1652
     1653                self::add_user_to_group( $u, $g );
     1654
     1655                $a = self::factory()->activity->create( array(
     1656                        'component' => buddypress()->groups->id,
     1657                        'user_id'   => $u,
     1658                        'item_id'   => $g,
     1659                ) );
     1660
     1661                buddypress()->is_item_admin = true;
     1662                groups_ban_member( $u, $g );
     1663
     1664                $o = self::factory()->activity->get_object_by_id( $a );
     1665
     1666                $this->assertFalse( bp_activity_user_can_read( $o, $u ) );
     1667        }
     1668
     1669        /**
     1670         * @group bp_activity_user_can_read
     1671         */
     1672        public function test_removed_member_cannot_access_to_his_activity_in_a_private_group() {
     1673                $u  = self::factory()->user->create();
     1674                $g  = self::factory()->group->create( array(
     1675                        'status' => 'private',
     1676                ) );
     1677
     1678                self::add_user_to_group( $u, $g );
     1679
     1680                $a = self::factory()->activity->create( array(
     1681                        'component' => buddypress()->groups->id,
     1682                        'user_id'   => $u,
     1683                        'item_id'   => $g,
     1684                ) );
     1685
     1686                buddypress()->is_item_admin = true;
     1687                groups_remove_member( $u, $g );
     1688
     1689                $o = self::factory()->activity->get_object_by_id( $a );
     1690
     1691                $this->assertFalse( bp_activity_user_can_read( $o, $u ) );
    16031692        }
    16041693
Note: See TracChangeset for help on using the changeset viewer.