File size: 3.33Kb
<?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;
trait FeedbackAbstractRepository
{
/**
* 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');
}
/**
* @return XenForo_Model_SpamPrevention
*/
protected function _getSpamPrevention()
{
return \XF::repository('XF:SpamPrevention');
}
protected function _getModeratorUsers()
{
$usergroups=\XF::options()->xcfs_admins;
if(empty($usergroups))
{
$usergroups[]=-1;
}
return $this->db()->fetchAll('
SELECT user.*
FROM xf_user AS user
WHERE user.user_group_id IN (?)
OR user.secondary_group_ids REGEXP \'(^|,)(' . implode('|', $usergroups) . ')($|,)\'
', array (
implode(',', $usergroups)
));
}
protected function _convertHoursToSeconds($hours)
{
return 3600 * $hours;
}
protected function _convertDaysToSeconds($days)
{
return $this->_convertHoursToSeconds(24 * $days);
}
protected function _convertMonthsToSeconds($months)
{
return $this->_convertDaysToSeconds(30 * $months);
}
}