Chrome
Safari
Edge
Firefox
Chrome (Android)
Нажмите на иконку замка рядом с адресной строкой. Нажмите Права доступа -> Уведомления . Измените свои настройки.
Chrome (компьютер)
Нажмите на иконку замка в адресной строке. Выберите Настройки сайта . Найдите Уведомления и измените свои настройки.
Safari (iOS 16.4+)
Убедитесь, что сайт установлен через Добавить на главный экран . Откройте Приложение «Настройки» -> Уведомления . Найдите название вашего приложения и измените свои настройки.
Safari (macOS)
Перейдите в Safari -> Настройки . Нажмите вкладку Веб-сайты . Выберите Уведомления в боковой панели. Найдите этот сайт и измените свои настройки.
Edge (Android)
Нажмите на иконку замка рядом с адресной строкой. Нажмите Права доступа .
Найдите Уведомления и измените свои настройки.
Edge (компьютер)
Нажмите на иконку замка в адресной строке. Нажмите Права доступа для этого сайта . Найдите Уведомления и измените свои настройки.
Firefox (Android)
Перейдите в Настройки -> Права доступа сайта . Нажмите Уведомления . Найдите этот сайт в списке и измените свои настройки.
Firefox (компьютер)
Откройте настройки Firefox. Найдите раздел Уведомления . Найдите этот сайт в списке и настройте свои предпочтения.
Имеется код отправки уведомлений пользователям.
Взят из видеосистемы (отправка уведомления про добавлении комментария). Более наглядного не нашел
Прошу помощь в оптимизации и удалении лишнего, сам уже пробовал, толком не вышло, с этими шаблонами и сприфами
$_toMember = IPSMember::load( $video['author_id'] ); $classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . '/sources/classes/member/notifications.php', 'notifications' ); $notifyLibrary = new $classToLoad( $this->registry ); $_toMember['language'] = $_toMember['language'] == "" ? IPSLib::getDefaultLanguage() : $_toMember['language']; IPSText::getTextClass('email')->getTemplate( "new_video_comment", $_toMember['language'], 'public_external', 'videos' ); IPSText::getTextClass('email')->buildMessage( array( 'OWNER' => $video['author_name'], 'VIDEO_NAME' => $video['title'], 'AUTHOR' => $this->memberData['members_display_name'], 'URL' => $this->registry->output->buildSEOUrl( "app=videos&do=view&id=".$video_id, "public", $video['seo_title'], 'video_view' ), ) ); IPSText::getTextClass('email')->subject = sprintf( IPSText::getTextClass('email')->subject, $this->registry->output->buildSEOUrl( 'showuser='.$this->memberData['member_id'], 'publicNoSession', $this->memberData['members_seo_name'], 'showuser' ), $this->registry->output->buildSEOUrl( "app=videos&do=view&id=".$video_id, "public", $video['seo_title'], 'video_view' ), $video['title'] ); $notifyLibrary->setMember( $_toMember ); $notifyLibrary->setFrom( $this->memberData ); $notifyLibrary->setNotificationKey( 'new_video_comment' ); $notifyLibrary->setNotificationUrl( $this->registry->output->buildSEOUrl( "app=videos&do=view&id=".$video_id, "public", $video['seo_title'], 'video_view' ) ); $notifyLibrary->setNotificationText( IPSText::getTextClass('email')->message ); $notifyLibrary->setNotificationTitle( IPSText::getTextClass('email')->subject ); try { $notifyLibrary->sendNotification(); } catch( Exception $e ){ }Что нужно:
1. Автор уведомления $this->memberData['member_id']
2. Получатель уведомления ИД юзера ($_toMember)
3. Стиль мини сообщения (который выводится в меню)
URL и TOPIC NAME будут указаны в коде выше
4. Стиль полного уведомления (который при открытии уведомления)
URL и TOPIC NAME будут указаны в коде выше
Хочется сделать без всяких шаблонизаторов и языковых ключей
Изменено пользователем HooLIGUN