<?php

    namespace Notification\Admin;

    use Notification;

    require_once 'Notification.php';

    class NewFeedbackNotification extends \Notification
    {
        public function __construct(array $data)
        {
            $data['type'] = 'admin.feedback';
            parent::__construct($data);
        }

        public function getNotificationLink()
        {
            return '/admin/feedback';
        }

        public function getNotificationImage()
        {
            return $this->sender->getProfilePicture();
        }

        public function messageForNotification(Notification $notification)
        {
            return ['line' => 'admin.feedback.single', 'attributes' => [$this->sender->getName()]];
        }

        public function messageForNotifications(array $notifications, $realCount = 0)
        {
            if ($realCount === 0) {
                $realCount = count($notifications);
            }

            if ($realCount < 5) {
                $names = $this->manyNames($notifications);
                return ['line' => 'admin.feedback.multiple', 'attributes' => [$names]];
            } else {
                $names = $this->manyNamesCutoff($notifications, $realCount);
                return ['line' => 'admin.feedback.many', 'attributes' => [$names]];
            }
        }
    }