make contact ssl_policy change a function since it is used in a few places

This commit is contained in:
friendica 2012-04-02 23:07:26 -07:00
parent f4721955db
commit 5d0d9f8772
4 changed files with 52 additions and 129 deletions

View file

@ -824,3 +824,48 @@ function scale_external_images($s,$include_link = true) {
}
return $s;
}
function fix_contact_ssl_policy(&$contact,$new_policy) {
$ssl_changed = false;
if((intval($new_policy) == SSL_POLICY_SELFSIGN || $new_policy === 'self') && strstr($contact['url'],'https:')) {
$ssl_changed = true;
$contact['url'] = str_replace('https:','http:',$contact['url']);
$contact['request'] = str_replace('https:','http:',$contact['request']);
$contact['notify'] = str_replace('https:','http:',$contact['notify']);
$contact['poll'] = str_replace('https:','http:',$contact['poll']);
$contact['confirm'] = str_replace('https:','http:',$contact['confirm']);
$contact['poco'] = str_replace('https:','http:',$contact['poco']);
}
if((intval($new_policy) == SSL_POLICY_FULL || $new_policy === 'full') && strstr($contact['url'],'http:')) {
$ssl_changed = true;
$contact['url'] = str_replace('http:','https:',$contact['url']);
$contact['request'] = str_replace('http:','https:',$contact['request']);
$contact['notify'] = str_replace('http:','https:',$contact['notify']);
$contact['poll'] = str_replace('http:','https:',$contact['poll']);
$contact['confirm'] = str_replace('http:','https:',$contact['confirm']);
$contact['poco'] = str_replace('http:','https:',$contact['poco']);
}
if($ssl_changed) {
q("update contact set
url = '%s',
request = '%s',
notify = '%s',
poll = '%s',
confirm = '%s',
poco = '%s'
where id = %d limit 1",
dbesc($contact['url']),
dbesc($contact['request']),
dbesc($contact['notify']),
dbesc($contact['poll']),
dbesc($contact['confirm']),
dbesc($contact['poco']),
intval($contact['id'])
);
}
}