/**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permissions
     WCF::getUser()->checkPermission('admin.contest.canDeleteRatingoption');
     // delete
     $this->contestRatingoption->delete();
     $this->executed();
     // forward to list page
     header('Location: index.php?page=ContestRatingoptionList&deletedoptionID=' . $this->contestRatingoptionID . '&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permission
     WCF::getUser()->checkPermission('admin.ratingoption.canEditItem');
     // get ratingoption item
     $contestRatingoption = new ContestRatingoptionEditor($this->contestRatingoptionID);
     if (!$contestRatingoption->contestRatingoptionID) {
         throw new IllegalLinkException();
     }
     $contestRatingoption->updateTranslation($this->title, null, WCF::getLanguage()->getLanguageID());
     $this->executed();
 }
 /**
  * Creates a new entry rating.
  *
  * @param	integer		$name
  * @return	ContestRatingoptionEditor
  */
 public static function create($title, $text = '', $classID = 0, $position = 0, $languageID = 0)
 {
     if ($position == 0) {
         // get next number in row
         $sql = "SELECT\tMAX(position) AS position\n\t\t\t\tFROM\twcf" . WCF_N . "_contest_ratingoption\n\t\t\t\tWHERE\tclassID = " . intval($classID);
         $row = WCF::getDB()->getFirstRow($sql);
         if (!empty($row)) {
             $position = intval($row['position']) + 1;
         } else {
             $position = 1;
         }
     }
     $sql = "INSERT INTO\twcf" . WCF_N . "_contest_ratingoption\n\t\t\t\t\t(optionID, classID, position)\n\t\t\tVALUES\t\t('" . escapeString($title) . "', " . intval($classID) . ", " . intval($position) . ")";
     WCF::getDB()->sendQuery($sql);
     // get new id
     $optionID = WCF::getDB()->getInsertID("wcf" . WCF_N . "_contest_ratingoption", 'optionID');
     $obj = new ContestRatingoptionEditor($optionID);
     $obj->updateTranslation($title, $text, $languageID);
     return $obj;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permissions
     WCF::getUser()->checkPermission('admin.ratingoption.canEditItem');
     // update postions
     foreach ($this->positions as $contestRatingoptionID => $data) {
         foreach ($data as $parentContestRatingoptionID => $position) {
             $parentContestRatingoption = '';
             if ($parentContestRatingoptionID != 0) {
                 $parentRuleObject = new ContestRatingoption($parentContestRatingoptionID);
                 $parentContestRatingoption = $parentRuleObject->contestRatingoption;
             }
             ContestRatingoptionEditor::updateShowOrder(intval($contestRatingoptionID), $parentContestRatingoption, $position);
         }
     }
     $this->executed();
     // forward to list page
     HeaderUtil::redirect('index.php?page=ContestRatingoptionList&optionID=' . $this->optionID . '&successfullSorting=1&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }
 /**
  * @see Form::save()
  */
 public function save()
 {
     parent::save();
     // save
     $this->contestRatingoption = ContestRatingoptionEditor::create($this->topic, $this->text, $this->classID, $this->position, WCF::getLanguage()->getLanguageID());
     $this->saved();
     // reset values
     $this->topic = $this->text = $this->classID = '';
     $this->languageID = $this->position = 0;
     // show success message
     WCF::getTPL()->assign('success', true);
 }