Plugin Directory

Changeset 1794199


Ignore:
Timestamp:
12/29/2017 02:03:20 PM (8 years ago)
Author:
aiyaz
Message:

Updated plugin with v2.0.0 changes

  • Added autocomplete on user selection list
  • Added notification after sending a gift.
  • Added ajax while sending a gift.
  • Added success/error notice after sending a gift.
  • Changes in send and received gift page design to make it compatible with all themes.
  • Added language translation support.
  • Removed extra js and css code.
Location:
gift-buddypress-addons/trunk
Files:
8 added
7 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • gift-buddypress-addons/trunk/buddypress-gift-addon.php

    r1432065 r1794199  
    11<?php
    22/**
    3  * The plugin bootstrap file
    4  *
    5  * This file is read by WordPress to generate the plugin information in the plugin
    6  * admin area. This file also includes all of the dependencies used by the plugin,
    7  * registers the activation and deactivation functions, and defines a function
    8  * that starts the plugin.
    9  *
    10  * @link              http://resumedirectory.in
    11  * @since             1.1.0
    12  * @package           Gift_Buddypress
    13  *
    14  * @wordpress-plugin
    153 * Plugin Name:       Gift Buddypress Addons
    164 * Plugin URI:        http://wordpress.org
    175 * Description:       Gift Buddypress Addons provide gift management functionality with Buddypress plugin.
    18  * Version:           1.1.0
     6 * Version:           2.0.0
    197 * Author:            aiyaz
    20  * Author URI:        http://resumedirectory.in
     8 * Author URI:        http://imaiyaz.com
    219 * License:           GPL-2.0+
    2210 * License URI:       http://www.gnu.org/licenses/gpl-2.0.txt
    23  * Text Domain:       gift-buddypress
     11 * Text Domain:       gift-buddypress-addons
    2412 */
    2513if (!class_exists('Gift_Buddypress_Template')) {
     
    3725            ));
    3826            add_action('wp_enqueue_scripts', array( $this, 'bga_enqueue_styles'), 10);
    39         }
     27            add_action( 'wp_ajax_bga_autocomplete_results', array( &$this, 'bga_autocomplete_results' ) );
     28            add_action( 'wp_ajax_nopriv_bga_autocomplete_results', array( &$this, 'bga_autocomplete_results' ) );
     29            add_filter( 'bp_notifications_get_registered_components', array( &$this,'bga_filter_notifications_get_registered_components') );
     30            add_filter( 'bp_notifications_get_notifications_for_user', array( &$this,'bga_format_buddypress_notifications'), 10, 5 );
     31            add_action( 'bp_activity_sent_gift', array(&$this,'bga_custom_add_notification'), 99, 1 );
     32            add_action( 'wp_ajax_bga_send_gift_ajax_callback', array( &$this, 'bga_send_gift_ajax_callback' ) );
     33            add_action( 'wp_ajax_nopriv_bga_send_gift_ajax_callback', array( &$this, 'bga_send_gift_ajax_callback' ) );
     34            add_action( 'plugins_loaded', array( &$this, 'bga_load_textdomain' ));
     35        }
    4036       
    4137        public static function bga_activate()
    4238        {
    43             // activation code here //
    44         }
     39            global $wpdb;
     40            $gifts_table_name = $wpdb->prefix . 'bp_gift_addons_meta';
     41           
     42            // create the gifts meta database table
     43            if($wpdb->get_var("show tables like '$gifts_table_name'") != $gifts_table_name)
     44            {
     45                $sql = "CREATE TABLE $gifts_table_name (
     46                    id mediumint(9) NOT NULL AUTO_INCREMENT,
     47                    time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
     48                    message text NOT NULL,
     49                    sender mediumint(9) NOT NULL,
     50                    receiver mediumint(9) NOT NULL,
     51                    post_id mediumint(9) NOT NULL,
     52                    PRIMARY KEY  (id)
     53                );";
     54
     55            require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
     56            dbDelta( $sql );
     57            }
     58        }
    4559       
    4660        public function bga_enqueue_styles()
    4761        {
    48             wp_enqueue_style( 'base', plugins_url( '/css/base.css', __FILE__ ) , '', '', 'screen' );
    49             wp_enqueue_style( 'style', plugins_url( '/css/style.css', __FILE__ ) , '', '', 'screen' );
    50             wp_enqueue_script( 'modernizr-js', plugins_url( '/js/modernizr.js', __FILE__ ), array(), '', true );
    51             wp_enqueue_script( 'tab-js', plugins_url( '/js/tabs.js', __FILE__ ), array(), '', true );
     62            wp_enqueue_style(
     63                'bga-style',
     64                plugins_url( '/css/gift-bp-addons.css', __FILE__ ) ,
     65                '',
     66                '',
     67                ''
     68            );
     69            wp_enqueue_script(
     70                'jquery-auto-complete',
     71                plugins_url( '/js/jquery.auto-complete.js', __FILE__ ) ,
     72                array( 'jquery' ),
     73                '1.0.7',
     74                true
     75            );
     76            wp_enqueue_script(
     77                'bgamain',
     78                plugins_url( '/js/gift-bp-addons.js', __FILE__ ),
     79                array( 'jquery' ),
     80                '1.0.0',
     81                true
     82            );
     83            wp_localize_script(
     84                'bgamain',
     85                'bgamain',
     86                array(
     87                    'ajax_url' => admin_url( 'admin-ajax.php' ),
     88                    'ajax_nonce' => wp_create_nonce('bp_gift_nonce'),
     89                )
     90            );
     91           
    5292        }
    5393       
     
    71111                'default_subnav_slug' => 'send_gift',
    72112                'show_for_displayed_user' => false,
    73                 'name'  =>  sprintf( __( 'Gifts <span class="%s">%s</span>', 'lang-domain' ), esc_attr( $class ), number_format_i18n( $count ) ),
     113                'name'  =>  sprintf( __( 'Gifts <span class="%s">%s</span>', 'gift-buddypress-addons' ), esc_attr( $class ), number_format_i18n( $count ) ),
    74114                'slug' => 'gifts',
    75115                'screen_function' => array(
     
    80120            ));
    81121            bp_core_new_subnav_item(array(
    82                 'name' => 'Send Gift',
     122                'name' => __('Send Gift', 'gift-buddypress-addons'),
    83123                'slug' => 'send_gift',
    84124                'show_for_displayed_user' => false,
    85125                'parent_url' => bp_loggedin_user_domain() . '/gifts/',
    86                 'parent_slug' => $bp->bp_nav['gifts']['slug'],
     126                'parent_slug' => 'gifts',
    87127                'position' => 10,
    88128                'screen_function' => array(
     
    92132            ));
    93133            bp_core_new_subnav_item(array(
    94                 'name' => 'Received Gift',
     134                'name' => __('Received Gift', 'gift-buddypress-addons'),
    95135                'slug' => 'received_gift',
    96136                'parent_url' => bp_loggedin_user_domain() . '/gifts/',
    97                 'parent_slug' => $bp->bp_nav['gifts']['slug'],
     137                'parent_slug' => 'gifts',
    98138                'position' => 10,
    99139                'screen_function' => array(
     
    172212                if ( $the_query->have_posts() ) {
    173213                   
    174                     echo '<li class="'.$activeClass.'">';
     214                    echo '<div class="giftbox-container '.$activeClass.'">';
    175215                    while ( $the_query->have_posts() ) {
    176216                       
    177                        
    178217                        $the_query->the_post();
    179                         echo '<div class="gift_col" id="'.get_the_ID().'">';
    180                         echo get_the_post_thumbnail( get_the_ID(), 'thumbnail' );
    181                         echo '<p>'.get_the_title().'</p>';
    182                         //echo get_the_excerpt();
    183                         echo '</div>';
     218                        echo '<div class="giftbox" id="'. get_the_ID() .'">';
     219                        echo get_the_post_thumbnail( get_the_ID(), 'medium' );
     220                        echo '<p>'. get_the_title() .'</p>';
     221                        echo'</div>';
    184222                    }
    185                     echo '</li>';
    186                 }
     223                    echo '</div>';
     224                    }
    187225                else
    188226                {
    189                     echo '<p> Gift not available! </p>';
     227                    echo '<p>'. __('Gift not available!', 'gift-buddypress-addons') .'</p>';
    190228                }
    191229            }
     
    196234        {
    197235            global $bp;
    198            
    199             if( isset( $_POST["submitgift"])&& !empty($_POST['post_id']) )
    200             {
    201                 //echo 'here';
    202                 //print_r($_POST); die;
    203                 $post_id = intval($_POST['post_id']);
    204                 $sender = $_POST['sender'];
    205                 $reciever = sanitize_text_field( $_POST['reciever'] );
    206                 $sender_msg = sanitize_text_field( $_POST['sender_msg'] );
    207                 //$allpoints = $_POST['points'];
    208                 //$points = $allpoints[$post_id];
    209                 //echo $points; die;
    210                 update_post_meta( $post_id, 'sender_id', $sender );
    211                 update_post_meta( $post_id, 'reciever_id', $reciever );
    212                 update_post_meta( $post_id, 'sender_msg', $sender_msg );
    213                 //$userid = get_current_user_id();
    214                 //bp_core_add_notification('100', (int)$bp->loggedin_user->id, 'activity', 'activity_viewed');
    215                 //bp_core_add_notification( '100', 1, 'logbooks', 'new_dive' );
    216                 if (function_exists('mycred_add')) {
    217                     mycred_add( 'birthday_present', $sender, $points, 'Sent Gift %plural%!', date( 'y' ) );
    218                     header('Location: '.$_SERVER['REQUEST_URI']);
    219                 }
    220                
    221                 $args = array(
    222                         'user_id' => $reciever,
    223                         'item_id' => '',
    224                         'secondary_item_id' => '',
    225                         'component_name' => 'gifts',
    226                         'component_action' => 'send_gifts',
    227                         'date_notified' => bp_core_current_time(),
    228                         'is_new' => 1, );
    229                 if( bp_is_active( 'notifications' ) ):     
    230                     if ( !function_exists( 'bp_notifications_add_notification' ) ) {
    231                         require_once  ABSPATH . '/wp-content/plugins/buddypress/bp-notifications/bp-notifications-functions.php';
    232                     }
    233                     $notification_id = bp_notifications_add_notification( $args );
    234                 endif;
    235                
    236             }
    237            
    238            
    239            
     236            echo '<div class="gba-outer-container">';           
    240237            echo '<form name="SendGiftForm" id="SendGiftForm" method="POST" action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '" >';
    241238            $this->bga_show_gift();
    242239            echo '<input type="hidden" name="sender" value="'.$bp->loggedin_user->id.'">';
    243             echo '<p><textarea name="sender_msg" id="sender_msg" placeholder="Type your greeting message!"></textarea></p>';
    244             echo "<p>";
    245             /******* all User List ************/
    246             if ( bp_has_members(bp_ajax_querystring( 'members' )) )
     240            echo '<textarea name="sender_msg" id="sender_msg" placeholder="'. __('Type your greeting message', 'gift-buddypress-addons') .'"></textarea>';
     241            echo '<input type="text" name="gift-receiver" id="gift-receiver" class="form-control users-autocomplete" placeholder="'. __('Type recipient name', 'gift-buddypress-addons') .'" value="" required />';
     242            echo '<input type="hidden" name="post_id" id="post_id" value="">';
     243            echo '<input type="hidden" name="receiver_id" id="receiver_id" value="">';
     244            echo '<button name="send" id="bga-send-now">Send</button>';
     245            echo '</form>';
     246            echo '</div>';
     247        }
     248
     249        public function bga_send_gift_ajax_callback(){
     250           
     251            check_ajax_referer( 'bp_gift_nonce', 'security' );
     252            if( isset( $_POST['form_data'] )&& !empty( $_POST['form_data'] ) )
    247253            {
    248                 echo '<select name="reciever" required>';
    249                 echo '<option value="">Select Gift Recipient</option>';
    250                 while ( bp_members() ) : bp_the_member();
    251                 if( bp_get_member_user_id() !=  bp_loggedin_user_id() )
    252                 {
    253                     echo "<option value='".bp_get_member_user_id()."'> ";
    254                     echo bp_member_name();
    255                     echo '</option>';
    256                 }
    257                 endwhile;
    258                 echo '</select>';
    259             }
    260             echo '</p><input type="hidden" name="post_id" id="post_id" value="">';
    261             echo '<p><input type="submit" name="submitgift" value="Send Gift" class="form_submit"></p>';
    262             echo '</form>';
    263         }
    264        
     254                $params = array();
     255                parse_str($_POST['form_data'], $params);
     256                $gift_details = array();
     257                $gift_details['message'] = isset($params['sender_msg'] ) ? sanitize_text_field( $params['sender_msg'] ): "";
     258                $gift_details['time'] = date('Y-m-d H:i:s');
     259                $gift_details['sender'] = isset($params['sender']) ? sanitize_text_field( $params['sender'] ) : "";
     260                $gift_details['receiver'] = isset($params['receiver_id']) ? sanitize_text_field( $params['receiver_id'] ) : "";
     261                $gift_details['post_id'] = isset($params['post_id']) ? intval($params['post_id']) : "";
     262                $gift_details['gift_id'] = $this->bga_update_gifts_meta($gift_details);
     263
     264                /* if (function_exists('mycred_add')) {
     265                    mycred_add( 'birthday_present', $sender, $points, 'Sent Gift %plural%!', date( 'y' ) );
     266                    header('Location: '.$_SERVER['REQUEST_URI']);
     267                }*/
     268                do_action('bp_activity_sent_gift', $gift_details);
     269                echo $gift_details['gift_id'];
     270            }
     271            wp_die();
     272        }
     273
     274        // display received gift
    265275        public function bga_received_gifts_content()
    266276        {
    267             $args1 = array (
    268                 'post_type'              => 'gift-post',
    269                 'post_status'            => 'publish',
    270                 'order'                  => 'DESC',
    271                 'orderby'                => 'date',
    272                 'meta_query'             => array(
    273                     array(
    274                         'key'       => 'reciever_id',
    275                         'value'     => bp_loggedin_user_id(),
    276                         'compare'   => '=',
    277                     ),
    278                 ),
    279             );
    280 
    281             $the_query = new WP_Query( $args1 );
    282             $html_content = '<div class="gift-container">';
    283 
    284             if ( $the_query->have_posts() ) {
    285                 $html_content .= '<ul class="received_gifts">';
    286                 while ( $the_query->have_posts() ) {
    287                     $the_query->the_post();
    288                     $username = bp_core_get_username(get_post_meta(get_the_ID(), 'sender_id',true));
    289                     $html_content .= '<li class="gift-content">';
    290                     $html_content .= '<div class ="gift-thumb">'. get_the_post_thumbnail( get_the_ID(), 'thumbnail' ).'</div>';
    291                     $html_content .= '<div class ="gift-details"><span class="gift-title"><strong>'.get_the_title().'</strong></span>';
    292                     $html_content .= '<span class="gift-msg"><blockquote>'. get_post_meta(get_the_ID(), 'sender_msg',true).'</blockquote></span>';
    293                     $html_content .= '<span class="gift-by"><i>Sent by : </i>'.bp_core_get_userlink( get_post_meta(get_the_ID(), 'sender_id',true) ) .'</span></div></li>';
    294                 }
    295                 $html_content .= '</ul>';
    296            
    297             } else {
    298                 $html_content .= '<p>No Gift Available</p>';
     277            global $wpdb;
     278            $gifts_table_name = $wpdb->prefix . 'bp_gift_addons_meta';
     279            $user_id = bp_loggedin_user_id();
     280            //show latest 12 received gifts
     281            $gift_details = $wpdb->get_results($wpdb->prepare( "SELECT * FROM {$gifts_table_name} WHERE  receiver = %d ORDER BY time DESC LIMIT 12", $user_id), ARRAY_A);
     282
     283            $html_content = '<div class="gba-outer-container">';
     284
     285            if ( !empty($gift_details ) ) {
     286                $html_content .= '<div class="received-giftbox-container">';
     287                foreach ( $gift_details as $gift  ) {
     288                    $sent_by = bp_core_get_userlink($gift['sender']);
     289                    $html_content .= '<div class="giftbox" id="'. get_the_ID() .'">';
     290                    $html_content .= get_the_post_thumbnail( $gift['post_id'], 'medium' );
     291                    $html_content .= '<p>'.get_the_title($gift['post_id']).'</p>';
     292                    $html_content .= '<p class="giftbox-msg">'. $gift['message'] .' - Sent by <span>' . $sent_by . '<span></p>';
     293                    $html_content .=  '<p class="giftbox-date">'.$this->bga_time_elapsed_string($gift['time']).'</p>';
     294                    $html_content .= '</div>';
     295                }
     296                $html_content .= '</div>';
     297            }
     298            else {
     299                $html_content .= '<p>'. __('You have not received any gift!', 'gift-buddypress-addons') .'</p>';
    299300            }
    300301            $html_content .= '</div>';
     302           
    301303            echo $html_content;
    302304            wp_reset_postdata();           
    303305        }
     306       
     307        // user list for auto complete text field
     308        function bga_autocomplete_results() {
     309           
     310            $bpress_users = array();
     311            check_ajax_referer( 'bp_gift_nonce', 'security' );
     312            /******* all User List ************/
     313            if(!empty($_POST['search']))
     314            {   
     315                if ( bp_has_members('search_terms='.$_POST['search'] ) )
     316                {
     317                    while ( bp_members() ) : bp_the_member();
     318                        if( bp_get_member_user_id() !=  bp_loggedin_user_id() )
     319                        {
     320                            $bpress_users[] = array('id' => bp_get_member_user_id(), 'avtar'=> bp_get_member_avatar(), 'name'=> bp_get_member_name());
     321                        }
     322                    endwhile;
     323                }
     324            }
     325            wp_send_json_success( $bpress_users );
     326        }
     327       
     328        // get gift meta details
     329        function bga_get_gifts_meta( $gift_id = "" ){
     330
     331            global $wpdb;
     332            $gifts_table_name = $wpdb->prefix . 'bp_gift_addons_meta';
     333            if(!empty($gift_id)) { 
     334                $gifts = $wpdb->get_row("SELECT * FROM $gifts_table_name WHERE id = $gift_id;", ARRAY_A);
     335            }else{
     336                $gifts = $wpdb->get_results("SELECT * FROM $gifts_table_name;", ARRAY_A);
     337            }   
     338
     339            return $gifts;
     340        }
     341       
     342        // update gift meta details
     343        function bga_update_gifts_meta( $gift_details = array() ){
     344
     345            global $wpdb;
     346            $gifts_table_name = $wpdb->prefix . 'bp_gift_addons_meta';
     347            $wpdb->insert(
     348                $gifts_table_name,
     349                $gift_details
     350            );
     351           
     352            $lastid = $wpdb->insert_id;
     353            return $lastid;
     354        }
     355       
     356        // received gift notification
     357       
     358        function bga_filter_notifications_get_registered_components( $component_names = array() ) {
     359            // Force $component_names to be an array
     360            if ( ! is_array( $component_names ) ) {
     361                $component_names = array();
     362            }
     363            // Add 'bp-gift-addon' component to registered components array
     364            array_push( $component_names, 'bp-gift-addon' );
     365            // Return component's with 'bp-gift-addon' appended
     366            return $component_names;
     367        }
     368
     369        // this gets the saved item id, compiles some data and then displays the notification
     370        function bga_format_buddypress_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
     371            // New gift_sent notifications
     372            if ( 'gift_sent' === $action ) {
     373               
     374                $notification_detail = $this->bga_get_gifts_meta($item_id); 
     375                $sent_by = bp_core_get_userlink($notification_detail['sender']);
     376                $note_title = __('A new gift received', 'gift-buddypress-addons');
     377                $note_link  = bp_core_get_userlink( $notification_detail['receiver'], false, true ).'gifts/received_gift/';
     378                $note_text = $notification_detail['message'];
     379               
     380                // WordPress Toolbar
     381                if ( 'string' === $format ) {
     382                    $return = apply_filters( 'custom_filter', '<a href="' . esc_url( $note_link ) . '" title="' . esc_attr( $note_title ) . '">' . esc_html( $note_title ) . '</a> '. __('from', 'gift-buddypress-addons') .' '. $sent_by, $note_text, $note_link );
     383                // Deprecated BuddyBar
     384                } else {
     385                    $return = apply_filters( 'custom_filter', array(
     386                        'text' => $note_text,
     387                        'link' => $note_link
     388                    ), $note_link, (int) $total_items, $note_text, $note_title );
     389                }
     390                return $return;
     391            }
     392        }
     393
     394        function bga_custom_add_notification( $gift_object ) {
     395            $gift_details['message'] = sanitize_text_field( $_POST['sender_msg'] );
     396            $gift_details['time'] = date('Y-m-d H:i:s');
     397            $gift_details['sender'] = sanitize_text_field( $_POST['sender'] );
     398            $gift_details['receiver'] = sanitize_text_field( $_POST['gift-receiver'] );
     399            $gift_details['post_id'] = intval($_POST['post_id']);
     400           
     401            bp_notifications_add_notification( array(
     402                'user_id'           => $gift_object['receiver'],
     403                'item_id'           => $gift_object['gift_id'],
     404                'secondary_item_id' => $gift_object['post_id'],
     405                'component_name'    => 'bp-gift-addon',
     406                'component_action'  => 'gift_sent',
     407                'date_notified'     => bp_core_current_time(),
     408                'is_new'            => 1,
     409            ) );
     410           
     411        }
     412
     413        // Change time format
     414        function bga_time_elapsed_string($datetime, $full = false) {
     415            $now = new DateTime;
     416            $ago = new DateTime($datetime);
     417            $diff = $now->diff($ago);
     418
     419            $diff->w = floor($diff->d / 7);
     420            $diff->d -= $diff->w * 7;
     421
     422            $string = array(
     423                'y' => 'year',
     424                'm' => 'month',
     425                'w' => 'week',
     426                'd' => 'day',
     427                'h' => 'hour',
     428                'i' => 'minute',
     429                's' => 'second',
     430            );
     431            foreach ($string as $k => &$v) {
     432                if ($diff->$k) {
     433                    $v = $diff->$k . ' ' . $v . ($diff->$k > 1 ? 's' : '');
     434                } else {
     435                    unset($string[$k]);
     436                }
     437            }
     438
     439            if (!$full) $string = array_slice($string, 0, 1);
     440            return $string ? implode(', ', $string) . ' ago' : 'just now';
     441        }
     442
     443        /**
     444         * Load plugin textdomain.
     445         */
     446        function bga_load_textdomain() {
     447          load_plugin_textdomain( 'gift-buddypress-addons', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
     448        }
    304449    }
    305450}
    306 
    307451   
    308452require_once(plugin_dir_path( __FILE__ ).'functions.php' );
  • gift-buddypress-addons/trunk/functions.php

    r1431399 r1794199  
    99            add_action('init', array(&$this, 'bga_create_gift_taxonomies'));
    1010            add_action('init', array(&$this, 'bga_register_new_terms'));
    11         }
     11        }
    1212       
    1313        public function bga_create_post_type()
  • gift-buddypress-addons/trunk/readme.txt

    r1431399 r1794199  
    11=== Gift Buddypress Addons ===
    22Contributors: aiyaz
    3 Donate link: http://resumedirectory.in
    4 Tags: Buddypress, Gifts, Gift, Buddypress-Gifts, Buddypress, Simple gift, gift message, message, Addons, buddypress-gift, Gift management, Send Gifts, Recieve Gifts, Point, Gift points
    5 Requires at least: 3.0.1
    6 Tested up to: 4.3.1
    7 Stable tag: 4.3
     3Donate link: http://imaiyaz.com
     4Tags: BuddyPress, Gifts, Gift, Buddypress-Gifts, BuddyPress, Simple gift, gift message, message, Add-ons, buddypress-gift, Gift management, Send Gifts, Recieve Gifts, Point, Gift points
     5Requires at least: 4.3.1
     6Tested up to: 4.9.1
     7Stable tag: 2.0.0
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
    1010
    11 Gift Buddypress Addons provide gift management functionality with buddypress plugin.
     11Gift Buddypress Add-ons provide gift management functionality with BuddyPress plugin.
    1212
    1313== Description ==
    1414
    15 Gift Buddypress Addons provide gift management functionality with buddypress plugin with following features.
     15This plugin gives BuddyPress members to send virtual gifts.
    1616
    17 1. Admin can Add/Edit/Delete gifts and can manage gift category
    18 2. Buddypress user can send or receive gift from profile page.
     17* Admin can add/edit/delete gifts list.
     18* BuddyPress Member can choose a gift from the gift box and send a gift along with a message to the selected recipient.
     19* BuddyPress Recipient can view the received gifts and messages.
    1920
     21== Upgrade Notice ==
     22
     23* changed database structure so you might lose your existing gift history
     24* deactivate and reactivate plugin after upgrade.
    2025
    2126== Installation ==
    2227
    23 how to install the plugin and get it working.
     28How to install the plugin and get it working.
    2429
    2530e.g.
     
    27321. Upload plugin to the `/wp-content/plugins/` directory
    28332. Activate the plugin through the 'Plugins' menu in WordPress
    29 3. Add new gifts  from WordPress admin and user will be able to see gift tab on profile.
     343. Add new gifts from WordPress admin and user will be able to see gifts tab on the member profile page.
    3035
    3136== Frequently Asked Questions ==
    3237
    33 = Do you have any Question =
     38Do you have questions or issues with this plugin? Use this support channels appropriately.
    3439
    35 1. How to use plugin?
    36 Ans. Add atleast 1 gift from WordPress admin, then your website should have atleast 1 user except admin.
     401. [Support Forum](https://wordpress.org/support/plugin/gift-buddypress-addons/)
    3741
    3842== Screenshots ==
    3943
    40 1. Screen for send gifts where user will be able to view all gifts.
    41 2. Wordpress admin side gift management screen.
    42 3. Screen for recieved gifts.
     441. Display all available gifts and form to send a gift.
     452. WordPress admin side add/edit gift.
     463. Display all received gifts.
    4347
    4448== Changelog ==
    4549
     50= 2.0.0 =
     51* Added autocomplete on user selection list
     52* Added notification after sending a gift.
     53* Added ajax while sending a gift.
     54* Added success/error notice after sending a gift.
     55* Changes in send and received gift page design to make it compatible with all themes.
     56* Added language translation support.
     57* Removed extra js and css code.
     58
    4659= 1.2.0  =
    47 
    4860* Fixed JQuery conflict issue with other plugins.
    4961* Fixed all the reported bugs.
     
    5567* Changed GUI of gifts.
    5668* Added Gift Categories.
    57 * Added Message along with gift.
    58 * Removed mycred point system to make proces simple.
     69* Added Message along with a gift.
     70* Removed mycred point system to make process simple.
    5971
    6072= 1.0 =
    61 * A change since the previous version.
     73* A change from the previous version.
    6274* Another change.
    6375
    6476= 1.0  =
    65 This version is basic release.
    66 
    67 
     77This version is basic release.
Note: See TracChangeset for help on using the changeset viewer.