function wsl_component_help_sidebar()
{
    // HOOKABLE:
    do_action("wsl_component_help_sidebar_start");
    ?>
<div class="postbox">
	<div class="inside">
		<h3><?php 
    _wsl_e("About WordPress Social Login", 'wordpress-social-login');
    ?>
 <?php 
    echo wsl_get_version();
    ?>
</h3>

		<div style="padding:0 20px;">
			<p>
				<?php 
    _wsl_e('WordPress Social Login is a free and open source plugin made by the community, for the community', 'wordpress-social-login');
    ?>
.
			</p> 
			<p>
				<?php 
    _wsl_e('Basically, WordPress Social Login allow your website visitors and customers to register and login via social networks such as twitter, facebook and google but it has much more to offer', 'wordpress-social-login');
    ?>
.
			</p> 
			<p>
				<?php 
    _wsl_e('For more information about WordPress Social Login, refer to our online user guide', 'wordpress-social-login');
    ?>
.
			</p> 
		</div> 
	</div> 
</div> 
<div class="postbox">
	<div class="inside">
		<h3><?php 
    _wsl_e("Thanks", 'wordpress-social-login');
    ?>
</h3>

		<div style="padding:0 20px;">
			<p>
				<?php 
    _wsl_e('Big thanks to everyone who have contributed to WordPress Social Login by submitting Patches, Ideas, Reviews and by Helping in the support forum', 'wordpress-social-login');
    ?>
.
			</p> 
		</div> 
	</div> 
</div>
<?php 
    // HOOKABLE:
    do_action("wsl_component_help_sidebar_end");
}
/**
* Generate the HTML content of WSL Widget
*
* Note:
*   WSL shortcode arguments are still experimental and might change in future versions.
*
*   [wordpress_social_login
*        auth_mode="login"
*        caption="Connect with"
*        enable_providers="facebook|google"
*        restrict_content="wsl_user_logged_in"
*        assets_base_url="http://example.com/wp-content/uploads/2022/01/"
*   ]
*
*   Overall, WSL widget work with these simple rules :
*      1. Shortcode arguments rule over the defaults
*      2. Filters hooks rule over shortcode arguments
*      3. Bouncer rules over everything
*/
function wsl_render_auth_widget($args = array())
{
    $auth_mode = isset($args['mode']) && $args['mode'] ? $args['mode'] : 'login';
    // validate auth-mode
    if (!in_array($auth_mode, array('login', 'link', 'test'))) {
        return;
    }
    // auth-mode eq 'login' => display wsl widget only for NON logged in users
    // > this is the default mode of wsl widget.
    if ($auth_mode == 'login' && is_user_logged_in()) {
        return;
    }
    // auth-mode eq 'link' => display wsl widget only for LOGGED IN users
    // > this will allows users to manually link other social network accounts to their WordPress account
    if ($auth_mode == 'link' && !is_user_logged_in()) {
        return;
    }
    // auth-mode eq 'test' => display wsl widget only for LOGGED IN users only on dashboard
    // > used in Authentication Playground on WSL admin dashboard
    if ($auth_mode == 'test' && !is_user_logged_in() && !is_admin()) {
        return;
    }
    // Bouncer :: Allow authentication?
    if (get_option('wsl_settings_bouncer_authentication_enabled') == 2) {
        return;
    }
    // HOOKABLE: This action runs just before generating the WSL Widget.
    do_action('wsl_render_auth_widget_start');
    global $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG;
    ob_start();
    // Icon set. If eq 'none', we show text instead
    $social_icon_set = get_option('wsl_settings_social_icon_set');
    // wpzoom icons set, is shown by default
    if (empty($social_icon_set)) {
        $social_icon_set = "wpzoom/";
    }
    $assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . 'assets/img/32x32/' . $social_icon_set . '/';
    $assets_base_url = isset($args['assets_base_url']) && $args['assets_base_url'] ? $args['assets_base_url'] : $assets_base_url;
    // HOOKABLE:
    $assets_base_url = apply_filters('wsl_render_auth_widget_alter_assets_base_url', $assets_base_url);
    // get the current page url, which we will use to redirect the user to,
    // unless Widget::Force redirection is set to 'yes', then this will be ignored and Widget::Redirect URL will be used instead
    $redirect_to = wsl_get_current_url();
    // Use the provided redirect_to if it is given and this is the login page.
    if (in_array($GLOBALS["pagenow"], array("wp-login.php", "wp-register.php")) && !empty($_REQUEST["redirect_to"])) {
        $redirect_to = $_REQUEST["redirect_to"];
    }
    // build the authentication url which will call for wsl_process_login() : action=wordpress_social_authenticate
    $authenticate_base_url = site_url('wp-login.php', 'login_post') . (strpos(site_url('wp-login.php', 'login_post'), '?') ? '&' : '?') . "action=wordpress_social_authenticate&mode=login&";
    // if not in mode login, we overwrite the auth base url
    // > admin auth playground
    if ($auth_mode == 'test') {
        $authenticate_base_url = home_url() . "/?action=wordpress_social_authenticate&mode=test&";
    } elseif ($auth_mode == 'link') {
        $authenticate_base_url = home_url() . "/?action=wordpress_social_authenticate&mode=link&";
    }
    // Connect with caption
    $connect_with_label = _wsl__(get_option('wsl_settings_connect_with_label'), 'wordpress-social-login');
    $connect_with_label = isset($args['caption']) ? $args['caption'] : $connect_with_label;
    // HOOKABLE:
    $connect_with_label = apply_filters('wsl_render_auth_widget_alter_connect_with_label', $connect_with_label);
    ?>

<!--
	wsl_render_auth_widget
	WordPress Social Login <?php 
    echo wsl_get_version();
    ?>
.
	http://wordpress.org/plugins/wordpress-social-login/
-->
<?php 
    // Widget::Custom CSS
    $widget_css = get_option('wsl_settings_authentication_widget_css');
    // HOOKABLE:
    $widget_css = apply_filters('wsl_render_auth_widget_alter_widget_css', $widget_css, $redirect_to);
    // show the custom widget css if not empty
    if (!empty($widget_css)) {
        ?>

<style type="text/css">
<?php 
        echo preg_replace(array('%/\\*(?:(?!\\*/).)*\\*/%s', '/\\s{2,}/', "/\\s*([;{}])[\r\n\t\\s]/", '/\\s*;\\s*/', '/\\s*{\\s*/', '/;?\\s*}\\s*/'), array('', ' ', '$1', ';', '{', '}'), $widget_css);
        ?>
</style>
<?php 
    }
    ?>

<div class="wp-social-login-widget">

	<div class="wp-social-login-connect-with"><?php 
    echo $connect_with_label;
    ?>
</div>

	<div class="wp-social-login-provider-list">
<?php 
    // Widget::Authentication display
    $wsl_settings_use_popup = get_option('wsl_settings_use_popup');
    // if a user is visiting using a mobile device, WSL will fall back to more in page
    $wsl_settings_use_popup = function_exists('wp_is_mobile') ? wp_is_mobile() ? 2 : $wsl_settings_use_popup : $wsl_settings_use_popup;
    $no_idp_used = true;
    // display provider icons
    foreach ($WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG as $item) {
        $provider_id = isset($item["provider_id"]) ? $item["provider_id"] : '';
        $provider_name = isset($item["provider_name"]) ? $item["provider_name"] : '';
        // provider enabled?
        if (get_option('wsl_settings_' . $provider_id . '_enabled')) {
            // restrict the enabled providers list
            if (isset($args['enable_providers'])) {
                $enable_providers = explode('|', $args['enable_providers']);
                // might add a couple of pico seconds
                if (!in_array(strtolower($provider_id), $enable_providers)) {
                    continue;
                }
            }
            // build authentication url
            $authenticate_url = $authenticate_base_url . "provider=" . $provider_id . "&redirect_to=" . urlencode($redirect_to);
            // http://codex.wordpress.org/Function_Reference/esc_url
            $authenticate_url = esc_url($authenticate_url);
            // in case, Widget::Authentication display is set to 'popup', then we overwrite 'authenticate_url'
            // > /assets/js/connect.js will take care of the rest
            if ($wsl_settings_use_popup == 1 && $auth_mode != 'test') {
                $authenticate_url = "javascript:void(0);";
            }
            // HOOKABLE: allow user to rebuilt the auth url
            $authenticate_url = apply_filters('wsl_render_auth_widget_alter_authenticate_url', $authenticate_url, $provider_id, $auth_mode, $redirect_to, $wsl_settings_use_popup);
            // HOOKABLE: allow use of other icon sets
            $provider_icon_markup = apply_filters('wsl_render_auth_widget_alter_provider_icon_markup', $provider_id, $provider_name, $authenticate_url);
            if ($provider_icon_markup != $provider_id) {
                echo $provider_icon_markup;
            } else {
                ?>

		<a rel="nofollow" href="<?php 
                echo $authenticate_url;
                ?>
" title="<?php 
                echo sprintf(_wsl__("%s", 'wordpress-social-login'), $provider_name);
                ?>
" class="wp-social-login-provider wp-social-login-provider-<?php 
                echo strtolower($provider_id);
                ?>
" data-provider="<?php 
                echo $provider_id;
                ?>
">
			<?php 
                if ($social_icon_set == 'none') {
                    echo apply_filters('wsl_render_auth_widget_alter_provider_name', '' . $provider_name);
                } else {
                    ?>
<img alt="<?php 
                    echo $provider_name;
                    ?>
" title="<?php 
                    echo sprintf(_wsl__("%s", 'wordpress-social-login'), $provider_name);
                    ?>
" src="<?php 
                    echo $assets_base_url . strtolower($provider_id) . '.png';
                    ?>
" /><?php 
                }
                ?>
		</a>
<?php 
            }
            $no_idp_used = false;
        }
    }
    ?>
	<?php 
    // no provider enabled?
    if ($no_idp_used) {
        ?>
		<p style="background-color: #FFFFE0;border:1px solid #E6DB55;padding:5px;">
			<?php 
        _wsl_e('<strong>WordPress Social Login is not configured yet</strong>.<br />Please navigate to <strong>Settings &gt; WP Social Login</strong> to configure this plugin.<br />For more information, refer to the <a rel="nofollow" href="http://miled.github.io/wordpress-social-login">online user guide</a>.', 'wordpress-social-login');
        ?>
.
		</p>
		<style>#wp-social-login-connect-with{display:none;}</style>
<?php 
    }
    ?>

	</div>

	<div class="wp-social-login-widget-clearing"></div>

</div>

<?php 
    // provide popup url for hybridauth callback
    if ($wsl_settings_use_popup == 1) {
        ?>
<input type="hidden" id="wsl_popup_base_url" value="<?php 
        echo esc_url($authenticate_base_url);
        ?>
" />
<input type="hidden" id="wsl_login_form_uri" value="<?php 
        echo esc_url(site_url('wp-login.php', 'login_post'));
        ?>
" />

<?php 
    }
    // HOOKABLE: This action runs just after generating the WSL Widget.
    do_action('wsl_render_auth_widget_end');
    ?>
<!-- wsl_render_auth_widget -->

<?php 
    // Display WSL debugging area bellow the widget.
    // wsl_display_dev_mode_debugging_area(); // ! keep this line commented unless you know what you are doing :)
    return ob_get_clean();
}
/**
* Display a debugging area.
*
* This function is highly inspired by the Query Monitor.
* https://wordpress.org/plugins/query-monitor/
*
* Note: in order for this function to display the sql queries, 'SAVEQUERIES' should be defined as true in 'wp-config.php'
*/
function wsl_display_dev_mode_debugging_area($keyword = 'wsl_')
{
    global $wpdb, $wp_actions, $wp_filter;
    ?>
<style>
	.wsl-dev-nonselectsql {
		color: #a0a !important;
	}
	.wsl-dev-expensivesql {
		color: #f44 !important;
	}
	.wsl-dev-optionfunc {
		color: #4a4 !important;
	}
	.wsl-dev-wslfunc {
		color: #1468fa !important;
	}
	.wsl-dev-nonwslfunc {
		color: #a0a !important;
	}
	.wsl-dev-usedhook, .wsl-dev-usedhook a {
		color: #1468fa;
	}
	.wsl-dev-usedwslhook {
		color: #a0a !important;
	}
	.wsl-dev-unusedhook, .wsl-dev-unusedhook a{
		color: #a3a3a3 !important;
	}
	.wsl-dev-hookcallback, .wsl-dev-hookcallback a {
		color: #4a4 !important;
	}
	.wsl-dev-table {
		width:100%;
		border: 1px solid #e5e5e5;
		box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
		border-spacing: 0;
		clear: both;
		margin: 0;
		width: 100%;
	}
	.wsl-dev-table td, .wsl-dev-table th {
		border: 1px solid #dddddd;
		padding: 8px 10px;
		background-color: #fff;
		text-align: left;
	}
</style>

<?php 
    if (class_exists('Hybrid_Error', false) && Hybrid_Error::getApiError()) {
        ?>
			<h4>Provider API Error</h4>
			<table class="wsl-dev-table">
				<tr>
					<td>
						<?php 
        echo Hybrid_Error::getApiError();
        ?>
					</td>
				</tr>
			</table>
		<?php 
    }
    ?>

	<h4>SQL Queries</h4>
	<table class="wsl-dev-table">
		<tr>
			<td colspan="3">
				1. SAVEQUERIES should be defined and set to TRUE in order for the queries to show up (http://codex.wordpress.org/Editing_wp-config.php#Save_queries_for_analysis)
				<br />
				2. Calls for get_option() don't necessarily result on a query to the database. WP use both cache and wp_load_alloptions() to load all options at once. Hence, it won't be shown here.
			</td>
		</tr>
		<?php 
    $queries = $wpdb->queries;
    $total_wsl_queries = 0;
    $total_wsl_queries_time = 0;
    if ($queries) {
        foreach ($queries as $item) {
            $sql = trim($item[0]);
            $time = $item[1];
            $stack = $item[2];
            $sql = str_ireplace(array(' FROM ', ' WHERE ', ' LIMIT ', ' GROUP BY ', ' ORDER BY ', ' SET '), array("\n" . 'FROM ', "\n" . 'WHERE ', "\n" . 'LIMIT ', "\n" . 'GROUP BY ', "\n" . 'ORDER BY ', "\n" . 'SET '), $sql);
            # https://wordpress.org/plugins/query-monitor/
            $callers = explode(',', $stack);
            $caller = trim(end($callers));
            if (false !== strpos($caller, '(')) {
                $caller_name = substr($caller, 0, strpos($caller, '(')) . '()';
            } else {
                $caller_name = $caller;
            }
            if (stristr($caller_name, $keyword) || stristr($sql, $keyword) || stristr($stack, $keyword)) {
                ?>
							<tr>
								<td valign="top" width="450">
									<?php 
                if (stristr($caller_name, $keyword)) {
                    ?>
										<a href="https://github.com/hybridauth/WordPress-Social-Login/search?q=<?php 
                    echo $caller_name;
                    ?>
" target="_blank" class="wsl-dev-wslfunc"><?php 
                    echo $caller_name;
                    ?>
</a>
									<?php 
                } else {
                    ?>
										<a href="https://developer.wordpress.org/?s=<?php 
                    echo $caller_name;
                    ?>
" target="_blank" class="wsl-dev-nonwslfunc<?php 
                    if (stristr($caller_name, '_option')) {
                        echo "- wsl-dev-optionfunc";
                    }
                    ?>
"><?php 
                    echo $caller_name;
                    ?>
</a>
									<?php 
                }
                ?>

									<p style="font-size:11px; margin-left:10px">
										<?php 
                if (count($callers)) {
                    # God damn it
                    for ($i = count($callers) - 1; $i > 0; $i--) {
                        if (!stristr($callers[$i], '.php') && !stristr($callers[$i], 'call_user_func_')) {
                            echo "#{$i} &nbsp; " . $callers[$i] . '<br />';
                        }
                    }
                }
                ?>
									</p>
								</td>
								<td valign="top" class="<?php 
                if (!stristr('#' . $sql, '#select ')) {
                    echo 'wsl-dev-nonselectsql';
                }
                ?>
"><?php 
                echo nl2br($sql);
                ?>
</td>
								<td valign="top" width="50" nowrap class="<?php 
                if ($time > 0.05) {
                    echo 'wsl-dev-expensivesql';
                }
                ?>
"><?php 
                echo number_format($time, 4, '.', '');
                ?>
</td>
							</tr>
						<?php 
                $total_wsl_queries++;
                $total_wsl_queries_time += $time;
            }
        }
    }
    ?>
		<tr>
			<td colspan="2">Total SQL Queries by WSL : <?php 
    echo $total_wsl_queries;
    ?>
</td>
			<td width="50" nowrap><?php 
    echo number_format($total_wsl_queries_time, 4, '.', '');
    ?>
</td>
		</tr>
	</table>

	<h4>Hooks</h4>
	<table class="wsl-dev-table">
		<?php 
    if ($wp_actions) {
        foreach ($wp_actions as $name => $count) {
            if (isset($wp_filter[$name])) {
                $action = $wp_filter[$name];
                if ($action) {
                    foreach ($action as $priority => $callbacks) {
                        foreach ($callbacks as $callback) {
                            if (isset($callback['function']) && is_string($callback['function'])) {
                                if (stristr($callback['function'], $keyword) || stristr($name, $keyword)) {
                                    ?>
												<tr>
													<td valign="top" width="270" nowrap class="wsl-dev-usedhook">
														<?php 
                                    if (stristr($name, $keyword)) {
                                        ?>
																	<a class="wsl-dev-usedwslhook" href="https://github.com/hybridauth/WordPress-Social-Login/search?q=<?php 
                                        echo $name;
                                        ?>
" target="_blank"><?php 
                                        echo $name;
                                        ?>
</a>
																<?php 
                                    } else {
                                        echo $name;
                                    }
                                    ?>
													</td>
													<td valign="top" class="wsl-dev-hookcallback">
														<?php 
                                    if (stristr($callback['function'], $keyword)) {
                                        ?>
																	<a href="https://github.com/hybridauth/WordPress-Social-Login/search?q=<?php 
                                        echo $callback['function'];
                                        ?>
" target="_blank"><?php 
                                        echo $callback['function'];
                                        ?>
</a>
																<?php 
                                    } else {
                                        echo $callback['function'];
                                    }
                                    // I hit a record
                                    ?>
													</td>
													<td valign="top" width="50">
														<?php 
                                    echo $priority;
                                    ?>
													</td>
													<td valign="top" width="50">
														<?php 
                                    echo $callback['accepted_args'];
                                    ?>
													</td>
												</tr>
											<?php 
                                }
                            }
                        }
                    }
                }
            } elseif (stristr($name, $keyword)) {
                ?>
							<tr>
								<td valign="top" width="270" nowrap class="wsl-dev-unusedhook">
									<a href="https://github.com/hybridauth/WordPress-Social-Login/search?q=<?php 
                echo $name;
                ?>
" target="_blank"><?php 
                echo $name;
                ?>
</a>
								</td>
								<td></td>
								<td></td>
								<td></td>
							</tr>
						<?php 
            }
        }
    }
    ?>
	</table>

	<h4>PHP Session</h4>
	<table class="wsl-dev-table">
		<?php 
    foreach ($_SESSION as $k => $v) {
        ?>
			<tr><th width="270"><label><?php 
        echo $k;
        ?>
</label></th><td><?php 
        print_r($v);
        ?>
</td></tr>
		<?php 
    }
    ?>
		</tbody>
	</table>

	<h4>Wordpress</h4>
	<table class="wsl-dev-table">
		<tbody>
			<tr><th width="270"><label>Version</label></th><td><?php 
    echo get_bloginfo('version');
    ?>
</td></tr>
			<tr><th><label>Multi-site</label></th><td><?php 
    echo is_multisite() ? 'Yes' . "\n" : 'No';
    ?>
</td></tr>
			<tr><th><label>Site url</label></th><td><?php 
    echo site_url();
    ?>
</td></tr>
			<tr><th><label>Home url</label></th><td><?php 
    echo home_url();
    ?>
</td></tr>
			<tr><th><label>Plugins url</label></th><td><?php 
    echo plugins_url();
    ?>
</td></tr>
		</tbody>
	</table>

	<h4>WSL</h4>
	<table class="wsl-dev-table">
		<tbody>
			<tr><th width="270"><label>Version</label></th><td><?php 
    echo wsl_get_version();
    ?>
</td></tr>
			<tr><th><label>Plugin path</label></th><td><?php 
    echo WORDPRESS_SOCIAL_LOGIN_ABS_PATH;
    ?>
</td></tr>
			<tr><th><label>Plugin url</label></th><td><?php 
    echo WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL;
    ?>
</td></tr>
			<tr><th><label>HA endpoint</label></th><td><?php 
    echo WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL;
    ?>
</td></tr>
		</tbody>
	</table>

	<h4>Website</h4>
	<table class="wsl-dev-table">
		<tbody>
			<tr><th width="270"><label>IP</label></th><td><?php 
    echo $_SERVER['SERVER_ADDR'];
    ?>
</td></tr>
			<tr><th><label>Domain</label></th><td><?php 
    echo $_SERVER['HTTP_HOST'];
    ?>
</td></tr>
			<tr><th><label>Port</label></th><td><?php 
    echo isset($_SERVER['SERVER_PORT']) ? 'On (' . $_SERVER['SERVER_PORT'] . ')' : 'N/A';
    ?>
</td></tr>
			<tr><th><label>X Forward</label></th><td><?php 
    echo isset($_SERVER['HTTP_X_FORWARDED_PROTO']) ? 'On (' . $_SERVER['HTTP_X_FORWARDED_PROTO'] . ')' : 'N/A';
    ?>
</td></tr>
		</tbody>
	</table>

	<h4>Software</h4>
	<table class="wsl-dev-table">
		<tbody>
			<tr><th width="270"><label>Server</label></th><td><?php 
    echo $_SERVER['SERVER_SOFTWARE'];
    ?>
</td></tr>
			<tr><th><label>PHP</label></th><td><?php 
    echo PHP_VERSION;
    ?>
</td></tr>
			<tr><th><label>MySQL</label></th><td><?php 
    echo $wpdb->db_version();
    ?>
</td></tr>
			<tr><th><label>Time</label></th><td><?php 
    echo date(DATE_ATOM, time());
    ?>
 / <?php 
    echo time();
    ?>
</td></tr>
		</tbody>
	</table>

	<h4>MySQL</h4>
	<table class="wsl-dev-table">
		<tbody>
			<tr><th width="270"><label>Host</label></th><td><?php 
    echo $wpdb->dbhost;
    ?>
</td></tr>
			<tr><th><label>User</label></th><td><?php 
    echo $wpdb->dbuser;
    ?>
</td></tr>
			<tr><th><label>Database</label></th><td><?php 
    echo $wpdb->dbname;
    ?>
</td></tr>
			<tr><th><label>Prefix</label></th><td><?php 
    echo $wpdb->prefix;
    ?>
</td></tr>
			<tr><th><label>Base_prefix</label></th><td><?php 
    echo $wpdb->prefix;
    ?>
</td></tr>
			<tr><th><label>Num_queries</label></th><td><?php 
    echo $wpdb->num_queries;
    ?>
</td></tr>
		</tbody>
	</table>
<?php 
}
/**
* Renders wsl admin welcome panel
*/
function wsl_admin_welcome_panel()
{
    if (isset($_REQUEST["wsldwp"]) && (int) $_REQUEST["wsldwp"]) {
        $wsldwp = (int) $_REQUEST["wsldwp"];
        update_option("wsl_settings_welcome_panel_enabled", wsl_get_version());
        return;
    }
    // if new user or wsl updated, then we display wsl welcome panel
    if (get_option('wsl_settings_welcome_panel_enabled') == wsl_get_version()) {
        return;
    }
    $wslp = "networks";
    if (isset($_REQUEST["wslp"])) {
        $wslp = $_REQUEST["wslp"];
    }
    ?>
<!--
	if you want to know if a UI was made by developer, then here is a tip: he will always use tables

	//> wsl-w-panel is shamelessly borrowed and modified from wordpress welcome-panel
-->
<div id="wsl-w-panel">
	<a href="options-general.php?page=wordpress-social-login&wslp=<?php 
    echo $wslp;
    ?>
&wsldwp=1" id="wsl-w-panel-dismiss" <?php 
    if (is_rtl()) {
        echo 'style="left: 10px;right: auto;"';
    }
    ?>
><?php 
    _wsl_e("Dismiss", 'wordpress-social-login');
    ?>
</a>

	<table width="100%" border="0" style="margin:0;padding:0;">
		<tr>
			<td width="10" valign="top"></td>
			<td width="300" valign="top">
				<b style="font-size: 16px;"><?php 
    _wsl_e("Welcome!", 'wordpress-social-login');
    ?>
</b>
				<p>
					<?php 
    _wsl_e("If you are still new to WordPress Social Login, we have provided a few walkthroughs to get you started", 'wordpress-social-login');
    ?>
.
				</p>
			</td>
			<td width="40" valign="top"></td>
			<td width="260" valign="top">
				<br />
				<p>
					<b><?php 
    _wsl_e("Get Started", 'wordpress-social-login');
    ?>
</b>
				</p>
				<ul style="margin-left:25px;">
					<li><a href="http://miled.github.io/wordpress-social-login/overview.html" target="_blank"><?php 
    _wsl_e('Plugin Overview', 'wordpress-social-login');
    ?>
</a></li>
					<li><a href="http://miled.github.io/wordpress-social-login/networks.html" target="_blank"><?php 
    _wsl_e('Setup and Configuration', 'wordpress-social-login');
    ?>
</a></li>
					<li><a href="http://miled.github.io/wordpress-social-login/widget.html" target="_blank"><?php 
    _wsl_e('Customize WSL Widgets', 'wordpress-social-login');
    ?>
</a></li>
					<li><a href="http://miled.github.io/wordpress-social-login/userdata.html" target="_blank"><?php 
    _wsl_e('Manage users and contacts', 'wordpress-social-login');
    ?>
</a></li>
					<li><a href="http://miled.github.io/wordpress-social-login/documentation.html" target="_blank"><?php 
    _wsl_e('WSL Developer API', 'wordpress-social-login');
    ?>
</a></li>
				</ul>
			</td>
			<td width="" valign="top">
				<br />
				<p>
					<b><?php 
    echo sprintf(_wsl__("What's new on WSL %s", 'wordpress-social-login'), wsl_get_version());
    ?>
</b>
				</p>

				<ul style="margin-left:25px;">
					<li><?php 
    _wsl_e('...', 'wordpress-social-login');
    ?>
</li>
				</ul>
			</td>
		</tr>
		<tr id="wsl-w-panel-updates-tr">
			<td colspan="5" style="border-top:1px solid #ccc;" id="wsl-w-panel-updates-td">
				&nbsp;
			</td>
		</tr>
	</table>
</div>
<?php 
}
Beispiel #5
0
/**
* Renders wsl admin welcome panel
*/
function wsl_admin_welcome_panel()
{
    if (isset($_REQUEST["wsldwp"]) && (int) $_REQUEST["wsldwp"]) {
        $wsldwp = (int) $_REQUEST["wsldwp"];
        update_option("wsl_settings_welcome_panel_enabled", wsl_get_version());
        return;
    }
    // if new user or wsl updated, then we display wsl welcome panel
    if (get_option('wsl_settings_welcome_panel_enabled') == wsl_get_version()) {
        return;
    }
    $wslp = "networks";
    if (isset($_REQUEST["wslp"])) {
        $wslp = $_REQUEST["wslp"];
    }
    ?>
 
<!-- 
	if you want to know if a UI was made by developer, then here is a tip: he will always use tables

	//> wsl-w-panel is shamelessly borrowed and modified from wordpress welcome-panel
-->
<div id="wsl-w-panel">
	<a href="options-general.php?page=wordpress-social-login&wslp=<?php 
    echo $wslp;
    ?>
&wsldwp=1" id="wsl-w-panel-dismiss" <?php 
    if (is_rtl()) {
        echo 'style="left: 10px;right: auto;"';
    }
    ?>
><?php 
    _wsl_e("Dismiss", 'wordpress-social-login');
    ?>
</a>
	
	<table width="100%" border="0" style="margin:0;padding:0;">
		<tr>
			<td width="10" valign="top"></td>
			<td width="300" valign="top">
				<b style="font-size: 16px;"><?php 
    _wsl_e("Welcome!", 'wordpress-social-login');
    ?>
</b>
				<p>
					<?php 
    _wsl_e("If you are still new to WordPress Social Login, we have provided a few walkthroughs to get you started", 'wordpress-social-login');
    ?>
.
				</p>
			</td>
			<td width="40" valign="top"></td>
			<td width="260" valign="top">
				<br />
				<p>
					<b><?php 
    _wsl_e("Get Started", 'wordpress-social-login');
    ?>
</b>
				</p>
				<ul style="margin-left:25px;">
					<li><a href="http://miled.github.io/wordpress-social-login/overview.html" target="_blank"><?php 
    _wsl_e('Plugin Overview', 'wordpress-social-login');
    ?>
</a></li>
					<li><a href="http://miled.github.io/wordpress-social-login/networks.html" target="_blank"><?php 
    _wsl_e('Setup and Configuration', 'wordpress-social-login');
    ?>
</a></li>
					<li><a href="http://miled.github.io/wordpress-social-login/widget.html" target="_blank"><?php 
    _wsl_e('Customize WSL Widgets', 'wordpress-social-login');
    ?>
</a></li>
					<li><a href="http://miled.github.io/wordpress-social-login/userdata.html" target="_blank"><?php 
    _wsl_e('Manage users and contacts', 'wordpress-social-login');
    ?>
</a></li> 
					<li><a href="http://miled.github.io/wordpress-social-login/documentation.html" target="_blank"><?php 
    _wsl_e('WSL Developer API', 'wordpress-social-login');
    ?>
</a></li> 
				</ul>
			</td>
			<td width="" valign="top">
				<br />
				<p>
					<b><?php 
    echo sprintf(_wsl__("What's new on WSL %s", 'wordpress-social-login'), wsl_get_version());
    ?>
</b>
				</p>

				<ul style="margin-left:25px;">
					<li><?php 
    _wsl_e('WSL now support authentications through <a href="https://dribbble.com" target="_blank">Dribbble.com</a>. Hooray for fellow designers', 'wordpress-social-login');
    ?>
!</li> 
					<li><?php 
    _wsl_e('<a href="http://store.steampowered.com/" target="_blank">Steam</a> provider has been entirely reworked and now fully support the new Web API', 'wordpress-social-login');
    ?>
.</li> 
					<li><?php 
    _wsl_e('WSL admin interfaces have been reworked and can be now extended with hooks', 'wordpress-social-login');
    ?>
.</li> 
					<li><?php 
    _wsl_e('Profile completion form has received a visual update', 'wordpress-social-login');
    ?>
.</li>
					<li><?php 
    _wsl_e('Bouncer Membership level can be now set to any user role', 'wordpress-social-login');
    ?>
.</li>
					<li><?php 
    _wsl_e('WSL now provide an <a href="http://miled.github.io/wordpress-social-login/developer-api-apis.html" target="_blank">easier access</a> to social networks apis', 'wordpress-social-login');
    ?>
.</li>
					<li><?php 
    _wsl_e('Fix several stability issues', 'wordpress-social-login');
    ?>
.</li>
				</ul>
			</td>
		</tr>
		<tr id="wsl-w-panel-updates-tr">
			<td colspan="5" style="border-top:1px solid #ccc;" id="wsl-w-panel-updates-td">
				&nbsp;
			</td>
		</tr>
	</table> 
</div>
<?php 
}
function wsl_component_components_gallery()
{
    return;
    // ya men 3ach
    // HOOKABLE:
    do_action("wsl_component_components_gallery_start");
    $response = wp_remote_get('http://miled.github.io/wordpress-social-login/components-' . wsl_get_version() . '.json', array('timeout' => 15, 'sslverify' => false));
    if (!is_wp_error($response)) {
        $response = wp_remote_retrieve_body($response);
        $components = json_decode($response);
        if ($components) {
            ?>
 
<br />

<h2><?php 
            _wsl_e("Other Components available", 'wordpress-social-login');
            ?>
</h2>

<p><?php 
            _wsl_e("These components and add-ons can extend the functionality of WordPress Social Login", 'wordpress-social-login');
            ?>
.</p>

<?php 
            foreach ($components as $item) {
                $item = (array) $item;
                ?>
			<div class="wsl_component_div">
				<h3 style="margin:0px;"><?php 
                _wsl_e($item['name'], 'wordpress-social-login');
                ?>
</h3>
				
				<div class="wsl_component_about_div">
					<p>
						<?php 
                _wsl_e($item['description'], 'wordpress-social-login');
                ?>
						<br />
						<?php 
                echo sprintf(_wsl__('<em>By <a href="%s">%s</a></em>', 'wordpress-social-login'), $item['developer_link'], $item['developer_name']);
                ?>
					</p>
				</div>

				<a class="button button-secondary" href="<?php 
                echo $item['download_link'];
                ?>
" target="_blank"><?php 
                _wsl_e("Get this Component", 'wordpress-social-login');
                ?>
</a> 
			</div>	
		<?php 
            }
            ?>
 

<div class="wsl_component_div">
	<h3 style="margin:0px;"><?php 
            _wsl_e("Build yours", 'wordpress-social-login');
            ?>
</h3>

	<div class="wsl_component_about_div">
		<p><?php 
            _wsl_e("Want to build your own custom <b>WordPress Social Login</b> component? It's pretty easy. Just refer to the online developer documentation.", 'wordpress-social-login');
            ?>
</p>
	</div>

	<a class="button button-primary"   href="http://miled.github.io/wordpress-social-login/documentation.html" target="_blank"><?php 
            _wsl_e("WSL Developer API", 'wordpress-social-login');
            ?>
</a> 
	<a class="button button-secondary" href="http://miled.github.io/wordpress-social-login/submit-component.html" target="_blank"><?php 
            _wsl_e("Submit your WSL Component", 'wordpress-social-login');
            ?>
</a> 
</div>

<?php 
        }
    }
    // HOOKABLE:
    do_action("wsl_component_components_gallery_end");
}