Changeset 1032 for trunk/bp-groups.php
- Timestamp:
- 02/09/2009 06:52:51 AM (17 years ago)
- File:
-
- 1 edited
-
trunk/bp-groups.php (modified) (30 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-groups.php
r1030 r1032 151 151 if ( is_site_admin() ) { 152 152 /* Need to check db tables exist, activate hook no-worky in mu-plugins folder. */ 153 if ( false == ( $wpdb->get_var("SHOW TABLES LIKE '%" . $bp->groups->table_name . "%'")) || ( get_site_option('bp-groups-db-version') < BP_GROUPS_DB_VERSION ) )153 if ( !$wpdb->get_var("SHOW TABLES LIKE '%" . $bp->groups->table_name . "%'") || ( get_site_option('bp-groups-db-version') < BP_GROUPS_DB_VERSION ) ) 154 154 groups_install(); 155 155 156 if ( ( function_exists('bp_wire_install') && false ==$wpdb->get_var("SHOW TABLES LIKE '%" . $bp->groups->table_name_wire . "%'") ) || ( get_site_option('bp-groups-db-version') < BP_GROUPS_DB_VERSION ) )156 if ( ( function_exists('bp_wire_install') && !$wpdb->get_var("SHOW TABLES LIKE '%" . $bp->groups->table_name_wire . "%'") ) || ( get_site_option('bp-groups-db-version') < BP_GROUPS_DB_VERSION ) ) 157 157 groups_wire_install(); 158 158 } … … 349 349 350 350 if ( !$create_group_step = $bp->action_variables[1] ) { 351 $create_group_step = '1';351 $create_group_step = 1; 352 352 $completed_to_step = 0; 353 353 … … 366 366 $group_obj = new BP_Groups_Group( $_SESSION['group_obj_id'] ); 367 367 368 // If the user skipped the avatar step, move onto the next step and don't save anything. 369 if ( isset( $_POST['skip'] ) && 3 == (int)$create_group_step ) { 368 if ( !$group_id = groups_create_group( $create_group_step, $_SESSION['group_obj_id'] ) ) { 369 bp_core_add_message( __('There was an error saving group details. Please try again.', 'buddypress'), 'error' ); 370 bp_core_redirect( $bp->loggedin_user->domain . $bp->groups->slug . '/create/step/' . $create_group_step ); 371 } else { 370 372 $create_group_step++; 371 373 $completed_to_step++; 372 374 $_SESSION['completed_to_step'] = $completed_to_step; 373 } else { 374 375 // We're done. 376 if ( 4 == (int)$create_group_step ) 377 bp_core_redirect( bp_group_permalink( $group_obj, false ) ); 378 379 if ( !$group_id = groups_create_group( $create_group_step, $_SESSION['group_obj_id'] ) ) { 380 bp_core_add_message( __('There was an error saving group details. Please try again.', 'buddypress'), 'error' ); 381 bp_core_redirect( $bp->loggedin_user->domain . $bp->groups->slug . '/create/step/' . $create_group_step ); 382 } else { 383 $create_group_step++; 384 $completed_to_step++; 385 $_SESSION['completed_to_step'] = $completed_to_step; 386 $_SESSION['group_obj_id'] = $group_id; 387 } 375 $_SESSION['group_obj_id'] = $group_id; 388 376 } 377 378 if ( $completed_to_step == 4 ) 379 bp_core_redirect( bp_group_permalink( $group_obj, false ) ); 389 380 } 390 381 … … 852 843 } else { 853 844 bp_core_add_message( __( 'The group was deleted successfully', 'buddypress' ) ); 854 bp_core_redirect( site_url() . '/'. $bp->groups->slug . '/' );845 bp_core_redirect( $bp->loggedin_user->domain . $bp->groups->slug . '/' ); 855 846 } 856 847 … … 1345 1336 1346 1337 switch ( $step ) { 1347 case '1': 1338 case '1': 1339 if ( !check_admin_referer( 'groups_step1_save' ) ) 1340 return false; 1341 1348 1342 if ( $_POST['group-name'] != '' && $_POST['group-desc'] != '' ) { 1349 1343 $group_obj->creator_id = $bp->loggedin_user->id; … … 1395 1389 1396 1390 case '2': 1391 if ( !check_admin_referer( 'groups_step2_save' ) ) 1392 return false; 1393 1397 1394 $group_obj->status = 'public'; 1398 1395 $group_obj->is_invitation_only = 0; … … 1435 1432 1436 1433 case '3': 1437 1434 if ( !check_admin_referer( 'groups_step3_save' ) ) 1435 return false; 1436 1437 if ( isset( $_POST['skip'] ) ) 1438 return $group_obj->id; 1439 1438 1440 // Image already cropped and uploaded, lets store a reference in the DB. 1439 1441 if ( !wp_verify_nonce($_POST['nonce'], 'slick_avatars') || !$result = bp_core_avatar_cropstore( $_POST['orig'], $_POST['canvas'], $_POST['v1_x1'], $_POST['v1_y1'], $_POST['v1_w'], $_POST['v1_h'], $_POST['v2_x1'], $_POST['v2_y1'], $_POST['v2_w'], $_POST['v2_h'], false, 'groupavatar', $group_obj->id ) ) … … 1455 1457 1456 1458 case '4': 1457 $send_invites = groups_send_invites($group_obj); 1459 if ( !check_admin_referer( 'groups_step4_save' ) ) 1460 return false; 1461 1462 groups_send_invites( $group_obj, true ); 1458 1463 1459 1464 do_action( 'groups_created_group', $group_obj->id ); … … 1529 1534 function groups_new_group_forum_post( $post_text, $topic_id ) { 1530 1535 global $group_obj; 1536 1537 /* Check the nonce */ 1538 if ( !check_admin_referer( 'bp_forums_new_reply' ) ) 1539 return false; 1531 1540 1532 1541 if ( $forum_post = bp_forums_new_post( $post_text, $topic_id ) ) { … … 1547 1556 function groups_new_group_forum_topic( $topic_title, $topic_text, $topic_tags, $forum_id ) { 1548 1557 global $group_obj; 1558 1559 /* Check the nonce */ 1560 if ( !check_admin_referer( 'bp_forums_new_topic' ) ) 1561 return false; 1549 1562 1550 1563 if ( $topic = bp_forums_new_topic( $topic_title, $topic_text, $topic_tags, $forum_id ) ) { … … 1565 1578 function groups_invite_user( $user_id, $group_id ) { 1566 1579 global $bp; 1580 1581 /* Check the nonce */ 1582 if ( !check_admin_referer( 'groups_invite_uninvite_user' ) ) 1583 return false; 1567 1584 1568 1585 if ( groups_is_user_member( $user_id, $group_id ) ) … … 1584 1601 } 1585 1602 1586 function groups_uninvite_user( $user_id, $group_id ) { 1587 global $bp; 1588 1603 function groups_uninvite_user( $user_id, $group_id, $skip_check = false ) { 1604 global $bp; 1605 1606 /* Because this is called on groups_leave_group() and a nonce has already been 1607 * checked, we need a way of overriding a double check. 1608 */ 1609 if ( !$skip_check ) { 1610 if ( !check_admin_referer( 'groups_invite_uninvite_user' ) ) 1611 return false; 1612 } 1613 1589 1614 if ( !BP_Groups_Member::delete( $user_id, $group_id ) ) 1590 1615 return false; … … 1597 1622 function groups_accept_invite( $user_id, $group_id ) { 1598 1623 global $group_obj; 1624 1625 /* Check the nonce */ 1626 if ( !check_admin_referer( 'groups_accept_invite' ) ) 1627 return false; 1599 1628 1600 1629 if ( groups_is_user_member( $user_id, $group_id ) ) … … 1639 1668 } 1640 1669 1641 function groups_send_invites( $group_obj ) { 1642 global $bp; 1643 1670 function groups_send_invites( $group_obj, $skip_check = false ) { 1671 global $bp; 1672 1673 if ( !$skip_check ) { 1674 if ( !check_admin_referer( 'groups_send_invites' ) ) 1675 return false; 1676 } 1677 1644 1678 // Send friend invites. 1645 1679 $invited_users = groups_get_invites_for_group( $bp->loggedin_user->id, $group_obj->id ); 1646 1680 1647 1681 for ( $i = 0; $i < count( $invited_users ); $i++ ) { 1648 1682 $member = new BP_Groups_Member( $invited_users[$i], $group_obj->id ); … … 1650 1684 $member->save(); 1651 1685 } 1652 1686 1653 1687 groups_notification_group_invites( $group_obj->id, $invited_users, $bp->loggedin_user->id ); 1654 1688 … … 1663 1697 global $bp; 1664 1698 1699 /* Check the nonce */ 1700 if ( !check_admin_referer( 'groups_leave_group' ) ) 1701 return false; 1702 1665 1703 if ( !$user_id ) 1666 1704 $user_id = $bp->loggedin_user->id; … … 1671 1709 1672 1710 // This is exactly the same as deleting and invite, just is_confirmed = 1 NOT 0. 1673 if ( !groups_uninvite_user( $user_id, $group_id ) )1711 if ( !groups_uninvite_user( $user_id, $group_id, true ) ) 1674 1712 return false; 1675 1713 … … 1685 1723 global $bp; 1686 1724 1725 /* Check the nonce */ 1726 if ( !check_admin_referer( 'groups_join_group' ) ) 1727 return false; 1728 1687 1729 if ( !$user_id ) 1688 1730 $user_id = $bp->loggedin_user->id; … … 1734 1776 function groups_new_wire_post( $group_id, $content ) { 1735 1777 global $group_obj; 1736 1778 1779 /* Check the nonce first. */ 1780 if ( !check_admin_referer( 'bp_wire_post' ) ) 1781 return false; 1782 1737 1783 $private = false; 1738 1784 if ( $group_obj->status != 'public' ) … … 1751 1797 global $bp; 1752 1798 1799 /* Check the nonce first. */ 1800 if ( !check_admin_referer( 'bp_wire_delete_link' ) ) 1801 return false; 1802 1753 1803 if ( bp_wire_delete_post( $wire_post_id, 'groups', $table_name ) ) { 1754 1804 do_action( 'groups_deleted_wire_post', $wire_post_id ); … … 1762 1812 global $bp; 1763 1813 1814 /* Check the nonce first. */ 1815 if ( !check_admin_referer( 'groups_edit_group_details' ) ) 1816 return false; 1817 1764 1818 if ( empty( $group_name ) || empty( $group_desc ) ) 1765 1819 return false; 1766 1820 1767 1821 $group = new BP_Groups_Group( $group_id, false, false ); 1768 1822 $group->name = $group_name; … … 1783 1837 function groups_edit_group_settings( $group_id, $enable_wire, $enable_forum, $enable_photos, $photos_admin_only, $status ) { 1784 1838 global $bp; 1839 1840 /* Check the nonce first. */ 1841 if ( !check_admin_referer( 'groups_edit_group_settings' ) ) 1842 return false; 1785 1843 1786 1844 $group = new BP_Groups_Group( $group_id, false, false ); … … 1808 1866 function groups_promote_member( $user_id, $group_id ) { 1809 1867 global $bp; 1868 1869 /* Check the nonce first. */ 1870 if ( !check_admin_referer( 'groups_promote_member' ) ) 1871 return false; 1810 1872 1811 1873 if ( !$bp->is_item_admin ) … … 1821 1883 function groups_demote_member( $user_id, $group_id ) { 1822 1884 global $bp; 1885 1886 /* Check the nonce first. */ 1887 if ( !check_admin_referer( 'groups_demote_member' ) ) 1888 return false; 1823 1889 1824 1890 if ( !$bp->is_item_admin ) … … 1834 1900 function groups_ban_member( $user_id, $group_id ) { 1835 1901 global $bp; 1902 1903 /* Check the nonce first. */ 1904 if ( !check_admin_referer( 'groups_ban_member' ) ) 1905 return false; 1836 1906 1837 1907 if ( !$bp->is_item_admin ) … … 1847 1917 function groups_unban_member( $user_id, $group_id ) { 1848 1918 global $bp; 1919 1920 /* Check the nonce first. */ 1921 if ( !check_admin_referer( 'groups_unban_member' ) ) 1922 return false; 1849 1923 1850 1924 if ( !$bp->is_item_admin ) … … 1860 1934 function groups_send_membership_request( $requesting_user_id, $group_id ) { 1861 1935 global $bp; 1936 1937 /* Check the nonce first. */ 1938 if ( !check_admin_referer( 'groups_send_membership_request' ) ) 1939 return false; 1862 1940 1863 1941 $requesting_user = new BP_Groups_Member; … … 1888 1966 1889 1967 function groups_accept_membership_request( $membership_id ) { 1968 1969 /* Check the nonce first. */ 1970 if ( !check_admin_referer( 'groups_accept_membership_request' ) ) 1971 return false; 1972 1890 1973 $membership = new BP_Groups_Member( false, false, $membership_id ); 1891 1974 $membership->accept_request(); … … 1909 1992 1910 1993 function groups_reject_membership_request( $membership_id ) { 1994 1995 /* Check the nonce first. */ 1996 if ( !check_admin_referer( 'groups_reject_membership_request' ) ) 1997 return false; 1998 1911 1999 $membership = new BP_Groups_Member( false, false, $membership_id ); 1912 2000 … … 1935 2023 function groups_delete_group( $group_id ) { 1936 2024 global $bp; 2025 2026 /* Check the nonce first. */ 2027 if ( !check_admin_referer( 'groups_delete_group' ) ) 2028 return false; 1937 2029 1938 2030 // Check the user is the group admin.
Note: See TracChangeset
for help on using the changeset viewer.