public function createNote($resourceId, NoteAction $note) { $resourceNode = $this->resourceNodeRepository->find($resourceId); $note->setResource($resourceNode); $this->em->persist($note); $this->em->flush(); }
public function createShare(Request $request, ShareAction $share) { $return = array(); $resourceId = $request->get("resourceId"); if ($resourceId === null) { $url = $request->get("url"); if ($url === null) { throw new BadRequestHttpException(); } $share->setUrl($url); $return["url"] = $url; $title = $request->get("title"); $share->setTitle($title); if ($title !== null) { $return["title"] = $title; } } else { $resourceNode = $this->resourceNodeRepository->find($resourceId); $share->setResource($resourceNode); $return["title"] = $resourceNode->getName(); $return["url"] = $this->router->generate("claro_resource_open_short", array("node" => $resourceNode->getId()), true); } $network = $request->get("network"); $share->setNetwork($network); $this->em->persist($share); $this->wallItemManager->createWallItem($share); $this->em->flush(); return $return; }
public function createComment($resourceId, CommentAction $comment) { $resourceNode = $this->resourceNodeRepository->find($resourceId); $comment->setResource($resourceNode); $this->em->persist($comment); $this->wallItemManager->createWallItem($comment); $this->em->flush(); }
/** * Create rights wich weren't created for every descendants and returns every rights of * every descendants (include rights wich weren't created). * * @param \Claroline\CoreBundle\Entity\Role $role * @param \Claroline\CoreBundle\Entity\Resource\ResourceNode $node * * @return \Claroline\CoreBundle\Entity\Resource\ResourceRights[] */ public function updateRightsTree(Role $role, ResourceNode $node) { $this->log('Updating the right tree'); $alreadyExistings = $this->rightsRepo->findRecursiveByResourceAndRole($node, $role); $descendants = $this->resourceRepo->findDescendants($node, true); $finalRights = array(); foreach ($descendants as $descendant) { $found = false; foreach ($alreadyExistings as $existingRight) { if ($existingRight->getResourceNode() === $descendant) { $finalRights[] = $existingRight; $found = true; } } if (!$found) { $rights = $this->om->factory('Claroline\\CoreBundle\\Entity\\Resource\\ResourceRights'); $rights->setRole($role); $rights->setResourceNode($descendant); $this->om->persist($rights); $finalRights[] = $rights; } } $this->om->flush(); $this->log('Right tree updated'); return $finalRights; }
public function getLastIndex(ResourceNode $parent) { try { $lastIndex = $this->resourceNodeRepo->findLastIndex($parent); } catch (\Doctrine\ORM\NonUniqueResultException $e) { $lastIndex = 0; } catch (\Doctrine\ORM\NoResultException $e) { $lastIndex = 0; } return $lastIndex; }
public function updatePublished($resourceId, $extraDataPublished) { $published = 0; if ($extraDataPublished == "on") { $published = 1; } $resourceNodes = $this->resourceNodeRepo->findBy(array('id' => $resourceId)); foreach ($resourceNodes as $resourceNode) { $resourceNode->setPublished($published); $this->em->persist($resourceNode); } $this->em->flush(); return $resourceNodes; }
public function createLike(Request $request, LikeAction $like) { $resourceId = $request->get('resourceId'); if ($resourceId === null) { $url = $request->get('url'); $title = $request->get('title'); $like->setUrl($url); $like->setTitle($title); } else { $resourceNode = $this->resourceNodeRepository->find($resourceId); $like->setResource($resourceNode); } $this->em->persist($like); $this->wallItemManager->createWallItem($like); $this->em->flush(); return $like; }
public function checkIntegrity() { $resources = $this->resourceNodeRepo->findAll(); $batchSize = 500; $i = 0; foreach ($resources as $resource) { if ($resource->getWorkspace() === null && ($parent = $resource->getParent())) { if ($workspace = $parent->getWorkspace()) { $resource->setWorkspace($workspace); $this->om->persist($workspace); $this->log('Set workspace ' . $workspace->getName() . ' for ' . $resource->getName()); $i++; if ($batchSize % $i === 0) { $this->om->flush(); } } } } $this->om->flush(); }
public function getResourcesByIds(array $roles, $user, array $ids) { return count($ids) > 0 ? $this->resourceNodeRepo->findResourcesByIds($roles, $user, $ids) : []; }