*/ class Authentiq_Widget extends WP_Widget { protected $widget_id = 'wp_authentiq_widget'; function __construct() { parent::__construct( $this->widget_id, __('Authentiq', AUTHENTIQ_LANG), array('description' => __('Allows user login using Authentiq.', AUTHENTIQ_LANG)) ); } /** * Widget Backend * * @param array $instance */ public function form($instance) { if (isset($instance['title'])) { $title = $instance['title']; } else { $title = __('Login to site', AUTHENTIQ_LANG); } if (isset($instance['sign_in_text'])) { $sign_in_text = $instance['sign_in_text']; } else { $sign_in_text = __('Sign in', AUTHENTIQ_LANG); } if (isset($instance['linking_text'])) { $linking_text = $instance['linking_text']; } else { $linking_text = __('Link your account', AUTHENTIQ_LANG); } if (isset($instance['sign_out_text'])) { $sign_out_text = $instance['sign_out_text']; } else { $sign_out_text = __('Sign out', AUTHENTIQ_LANG); } if (isset($instance['button_color_scheme'])) { $button_color_scheme = $instance['button_color_scheme']; } else { $button_color_scheme = 0; } // Widget admin form ?>
ID)) { echo $this->get_account_linking_template($instance); // Show logout button } else { echo $this->get_logged_in_template($instance); } // Show login button } else { echo $this->get_login_template($instance); } echo $args['after_widget']; } public function get_login_template($instance) { $authorize_url = Authentiq_Provider::get_authorize_url(); return Authentiq_Helpers::render_template('public/partials/authentiq-button.php', array( 'authorize_url' => $authorize_url, 'button_text' => !empty($instance['sign_in_text']) ? $instance['sign_in_text'] : __('Sign in', AUTHENTIQ_LANG), 'button_color_scheme' => !empty($instance['button_color_scheme']) ? $instance['button_color_scheme'] : 0, )); } public function get_account_linking_template($instance) { $authorize_url = Authentiq_Provider::get_authorize_url(); return Authentiq_Helpers::render_template('public/partials/authentiq-button.php', array( 'authorize_url' => $authorize_url, 'button_text' => !empty($instance['linking_text']) ? $instance['linking_text'] : __('Link your account', AUTHENTIQ_LANG), 'button_color_scheme' => !empty($instance['button_color_scheme']) ? $instance['button_color_scheme'] : 0, )); } public function get_logged_in_template($instance) { global $wp; $redirect_to = home_url(add_query_arg(array(), $wp->request)); $logout_url = wp_logout_url($redirect_to); return Authentiq_Helpers::render_template('public/partials/logged-in-state.php', array( 'logout_url' => $logout_url, 'button_text' => !empty($instance['sign_out_text']) ? $instance['sign_out_text'] : __('Sign out', AUTHENTIQ_LANG), 'button_color_scheme' => !empty($instance['button_color_scheme']) ? $instance['button_color_scheme'] : 0, )); } /** * Update widget replacing old instance with new * * @param array $new_instance * @param array $old_instance * * @return array */ public function update($new_instance, $old_instance) { $instance = array(); $instance['title'] = (!empty($new_instance['title'])) ? strip_tags($new_instance['title']) : ''; $instance['sign_in_text'] = (!empty($new_instance['sign_in_text'])) ? strip_tags($new_instance['sign_in_text']) : ''; $instance['linking_text'] = (!empty($new_instance['linking_text'])) ? strip_tags($new_instance['linking_text']) : ''; $instance['sign_out_text'] = (!empty($new_instance['sign_out_text'])) ? strip_tags($new_instance['sign_out_text']) : ''; $instance['button_color_scheme'] = (!empty($new_instance['button_color_scheme'])) ? strip_tags($new_instance['button_color_scheme']) : 0; return $instance; } }