/**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permissions
     WCF::getUser()->checkPermission('admin.contest.canEditClass');
     // update postions
     $pos = $parent = array();
     foreach ($this->positions as $classID => $row) {
         foreach ($row as $parentClassID => $position) {
             $parent[$classID] = $parentClassID;
             $pos[$classID] = $position;
         }
     }
     ContestClassEditor::updatePositions($pos);
     ContestClassEditor::updateParents($parent);
     $this->executed();
     // forward to list page
     HeaderUtil::redirect('index.php?page=ContestClassList&classID=' . $this->classID . '&successfullSorting=1&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }