1. class Google_Group_Extension extends BP_Group_Extension {
  2.  
  3. function google_group_extension() {
  4. $this->name = 'Map';
  5. $this->slug = 'map';
  6.  
  7. $this->create_step_position = 21;
  8. $this->nav_item_position = 31;
  9. }
  10.  
  11. function create_screen() {
  12. if ( !bp_is_group_creation_step( $this->slug ) )
  13. return false;
  14. ?>
  15.  
  16. <label for="group-map"><?php _e( 'GPS co-ordinates', 'ggmap' ) ?></label>
  17. <input type="text" name="group-map" id="group-map" value="" />
  18.  
  19. <?php
  20. wp_nonce_field( 'groups_create_save_' . $this->slug );
  21. }
  22.  
  23. function create_screen_save() {
  24. global $bp;
  25.  
  26. check_admin_referer( 'groups_create_save_' . $this->slug );
  27.  
  28. if($bp->groups->new_group_id)
  29. $id = $bp->groups->new_group_id;
  30. else
  31. $id = $group_id;
  32.  
  33. if ( $_POST['group-map'] )
  34. groups_update_groupmeta( $id, 'ggmap_group_map', $_POST['group-map'] );
  35. }
  36.  
  37. function edit_screen() {
  38. if ( !bp_is_group_admin_screen( $this->slug ) )
  39. return false; ?>
  40.  
  41. <h2><?php echo attribute_escape( $this->name ) ?></h2>
  42.  
  43. <label for="group-map"><?php _e( 'Edit current GPS co-ordinates', 'ggmap' ) ?></label>
  44. <input type="text" name="group-map" id="group-map" value="<?php echo ggmap_get_group_map() ?>" />
  45. <?php echo '<div class="ggmap-map">'. __('', 'ggmap').' '. ggmap_make_map_for_group().'</div>';?>
  46.  
  47. <p><input type="submit" value="<?php _e( 'Save Changes', 'buddypress' ) ?> &rarr;" id="save" name="save" /></p>
  48.  
  49. <?php
  50. wp_nonce_field( 'groups_edit_save_' . $this->slug );
  51. }
  52.  
  53. function edit_screen_save() {
  54. global $bp;
  55.  
  56. if ( !isset( $_POST['save'] ) )
  57. return false;
  58.  
  59. check_admin_referer( 'groups_edit_save_' . $this->slug );
  60.  
  61. if($bp->groups->new_group_id)
  62. $id = $bp->groups->new_group_id;
  63. else
  64. $id = $group_id;
  65.  
  66. if ( $_POST['group-map'] )
  67. groups_update_groupmeta( $id, 'ggmap_group_map', $_POST['group-map'] );
  68. if ( !$success )
  69. bp_core_add_message( __( 'There was an error saving, please try again', 'buddypress' ), 'error' );
  70. else
  71. bp_core_add_message( __( 'Settings saved successfully', 'buddypress' ) );
  72.  
  73. bp_core_redirect( bp_get_group_permalink( $bp->groups->current_group ) . '/admin/' . $this->slug );
  74. }
  75.  
  76.  
  77. function display() {
  78. global $bp;
  79. echo '<div class="ggmap-directions">'. __('', 'ggmap').' '. ggmap_make_directions_for_group().'</div>';
  80. echo '<div class="ggmap-map">'. __('', 'ggmap').' '. ggmap_make_map_for_group().'</div>';
  81. }
  82.  
  83.  
  84. }
  85. bp_register_group_extension( 'Google_Group_Extension' );