aboutsummaryrefslogtreecommitdiffstats
path: root/include/zot.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/zot.php')
-rw-r--r--include/zot.php42
1 files changed, 40 insertions, 2 deletions
diff --git a/include/zot.php b/include/zot.php
index 0bd575b94..001088f6a 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -313,13 +313,15 @@ function zot_refresh($them,$channel = null) {
$r = q("delete from xprof where xprof_hash = '%s' limit 1",
dbesc($x['hash'])
);
+ $r = q("delete from xtag where xtag_hash = '%s' limit 1",
+ dbesc($x['hash'])
+ );
}
}
}
return true;
}
return false;
-
}
@@ -926,7 +928,9 @@ function process_mail_delivery($sender,$arr,$deliveries) {
}
function process_profile_delivery($sender,$arr,$deliveries) {
- // deliveries is irrelevant
+
+ // deliveries is irrelevant, what to do about birthday notification....?
+
import_directory_profile($sender['hash'],$arr);
}
@@ -950,6 +954,7 @@ function import_directory_profile($hash,$profile) {
$clean = array();
if(array_key_exists('keywords',$profile) and is_array($profile['keywords'])) {
+ import_directory_keywords($hash,$profile['keywords']);
foreach($profile['keywords'] as $kw) {
$kw = trim(htmlentities($kw,ENT_COMPAT,'UTF-8'));
}
@@ -1007,3 +1012,36 @@ function import_directory_profile($hash,$profile) {
return;
}
+function import_directory_keywords($hash,$keywords) {
+
+ $existing = array();
+ $r = q("select * from xtag where xtag_hash = '%s'",
+ dbesc($hash)
+ );
+
+ if($r) {
+ foreach($r as $rr)
+ $existing[] = $rr['xtag_term'];
+ }
+
+ $clean = array();
+ foreach($keywords as $kw) {
+ $kw = trim(htmlentities($kw,ENT_COMPAT,'UTF-8'));
+ $clean[] = $kw;
+ }
+
+ foreach($existing as $x) {
+ if(! in_array($x,$clean))
+ $r = q("delete from xtag where xtag_hash = '%s' and xtag_term = '%s' limit 1",
+ dbesc($hash),
+ dbesc($x)
+ );
+ }
+ foreach($clean as $x) {
+ if(! in_array($x,$existing))
+ $r = q("insert int xtag ( xtag_hash, xtag_term) values ( '%s' ,'%s' )",
+ dbesc($hash),
+ dbesc($x)
+ );
+ }
+} \ No newline at end of file