@@ -130,13 +130,14 @@ public function getAlerts($idSites, $ifSuperUserReturnAllAlerts = false)
130130 * @param bool|string $reportValue
131131 * @param array $reportMediums
132132 * @param string $slackChannelID
133+ * @param string $msTeamsWebhookUrl
133134 * @return int ID of new Alert
134135 */
135- public function addAlert ($ name , $ idSites , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ metric , $ metricCondition , $ metricValue , $ comparedTo , $ reportUniqueId , $ reportCondition = false , $ reportValue = false , array $ reportMediums = [], string $ slackChannelID = '' )
136+ public function addAlert ($ name , $ idSites , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ metric , $ metricCondition , $ metricValue , $ comparedTo , $ reportUniqueId , $ reportCondition = false , $ reportValue = false , array $ reportMediums = [], string $ slackChannelID = '' , string $ msTeamsWebhookUrl = '' )
136137 {
137138 $ idSites = Site::getIdSitesFromIdSitesString ($ idSites );
138139
139- $ this ->checkAlert ($ idSites , $ name , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ slackChannelID , $ metricCondition , $ metric , $ comparedTo , $ reportCondition , $ reportUniqueId , $ reportMediums );
140+ $ this ->checkAlert ($ idSites , $ name , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ slackChannelID , $ msTeamsWebhookUrl , $ metricCondition , $ metric , $ comparedTo , $ reportCondition , $ reportUniqueId , $ reportMediums );
140141
141142 $ name = Common::unsanitizeInputValue ($ name );
142143 $ login = Piwik::getCurrentUserLogin ();
@@ -148,7 +149,7 @@ public function addAlert($name, $idSites, $period, $emailMe, $additionalEmails,
148149
149150 $ metricValue = Common::forceDotAsSeparatorForDecimalPoint ((float )$ metricValue );
150151
151- return $ this ->getModel ()->createAlert ($ name , $ idSites , $ login , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ metric , $ metricCondition , $ metricValue , $ comparedTo , $ reportUniqueId , $ reportCondition , $ reportValue , $ reportMediums , $ slackChannelID );
152+ return $ this ->getModel ()->createAlert ($ name , $ idSites , $ login , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ metric , $ metricCondition , $ metricValue , $ comparedTo , $ reportUniqueId , $ reportCondition , $ reportValue , $ reportMediums , $ slackChannelID, $ msTeamsWebhookUrl );
152153 }
153154
154155 private function filterAdditionalEmails ($ additionalEmails )
@@ -182,13 +183,14 @@ private function filterPhoneNumbers($phoneNumbers)
182183 return array_values ($ phoneNumbers );
183184 }
184185
185- private function checkAlert ($ idSites , $ name , $ period , &$ emailMe , &$ additionalEmails , &$ phoneNumbers , &$ slackChannelID , $ metricCondition , $ metricValue , $ comparedTo , $ reportCondition , $ reportUniqueId , $ reportMediums )
186+ private function checkAlert ($ idSites , $ name , $ period , &$ emailMe , &$ additionalEmails , &$ phoneNumbers , &$ slackChannelID , & $ msTeamsWebhookUrl , $ metricCondition , $ metricValue , $ comparedTo , $ reportCondition , $ reportUniqueId , $ reportMediums )
186187 {
187188 Piwik::checkUserHasViewAccess ($ idSites );
188189 $ additionalEmails = in_array ('email ' , $ reportMediums ) ? $ this ->filterAdditionalEmails ($ additionalEmails ) : [];
189190 $ phoneNumbers = in_array ('mobile ' , $ reportMediums ) ? $ this ->filterPhoneNumbers ($ phoneNumbers ) : [];
190191 $ emailMe = in_array ('email ' , $ reportMediums ) && $ emailMe ;
191192 $ slackChannelID = in_array ('slack ' , $ reportMediums ) ? $ slackChannelID : '' ;
193+ $ msTeamsWebhookUrl = in_array ('teams ' , $ reportMediums ) ? $ msTeamsWebhookUrl : '' ;
192194
193195 $ this ->validator ->checkName ($ name );
194196 $ this ->validator ->checkPeriod ($ period );
@@ -227,17 +229,18 @@ private function checkAlert($idSites, $name, $period, &$emailMe, &$additionalEma
227229 * @param bool|string $reportValue
228230 * @param array $reportMediums
229231 * @param string $slackChannelID
232+ * @param string $msTeamsWebhookUrl
230233 *
231234 * @return boolean
232235 */
233- public function editAlert ($ idAlert , $ name , $ idSites , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ metric , $ metricCondition , $ metricValue , $ comparedTo , $ reportUniqueId , $ reportCondition = false , $ reportValue = false , array $ reportMediums = [], string $ slackChannelID = '' )
236+ public function editAlert ($ idAlert , $ name , $ idSites , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ metric , $ metricCondition , $ metricValue , $ comparedTo , $ reportUniqueId , $ reportCondition = false , $ reportValue = false , array $ reportMediums = [], string $ slackChannelID = '' , string $ msTeamsWebhookUrl = '' )
234237 {
235238 // make sure alert exists and user has permission to read
236239 $ this ->getAlert ($ idAlert );
237240
238241 $ idSites = Site::getIdSitesFromIdSitesString ($ idSites );
239242
240- $ this ->checkAlert ($ idSites , $ name , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ slackChannelID , $ metricCondition , $ metric , $ comparedTo , $ reportCondition , $ reportUniqueId , $ reportMediums );
243+ $ this ->checkAlert ($ idSites , $ name , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ slackChannelID , $ msTeamsWebhookUrl , $ metricCondition , $ metric , $ comparedTo , $ reportCondition , $ reportUniqueId , $ reportMediums );
241244
242245 $ name = Common::unsanitizeInputValue ($ name );
243246
@@ -248,7 +251,7 @@ public function editAlert($idAlert, $name, $idSites, $period, $emailMe, $additio
248251
249252 $ metricValue = Common::forceDotAsSeparatorForDecimalPoint ((float )$ metricValue );
250253
251- return $ this ->getModel ()->updateAlert ($ idAlert , $ name , $ idSites , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ metric , $ metricCondition , $ metricValue , $ comparedTo , $ reportUniqueId , $ reportCondition , $ reportValue , $ reportMediums , $ slackChannelID );
254+ return $ this ->getModel ()->updateAlert ($ idAlert , $ name , $ idSites , $ period , $ emailMe , $ additionalEmails , $ phoneNumbers , $ metric , $ metricCondition , $ metricValue , $ comparedTo , $ reportUniqueId , $ reportCondition , $ reportValue , $ reportMediums , $ slackChannelID, $ msTeamsWebhookUrl );
252255 }
253256
254257 /**
0 commit comments