/** * @param \Claroline\CoreBundle\Entity\Resource\ResourceIcon $icon */ public function delete(ResourceIcon $icon, Workspace $workspace = null) { if ($icon->getMimeType() === 'custom') { //search if this icon is used elsewhere (ie copy) $res = $this->om->getRepository('ClarolineCoreBundle:Resource\\ResourceNode')->findBy(array('icon' => $icon)); if (count($res) <= 1 && $icon->isShortcut() === false) { $shortcut = $icon->getShortcutIcon(); $this->om->remove($shortcut); $this->om->remove($icon); $this->om->flush(); $this->removeImageFromThumbDir($icon, $workspace); $this->removeImageFromThumbDir($icon->getShortcutIcon(), $workspace); } } }