protected function body()
 {
     if (!$this->isInputValid(array('id' => 'isIndex'))) {
         return false;
     }
     /**
      * @var $group \Group
      */
     $group = Repositories::findEntity(Repositories::Group, $this->getParams('id'));
     $user = User::instance();
     if (!$user->hasPrivileges(User::groupsManageAll) && (!$user->hasPrivileges(User::groupsManageOwn) || $user->getId() != $group->getOwner()->getId())) {
         return $this->death(StringID::InsufficientPrivileges);
     }
     RemovalManager::hideGroupAndItsAssignments($group);
     return true;
 }
 protected function body()
 {
     if (!$this->isInputValid(array('id' => 'isIndex'))) {
         return false;
     }
     /**
      * @var $lecture \Lecture
      */
     $lecture = Repositories::findEntity(Repositories::Lecture, $this->getParams('id'));
     $user = User::instance();
     if (!$user->hasPrivileges(User::lecturesManageAll) && (!$user->hasPrivileges(User::lecturesManageOwn) || $user->getId() != $lecture->getId())) {
         return $this->death(StringID::InsufficientPrivileges);
     }
     RemovalManager::hideLectureItsProblemsGroupsQuestionsAttachmentsAndXtests($lecture);
     return true;
 }
 protected function body()
 {
     if (!$this->userHasPrivileges(User::usersRemove)) {
         return false;
     }
     if (!$this->isInputSet('id')) {
         return false;
     }
     $id = $this->getParams('id');
     if ($id == User::instance()->getId()) {
         return $this->death(StringID::YouCannotRemoveYourself);
     }
     /** @var \User $user */
     $user = Repositories::findEntity(Repositories::User, $id);
     RemovalManager::hideUserAndAllHeOwns($user);
     return true;
 }
 protected function body()
 {
     if (!$this->isInputValid(array('id' => 'isIndex'))) {
         return false;
     }
     $id = $this->getParams('id');
     /**
      * @var $problem \Problem
      */
     $problem = Repositories::findEntity(Repositories::Problem, $id);
     $lecture = $problem->getLecture();
     $user = User::instance();
     if (!$user->hasPrivileges(User::lecturesManageAll) && (!$user->hasPrivileges(User::lecturesManageOwn) || $user->getId() != $lecture->getOwner())) {
         return $this->death(StringID::InsufficientPrivileges);
     }
     RemovalManager::hideProblemAndItsAssignments($problem);
     return true;
 }
 protected function body()
 {
     if (!$this->isInputValid(array('id' => 'isIndex'))) {
         return false;
     }
     $id = $this->getParams('id');
     /**
      * @var $attachment \Attachment
      */
     $attachment = Repositories::findEntity(Repositories::Attachment, $id);
     if (!$this->authorizedToManageLecture($attachment->getLecture())) {
         return false;
     }
     $folder = Config::get('paths', 'attachments');
     $file = $attachment->getFile();
     RemovalManager::deleteAttachmentById($id);
     Filesystem::removeFile($folder . $file);
     return true;
 }
 protected function body()
 {
     if (!$this->userHasPrivileges(User::pluginsRemove)) {
         return false;
     }
     if (!$this->isInputValid(array('id' => 'isIndex'))) {
         return false;
     }
     $id = $this->getParams('id');
     /**
      * @var $plugin \Plugin
      */
     $plugin = Repositories::findEntity(Repositories::Plugin, $id);
     $pluginFolder = Filesystem::combinePaths(Config::get('paths', 'plugins'), $plugin->getName());
     if (!Filesystem::removeDir($pluginFolder)) {
         return $this->death(StringID::FileSystemError);
     }
     RemovalManager::deletePluginById($id);
     return true;
 }