WordPress.org

Plugin Directory


Ignore:
Timestamp:
07/16/17 13:22:28 (6 months ago)
Author:
likebtn
Message:

Update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • likebtn-like-button/tags/2.3.4/likebtn_like_button.php

    r1695793 r1697007  
    37963796add_shortcode('likebtn_liked_by_user', 'likebtn_liked_by_user_widget_shortcode'); 
    37973797 
     3798// number of votes of the user 
     3799function likebtn_user_votes_shortcode($args) { 
     3800 
     3801    global $wpdb; 
     3802 
     3803    if (!empty($args['user_id'])) { 
     3804        $user_id = $args['user_id']; 
     3805    } else { 
     3806        $user_id = get_current_user_id(); 
     3807    } 
     3808 
     3809    if (!empty($args['type'])) { 
     3810        if ($args['type'] == 'dislikes') { 
     3811            $type = LIKEBTN_VOTE_DISLIKE; 
     3812        } elseif ($args['type'] == 'total') { 
     3813            $type = ''; 
     3814        } else { 
     3815            $type = LIKEBTN_VOTE_LIKE; 
     3816        } 
     3817    } else { 
     3818        $type = LIKEBTN_VOTE_LIKE; 
     3819    } 
     3820 
     3821    $query_parameters = array( 
     3822        'user_id' => $user_id, 
     3823        'type'    => $type, 
     3824    ); 
     3825    $query = " 
     3826        SELECT count(*) 
     3827        FROM ".$wpdb->prefix . LIKEBTN_TABLE_VOTE." 
     3828        WHERE user_id = %d 
     3829    "; 
     3830 
     3831    if ($type) { 
     3832        $query .= " AND type = %d "; 
     3833    } 
     3834 
     3835    $query_prepared = $wpdb->prepare($query, $query_parameters); 
     3836    $votes_count = (int)$wpdb->get_var($query_prepared); 
     3837 
     3838    return $votes_count; 
     3839} 
     3840 
     3841add_shortcode('likebtn_user_votes', 'likebtn_user_votes_shortcode'); 
     3842 
    37983843// Likes shortcode 
    37993844function likebtn_shortcode_likes($args) { 
     
    50325077    $index = 1; 
    50335078    foreach ($likebtn_system_check as $addr) { 
    5034         $addr_result = json_decode($likebtn->curl($addr), true); 
    5035  
    5036         if (is_array($addr_result) && $addr_result['result'] == 'error' && !isset($addr_result['response'])) { 
    5037             $response['result'] = 'error'; 
    5038             $response['result_text'] .= ' '.$index.') '.strtr( 
    5039                 __('%addr% is not available from your server', LIKEBTN_I18N_DOMAIN),  
    5040                 array( 
    5041                     '%addr%' => $addr 
    5042                 ) 
    5043             ); 
    5044             if ($addr_result['message']) { 
    5045                 $response['result_text'] .= ': '.$addr_result['message']; 
     5079        $add_response = $likebtn->curl($addr); 
     5080        $addr_result = json_decode($add_response, true); 
     5081 
     5082        if (is_array($addr_result)) { 
     5083            if ($addr_result['result'] == 'error' && !isset($addr_result['response'])) { 
     5084                $response['result'] = 'error'; 
     5085                $response['result_text'] .= ' '.$index.') '.strtr( 
     5086                    __('%addr% is not available from your server', LIKEBTN_I18N_DOMAIN),  
     5087                    array( 
     5088                        '%addr%' => $addr 
     5089                    ) 
     5090                ); 
     5091                if ($addr_result['message']) { 
     5092                    $response['result_text'] .= ': '.$addr_result['message']; 
     5093                } 
     5094                //$response['result_text'] .= "<br/>"; 
     5095                $index++; 
    50465096            } 
    5047             //$response['result_text'] .= "<br/>"; 
    5048             $index++; 
     5097        } else { 
     5098            // Proxy error for example 
     5099            if (is_string($add_response) && strstr($add_response, '<html>')) { 
     5100                $response['result_html'] = $add_response; 
     5101                $response['result'] = 'error'; 
     5102                $response['result_text'] .= ' '.$index.') '.strtr( 
     5103                    __('%addr% is not available from your server', LIKEBTN_I18N_DOMAIN),  
     5104                    array( 
     5105                        '%addr%' => $addr 
     5106                    ) 
     5107                ); 
     5108            } 
    50495109        } 
    50505110    } 
     
    54415501 
    54425502add_action('wp_ajax_likebtn_export', 'likebtn_export_callback'); 
     5503 
     5504// Export statistics 
     5505function likebtn_export_votes_callback() { 
     5506     
     5507    global $wpdb; 
     5508 
     5509    list($query_prepared, $blogs, $votes_blog_id, $entity_name, $post_id, $user_id, $ip, $vote_type, $country) = likebtn_votes_query(); 
     5510    $votes = $wpdb->get_results($query_prepared); 
     5511 
     5512    $post_fields = $_POST['fields']; 
     5513    $fields = array(); 
     5514 
     5515    foreach ($post_fields as $key => $value) { 
     5516        switch ($value) { 
     5517            case 'user': 
     5518                $fields[] = __('User', LIKEBTN_I18N_DOMAIN); 
     5519                break; 
     5520            case 'ip': 
     5521                $fields[] = __('IP', LIKEBTN_I18N_DOMAIN); 
     5522                break; 
     5523            case 'country': 
     5524                $fields[] = __('Country', LIKEBTN_I18N_DOMAIN); 
     5525                break; 
     5526            case 'date': 
     5527                $fields[] = __('Date', LIKEBTN_I18N_DOMAIN); 
     5528                break; 
     5529            case 'type': 
     5530                $fields[] = __('Vote type', LIKEBTN_I18N_DOMAIN); 
     5531                break; 
     5532            case 'item': 
     5533                $fields[] = __('Item', LIKEBTN_I18N_DOMAIN); 
     5534                break; 
     5535        } 
     5536    } 
     5537 
     5538    $results = array(); 
     5539    foreach ($votes as $value) { 
     5540        $new_row = array(); 
     5541        if (in_array('user', $post_fields)) { 
     5542            $new_row[] = _likebtn_get_entity_title(LIKEBTN_ENTITY_USER, $value->user_id); 
     5543        } 
     5544        if (in_array('ip', $post_fields)) { 
     5545            $new_row[] = $value->ip; 
     5546        } 
     5547        if (in_array('country', $post_fields)) { 
     5548            $new_row[] = $value->country; 
     5549        } 
     5550        if (in_array('date', $post_fields)) { 
     5551            $new_row[] = date("Y.m.d H:i:s", strtotime($value->created_at)); 
     5552        } 
     5553        if (in_array('type', $post_fields)) { 
     5554            if ((int)$value->type == 1) { 
     5555                $entity_vote_type = 'like'; 
     5556            } else { 
     5557                $entity_vote_type = 'dislike'; 
     5558            } 
     5559            $new_row[] = $entity_vote_type; 
     5560        } 
     5561        if (in_array('item', $post_fields)) { 
     5562            if ($value->item_id) { 
     5563                $item_title = $value->identifier; 
     5564                //$item_url = $votes_item->url; 
     5565                $entity_type_name = __('Custom Item', LIKEBTN_I18N_DOMAIN); 
     5566            } else { 
     5567                $entity_info = _likebtn_parse_identifier($value->identifier); 
     5568                if ($entity_info['entity_name'] && $entity_info['entity_id']) { 
     5569                    $item_title = _likebtn_get_entity_title($entity_info['entity_name'], $entity_info['entity_id']); 
     5570                    $item_title = _likebtn_prepare_title($entity_info['entity_name'], $item_title); 
     5571                    //$item_url = _likebtn_get_entity_url($entity_info['entity_name'], $entity_info['entity_id'], '', $votes_blog_id); 
     5572                } 
     5573                $entity_type_name = _likebtn_get_entity_name_title($entity_info['entity_name']); 
     5574            } 
     5575 
     5576            $new_row[] = $item_title . ' — '.$entity_type_name; 
     5577        } 
     5578        $results[] = $new_row; 
     5579    } 
     5580 
     5581    $filename = 'likebtn_votes_'.date('Y-m-d').'.csv'; 
     5582    likebtn_to_csv($results, $filename, $fields, $_POST['encoding'], $_POST['separator']); 
     5583} 
     5584 
     5585add_action('wp_ajax_likebtn_export_votes', 'likebtn_export_votes_callback'); 
    54435586 
    54445587function likebtn_vgaph_callback() { 
     
    78618004        $prefix = "{$prefix_prepared}{$votes_blog_id}_"; 
    78628005        if (!$query_select) { 
    7863             $query_select = ' SQL_CALC_FOUND_ROWS v.id, v.identifier, v.type, v.user_id, v.ip, v.created_at, i.ID as item_id, i.url '; 
     8006            $query_select = ' SQL_CALC_FOUND_ROWS v.id, v.identifier, v.type, v.user_id, v.ip, v.created_at, v.country, i.ID as item_id, i.url '; 
    78648007        } 
    78658008        $query = _likebtn_get_votes_sql($prefix, $query_where, $query_orderby, $query_limit, $query_select, $query_join); 
     
    78738016            } 
    78748017            if (!$query_select) { 
    7875                 $blog_query_select = $blog->blog_id . ' as blog_id, v.id, v.identifier, v.type, v.user_id, v.ip, v.created_at, i.ID as item_id, i.url '; 
     8018                $blog_query_select = $blog->blog_id . ' as blog_id, v.id, v.identifier, v.type, v.user_id, v.ip, v.created_at, v.country, i.ID as item_id, i.url '; 
    78768019            } else { 
    78778020                $blog_query_select = $query_select; 
     
    78828025    } else { 
    78838026        if (!$query_select) { 
    7884             $query_select = ' SQL_CALC_FOUND_ROWS v.id, v.identifier, v.type, v.user_id, v.ip, v.created_at, i.ID as item_id, i.url '; 
     8027            $query_select = ' SQL_CALC_FOUND_ROWS v.id, v.identifier, v.type, v.user_id, v.ip, v.created_at, v.country, i.ID as item_id, i.url '; 
    78858028        } 
    78868029        $query = _likebtn_get_votes_sql($prefix_prepared, $query_where, $query_orderby, $query_limit, $query_select, $query_join); 
     
    79278070function likebtn_get_the_ID() 
    79288071{ 
    7929     if (class_exists('SitePress')) { 
     8072    if (likebtn_is_wpml_active()) { 
    79308073        // WPML is active 
    79318074        global $sitepress; 
     
    79378080} 
    79388081 
     8082// Is WPML active 
     8083function likebtn_is_wpml_active() 
     8084{ 
     8085    if (class_exists('SitePress')) { 
     8086        return true; 
     8087    } else { 
     8088        return false; 
     8089    } 
     8090} 
     8091 
     8092// Set votes for a post 
     8093function likebtn_set_post_votes($entity_id, $likes, $dislikes, $likes_minus_dislikes) 
     8094{ 
     8095    if ($likes != -1) { 
     8096        if (count(get_post_meta($entity_id, LIKEBTN_META_KEY_LIKES)) > 1) { 
     8097            delete_post_meta($entity_id, LIKEBTN_META_KEY_LIKES); 
     8098            add_post_meta($entity_id, LIKEBTN_META_KEY_LIKES, $likes, true); 
     8099        } else { 
     8100            update_post_meta($entity_id, LIKEBTN_META_KEY_LIKES, $likes); 
     8101        } 
     8102    } 
     8103    if ($dislikes != -1) { 
     8104        if (count(get_post_meta($entity_id, LIKEBTN_META_KEY_DISLIKES)) > 1) { 
     8105            delete_post_meta($entity_id, LIKEBTN_META_KEY_DISLIKES); 
     8106            add_post_meta($entity_id, LIKEBTN_META_KEY_DISLIKES, $dislikes, true); 
     8107        } else { 
     8108            update_post_meta($entity_id, LIKEBTN_META_KEY_DISLIKES, $dislikes); 
     8109        } 
     8110    } 
     8111    if ($likes_minus_dislikes !== null) { 
     8112        if (count(get_post_meta($entity_id, LIKEBTN_META_KEY_LIKES_MINUS_DISLIKES)) > 1) { 
     8113            delete_post_meta($entity_id, LIKEBTN_META_KEY_LIKES_MINUS_DISLIKES); 
     8114            add_post_meta($entity_id, LIKEBTN_META_KEY_LIKES_MINUS_DISLIKES, $likes_minus_dislikes, true); 
     8115        } else { 
     8116            update_post_meta($entity_id, LIKEBTN_META_KEY_LIKES_MINUS_DISLIKES, $likes_minus_dislikes); 
     8117        } 
     8118    } 
     8119} 
     8120 
    79398121/** 
    79408122 * Buttons tab 
Note: See TracChangeset for help on using the changeset viewer.