public static function sendNotificationToAdmin($args) { list($idsite, $idvisitor, $message) = $args; $visitorInfo = ChatPersonnalInformation::get($idvisitor); $subject = "New message on " . ChatSite::getSiteName($idsite); $mail = new Mail(); $mail->setFrom(Config::getInstance()->General['noreply_email_address'], "Piwik Chat"); $mail->setSubject($subject); $mail->setBodyHtml("Name : " . $visitorInfo['name'] . "<br />\n Email : " . $visitorInfo['email'] . "<br />\n Phone : " . $visitorInfo['phone'] . "<br />\n Comments : " . $visitorInfo['comments'] . "<br />\n <br /><br />\n Message:<br />{$message}"); foreach (ChatCommon::getUsersBySite($idsite) as $user) { if (empty($user['email'])) { continue; } if (ChatPiwikUser::isStaffOnline($user['login'])) { continue; } $mail->addTo($user['email']); try { $mail->send(); } catch (Exception $e) { throw new Exception("An error occured while sending '{$subject}' " . " to " . implode(', ', $mail->getRecipients()) . ". Error was '" . $e->getMessage() . "'"); } $mail->clearRecipients(); } }
public static function setLastSent($idsite, $idvisitor, $microtime) { foreach (ChatCommon::getUsersBySite($idsite) as $user) { $arguments = array($user['login'], @Common::hex2bin($idvisitor), $microtime, $microtime); Db::query("INSERT INTO " . Common::prefixTable('chat_history_admin') . " SET login = ?, idvisitor = ?, lastsent = ? ON DUPLICATE KEY UPDATE lastsent = ?", $arguments); } return true; }