Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/public_html/plugins/system/nrframework/NRFramework/Assignments/ |
<?php
/**
* @author Tassos Marinos <info@tassos.gr>
* @link http://www.tassos.gr
* @copyright Copyright © 2018 Tassos Marinos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
namespace NRFramework\Assignments;
defined('_JEXEC') or die;
use NRFramework\Assignment;
class AkeebaSubs extends Assignment
{
/**
* Returns the assignment's value
*
* @return array Akeeba Subscriptions
*/
public function value()
{
return $this->getlevels();
}
/**
* Returns all user's active subscriptions
*
* @param int $userid User's id
*
* @return array Akeeba Subscriptions
*/
private function getLevels()
{
if (!$user = $this->user->id)
{
return false;
}
if (!defined('FOF30_INCLUDED') && !@include_once(JPATH_LIBRARIES . '/fof30/include.php'))
{
return false;
}
// Get the Akeeba Subscriptions container. Also includes the autoloader.
$container = \FOF30\Container\Container::getInstance('com_akeebasubs');
$subscriptionsModel = $container->factory->model('Subscriptions')->tmpInstance();
$items = $subscriptionsModel
->user_id($user)
->enabled(1)
->get();
if (!$items->count())
{
return false;
}
$levels = array();
foreach ($items as $subscription)
{
$levels[] = $subscription->akeebasubs_level_id;
}
return array_unique($levels);
}
}