/wp/wp-content/plugins/members/components/widgets/login.php

https://bitbucket.org/akeda/bmw-id-hris · PHP · 174 lines · 128 code · 39 blank · 7 comment · 9 complexity · f427658f9e28c5c4cdacfd7367dc754b MD5 · raw file

  1. <?php
  2. /**
  3. * Creates a widget that allows users to add a login form to a widget area.
  4. *
  5. * @package Members
  6. * @subpackage Components
  7. */
  8. class Members_Widget_Login extends WP_Widget {
  9. function Members_Widget_Login() {
  10. $widget_ops = array( 'classname' => 'login', 'description' => __('A widget that allows users to log into your site.', 'widgets-reloaded') );
  11. $control_ops = array( 'width' => 700, 'height' => 350, 'id_base' => 'members-widget-login' );
  12. $this->WP_Widget( 'members-widget-login', __('Login Form', 'widgets-reloaded'), $widget_ops, $control_ops );
  13. }
  14. function widget( $args, $instance ) {
  15. global $user_identity, $user_ID;
  16. extract( $args );
  17. $title = apply_filters( 'widget_title', $instance['title'] );
  18. $username_label = $instance['username_label'];
  19. $password_label = $instance['password_label'];
  20. $submit_text = $instance['submit_text'];
  21. $remember_text = $instance['remember_text'];
  22. $logged_in_text = apply_filters( 'widget_text', $instance['logged_in_text'] );
  23. $logged_out_text = apply_filters( 'widget_text', $instance['logged_out_text'] );
  24. $show_avatar = isset( $instance['show_avatar'] ) ? $instance['show_avatar'] : false;
  25. echo $before_widget;
  26. if ( $title )
  27. echo "\n\t\t\t" . $before_title . $title . $after_title;
  28. if ( is_user_logged_in() ) {
  29. if ( $show_avatar )
  30. echo get_avatar( $user_ID );
  31. if ( $logged_in_text )
  32. echo $logged_in_text;
  33. }
  34. else {
  35. if ( $show_avatar )
  36. echo get_avatar( $user_ID );
  37. if ( $logged_out_text )
  38. echo $logged_out_text;
  39. $login = '<div class="clear log-in login-form">';
  40. $login .= '<form class="log-in" action="' . get_bloginfo( 'wpurl' ) . '/wp-login.php" method="post">';
  41. $login .= '<p class="text-input">';
  42. $login .= '<label class="text" for="log">' . $username_label . '</label>';
  43. $login .= '<input class="field" type="text" name="log" id="log" value="' . esc_attr( $user_login ) . '" size="23" />';
  44. $login .= '</p>';
  45. $login .= '<p class="text-input">';
  46. $login .= '<label class="text" for="pwd">' . $password_label . '</label>';
  47. $login .= '<input class="field" type="password" name="pwd" id="pwd" size="23" />';
  48. $login .= '</p>';
  49. $login .= '<div class="clear">';
  50. $login .= '<input type="submit" name="submit" value="' . $submit_text . '" class="log-in" />';
  51. $login .= '<label class="remember"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> ' . $remember_text . '</label>';
  52. $login .= '<input type="hidden" name="redirect_to" value="' . $_SERVER['REQUEST_URI'] . '"/>';
  53. $login .= '</div>';
  54. $login .= '</form>';
  55. $login .= '</div>';
  56. echo $login;
  57. }
  58. echo $after_widget;
  59. }
  60. function update( $new_instance, $old_instance ) {
  61. $instance = $old_instance;
  62. $instance['title'] = strip_tags( $new_instance['title'] );
  63. $instance['username_label'] = strip_tags( $new_instance['username_label'] );
  64. $instance['password_label'] = strip_tags( $new_instance['password_label'] );
  65. $instance['submit_text'] = strip_tags( $new_instance['submit_text'] );
  66. $instance['remember_text'] = strip_tags( $new_instance['remember_text'] );
  67. $instance['show_avatar'] = $new_instance['show_avatar'];
  68. if ( current_user_can('unfiltered_html') ) {
  69. $instance['logged_in_text'] = $new_instance['logged_in_text'];
  70. $instance['logged_out_text'] = $new_instance['logged_out_text'];
  71. }
  72. else {
  73. $instance['logged_in_text'] = wp_filter_post_kses( $new_instance['logged_in_text'] );
  74. $instance['logged_out_text'] = wp_filter_post_kses( $new_instance['logged_out_text'] );
  75. }
  76. return $instance;
  77. }
  78. function form( $instance ) {
  79. //Defaults
  80. $defaults = array(
  81. 'title' => __('Log In', 'widgets-reloaded'),
  82. 'username_label' => __('Username:', 'members'),
  83. 'password_label' => __('Password', 'members'),
  84. 'submit_text' => __('Log In', 'members'),
  85. 'remember_text' => __('Remember me?', 'members'),
  86. 'show_avatar' => true,
  87. 'logged_out_text' => __('Please log into the site.', 'members'),
  88. 'logged_in_text' => __('You are currently logged in.', 'members')
  89. );
  90. $instance = wp_parse_args( (array) $instance, $defaults );
  91. $logged_in_text = format_to_edit( $instance['logged_in_text'] );
  92. $logged_out_text = format_to_edit( $instance['logged_out_text'] ); ?>
  93. <div style="float: left; width: 48%;">
  94. <p>
  95. <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e('Title:', 'widgets-reloaded'); ?></label>
  96. <input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="width:100%;" />
  97. </p>
  98. <p>
  99. <label for="<?php echo $this->get_field_id( 'logged_out_text' ); ?>"><?php _e('Logged out text:', 'members'); ?></label>
  100. <textarea class="widefat" rows="3" cols="20" id="<?php echo $this->get_field_id('logged_out_text'); ?>" name="<?php echo $this->get_field_name('logged_out_text'); ?>" style="width:100%;"><?php echo $logged_out_text; ?></textarea>
  101. </p>
  102. <p>
  103. <label for="<?php echo $this->get_field_id( 'logged_in_text' ); ?>"><?php _e('Logged in text:', 'members'); ?></label>
  104. <textarea class="widefat" rows="3" cols="20" id="<?php echo $this->get_field_id('logged_in_text'); ?>" name="<?php echo $this->get_field_name('logged_in_text'); ?>" style="width:100%;"><?php echo $logged_in_text; ?></textarea>
  105. </p>
  106. </div>
  107. <div style="float: right; width: 48%;">
  108. <p>
  109. <label for="<?php echo $this->get_field_id( 'show_avatar' ); ?>">
  110. <input class="checkbox" type="checkbox" <?php checked( $instance['show_avatar'], true ); ?> id="<?php echo $this->get_field_id( 'show_avatar' ); ?>" name="<?php echo $this->get_field_name( 'show_avatar' ); ?>" /> <?php _e('Display avatar?', 'widgets-reloaded'); ?></label>
  111. </p>
  112. <p>
  113. <label for="<?php echo $this->get_field_id( 'username_label' ); ?>"><?php _e('Username Label:', 'widgets-reloaded'); ?></label>
  114. <input id="<?php echo $this->get_field_id( 'username_label' ); ?>" name="<?php echo $this->get_field_name( 'username_label' ); ?>" value="<?php echo $instance['username_label']; ?>" style="width:100%;" />
  115. </p>
  116. <p>
  117. <label for="<?php echo $this->get_field_id( 'password_label' ); ?>"><?php _e('Password Label:', 'widgets-reloaded'); ?></label>
  118. <input id="<?php echo $this->get_field_id( 'password_label' ); ?>" name="<?php echo $this->get_field_name( 'password_label' ); ?>" value="<?php echo $instance['password_label']; ?>" style="width:100%;" />
  119. </p>
  120. <p>
  121. <label for="<?php echo $this->get_field_id( 'submit_text' ); ?>"><?php _e('Submit Text:', 'widgets-reloaded'); ?></label>
  122. <input id="<?php echo $this->get_field_id( 'submit_text' ); ?>" name="<?php echo $this->get_field_name( 'submit_text' ); ?>" value="<?php echo $instance['submit_text']; ?>" style="width:100%;" />
  123. </p>
  124. <p>
  125. <label for="<?php echo $this->get_field_id( 'remember_text' ); ?>"><?php _e('Remember User Text:', 'widgets-reloaded'); ?></label>
  126. <input id="<?php echo $this->get_field_id( 'remember_text' ); ?>" name="<?php echo $this->get_field_name( 'remember_text' ); ?>" value="<?php echo $instance['remember_text']; ?>" style="width:100%;" />
  127. </p>
  128. </div>
  129. <div>
  130. </div>
  131. <div style="clear:both;">&nbsp;</div>
  132. <?php
  133. }
  134. }
  135. ?>