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; } }
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(); }