123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\AdminNotification\Block;
- /**
- * Toolbar entry that shows latest notifications
- *
- * @api
- * @author Magento Core Team <core@magentocommerce.com>
- * @since 100.0.2
- */
- class ToolbarEntry extends \Magento\Backend\Block\Template
- {
- /**
- * Number of notifications showed on expandable window
- */
- const NOTIFICATIONS_NUMBER = 3;
- /**
- * Number of notifications showed on icon
- */
- const NOTIFICATIONS_COUNTER_MAX = 99;
- /**
- * Length of notification description showed by default
- */
- const NOTIFICATION_DESCRIPTION_LENGTH = 150;
- /**
- * Collection of latest unread notifications
- *
- * @var \Magento\AdminNotification\Model\ResourceModel\Inbox\Collection
- */
- protected $_notificationList;
- /**
- * @param \Magento\Backend\Block\Template\Context $context
- * @param \Magento\AdminNotification\Model\ResourceModel\Inbox\Collection\Unread $notificationList
- * @param array $data
- */
- public function __construct(
- \Magento\Backend\Block\Template\Context $context,
- \Magento\AdminNotification\Model\ResourceModel\Inbox\Collection\Unread $notificationList,
- array $data = []
- ) {
- parent::__construct($context, $data);
- $this->_notificationList = $notificationList;
- }
- /**
- * Retrieve notification description start length
- *
- * @return int
- */
- public function getNotificationDescriptionLength()
- {
- return self::NOTIFICATION_DESCRIPTION_LENGTH;
- }
- /**
- * Retrieve notification counter max value
- *
- * @return int
- */
- public function getNotificationCounterMax()
- {
- return self::NOTIFICATIONS_COUNTER_MAX;
- }
- /**
- * Retrieve number of unread notifications
- *
- * @return int
- */
- public function getUnreadNotificationCount()
- {
- return $this->_notificationList->getSize();
- }
- /**
- * Retrieve the list of latest unread notifications
- *
- * @return \Magento\AdminNotification\Model\ResourceModel\Inbox\Collection
- */
- public function getLatestUnreadNotifications()
- {
- return $this->_notificationList->setPageSize(self::NOTIFICATIONS_NUMBER);
- }
- /**
- * Format notification date (show only time if notification has been added today)
- *
- * @param string $dateString
- * @return string
- */
- public function formatNotificationDate($dateString)
- {
- $date = new \DateTime($dateString);
- if ($date == new \DateTime('today')) {
- return $this->_localeDate->formatDateTime(
- $date,
- \IntlDateFormatter::NONE,
- \IntlDateFormatter::SHORT
- );
- }
- return $this->_localeDate->formatDateTime(
- $date,
- \IntlDateFormatter::MEDIUM,
- \IntlDateFormatter::MEDIUM
- );
- }
- }
|