File size: 3.98Kb
<?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\Pub\Controller;
trait FeedbackAbstractController
{
/**
* Get feedback model
* @return XenCentral_Feedback_Model_Feedback
*/
protected function _getFeedbackModel()
{
return \XF::repository('XenCentral\Feedback:Feedback');
}
/**
* Get feedback model
* @return XenCentral_Feedback_Model_User
*/
protected function _getUserModel()
{
return \XF::repository('XenCentral\Feedback:User');
}
/**
* Get feedback model
* @return XenForo_Model_User
*/
protected function _getXenUserModel()
{
return \XF::repository('XF:User');
}
/**
* Get comment model
* @return XenCentral_Feedback_Model_Comment
*/
protected function _getCommentModel()
{
return \XF::repository('XenCentral\Feedback:Comment');
}
/**
* Get report feedback model
* @return XenCentral_Feedback_Model_Report
*/
protected function _getReportModel()
{
return \XF::repository('XenCentral\Feedback:Report');
}
/**
* Get user activity model
* @return XenCentral_Feedback_Model_Activity
*/
protected function _getActivityModel()
{
return \XF::repository('XenCentral\Feedback:Activity');
}
/**
* Get product options model
* @return XenCentral_Feedback_Model_Options
*/
protected function _getOptionsModel()
{
return \XF::repository('XenCentral\Feedback:Options');
}
/**
* Get permissions model
* @return XenCentral_Feedback_Permissions
*/
/**
* Get preferences model
* @return XenCentral_Feedback_Model_Preferences
*/
protected function _getPreferencesModel()
{
return \XF::repository('XenCentral\Feedback:Preferences');
}
/**
* Get tools model
* @return XenCentral_Feedback_Model_Tools
*/
protected function _getToolsModel()
{
return \XF::repository('XenCentral\Feedback:Tools');
}
/**
* Get statistics model
* @return XenCentral_Feedback_Model_Stats
*/
protected function _getStatsModel()
{
return \XF::repository('XenCentral\Feedback:Stats');
}
protected function _getReportSuspicious()
{
return \XF::repository('XenCentral\Feedback:ReportSuspicious');
}
//Homepage tabs
protected function getTabs()
{
$userModel = \XF::repository('XenCentral\Feedback:User');
if (\XF::repository('XenCentral\Feedback:Options')->getHomeTabs('top')) {
$topTraders = $userModel->getTopTraders();
} else {
$topTraders = array();
}
if (\XF::repository('XenCentral\Feedback:Options')->getHomeTabs('bottom')) {
$bottomTraders = $userModel->getBottomTraders();
} else {
$bottomTraders = array();
}
return array(
'topTraders' => $topTraders,
'bottomTraders' => $bottomTraders
);
}
protected function getSidebar($user, $canGive)
{
$userModel = \XF::repository('XenCentral\Feedback:User');
$feedbackModel = \XF::repository('XenCentral\Feedback:Feedback');
if (\XF::repository('XenCentral\Feedback:Options')->getSidebarBlock('latest')) {
$latest = $feedbackModel->getLatestFeedback();
} else {
$latest = array();
}
if (\XF::repository('XenCentral\Feedback:Options')->getSidebarBlock('top')) {
$top = $userModel->getTopTraders();
} else {
$top = array();
}
if (\XF::repository('XenCentral\Feedback:Options')->getSidebarBlock('bottom')) {
$bottom = $userModel->getBottomTraders();
} else {
$bottom = array();
}
return array(
'user' => $user,
'canSubmitFeedback' => $canGive,
'latest' => $latest,
'top' => $top,
'bottom' => $bottom
);
}
/**
* @return XenForo_Model_SpamPrevention
*/
protected function _getSpamPrevention()
{
return \XF::repository('XF:SpamPrevention');
}
}