OpenID delegation degrade gracefully if database table is not updated.
This commit is contained in:
parent
e47a816a8f
commit
68868fd74b
2 changed files with 21 additions and 16 deletions
|
@ -20,24 +20,24 @@ function profile_init(&$a) {
|
||||||
|
|
||||||
if (!get_config('system','no_openid') && $a->profile['openid']!=""){
|
if (!get_config('system','no_openid') && $a->profile['openid']!=""){
|
||||||
if (!isset($a->profile['openidserver'])){
|
if (!isset($a->profile['openidserver'])){
|
||||||
die('friendika user table must be updated. `openidserver` field is missing');
|
logger('friendika user table must be updated. `openidserver` field is missing');
|
||||||
|
} else {
|
||||||
|
if ($a->profile['openidserver']==''){
|
||||||
|
require_once('library/openid.php');
|
||||||
|
$openid = new LightOpenID;
|
||||||
|
$openid->identity = $a->profile['openid'];
|
||||||
|
$a->profile['openidserver'] = $openid->discover($openid->identity);
|
||||||
|
|
||||||
|
q("UPDATE `user` SET `openidserver` = '%s' WHERE `uid` = %d LIMIT 1",
|
||||||
|
dbesc($a->profile['openidserver']),
|
||||||
|
intval($a->profile['uid'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$a->page['htmlhead'] .= '<link rel="openid.server" href="'.$a->profile['openidserver'].'" />'. "\r\n";
|
||||||
|
$a->page['htmlhead'] .= '<link rel="openid.delegate" href="'.$a->profile['openid'].'" />'. "\r\n";
|
||||||
}
|
}
|
||||||
if ($a->profile['openidserver']==''){
|
|
||||||
require_once('library/openid.php');
|
|
||||||
$openid = new LightOpenID;
|
|
||||||
$openid->identity = $a->profile['openid'];
|
|
||||||
$a->profile['openidserver'] = $openid->discover($openid->identity);
|
|
||||||
|
|
||||||
q("UPDATE `user` SET `openidserver` = '%s' WHERE `uid` = %d LIMIT 1",
|
|
||||||
dbesc($a->profile['openidserver']),
|
|
||||||
intval($a->profile['uid'])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$a->page['htmlhead'] .= '<link rel="openid.server" href="'.$a->profile['openidserver'].'" />'. "\r\n";
|
|
||||||
$a->page['htmlhead'] .= '<link rel="openid.delegate" href="'.$a->profile['openid'].'" />'. "\r\n";
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,7 +109,12 @@ function settings_post(&$a) {
|
||||||
$str_group_deny = perms2str($_POST['group_deny']);
|
$str_group_deny = perms2str($_POST['group_deny']);
|
||||||
$str_contact_deny = perms2str($_POST['contact_deny']);
|
$str_contact_deny = perms2str($_POST['contact_deny']);
|
||||||
|
|
||||||
$r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `theme` = '%s', `maxreq` = %d WHERE `uid` = %d LIMIT 1",
|
$openidserver="";
|
||||||
|
if ($openid != $a->user['openid'] && isset($a->user['openidserver'])){
|
||||||
|
$openidserver = ", `openidserver` = ''";
|
||||||
|
}
|
||||||
|
|
||||||
|
$r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `theme` = '%s', `maxreq` = %d".$openidserver." WHERE `uid` = %d LIMIT 1",
|
||||||
dbesc($username),
|
dbesc($username),
|
||||||
dbesc($email),
|
dbesc($email),
|
||||||
dbesc($openid),
|
dbesc($openid),
|
||||||
|
|
Loading…
Reference in a new issue