Exemplo n.º 1
0
 protected function setPublicUrlOnUsers()
 {
     $this->log('Updating public url for users...');
     /** @var \Claroline\CoreBundle\Repository\UserRepository $userRepository */
     $userRepository = $this->objectManager->getRepository('ClarolineCoreBundle:User');
     $this->log('User to update - ' . date('Y/m/d H:i:s'));
     $this->log('It may take a while to process, go grab a coffee.');
     /** @var \Claroline\CoreBundle\Manager\UserManager $userManager */
     $userManager = $this->container->get('claroline.manager.user_manager');
     $nbUsers = 0;
     /** @var \Claroline\CoreBundle\Entity\User $user */
     $user = $userRepository->findOneByPublicUrl(null);
     while (null !== $user) {
         $publicUrl = $userManager->generatePublicUrl($user);
         $user->setPublicUrl($publicUrl);
         $this->objectManager->persist($user);
         $this->objectManager->flush();
         $nbUsers++;
         if (100 === $nbUsers) {
             $this->log('    ' . $nbUsers . ' updated users - ' . date('Y/m/d H:i:s'));
             $nbUsers = 0;
         }
         $personalWorkspace = $user->getPersonalWorkspace();
         if (null !== $personalWorkspace) {
             $this->objectManager->detach($personalWorkspace);
         }
         $this->objectManager->detach($user);
         $user = $userRepository->findOneByPublicUrl(null);
     }
     $this->log('Public url for users updated.');
 }
Exemplo n.º 2
0
 /**
  * @param ResourceNode $node
  * @param bool         $detach
  */
 public function reorder(ResourceNode $node, $detach = false)
 {
     /** @var \Claroline\CoreBundle\Repository\ResourceNodeRepository $resourceNodeRepository */
     $resourceNodeRepository = $this->om->getRepository('ClarolineCoreBundle:Resource\\ResourceNode');
     $children = $resourceNodeRepository->getChildren($node, true, 'index');
     $index = 1;
     foreach ($children as $child) {
         $child->setIndex($index);
         $index++;
         $this->om->persist($child);
     }
     $this->om->flush();
     if ($detach) {
         foreach ($children as $child) {
             $this->om->detach($child);
         }
     }
 }