function evc_vkapi($params) { $params['args'] = apply_filters('evc_vkapi_' . $params['method_str'], $params['args']); $args = array('body' => $params['args'], 'sslverify' => false); $data = wp_remote_post(EVC_API_URL . $params['method'], $args); //evc_add_log('evc_vk_get_users: VK Error. ' . print_r($params,1)); if (is_wp_error($data)) { evc_add_log($params['method_str'] . ': 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($params['method_str'] . ': 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($params['method_str'] . ': VK Error. ' . $resp['error']['error_code'] . ' ' . $resp['error']['error_msg']); } else { evc_add_log($params['method_str'] . ': VK Error. ' . $resp['error']); } return false; } //evc_bridge_add_log(print_r($resp['response'],1)); evc_add_log($params['method_str'] . ': 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_api_post($args) { $params = array('body' => $args, 'user-agent' => 'EVCAPI/' . evc_version() . '; ' . site_url(), 'host' => get_bloginfo('url')); $data = wp_remote_post(EVC_API, $params, array('sslverify' => false)); if (is_wp_error($data)) { evc_add_log('EVC API ' . $args['method'] . ': 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 API ' . $args['method'] . ': Error. ' . $resp['error']['error_code'] . ' ' . $resp['error']['error_msg']); } return false; } if (isset($resp['response']) && !empty($resp['response'])) { return $resp['response']; } else { return false; } }
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); }