Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Oct 6th, 2010  |  syntax: None  |  size: 2.39 KB  |  views: 101  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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' );