Advertisement
Guest User

real34

a guest
Mar 1st, 2009
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.41 KB | None | 0 0
  1. <?php
  2. /*
  3. Plugin Name: MyOpenID
  4. Plugin URI: http://nikolay.com/projects/wordpress/myopenid/
  5. 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.
  6. Version: 0.3
  7. Author: Nikolay Kolev
  8. Author URI: http://nikolay.com/
  9. */
  10.  
  11. define('MYOPENID_NONCE', 'myopenid_nonce');
  12.  
  13. define('MYOPENID_USERNAME_OPTION', 'myopenid_username');
  14. define('MYOPENID_PROVIDER_OPTION', 'myopenid_provider');
  15.  
  16. function myopenid_reset_settings() {
  17.     delete_option(MYOPENID_PROVIDER_OPTION);
  18.     delete_option(MYOPENID_USERNAME_OPTION);
  19. }
  20.  
  21. function myopenid_has_settings() {
  22.     $provider = get_option(MYOPENID_PROVIDER_OPTION);
  23.     $username = get_option(MYOPENID_USERNAME_OPTION);
  24.     return !empty($provider) && !empty($username);
  25. }
  26.  
  27. add_action('init', 'myopenid_init');
  28.  
  29. function myopenid_init() {
  30.     add_action('admin_menu', 'myopenid_admin_menu');
  31.     add_action('wp_head', 'myopenid_head');
  32. }
  33.  
  34. function myopenid_admin_menu() {
  35.     add_options_page(__('MyOpenID Settings'), __('MyOpenID'), 8, __FILE__, 'myopenid_settings');
  36. }
  37.  
  38. function myopenid_settings() {
  39.     if (isset($_POST['submit'])) {
  40.         if (!current_user_can('manage_options')) {
  41.             die(__('Unauthorized access!'));
  42.         }
  43.         check_admin_referer(MYOPENID_NONCE);
  44.         if (isset($_POST['myopenid_provider'])) {
  45.             $provider = $_POST['myopenid_provider'];
  46.             if (empty($provider)) {
  47.                 delete_option(MYOPENID_PROVIDER_OPTION);
  48.             } else {
  49.                 update_option(MYOPENID_PROVIDER_OPTION, $provider);
  50.             }
  51.         }
  52.         if (isset($_POST['myopenid_username'])) {
  53.             $username = $_POST['myopenid_username'];
  54.             if (empty($username)) {
  55.                 delete_option(MYOPENID_USERNAME_OPTION);
  56.             } else {
  57.                 update_option(MYOPENID_USERNAME_OPTION, $username);
  58.             }
  59.         }
  60. ?>
  61. <div id="myopenid_warning" class="updated fade">
  62.     <p><strong><?php _e('MyOpenID:'); ?></strong> <?php _e('Settings saved!'); ?></p>
  63. </div>
  64. <?php
  65.     }
  66.  
  67.     $provider = get_option(MYOPENID_PROVIDER_OPTION);
  68.     $username = get_option(MYOPENID_USERNAME_OPTION);
  69.  
  70. ?>
  71. <div class="wrap">
  72.     <h2><?php _e('MyOpenID Settings'); ?></h2>
  73.     <div id="poststuff" class="metabox-holder">
  74.         <form name="form0" method="post" action=""><?php wp_nonce_field(MYOPENID_NONCE); ?>
  75.             <div class="postbox open">
  76.                 <h3 class="hndle"><?php _e('OpenID Provider Info'); ?></h3>
  77.                 <div class="inside">
  78.                     <table class="form-table">
  79.                         <tr>
  80.                             <th><label for="myopenid_provider"><?php _e('Provider:'); ?></label></th>
  81.                             <td><select id="myopenid_provider" name="myopenid_provider">
  82.                                 <?php if (empty($provider)) { ?><option></option><?php } ?>
  83.                                 <option value="myopenid"<?php if ($provider == 'myopenid') echo ' selected="selected"'; ?>>myOpenID</option>
  84.                                 <option value="myvidoop"<?php if ($provider == 'myvidoop') echo ' selected="selected"'; ?>>myVidoop</option>
  85.                                 <option value="claimid"<?php if ($provider == 'claimid') echo ' selected="selected"'; ?>>claimID</option>
  86. @@                              <option value="openidfrance"<?php if ($provider == 'openidfrance') echo ' selected="selected"'; ?>>openIDFrance</option>
  87.                             </select></td>
  88.                         </tr>
  89.                         <tr>
  90.                             <th><label for="myopenid_username"><?php _e('Username:'); ?></label></th>
  91.                             <td><input type="text" id="myopenid_username" name="myopenid_username" value="<?php echo $username; ?>" /></td>
  92.                         </tr>
  93.                     </table>
  94.                 </div>
  95.             </div>
  96.             <p class="submit">
  97.                 <input type="submit" name="submit" value="<?php _e('Save Settings'); ?>" class="button-primary" />
  98.             </p>
  99.         </form>
  100.     </div>
  101. </div>
  102. <?php
  103. }
  104.  
  105. if (!myopenid_has_settings() && !isset($_POST['submit'])) {
  106.     add_action('admin_notices', 'myopenid_admin_notices');
  107. }
  108.  
  109. function myopenid_admin_notices() {
  110. ?>
  111. <div id="myopenid_warning" class="updated fade">
  112.     <p><strong><?php _e('MyOpenID:'); ?></strong> <?php _e('You need to configure the plugin in order to start utilizing it!'); ?></p>
  113. </div>
  114. <?php
  115. }
  116.  
  117. function myopenid_head() {
  118.     if (myopenid_has_settings()) {
  119.         $provider = get_option(MYOPENID_PROVIDER_OPTION);
  120.         $username = get_option(MYOPENID_USERNAME_OPTION);
  121. ?>
  122. <!-- MyOpenID Plugin - Start -->
  123. <?php
  124.         switch ($provider) {
  125.             case "myopenid":
  126. ?>
  127. <link rel="openid.server" href="http://www.myopenid.com/server" />
  128. <link rel="openid.delegate" href="http://<?php echo $username; ?>.myopenid.com/" />
  129. <link rel="openid2.local_id" href="http://<?php echo $username; ?>.myopenid.com" />
  130. <link rel="openid2.provider" href="http://www.myopenid.com/server" />
  131. <meta http-equiv="X-XRDS-Location" content="http://www.myopenid.com/xrds?username=<?php echo $username; ?>.myopenid.com" />
  132. <?php
  133.                 break;
  134.             case "myvidoop":
  135. ?>
  136. <link rel="openid.server" href="https://myvidoop.com/openid" />
  137. <link rel="openid.delegate" href="http://<?php echo $username; ?>.myvidoop.com" />
  138. <link rel="openid2.local_id" href="http://<?php echo $username; ?>.myvidoop.com" />
  139. <link rel="openid2.provider" href="https://myvidoop.com/openid" />
  140. <?php
  141.                 break;
  142.             case "claimid":
  143. ?>
  144. <link rel="openid.server" href="http://openid.claimid.com/server" />
  145. <link rel="openid.delegate" href="http://openid.claimid.com/<?php echo $username; ?>" />
  146. @@<?php
  147. @@              break;
  148. @@          case "openidfrance":
  149. @@?>
  150. @@<link rel="openid.server" href="http://www.openidfrance.fr/index.php" />
  151. @@<link rel="openid.delegate" href="http://www.openidfrance.fr/<?php echo $username; ?>" />
  152. <?php
  153.                 break;
  154.         }
  155. ?>
  156. <!-- MyOpenID Plugin - End -->
  157. <?php
  158.     }
  159. }
  160.  
  161. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement