コード例 #1
0
ファイル: ToolManager.php プロジェクト: ngydat/CoreBundle
 public function deleteDuplicatedOldOrderedTools()
 {
     $usersOts = $this->orderedToolRepo->findDuplicatedOldOrderedToolsByUsers();
     $wsOts = $this->orderedToolRepo->findDuplicatedOldOrderedToolsByWorkspaces();
     $exitingUsers = array();
     foreach ($usersOts as $ot) {
         $toolId = $ot->getTool()->getId();
         $userId = $ot->getUser()->getId();
         if (isset($exitingUsers[$toolId])) {
             if (isset($exitingUsers[$toolId][$userId])) {
                 $this->om->remove($ot);
             } else {
                 $exitingUsers[$toolId][$userId] = true;
             }
         } else {
             $exitingUsers[$toolId] = array();
             $exitingUsers[$toolId][$userId] = true;
         }
     }
     $this->om->flush();
     $exitingWorkspaces = array();
     foreach ($wsOts as $ot) {
         $toolId = $ot->getTool()->getId();
         $workspaceId = $ot->getWorkspace()->getId();
         if (isset($exitingWorkspaces[$toolId])) {
             if (isset($exitingWorkspaces[$toolId][$workspaceId])) {
                 $this->om->remove($ot);
             } else {
                 $exitingWorkspaces[$toolId][$workspaceId] = true;
             }
         } else {
             $exitingWorkspaces[$toolId] = array();
             $exitingWorkspaces[$toolId][$workspaceId] = true;
         }
     }
     $this->om->flush();
 }