File size: 2.22Kb
<?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 Preferences extends Repository
{
use FeedbackAbstractRepository;
protected $_allPreferences = array(
'pr_user_id'=>array('serialized'=>false),
'xc_feedback_notify_pm'=>array('serialized'=>true),
'xc_feedback_notify_email'=>array('serialized'=>true),
'xc_feedback_notify_notification'=>array('serialized'=>true),
'xc_feedback_is_invisible'=>array('serialized'=>false)
);
public function getUserNotificationPreferences($user_id = false)
{
static $preferenceCache;
if(!$user_id) {
$user_id = \XF::visitor()->user_id;
}
$preferances=$this->db()->fetchRow("
SELECT preferences.*
FROM xf_xc_feedback_preference AS preferences
WHERE preferences.pr_user_id=?
", array($user_id));
if($preferances==false)
{
return false;
} else {
foreach ($preferances as $key => $value) {
if ($key == 'xc_feedback_is_invisible' || $key == "pr_user_id") {
$preferances[$key] = $value;
} else {
$preferances[$key] = @unserialize($value);
}
}
return $preferances;
}
}
public function getAdminPreferences()
{
$preferences = array(
'xc_feedback_admin_notify_email'=>\XF::options()->xc_feedback_admin_notify_email,
'xc_feedback_admin_notify_pm'=>\XF::options()->xc_feedback_admin_notify_pm,
'xc_feedback_admin_notify_notification'=>\XF::options()->xc_feedback_admin_notify_notification,
'xc_feedback_admin_notify_email_type'=> isset (\XF::options()->xc_feedback_admin_notify_email['type']),
'xc_feedback_admin_notify_pm_type'=> isset (\XF::options()->xc_feedback_admin_notify_pm['type']),
);
return $preferences;
}
}