File size: 1.92Kb
<?php
/**
* @package XenCentral Feedback System
* @author DNF Technology
* @copyright Drnoyan & Nalyan LDA, Portugal, EU
* @license http://dnf.technology/terms/
* @link http://customers.dnf.technology
* @version 2.0.0 Beta 10
* @revision 12
*/
namespace XenCentral\Feedback\Repository;
use XF\Db\Exception;
use XF\Mvc\Entity\Finder;
use XF\Mvc\Entity\Repository;
class NotifyNegative extends Repository
{
use FeedbackAbstractRepository;
//TODO rewrite the class
/**
* @param $feedback
* @return bool
* Not used for now, maybe used for "report on negative" feature
*/
public function sendNotification($feedback)
{
if (!$this->_getOptionsModel()->getReportOnNegative())
{
return false;
}
if($feedback['amount']>=0)
{
return false;
}
$reportModel = XenForo_Model::create('XenForo_Model_Report');
$reportModel->reportContent('feedback', $feedback, new XenForo_Phrase('xcxt_automatic_report_for_negative_feedback_left'));
// TODO enable email reporting later if needed
return true;
$moderators=$this->_getModeratorUsers();
if (empty($moderators))
{
return false;
}
$visitor=XenForo_Visitor::getInstance()->toArray();
$foruserinfo=$this->_getApplicationUserModel()->getUserById($feedback['foruserid']);
$fromuserinfo=$this->_getApplicationUserModel()->getUserById($feedback['fromuserid']);
$feedbackUrl = $this->app()->router('public')->buildLink('full:xcfs/feedback/view', $feedback);
$params = array(
'visitor'=>$visitor,
'boardTitle' => $boardTitle = \XF::options()->boardTitle,
'feedback'=> $feedback,
'feedbackURL'=>$feedbackUrl,
'foruser'=>$foruserinfo,
'fromuser'=>$fromuserinfo
);
foreach ($moderators AS $user)
{
$params['user']=$user;
$mail = XenForo_Mail::create('xcxt_negative_feedback', $params, $user['language_id']);
$mail->send($user['email'], $user['username']);
}
return true;
}
}