]> git.mxchange.org Git - friendica.git/blobdiff - include/notifier.php
Merge remote-tracking branch 'friendica/develop' into develop
[friendica.git] / include / notifier.php
index 5f700ee71632b96975f058f53d8534d18dc59ca3..7221fa376db154eba4656d2e4f1049cade18ab36 100644 (file)
@@ -54,8 +54,6 @@ function notifier_run(&$argv, &$argc){
                        unset($db_host, $db_user, $db_pass, $db_data);
        }
 
-       $a->start_process();
-
        require_once("include/session.php");
        require_once("include/datetime.php");
        require_once('include/items.php');
@@ -136,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));
@@ -172,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;
                }
 
@@ -206,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];
@@ -323,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'];
                                }
@@ -447,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
@@ -465,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'];
                        }
@@ -493,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']) {
@@ -577,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)
@@ -594,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'])
                                        );
                                }
                        }