File size: 6.39Kb
<?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\Mvc\Entity\Finder;
use XF\Mvc\Entity\Repository;
class Options extends Repository
{
use FeedbackAbstractRepository;
public function _getOption($option)
{
return \XF::options()->{'xcfs_'. $option};
}
public function getEnableActivity()
{
return $this->_getOption('enable_activity');
}
public function getEnableGuestAcitivity() {
return$this->_getOption('enable_guest_activity');
}
public function getRequireFeedbackReply()
{
return $this->_getOption('require_feedback_reply');
}
public function getShowInConversations() {
return $this->_getOption('show_in_conversations');
}
public function getShowPostbitDetailedStats()
{
return $this->_getOption('show_detailed_postbit_stats');
}
public function getShowCommentForm()
{
return $this->_getOption('show_comment');
}
public function getRequireComment()
{
return $this->_getOption('show_comment') && $this->_getOption('require_comment');
}
public function getFeedbackRestricted()
{
return (bool)$this->_getOption('can_give_feedback');
}
public function getUniqueDealUrl()
{
return $this->_getOption('unique_deal_url');
}
public function getCheckThreadStarter()
{
return $this->_getOption('check_thread_starter');
}
public function getDisableThreadLiveCheck()
{
return $this->_getOption('disable_thread_live_check');
}
public function getStrictURL()
{
return (bool)$this->_getOption('strict_url');
}
public function getRatingStyle()
{
return (bool)$this->_getOption('rating_style');
}
public function getRateFromPostbit()
{
return $this->_getOption('rate_from_postbit');
}
public function getMemberTab()
{
return $this->_getOption('member_tab');
}
public function getShowInPostbit()
{
return $this->_getOption('show_in_postbit');
}
public function getPostbitValidForums()
{
$forumids=$this->_getOption('postbit_valid_forums');
$forumids=array_diff($forumids, array(0));
return $forumids;
}
public function getThreadValidForums()
{
$forumids=$this->_getOption('thread_valid_forums');
$forumids = array_diff($forumids, array(0));
return $forumids;
}
public function getValidResources()
{
$resourses=$this->_getOption('valid_resources');
$resourses = array_diff($resourses, array(0));
return $resourses;
}
public function getValidMedia()
{
$media=$this->_getOption('valid_media');
$media = array_diff($media, array(0));
return $media;
}
public function getValidShowcase()
{
$showcase=$this->_getOption('valid_showcase');
$showcase = array_diff($showcase, array(0));
return $showcase;
}
public function getValidSportsbook()
{
$showcase=$this->_getOption('valid_sportsbook');
$showcase = array_diff($showcase, array(0));
return $showcase;
}
public function getShowInMemberList()
{
return $this->_getOption('show_in_memberlist');
}
public function getShowInNavbar()
{
return (bool)$this->_getOption('show_in_navbar');
}
public function getAjaxRedirect()
{
return (bool)$this->_getOption('ajax_redirect');
}
public function getCommentMinimumLength()
{
return intval($this->_getOption('comment_minlength'));
}
public function getEditTimeLimit()
{
return intval($this->_getOption('edit_time_limit')) * 60;
}
/**
* Homepage tabs options
*
* @return bool
*/
public function getHomeTabs ($tab) {
$option=(array) $this->_getOption('homepage');
return isset($option[$tab]) && $option[$tab]==1;
}
/**
* Checks if latest, top or bottom blocks should be shown
* @return bool
*/
public function getSidebarBlock($block)
{
$option=(array) $this->_getOption('sidebar_blocks');
return isset($option[$block]) && $option[$block]==1;
}
public function getMainPageLimit()
{
if (!($option=intval($this->_getOption('mainpage_limit'))))
{
return 10;
}
return intval($option);
}
public function getReportOnNegative()
{
return false;
// return (bool) $this->_getOption('report_on_negative');
}
public function getReportOnSuspicious()
{
return false;
// return (bool) $this->_getOption('report_on_suspicious');
}
public function getDuplicateTimeLimit()
{
return intval($this->_getOption('duplicate_time_limit')) * 3600;
}
public function getFeedbackLimit()
{
$limits=$this->_getOption('feedback_limit');
if(!empty($limits['count']) && !empty($limits['time'])) {
return $limits;
}
return false;
}
public function getReturningRatingTimeLimit()
{
return intval($this->_getOption('return_rating_time_limit')) * 3600;
}
public function getRequireURL()
{
$required=$this->_getOption('require_url');
if (!in_array($required, array('hide', 'yes', 'no')))
{
$required='no';
}
return $required;
}
public function getAdminUsername()
{
return $this->_getOption('admin_username');
}
public function getOnOff()
{
return $this->_getOption('on');
}
public function getPerPage()
{
return $this->_getOption('perpage');
}
public function getFilteredPerPage()
{
return $this->_getOption('perpagefiltered');
}
public function getPrefix()
{
$required=$this->_getOption('prefix');
if (!preg_match('#^[a-zA-Z][a-zA-Z0-9]*$#', $required))
{
return 'trade';
}
return $required;
}
public function forceThreadUrl()
{
return $this->_getOption('force_valid_deal_url');
}
public function getImportMode()
{
return $this->_getOption('import_mode');
}
}