| 1 | <?php |
|---|
| 2 | |
|---|
| 3 | /** |
|---|
| 4 | * Very basic plugin. Uses mostly defaults, but it's still fully functionaly |
|---|
| 5 | * |
|---|
| 6 | * Note that settings_screen() and settings_screen_save() power the Create |
|---|
| 7 | * step, Edit panel (group > admin), and Dashboard panel |
|---|
| 8 | */ |
|---|
| 9 | class BPGE_Test_1 extends BP_Group_Extension { |
|---|
| 10 | function __construct() { |
|---|
| 11 | $args = array( |
|---|
| 12 | 'slug' => 'getest1', |
|---|
| 13 | 'name' => 'Group Extension Test 1', |
|---|
| 14 | ); |
|---|
| 15 | parent::init( $args ); |
|---|
| 16 | } |
|---|
| 17 | |
|---|
| 18 | function display() { |
|---|
| 19 | echo 'What a cool plugin!'; |
|---|
| 20 | } |
|---|
| 21 | |
|---|
| 22 | function settings_screen( $group_id ) { |
|---|
| 23 | $setting = groups_get_groupmeta( $group_id, 'getest1_setting' ); |
|---|
| 24 | |
|---|
| 25 | ?> |
|---|
| 26 | Save your plugin setting here: <input type="text" name="getest1_setting" value="<?php echo esc_attr( $setting ) ?>" /> |
|---|
| 27 | <?php |
|---|
| 28 | } |
|---|
| 29 | |
|---|
| 30 | function settings_screen_save( $group_id ) { |
|---|
| 31 | $setting = isset( $_POST['getest1_setting'] ) ? $_POST['getest1_setting'] : ''; |
|---|
| 32 | groups_update_groupmeta( $group_id, 'getest1_setting', $setting ); |
|---|
| 33 | } |
|---|
| 34 | |
|---|
| 35 | } |
|---|
| 36 | bp_register_group_extension( 'BPGE_Test_1' ); |
|---|
| 37 | |
|---|
| 38 | /** |
|---|
| 39 | * Some more customization |
|---|
| 40 | */ |
|---|
| 41 | class BPGE_Test_2 extends BP_Group_Extension { |
|---|
| 42 | function __construct() { |
|---|
| 43 | $args = array( |
|---|
| 44 | 'slug' => 'getest2', |
|---|
| 45 | 'name' => 'Group Extension Test 2', |
|---|
| 46 | 'nav_item_position' => 105, |
|---|
| 47 | 'screens' => array( |
|---|
| 48 | 'edit' => array( |
|---|
| 49 | 'name' => 'GE Test 2', |
|---|
| 50 | // Changes the text of the Submit button |
|---|
| 51 | // on the Edit page |
|---|
| 52 | 'submit_text' => 'Submit, suckaz', |
|---|
| 53 | ), |
|---|
| 54 | 'create' => array( |
|---|
| 55 | 'position' => 100, |
|---|
| 56 | ), |
|---|
| 57 | ), |
|---|
| 58 | ); |
|---|
| 59 | parent::init( $args ); |
|---|
| 60 | } |
|---|
| 61 | |
|---|
| 62 | function display() { |
|---|
| 63 | echo 'What a cool plugin!'; |
|---|
| 64 | } |
|---|
| 65 | |
|---|
| 66 | function settings_screen( $group_id ) { |
|---|
| 67 | $setting = groups_get_groupmeta( $group_id, 'getest2_setting' ); |
|---|
| 68 | |
|---|
| 69 | ?> |
|---|
| 70 | Save your plugin setting here: <input type="text" name="getest2_setting" value="<?php echo esc_attr( $setting ) ?>" /> |
|---|
| 71 | <?php |
|---|
| 72 | } |
|---|
| 73 | |
|---|
| 74 | function settings_screen_save( $group_id ) { |
|---|
| 75 | $setting = isset( $_POST['getest2_setting'] ) ? $_POST['getest2_setting'] : ''; |
|---|
| 76 | groups_update_groupmeta( $group_id, 'getest2_setting', $setting ); |
|---|
| 77 | } |
|---|
| 78 | |
|---|
| 79 | /** |
|---|
| 80 | * Let's say that this plugin's Create tab needs to look a bit different |
|---|
| 81 | */ |
|---|
| 82 | function create_screen( $group_id ) { |
|---|
| 83 | $setting = groups_get_groupmeta( $group_id, 'getest2_setting' ); |
|---|
| 84 | |
|---|
| 85 | ?> |
|---|
| 86 | Welcome to your new group! You are cool. |
|---|
| 87 | Save your plugin setting here: <input type="text" name="getest2_setting" value="<?php echo esc_attr( $setting ) ?>" /> |
|---|
| 88 | <?php |
|---|
| 89 | } |
|---|
| 90 | |
|---|
| 91 | } |
|---|
| 92 | bp_register_group_extension( 'BPGE_Test_2' ); |
|---|