/**
  * @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;
 }