diff options
author | Simon L'nu <simon.lnu@gmail.com> | 2012-03-15 01:02:44 -0400 |
---|---|---|
committer | Simon L'nu <simon.lnu@gmail.com> | 2012-03-15 01:02:44 -0400 |
commit | 6e133e75c3ed12a4637d9cc946b1cb838619b9cc (patch) | |
tree | 44eb74a6943ecc26a795f136e79d653c39955d63 /mod/dfrn_notify.php | |
parent | ebccf13c4c883e1438f4446d6aeba070ce6ee967 (diff) | |
parent | b06c5983a4dae26dd24aecd7473bad98558cd6fc (diff) | |
download | volse-hubzilla-6e133e75c3ed12a4637d9cc946b1cb838619b9cc.tar.gz volse-hubzilla-6e133e75c3ed12a4637d9cc946b1cb838619b9cc.tar.bz2 volse-hubzilla-6e133e75c3ed12a4637d9cc946b1cb838619b9cc.zip |
Merge branch 'master', remote-tracking branch 'remotes/upstream/master'
* remotes/upstream/master:
don't allow multiple friends with http/https same person, don't show mail2 coming soon unless person is allowed to have email contacts
roll protocol version due to ssl_policy settings
force login to ssl on SSL_POLICY_SELFSIGN
basic ssl_policy for important modules
ssl_policy stuff
revup
splitted tests into several files
removed done TODO
get_tags tests corrected. They test for the right things now.
addon settings form error
more work on filer, comment level and file tag removal
added slack-NS, non-scrolly, slackr-based theme.
get tags test improved
splitted test cases.
changed a test string
added some tests
added library and include to .htaccess
excludes reports from git
better tests
added test blueprints, fixed? encoding issues
* master:
Diffstat (limited to 'mod/dfrn_notify.php')
-rwxr-xr-x | mod/dfrn_notify.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php index 0c0c27e3d..3dbdc5b32 100755 --- a/mod/dfrn_notify.php +++ b/mod/dfrn_notify.php @@ -14,6 +14,7 @@ function dfrn_notify_post(&$a) { $key = ((x($_POST,'key')) ? $_POST['key'] : ''); $dissolve = ((x($_POST,'dissolve')) ? intval($_POST['dissolve']) : 0); $perm = ((x($_POST,'perm')) ? notags(trim($_POST['perm'])) : 'r'); + $ssl_policy = ((x($_POST,'ssl_policy')) ? notags(trim($_POST['ssl_policy'])): 'none'); $writable = (-1); if($dfrn_version >= 2.21) { @@ -94,6 +95,65 @@ function dfrn_notify_post(&$a) { $importer['writable'] = $writable; } + // if contact's ssl policy changed, update our links + + $ssl_changed = false; + + if($ssl_policy == 'self' && strstr($importer['url'],'https:')) { + $ssl_changed = true; + $importer['url'] = str_replace('https:','http:',$importer['url']); + $importer['nurl'] = normalise_link($importer['url']); + $importer['photo'] = str_replace('https:','http:',$importer['photo']); + $importer['thumb'] = str_replace('https:','http:',$importer['thumb']); + $importer['micro'] = str_replace('https:','http:',$importer['micro']); + $importer['request'] = str_replace('https:','http:',$importer['request']); + $importer['notify'] = str_replace('https:','http:',$importer['notify']); + $importer['poll'] = str_replace('https:','http:',$importer['poll']); + $importer['confirm'] = str_replace('https:','http:',$importer['confirm']); + $importer['poco'] = str_replace('https:','http:',$importer['poco']); + } + + if($ssl_policy == 'full' && strstr($importer['url'],'http:')) { + $ssl_changed = true; + $importer['url'] = str_replace('http:','https:',$importer['url']); + $importer['nurl'] = normalise_link($importer['url']); + $importer['photo'] = str_replace('http:','https:',$importer['photo']); + $importer['thumb'] = str_replace('http:','https:',$importer['thumb']); + $importer['micro'] = str_replace('http:','https:',$importer['micro']); + $importer['request'] = str_replace('http:','https:',$importer['request']); + $importer['notify'] = str_replace('http:','https:',$importer['notify']); + $importer['poll'] = str_replace('http:','https:',$importer['poll']); + $importer['confirm'] = str_replace('http:','https:',$importer['confirm']); + $importer['poco'] = str_replace('http:','https:',$importer['poco']); + } + + if($ssl_changed) { + q("update contact set + url = '%s', + nurl = '%s', + photo = '%s', + thumb = '%s', + micro = '%s', + request = '%s', + notify = '%s', + poll = '%s', + confirm = '%s', + poco = '%s' + where id = %d limit 1", + dbesc($importer['url']), + dbesc($importer['nurl']), + dbesc($importer['photo']), + dbesc($importer['thumb']), + dbesc($importer['micro']), + dbesc($importer['request']), + dbesc($importer['notify']), + dbesc($importer['poll']), + dbesc($importer['confirm']), + dbesc($importer['poco']), + intval($importer['id']) + ); + } + logger('dfrn_notify: received notify from ' . $importer['name'] . ' for ' . $importer['username']); logger('dfrn_notify: data: ' . $data, LOGGER_DATA); |