X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fnotifier.php;h=7221fa376db154eba4656d2e4f1049cade18ab36;hb=8039ad0e2318c28a22f87c31dbbdb3165f1ef058;hp=cfe4e184120cb7c5307e537782e0ba87db14a2e5;hpb=668da905e2b3a096ed5b5059cbaec587fa113d23;p=friendica.git diff --git a/include/notifier.php b/include/notifier.php index cfe4e18412..7221fa376d 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -134,7 +134,7 @@ function notifier_run(&$argv, &$argc){ } elseif($cmd === 'removeme') { $r = q("SELECT `contact`.*, `user`.`pubkey` AS `upubkey`, `user`.`prvkey` AS `uprvkey`, `user`.`timezone`, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`, - `user`.`page-flags`, `user`.`prvnets`, `user`.`guid` + `user`.`page-flags`, `user`.`prvnets`, `user`.`account-type`, `user`.`guid` FROM `contact` INNER JOIN `user` ON `user`.`uid` = `contact`.`uid` WHERE `contact`.`uid` = %d AND `contact`.`self` LIMIT 1", intval($item_id)); @@ -170,7 +170,7 @@ function notifier_run(&$argv, &$argc){ intval($item_id) ); - if((! count($r)) || (! intval($r[0]['parent']))) { + if((! dbm::is_result($r)) || (! intval($r[0]['parent']))) { return; } @@ -204,13 +204,13 @@ function notifier_run(&$argv, &$argc){ $r = q("SELECT `contact`.*, `user`.`pubkey` AS `upubkey`, `user`.`prvkey` AS `uprvkey`, `user`.`timezone`, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`, - `user`.`page-flags`, `user`.`prvnets` + `user`.`page-flags`, `user`.`prvnets`, `user`.`account-type` FROM `contact` INNER JOIN `user` ON `user`.`uid` = `contact`.`uid` WHERE `contact`.`uid` = %d AND `contact`.`self` = 1 LIMIT 1", intval($uid) ); - if(! count($r)) + if(! dbm::is_result($r)) return; $owner = $r[0]; @@ -321,7 +321,7 @@ function notifier_run(&$argv, &$argc){ intval($uid), dbesc(NETWORK_DFRN) ); - if(count($r)) + if (dbm::is_result($r)) foreach($r as $rr) $recipients_followup[] = $rr['id']; } @@ -445,7 +445,7 @@ function notifier_run(&$argv, &$argc){ $r = q("SELECT * FROM `contact` WHERE `id` IN ($conversant_str) AND NOT `blocked` AND NOT `pending` AND NOT `archive`".$sql_extra); - if(count($r)) + if (dbm::is_result($r)) $contacts = $r; } else @@ -463,7 +463,7 @@ function notifier_run(&$argv, &$argc){ intval($uid), dbesc(NETWORK_MAIL) ); - if(count($r)) { + if (dbm::is_result($r)) { foreach($r as $rr) $recipients[] = $rr['id']; } @@ -491,7 +491,7 @@ function notifier_run(&$argv, &$argc){ // delivery loop - if(count($r)) { + if (dbm::is_result($r)) { foreach($r as $contact) { if(!$contact['self']) { @@ -575,7 +575,7 @@ function notifier_run(&$argv, &$argc){ $r0 = array(); $r1 = q("SELECT DISTINCT(`batch`), `id`, `name`,`network` FROM `contact` WHERE `network` = '%s' - AND `uid` = %d AND `rel` != %d group by `batch` ORDER BY rand() ", + AND `uid` = %d AND `rel` != %d AND NOT `blocked` AND NOT `pending` AND NOT `archive` GROUP BY `batch` ORDER BY rand()", dbesc(NETWORK_DIASPORA), intval($owner['uid']), intval(CONTACT_IS_SHARING) @@ -592,17 +592,17 @@ function notifier_run(&$argv, &$argc){ $r = array_merge($r2,$r1,$r0); - if(count($r)) { + if (dbm::is_result($r)) { logger('pubdeliver '.$target_item["guid"].': '.print_r($r,true), LOGGER_DEBUG); // throw everything into the queue in case we get killed foreach($r as $rr) { if((! $mail) && (! $fsuggest) && (! $followup)) { - q("insert into deliverq ( `cmd`,`item`,`contact` ) values ('%s', %d, %d )", - dbesc($cmd), - intval($item_id), - intval($rr['id']) + q("INSERT INTO `deliverq` (`cmd`,`item`,`contact`) VALUES ('%s', %d, %d) + ON DUPLICATE KEY UPDATE `cmd` = '%s', `item` = %d, `contact` = %d", + dbesc($cmd), intval($item_id), intval($rr['id']), + dbesc($cmd), intval($item_id), intval($rr['id']) ); } } @@ -642,8 +642,8 @@ function notifier_run(&$argv, &$argc){ if ($h === '[internal]') { // Set push flag for PuSH subscribers to this topic, // they will be notified in queue.php - q("UPDATE `push_subscriber` SET `push` = 1 " . - "WHERE `nickname` = '%s'", dbesc($owner['nickname'])); + q("UPDATE `push_subscriber` SET `push` = 1 ". + "WHERE `nickname` = '%s' AND `push` = 0", dbesc($owner['nickname'])); logger('Activating internal PuSH for item '.$item_id, LOGGER_DEBUG);