function evc_auth_login_url($redirect_url = false, $echo = false)
{
    add_filter('evc_share_vk_login_url_scope', 'evc_auth_login_url_scope');
    if (!$echo) {
        $url = evc_share_vk_login_url($redirect_url, $echo);
    } else {
        evc_share_vk_login_url($redirect_url, $echo);
    }
    remove_filter('evc_share_vk_login_url_scope', 'evc_auth_login_url_scope');
    if (isset($url)) {
        return $url;
    }
}
Beispiel #2
0
function evc_vk_api_settings_admin_init()
{
    global $evc_vk_api_settings;
    $evc_vk_api_settings = new WP_Settings_API_Class();
    $options = evc_get_all_options(array('evc_vk_api_autopost', 'evc_vk_api_widgets'));
    $tabs = array('evc_vk_api_autopost' => array('id' => 'evc_vk_api_autopost', 'name' => 'evc_vk_api_autopost', 'title' => __('Для автопостинга', 'evc'), 'desc' => __('', 'evc'), 'sections' => array('evc_vk_api_autopost_section' => array('id' => 'evc_vk_api_autopost_section', 'name' => 'evc_vk_api_autopost_section', 'title' => __('Настройки VK API для автопостинга', 'evc'), 'desc' => 'Если вы <b>не собираетесь</b> использовать <a href = "' . admin_url('admin.php?page=evc-autopost') . '">модуль автопостинга</a>, можно не заполнять.'))), 'evc_vk_api_widgets' => array('id' => 'evc_vk_api_widgets', 'name' => 'evc_vk_api_widgets', 'title' => __('Для виджетов', 'evc'), 'desc' => __('', 'evc'), 'sections' => array('evc_vk_api_widgets_section' => array('id' => 'evc_vk_api_widgets_section', 'name' => 'evc_vk_api_widgets_section', 'title' => __('Настройки VK API для виджетов', 'evc'), 'desc' => __('Если вы собираетесь использовать <b>только</b> <a href = "' . admin_url('admin.php?page=evc-autopost') . '">модуль автопостинга</a>, можно не заполнять.', 'evc')))));
    // VKWP Bridge Compatible
    $evc_bridge = get_option('evc_bridge');
    if (isset($evc_bridge) && !empty($evc_bridge)) {
    }
    $url = site_url();
    $url2 = str_ireplace('www.', '', parse_url($url, PHP_URL_HOST));
    $url_arr = explode(".", basename($url2));
    $domain = $url_arr[count($url_arr) - 2] . "." . $url_arr[count($url_arr) - 1];
    $site_app_id_desc = '<p>Чтобы получить доступ к <b>API ВКонтакте</b>, вам нужно <a href="http://vk.com/editapp?act=create" target="_blank">создать приложение</a> со следующими настройками:</p>
  <ol>
    <li><strong>Название:</strong> любое</li>
    <li><strong>Тип:</strong> Веб-сайт</li>
    <li><strong>Адрес сайта:</strong> ' . $url . '</li>
    <li><strong>Базовый домен:</strong> ' . $domain . '</li>
  </ol>
  <p>Если приложение с этими настройками у вас было создано ранее, вы можете найти его на <a href="http://vk.com/apps?act=settings" target="_blank">странице приложений</a> и, затем нажмите "Редактировать", чтобы открылись его параметры.</p>
  <p>В полях ниже вам нужно указать: <b>ID приложения</b> и его <b>Защищенный ключ</b>.</p>';
    $site_get_access_token_url = !empty($options['site_app_id']) ? evc_share_vk_login_url() : 'javascript:void(0);';
    $site_access_token_desc = '<p>Чтобы получить <strong>Access Token</strong>:</p>
  <ol>
    <li>Пройдите по <a href="' . $site_get_access_token_url . '" id = "getaccesstokenurl">ссылке</a></li>
    <li>Подтвердите уровень доступа.</li>
  </ol>';
    $app_id_desc = '<p>Чтобы получить <strong>ID приложения</strong>, необходимо <a href="http://vk.com/editapp?act=create" target="_blank">создать приложение</a> со следующими настройками:</p>
  <ol>
    <li><strong>Название:</strong> любое</li>
    <li><strong>Тип:</strong> Standalone-приложение</li>
  </ol>
  <p>В настройках приложения необходимо установить параметры в разделе <strong>Open API</strong>:</p>
  <ol>
    <li><strong>Адрес сайта:</strong> ' . $url . '</li>
    <li><strong>Базовый домен:</strong> ' . $domain . '</li>
  </ol>
  <p>Если приложение с этими настройками у вас было создано ранее, вы можете найти его на <a href="http://vk.com/apps?act=settings" target="_blank">странице приложений</a> и, нажав "Редактировать", найти его ID.</p>';
    $get_access_token_url = !empty($options['app_id']) ? 'http://oauth.vk.com/authorize?client_id=' . $options['app_id'] . '&scope=wall,photos,offline&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token' : 'javascript:void(0);';
    $access_token_desc = '<p>Чтобы получить <strong>Access Token</strong></p>
  <ol>
    <li>пройдите по <a href="' . $get_access_token_url . '" id = "getaccesstokenurl" target = "_blank">ссылке</a>,</li>
    <li>подтвердите уровень доступа,</li>
    <li>скопируйте url открывшейся страницы в поле внизу.</li>
  </ol>';
    $fields = array('evc_vk_api_autopost_section' => array(array('name' => 'app_id_desc', 'desc' => __($app_id_desc, 'evc'), 'type' => 'html'), array('name' => 'app_id', 'label' => __('ID приложения', 'evc'), 'desc' => __('ID вашего приложения VK.', 'evc'), 'type' => 'text'), array('name' => 'access_token_desc', 'desc' => __($access_token_desc, 'evc'), 'type' => 'html'), array('name' => 'access_token_url', 'label' => __('Access Token Url', 'evc'), 'desc' => __('', 'evc'), 'type' => 'text'), array('name' => 'access_token', 'label' => __('Access Token', 'evc'), 'desc' => __('Значение будет подставлено автоматически, как только вы скопируете урл в поле выше и нажмете "Сохранить".', 'evc_bridge'), 'type' => 'text', 'readonly' => true)), 'evc_vk_api_widgets_section' => array(array('name' => 'site_app_id_desc', 'desc' => __($site_app_id_desc, 'evc'), 'type' => 'html'), array('name' => 'site_app_id', 'label' => __('ID приложения', 'evc'), 'desc' => __('ID вашего приложения VK.', 'evc'), 'type' => 'text'), array('name' => 'site_app_secret', 'label' => __('Защищенный ключ', 'evc'), 'desc' => __('Защищенный ключ вашего приложения VK.', 'evc'), 'type' => 'text')));
    if (isset($options['site_app_id']) && !empty($options['site_app_id']) && isset($options['site_app_secret']) && !empty($options['site_app_secret'])) {
        array_push($fields['evc_vk_api_widgets_section'], array('name' => 'site_access_token_desc', 'desc' => __($site_access_token_desc, 'evc'), 'type' => 'html'), array('name' => 'site_access_token', 'label' => __('Access Token', 'evc'), 'desc' => __('Значение будет подставлено автоматически, как только вы пройдете по указанной выше ссылке.', 'evc'), 'type' => 'text', 'readonly' => true));
    }
    //set sections and fields
    $evc_vk_api_settings->set_option_name('evc_options');
    $evc_vk_api_settings->set_sections($tabs);
    $evc_vk_api_settings->set_fields($fields);
    //initialize them
    $evc_vk_api_settings->admin_init();
}