View file upload/src/addons/xenMade/ACPE/XF/Admin/Controller/AddOn.php

File size: 1.69Kb
<?php

namespace xenMade\ACPE\XF\Admin\Controller;

class AddOn extends XFCP_AddOn
{
    public function actionIndex()
    {
        $reply = parent::actionIndex();

        if ($reply instanceof \XF\Mvc\Reply\View)
        {
            $disabledAddOns = [];

            $installed = $reply->getParam('installed');

            foreach ($installed AS $id => $addOn)
            {
                if(!$addOn->active)
                {
                    $disabledAddOns[$id] = $addOn;
                    unset($installed[$id]);
                }
            }

            $reply->setParam('disabled_addons', $disabledAddOns);
            $reply->setParam('installed', $installed);

            $tab = $this->filter('tab', 'str');

            if(!$tab)
            {
                switch ($reply)
                {
                    case (!empty($reply->getParam('upgradeable')) ? $tab = 'upgradeable' : '');
                        break;

                    case (!$tab && !empty($reply->getParam('installable')) ? $tab = 'installable' : '');
                        break;

                    case (!$tab && !empty($reply->getParam('installed')) ? $tab = 'installed' : '');
                        break;

                    case (!$tab && !empty($reply->getParam('legacy')) ? $tab = 'legacy' : '');
                        break;

                    case (!$tab && !empty($reply->getParam('disabled')) ? $tab = 'disabled' : '');
                        break;
                }
            }

            $reply->setParam('tab', $tab);
        }

        return $reply;
    }
}
if (false)
{
    class XFCP_AddOn extends \XF\Admin\Controller\AddOn {}
}