Отправка уведомлений сторонним скриптом
Рекомендованные сообщения
Сейчас на странице 0
- Нет пользователей, просматривающих эту страницу.
A better way to browse. Learn more.
A full-screen app on your home screen with push notifications, badges and more.
Имеется код отправки уведомлений пользователям.
Взят из видеосистемы (отправка уведомления про добавлении комментария). Более наглядного не нашел
Прошу помощь в оптимизации и удалении лишнего, сам уже пробовал, толком не вышло, с этими шаблонами и сприфами
$_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