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

File size: 1.25Kb
<?php

namespace xenMade\ACPE\XF\Admin\Controller;


class Option extends XFCP_Option
{
    public function actionSort()
    {
        if ($this->isPost())
        {
            $optionRepo = $this->getOptionRepo();

            $optionGroupFinder = $this->finder('XF:OptionGroup')->fetch();


            $optionGroup = $this->filter('optiongroup', 'array-json-array');

            if(!empty($optionGroup))
                $optionGroup = $optionGroup[0];

            foreach ($optionGroup AS $idx => $group)
            {
                /** @var \XF\Entity\OptionGroup $optionGroupEntity */
                $optionGroupEntity = $optionGroupFinder[$group['id']];
                $optionGroupEntity->display_sort = $idx;
                $optionGroupEntity->saveIfChanged();
            }

            return $this->redirect($this->buildLink('options'));
        }
        else
        {
            $optionRepo = $this->getOptionRepo();

            $viewParams = [
                'groups' => $optionRepo->findOptionGroupList()->fetch(),
            ];

            return $this->view('XF:Option\Sort', 'acpe_option_group_sort', $viewParams);
        }
    }
}
if (false)
{
    class XFCP_Option extends \XF\Admin\Controller\Option {}
}