forked from friendica/friendica-addons
rembemberoid: save openid url in cookie on user request and use it to automatically login
This commit is contained in:
parent
02483e4c94
commit
266eba9aea
44
rememberoid/rememberoid.php
Normal file
44
rememberoid/rememberoid.php
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Name: Remember OpenID Login
|
||||||
|
* Description: Autologin with last openid used
|
||||||
|
* Version: 1.0
|
||||||
|
* Author: Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
function rememberoid_install(){
|
||||||
|
register_hook('init_1','addon/rememberoid/rememberoid.php','rememberoid_init');
|
||||||
|
register_hook('logging_out','addon/rememberoid/rememberoid.php','rememberoid_logout');
|
||||||
|
register_hook('login_hook','addon/rememberoid/rememberoid.php','rememberoid_form');
|
||||||
|
}
|
||||||
|
|
||||||
|
function rememberoid_uninstall(){
|
||||||
|
unregister_hook('init_1','addon/rememberoid/rememberoid.php','rememberoid_init');
|
||||||
|
unregister_hook('logging_out','addon/rememberoid/rememberoid.php','rememberoid_logout');
|
||||||
|
unregister_hook('login_hook','addon/rememberoid/rememberoid.php','rememberoid_form');
|
||||||
|
}
|
||||||
|
|
||||||
|
function rememberoid_init(&$a) {
|
||||||
|
if (x($_COOKIE, "remember_oid") && !x($_SESSION['openid']) && !x($_SESSION,'authenticated') && !x($_POST,'auth-params') && $a->module === 'home' ){
|
||||||
|
$_POST['openid_url'] = $_COOKIE["remember_oid"];
|
||||||
|
$_POST['auth-params'] = 1;
|
||||||
|
}
|
||||||
|
if (x($_POST,'auth-params') && $_POST['openid_url'] && $_POST['openid_url']!="" && $_POST['remember_oid']){
|
||||||
|
setcookie('remember_oid', $_POST['openid_url'], time()+60*60*24*30, "/");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function rememberoid_logout(&$a) {
|
||||||
|
setcookie("rembember_oid", "", time()-3600);
|
||||||
|
}
|
||||||
|
|
||||||
|
function rememberoid_form(&$a, &$o){
|
||||||
|
$tpl = get_markup_template("field_checkbox.tpl");
|
||||||
|
$html = replace_macros($tpl, array(
|
||||||
|
'$field' => array('remember_oid', t("Autologin with this OpenId"), false,''),
|
||||||
|
));
|
||||||
|
|
||||||
|
$o = preg_replace("|<div *id=[\"']login_openid[\"']>|", "<div id='login_openid'>".$html, $o);
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue