Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: MyOpenID
- Plugin URI: http://nikolay.com/projects/wordpress/myopenid/
- Description: MyOpenID plugin allows you to use your blog as your OpenID identity by delegating it to an external provide such as myOpenID, myVidoop, and claimID.
- Version: 0.3
- Author: Nikolay Kolev
- Author URI: http://nikolay.com/
- */
- define('MYOPENID_NONCE', 'myopenid_nonce');
- define('MYOPENID_USERNAME_OPTION', 'myopenid_username');
- define('MYOPENID_PROVIDER_OPTION', 'myopenid_provider');
- function myopenid_reset_settings() {
- delete_option(MYOPENID_PROVIDER_OPTION);
- delete_option(MYOPENID_USERNAME_OPTION);
- }
- function myopenid_has_settings() {
- $provider = get_option(MYOPENID_PROVIDER_OPTION);
- $username = get_option(MYOPENID_USERNAME_OPTION);
- return !empty($provider) && !empty($username);
- }
- add_action('init', 'myopenid_init');
- function myopenid_init() {
- add_action('admin_menu', 'myopenid_admin_menu');
- add_action('wp_head', 'myopenid_head');
- }
- function myopenid_admin_menu() {
- add_options_page(__('MyOpenID Settings'), __('MyOpenID'), 8, __FILE__, 'myopenid_settings');
- }
- function myopenid_settings() {
- if (isset($_POST['submit'])) {
- if (!current_user_can('manage_options')) {
- die(__('Unauthorized access!'));
- }
- check_admin_referer(MYOPENID_NONCE);
- if (isset($_POST['myopenid_provider'])) {
- $provider = $_POST['myopenid_provider'];
- if (empty($provider)) {
- delete_option(MYOPENID_PROVIDER_OPTION);
- } else {
- update_option(MYOPENID_PROVIDER_OPTION, $provider);
- }
- }
- if (isset($_POST['myopenid_username'])) {
- $username = $_POST['myopenid_username'];
- if (empty($username)) {
- delete_option(MYOPENID_USERNAME_OPTION);
- } else {
- update_option(MYOPENID_USERNAME_OPTION, $username);
- }
- }
- ?>
- <div id="myopenid_warning" class="updated fade">
- <p><strong><?php _e('MyOpenID:'); ?></strong> <?php _e('Settings saved!'); ?></p>
- </div>
- <?php
- }
- $provider = get_option(MYOPENID_PROVIDER_OPTION);
- $username = get_option(MYOPENID_USERNAME_OPTION);
- ?>
- <div class="wrap">
- <h2><?php _e('MyOpenID Settings'); ?></h2>
- <div id="poststuff" class="metabox-holder">
- <form name="form0" method="post" action=""><?php wp_nonce_field(MYOPENID_NONCE); ?>
- <div class="postbox open">
- <h3 class="hndle"><?php _e('OpenID Provider Info'); ?></h3>
- <div class="inside">
- <table class="form-table">
- <tr>
- <th><label for="myopenid_provider"><?php _e('Provider:'); ?></label></th>
- <td><select id="myopenid_provider" name="myopenid_provider">
- <?php if (empty($provider)) { ?><option></option><?php } ?>
- <option value="myopenid"<?php if ($provider == 'myopenid') echo ' selected="selected"'; ?>>myOpenID</option>
- <option value="myvidoop"<?php if ($provider == 'myvidoop') echo ' selected="selected"'; ?>>myVidoop</option>
- <option value="claimid"<?php if ($provider == 'claimid') echo ' selected="selected"'; ?>>claimID</option>
- @@ <option value="openidfrance"<?php if ($provider == 'openidfrance') echo ' selected="selected"'; ?>>openIDFrance</option>
- </select></td>
- </tr>
- <tr>
- <th><label for="myopenid_username"><?php _e('Username:'); ?></label></th>
- <td><input type="text" id="myopenid_username" name="myopenid_username" value="<?php echo $username; ?>" /></td>
- </tr>
- </table>
- </div>
- </div>
- <p class="submit">
- <input type="submit" name="submit" value="<?php _e('Save Settings'); ?>" class="button-primary" />
- </p>
- </form>
- </div>
- </div>
- <?php
- }
- if (!myopenid_has_settings() && !isset($_POST['submit'])) {
- add_action('admin_notices', 'myopenid_admin_notices');
- }
- function myopenid_admin_notices() {
- ?>
- <div id="myopenid_warning" class="updated fade">
- <p><strong><?php _e('MyOpenID:'); ?></strong> <?php _e('You need to configure the plugin in order to start utilizing it!'); ?></p>
- </div>
- <?php
- }
- function myopenid_head() {
- if (myopenid_has_settings()) {
- $provider = get_option(MYOPENID_PROVIDER_OPTION);
- $username = get_option(MYOPENID_USERNAME_OPTION);
- ?>
- <!-- MyOpenID Plugin - Start -->
- <?php
- switch ($provider) {
- case "myopenid":
- ?>
- <link rel="openid.server" href="http://www.myopenid.com/server" />
- <link rel="openid.delegate" href="http://<?php echo $username; ?>.myopenid.com/" />
- <link rel="openid2.local_id" href="http://<?php echo $username; ?>.myopenid.com" />
- <link rel="openid2.provider" href="http://www.myopenid.com/server" />
- <meta http-equiv="X-XRDS-Location" content="http://www.myopenid.com/xrds?username=<?php echo $username; ?>.myopenid.com" />
- <?php
- break;
- case "myvidoop":
- ?>
- <link rel="openid.server" href="https://myvidoop.com/openid" />
- <link rel="openid.delegate" href="http://<?php echo $username; ?>.myvidoop.com" />
- <link rel="openid2.local_id" href="http://<?php echo $username; ?>.myvidoop.com" />
- <link rel="openid2.provider" href="https://myvidoop.com/openid" />
- <?php
- break;
- case "claimid":
- ?>
- <link rel="openid.server" href="http://openid.claimid.com/server" />
- <link rel="openid.delegate" href="http://openid.claimid.com/<?php echo $username; ?>" />
- @@<?php
- @@ break;
- @@ case "openidfrance":
- @@?>
- @@<link rel="openid.server" href="http://www.openidfrance.fr/index.php" />
- @@<link rel="openid.delegate" href="http://www.openidfrance.fr/<?php echo $username; ?>" />
- <?php
- break;
- }
- ?>
- <!-- MyOpenID Plugin - End -->
- <?php
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement