function evc_meta_box_buttons($custom)
{
    $options = evc_get_all_options(array('evc_widget_buttons'));
    if (isset($custom['evc_buttons_insert_mode'])) {
        $mode = $custom['evc_buttons_insert_mode'][0];
    } else {
        $mode = $options['evc_buttons_insert_mode'];
    }
    echo '<p>';
    echo '<b>Кнопки "Поделиться"</b>';
    echo '<br/><input type="radio" value="auto" id="evc-buttons-auto" name="evc_buttons_insert_mode"' . checked($mode, 'auto', false) . ' >
  <label class="selectit" for="evc-buttons-auto">Включить</label>';
    echo '<br/><input type="radio" value="manual" id="evc-buttons-manual" name="evc_buttons_insert_mode"' . checked($mode, 'manual', false) . ' >
  <label class="selectit" for="evc-buttons-manual">Отключить</label>';
    echo '<br/>Вы можете включить или отключить кнопки "Поделиться" для данной страницы.';
    echo '</p>';
}
function evc_poll_vk_polls_get_by_id($params = array())
{
    $options = evc_get_all_options(array('evc_vk_api_autopost'));
    if (!isset($options['access_token']) || empty($options['access_token'])) {
        return false;
    }
    $default = array('access_token' => $options['access_token'], 'v' => '5.21');
    $params = wp_parse_args($params, $default);
    $params = apply_filters('evc_poll_vk_polls_get_by_id', $params);
    //print__r($params);
    //return false;
    $query = http_build_query($params);
    // VK API REQUEST
    $data = wp_remote_post(EVC_API_URL . 'polls.getById?' . $query, array('sslverify' => false));
    if (is_wp_error($data)) {
        evc_add_log('evc_poll_vk_polls_get_by_id: WP ERROR. ' . $data->get_error_code() . ' ' . $data->get_error_message());
        return false;
    }
    $resp = json_decode($data['body'], true);
    if (isset($resp['error'])) {
        if (isset($resp['error']['error_code'])) {
            evc_add_log('evc_poll_vk_polls_get_by_id: VK Error. ' . $resp['error']['error_code'] . ' ' . $resp['error']['error_msg']);
        } else {
            evc_add_log('evc_poll_vk_polls_get_by_id: VK Error. ' . $resp['error']);
        }
        return false;
    }
    evc_add_log('evc_poll_vk_polls_get_by_id: VK API');
    return $resp['response'];
}
function evc_comments_get_comments($args = array())
{
    $options = evc_get_all_options(array('evc_vk_api_widgets', 'evc_comments'));
    $default = array('order' => 'date', 'fields' => 'photo_100,photo_max_orig,screen_name,replies', 'v' => '5.10', 'lang' => 'ru');
    if (isset($page_id)) {
        $default['page_id'] = $page_id;
    }
    $args = wp_parse_args($args, $default);
    $args = apply_filters('evc_comments_get_comments_args', $args);
    $query = http_build_query($args);
    //print__r($args); //
    //exit();
    $data = wp_remote_get(EVC_API_URL . 'widgets.getComments?' . $query, array('sslverify' => false));
    //evc_add_log('evc_comments_get_comments:' . print_r($data, 1));
    if (is_wp_error($data)) {
        evc_add_log('evc_comments_get_comments: WP ERROR. ' . $data->get_error_code() . ' ' . $data->get_error_message());
        return false;
    }
    if (isset($data['response']) && isset($data['response']['code']) && $data['response']['code'] != 200) {
        evc_add_log('evc_wall_post: RESPONSE ERROR. ' . $data['response']['code'] . ' ' . $data['response']['message']);
        return false;
    }
    $resp = json_decode($data['body'], true);
    if (isset($resp['error'])) {
        if (isset($resp['error']['error_code'])) {
            evc_add_log('evc_comments_get_comments: VK Error. ' . $resp['error']['error_code'] . ' ' . $resp['error']['error_msg']);
        } else {
            evc_add_log('evc_comments_get_comments: VK Error. ' . $resp['error']);
        }
        return false;
    }
    //print__r($resp); //
    return $resp['response'];
}
function evc_meta_box_comments_widget($custom)
{
    $options = evc_get_all_options(array('evc_comments'));
    if (isset($custom['comment_widget_insert'])) {
        $evc_comments = $custom['comment_widget_insert'][0];
    } else {
        $evc_comments = $options['comment_widget_insert'];
    }
    echo '<p>';
    echo '<b>Виджет комментариев ВКонтакте</b>';
    echo '<br/><input type="radio" value="auto" id="evc-comments-auto" name="comment_widget_insert"' . checked($evc_comments, 'auto', false) . ' >
  <label class="selectit" for="evc-comments-auto">Включить</label>';
    echo '<br/><input type="radio" value="manual" id="evc-comments-manual" name="comment_widget_insert"' . checked($evc_comments, 'manual', false) . ' >
  <label class="selectit" for="evc-comments-manual">Отключить</label>';
    echo '<br/>Вы можете включить или отключить виджет комментариев ВКонтакте для данной страницы.';
    echo '</p>';
}
function evc_share_vk_login_url($redirect_url = false, $echo = false)
{
    //$options = get_option('evc_options');
    $options = evc_get_all_options(array('evc_vk_api_widgets'));
    if (!$redirect_url) {
        $redirect_url = remove_query_arg(array('code', 'redirect_uri', 'settings-updated', 'loggedout', 'error', 'access_denied', 'error_reason', 'error_description', 'reauth'), $_SERVER['REQUEST_URI']);
        //$redirect_url = get_bloginfo('wpurl') . $redirect_url;
        $redirect_url = site_url($redirect_url);
    }
    $params = array('client_id' => trim($options['site_app_id']), 'redirect_uri' => $redirect_url, 'display' => 'popup', 'response_type' => 'code', 'scope' => apply_filters('evc_share_vk_login_url_scope', 'video,friends,offline'));
    $query = http_build_query($params);
    $out = EVC_AUTHORIZATION_URL . '?' . $query;
    if ($echo) {
        echo $out;
    } else {
        return $out;
    }
}
Exemple #6
0
function evc_upload_photo($id, $post)
{
    //$options = get_option('evc_options');
    $options = evc_get_all_options(array('evc_vk_api_autopost', 'evc_autopost'));
    if (!$options['upload_photo_count']) {
        return false;
    }
    if ($options['upload_photo_count'] > 5) {
        $options['upload_photo_count'] = 5;
    }
    // Find first 5 attached images
    $post_images = get_children(array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order id', 'order' => 'ASC', 'numberposts' => $options['upload_photo_count']));
    $post_images = apply_filters('evc_autopost_upload_photo', $post_images, $post);
    // if no attached photo
    if (!$post_images || empty($post_images)) {
        return false;
    }
    if ($post_images) {
        $i = 1;
        foreach ($post_images as $image) {
            $att_id = is_object($image) ? $image->ID : $image;
            $images['file' . $i] = '@' . get_attached_file($att_id);
            //$images['photo'.$i] = '@' . get_attached_file($att_id );
            //$images['photo'] = '@' . get_attached_file($att_id );
            $i++;
        }
    }
    $params = array('access_token' => $options['access_token'], 'gid' => $options['page_id']);
    // Get Wall Upload Server
    $query = http_build_query($params);
    $data = wp_remote_get(EVC_API_URL . 'photos.getWallUploadServer?' . $query, array('sslverify' => false));
    if (is_wp_error($data)) {
        evc_add_log('photos.getWallUploadServer: WP ERROR. ' . $data->get_error_code() . ' ' . $data->get_error_message());
        return $data->get_error_message();
    }
    $resp = json_decode($data['body'], true);
    //evc_add_log('photos.getWallUploadServer: $resp. ' . print_r($resp, 1)); //
    if (isset($resp['error'])) {
        if (isset($resp['error']['error_code'])) {
            evc_add_log('photos.getWallUploadServer: VK Error. ' . $resp['error']['error_code'] . ' ' . $resp['error']['error_msg']);
        } else {
            evc_add_log('photos.getWallUploadServer: VK Error. ' . $resp['error']);
        }
        return false;
    }
    if (!$resp['response']['upload_url']) {
        return false;
    }
    // Upload photo to server
    $curl = new Wp_Http_Curl();
    $data = $curl->request($resp['response']['upload_url'], array('body' => $images, 'method' => 'POST'));
    if (is_wp_error($data)) {
        evc_add_log('Upload Photos: WP ERROR. ' . $data->get_error_code() . ' ' . $data->get_error_message());
        return $data->get_error_message();
    }
    $resp = json_decode($data['body'], true);
    //evc_add_log('Upload Photos: $resp. ' . print_r($resp, 1)); //
    if (isset($resp['error'])) {
        if (isset($resp['error']['error_code'])) {
            evc_add_log('Upload Photos: VK Error. ' . $resp['error']['error_code'] . ' ' . $resp['error']['error_msg']);
        } else {
            evc_add_log('Upload Photos: VK Error. ' . $resp['error']);
        }
        return false;
    }
    if (!$resp['photo']) {
        return false;
    }
    // Save Wall Photo
    $params = array();
    $params = array('access_token' => $options['access_token'], 'gid' => $options['page_id'], 'server' => $resp['server'], 'photo' => $resp['photo'], 'hash' => $resp['hash']);
    $query = http_build_query($params);
    $data = wp_remote_get(EVC_API_URL . 'photos.saveWallPhoto?' . $query, array('sslverify' => false));
    if (is_wp_error($data)) {
        evc_add_log('photos.saveWallPhoto: WP ERROR. ' . $data->get_error_code() . ' ' . $data->get_error_message());
        return $data->get_error_message();
    }
    $resp = json_decode($data['body'], true);
    if (isset($resp['error'])) {
        if (isset($resp['error']['error_code'])) {
            evc_add_log('photos.saveWallPhoto: VK Error. ' . $resp['error']['error_code'] . ' ' . $resp['error']['error_msg']);
        } else {
            evc_add_log('photos.saveWallPhoto: VK Error. ' . $resp['error']);
        }
        return false;
    }
    if (!$resp['response']) {
        return false;
    }
    //print__r($resp);
    foreach ($resp['response'] as $r) {
        $attachments[] = $r['id'];
    }
    return array('i' => $attachments);
}