Newscoop\NewscoopBundle\Services\TopicService::reorderRootNodes PHP Метод

reorderRootNodes() публичный Метод

Reorder root topics.
public reorderRootNodes ( array $rootNodes, array $order = [] ) : boolean
$rootNodes array Root topics
$order array Topics ids in order
Результат boolean
    public function reorderRootNodes($rootNodes, $order = array())
    {
        foreach ($rootNodes as $rootNode) {
            $rootNode->setOrder(null);
        }
        $this->em->flush();
        if (count($order) > 1) {
            $counter = 0;
            foreach ($order as $item) {
                foreach ($rootNodes as $rootNode) {
                    if ($rootNode->getId() == $item) {
                        $rootNode->setOrder($counter + 1);
                        ++$counter;
                    }
                }
            }
        } else {
            $counter = 1;
            foreach ($rootNodes as $rootNode) {
                $rootNode->setOrder($counter);
                ++$counter;
            }
        }
        $this->em->flush();
        return true;
    }