Browse code

Always reset send notification toggle on news after processing, even if there were no selectable members

Benjamin Roth authored on13/12/2023 08:11:05
Showing1 changed files
... ...
@@ -80,11 +80,13 @@ class SendNewsNotificationJob
80 80
                         $Members = MemberModel::findBy(array("`groups` LIKE '%\"".$Groups->id."\"%'","(start='' OR start<='$time') AND (stop='' OR stop>'" . ($time + 60) . "') AND disable=''"),null);
81 81
 
82 82
                         // Send notification to each member
83
-                        if ($Members !== null)
83
+                        $arrNews = array();
84
+                        $arrNewsPlain = array();
85
+                        foreach ($News->iterateAssociative() as $item)
84 86
                         {
85
-                            $arrNews = array();
86
-                            $arrNewsPlain = array();
87
-                            foreach ($News->iterateAssociative() as $item)
87
+                            $arrNewsIds[] = $item['id'];
88
+
89
+                            if ($Members !== null)
88 90
                             {
89 91
                                 $strText = '';
90 92
                                 $objContentElement = ContentModel::findPublishedByPidAndTable($item['id'], 'tl_news');
... ...
@@ -106,7 +108,7 @@ class SendNewsNotificationJob
106 108
 
107 109
                                 if (($objJumpTo = $Archive->getRelated('jumpTo')) !== null)
108 110
                                 {
109
-//                                    $arrRow['url'] = $objJumpTo->getAbsoluteUrl(sprintf((Config::get('useAutoItem') ? '/%s' : '/items/%s'),$item['alias'])).'?ltoken=%%_TOKEN_%%';
111
+    //                                    $arrRow['url'] = $objJumpTo->getAbsoluteUrl(sprintf((Config::get('useAutoItem') ? '/%s' : '/items/%s'),$item['alias'])).'?ltoken=%%_TOKEN_%%';
110 112
                                     $arrRow['url'] = $objJumpTo->getAbsoluteUrl(sprintf((Config::get('useAutoItem') ? '/%s' : '/items/%s'),$item['alias']));
111 113
                                 }
112 114
 
... ...
@@ -117,33 +119,33 @@ class SendNewsNotificationJob
117 119
                                 $arrNewsFullPlain[] = date('d.m.Y',$item['date']).' - '.$item['headline'] . "\n" . $arrRow['text_plain'];
118 120
                                 $arrNewsFullHtml[] = '<div style="margin-bottom: 15px;"><h3>'.$arrRow['date'].' '.$arrRow['headline'].'</h3>' . $arrRow['text_html'] . ($arrRow['url'] ? '<p><a href="'.$arrRow['url'].'">&raquo; Ganze Nachricht lesen...</a></p>' : '') .'</div>';
119 121
 
120
-                                $arrNewsIds[] = $item['id'];
121
-                            }
122
-                            while ($Members->next())
123
-                            {
124
-                                if (!$Members->nc_news_subscribe)
122
+                                while ($Members->next())
125 123
                                 {
126
-                                    continue;
127
-                                }
124
+                                    if (!$Members->nc_news_subscribe)
125
+                                    {
126
+                                        continue;
127
+                                    }
128 128
 
129
-                                //$strToken = \TokenLogin::getOrRenewUserToken($Members->current());
130
-                                $strToken = '';
131
-
132
-                                $Notification->send(array
133
-                                (
134
-                                    'member_email'      => $Members->email.($Members->nc_news_additionalEmail ? ','.$Members->nc_news_additionalEmail : ''),
135
-                                    'member_firstname' => $Members->firstname,
136
-                                    'member_lastname' => $Members->lastname,
137
-                                    'news_topics'       => implode("\n",$arrNewsPlain),
138
-                                    'news_topics_html'  => "<ul>\n<li>".str_replace('%%_TOKEN_%%',$strToken,implode("</li>\n<li>",$arrNewsHtml))."</li>\n</ul>",
139
-                                    'news_full' => implode("\n",$arrNewsFullPlain),
140
-                                    'news_full_html' => implode("",$arrNewsFullHtml),
141
-                                    'member_login_token'  => $strToken,
142
-                                    'admin_email'  => $admin_email,
143
-                                ),
144
-                                    $GLOBALS['TL_LANGUAGE']);
129
+                                    //$strToken = \TokenLogin::getOrRenewUserToken($Members->current());
130
+                                    $strToken = '';
131
+
132
+                                    $Notification->send(array
133
+                                    (
134
+                                        'member_email'      => $Members->email.($Members->nc_news_additionalEmail ? ','.$Members->nc_news_additionalEmail : ''),
135
+                                        'member_firstname' => $Members->firstname,
136
+                                        'member_lastname' => $Members->lastname,
137
+                                        'news_topics'       => implode("\n",$arrNewsPlain),
138
+                                        'news_topics_html'  => "<ul>\n<li>".str_replace('%%_TOKEN_%%',$strToken,implode("</li>\n<li>",$arrNewsHtml))."</li>\n</ul>",
139
+                                        'news_full' => implode("\n",$arrNewsFullPlain),
140
+                                        'news_full_html' => implode("",$arrNewsFullHtml),
141
+                                        'member_login_token'  => $strToken,
142
+                                        'admin_email'  => $admin_email,
143
+                                    ),
144
+                                        $GLOBALS['TL_LANGUAGE']);
145
+                                }
145 146
                             }
146 147
                         }
148
+
147 149
                     }
148 150
 
149 151
                     // Flag news as sent