diff options
author | redmatrix <redmatrix@redmatrix.me> | 2015-10-06 20:30:49 -0700 |
---|---|---|
committer | redmatrix <redmatrix@redmatrix.me> | 2015-10-06 20:30:49 -0700 |
commit | c76da2e77d55ab6632e90c60e3a6ba0b2ffdd167 (patch) | |
tree | 540c860f0a5ad0ae4e6318bdb17b4d03851ff5f7 | |
parent | 95d6d2644f25b208ce087ed48578be580973745e (diff) | |
download | volse-hubzilla-c76da2e77d55ab6632e90c60e3a6ba0b2ffdd167.tar.gz volse-hubzilla-c76da2e77d55ab6632e90c60e3a6ba0b2ffdd167.tar.bz2 volse-hubzilla-c76da2e77d55ab6632e90c60e3a6ba0b2ffdd167.zip |
functions to update urls in items when doing migrations
-rw-r--r-- | include/text.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/include/text.php b/include/text.php index b1af62fc5..205736502 100644 --- a/include/text.php +++ b/include/text.php @@ -2564,3 +2564,47 @@ function str_rot47($str) { '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~', 'PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO'); } + + +function string_replace($old,$new,&$s) { + + $x = str_replace($old,$new,$s); + $replaced = false; + if($x !== $s) { + $replaced = true; + } + $s = $x; + return $replaced; +} + + +function json_url_replace($old,$new,&$s) { + + $old = str_replace('/','\\/',$old); + $new = str_replace('/','\\/',$new); + + $x = str_replace($old,$new,$s); + $replaced = false; + if($x !== $s) { + $replaced = true; + } + $s = $x; + return $replaced; +} + + +function item_url_replace($channel,&$item,$old,$new) { + + if($item['attach']) + json_url_replace($old,$new,$item['attach']); + if($item['object']) + json_url_replace($old,$new,$item['object']); + if($item['target']) + json_url_replace($old,$new,$item['target']); + + if(string_replace($old,$new,$item['body'])) { + $item['sig'] = base64url_encode(rsa_sign($item['body'],$channel['channel_prvkey'])); + $item['item_verified'] = 1; + } + +}
\ No newline at end of file |