<?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\Option;
use XF\Option\AbstractOption;
class DefaultOptions extends AbstractOption {
public static function renderAdminsSelector(\XF\Entity\Option $option, array $htmlParams)
{
$defaultVariables = $option;
$rootTitle= \XF::phrase('xcfs_all_admins');
$admins= \XF::repository('XF:Admin')->findAdminsForList();
$positions = array();
foreach($admins AS $adminId=>$admin) {
$positions[$adminId] = array(
'value' => $adminId,
'label' => $admin['username'],
'selected' => false,
'depth' => 0,
);
}
if (is_array($defaultVariables['option_value'])) {
foreach ($defaultVariables['option_value'] AS $selectedAdminId) {
if (isset($positions[$selectedAdminId])) {
$positions[$selectedAdminId]['selected'] = true;
}
}
}
$admins= $positions;
$viewParams =array('options'=>$option, 'defaultVariables' => $admins);
return self::getTemplate('admin:xcfs_admin_username', $option, $htmlParams, $viewParams);
}
public static function renderNotificationAdminEmailSelectors(\XF\Entity\Option $option, array $htmlParams)
{
$viewParams =array('options'=>$option);
return self::getTemplate('admin:xcfs_preferences_admin_email', $option, $htmlParams, $viewParams);
}
public static function renderNotificationAdminPmSelectors(\XF\Entity\Option $option, array $htmlParams)
{
return self::getTemplate('admin:xcfs_preferences_admin_pm', $option, $htmlParams, array('options'=>$option));
}
public static function renderAlertSelectors(\XF\Entity\Option $option, array $htmlParams)
{
return self::getTemplate('admin:xcfs_preferences_admin_alert', $option, $htmlParams, array('options'=>$option));
}
public static function renderNotificationDefaultEmailSelectors(\XF\Entity\Option $option, array $htmlParams)
{
return self::getTemplate('admin:xcfs_preferences_default_email', $option, $htmlParams, array('options'=>$option));
}
public static function renderNotificationDefaultPmSelectors(\XF\Entity\Option $option, array $htmlParams)
{
return self::getTemplate('admin:xcfs_preferences_default_pm', $option, $htmlParams, array('options'=>$option));
}
public static function renderAlertDefaultSelectors(\XF\Entity\Option $option, array $htmlParams)
{
return self::getTemplate('admin:xcfs_preferences_default_alert', $option, $htmlParams, array('options'=>$option));
}
public static function renderNodesSelector(\XF\Entity\Option $option, array $htmlParams)
{
/** @var \XF\Repository\UserGroup $userGroupRepo */
$nodes = \XF::repository('XF:Node');
return self::getTemplate('admin:xcfs_multi_select_nodes', $option, $htmlParams, array(
'nodes' => $nodes->getNodeList(),
'options' => $option
));
}
public static function renderNodesSelectorAppearance(\XF\Entity\Option $option, array $htmlParams)
{
/** @var \XF\Repository\UserGroup $userGroupRepo */
$nodes = \XF::repository('XF:Node');
return self::getTemplate('admin:xcfs_multi_select_nodes_appearance', $option, $htmlParams, array(
'nodes' => $nodes->getNodeList(),
'options' => $option
));
}
public static function renderResourceSelector(\XF\Entity\Option $option, array $htmlParams)
{
if(self::checkIfAddonIsEnabled('XFRM')){
$catRepo = \XF::repository('XFRM:Category');
return self::getTemplate('admin:xcfs_multi_select_resources', $option, $htmlParams, array(
'nodes' => $catRepo->findCategoryList(),
'options' => $option
));
} else {
return self::getTemplate('admin:xcfs_multi_select_resources', $option, $htmlParams, array(
'nodes' => [],
'options' => $option
));
}
}
public static function renderMediaSelector(\XF\Entity\Option $option, array $htmlParams)
{
if(self::checkIfAddonIsEnabled('XFMG')) {
$resourceCategory = \XF::repository('XFMG:Category');
return self::getTemplate('admin:xcfs_multi_select_media', $option, $htmlParams, array(
'nodes' => $resourceCategory->findCategoryList(),
'options' => $option
));
} else {
return self::getTemplate('admin:xcfs_multi_select_media', $option, $htmlParams, array(
'nodes' => [],
'options' => $option
));
}
}
protected static function checkIfAddonIsEnabled($addonid)
{
$addon = \XF::repository('XF:AddOn')->getEnabledAddOns();
if (array_key_exists($addonid, $addon)) {
return true;
} else {
return false;
}
}
}