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 (!isset($a->profile['openidserver'])){
|
||||
die('friendika user table must be updated. `openidserver` field is missing');
|
||||
}
|
||||
if ($a->profile['openidserver']==''){
|
||||
require_once('library/openid.php');
|
||||
$openid = new LightOpenID;
|
||||
$openid->identity = $a->profile['openid'];
|
||||
$a->profile['openidserver'] = $openid->discover($openid->identity);
|
||||
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'])
|
||||
);
|
||||
}
|
||||
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";
|
||||
|
||||
$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_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($email),
|
||||
dbesc($openid),
|
||||
|
|
Loading…
Reference in a new issue