/**
  * Returns a list of all available content languages.
  * 
  * @return	array
  */
 public static function getAvailableContentLanguages()
 {
     $availableLanguages = array();
     foreach (Language::getAvailableContentLanguages(PACKAGE_ID) as $language) {
         $availableLanguages[$language['languageID']] = WCF::getLanguage()->get('wcf.global.language.' . $language['languageCode']);
     }
     // sort languages
     StringUtil::sort($availableLanguages);
     return $availableLanguages;
 }
 /**
  * @see Page::readParameters()
  */
 public function readParameters()
 {
     parent::readParameters();
     if (isset($_POST['query'])) {
         $this->query = StringUtil::trim($_POST['query']);
         if (CHARSET != 'UTF-8') {
             $this->query = StringUtil::convertEncoding('UTF-8', CHARSET, $this->query);
         }
     }
     if (count(Language::getAvailableContentLanguages(PACKAGE_ID)) > 0) {
         $this->languageID = WCF::getLanguage()->getLanguageID();
     }
 }
 /**
  * @see Page::readData()
  */
 public function readData()
 {
     if (count(Language::getAvailableContentLanguages(PACKAGE_ID)) > 0) {
         $this->languageID = WCF::getLanguage()->getLanguageID();
     }
 }
 /**
  * @see Page::readData()
  */
 public function readData()
 {
     parent::readData();
     // boards
     $this->boardOptions = Board::getBoardSelect(array(), true, true);
     // language
     $this->languages = Language::getAvailableContentLanguages();
     foreach ($this->languages as $languageID => $language) {
         $this->languages[$languageID] = WCF::getLanguage()->get('wcf.global.language.' . $language['languageCode']);
     }
     StringUtil::sort($this->languages);
 }
 /**
  * Returns a list of available languages.
  *
  * @return	array
  */
 protected function getAvailableLanguages()
 {
     $visibleLanguages = explode(',', WCF::getUser()->languageIDs);
     $availableLanguages = Language::getAvailableContentLanguages(PACKAGE_ID);
     foreach ($availableLanguages as $key => $language) {
         if (!in_array($language['languageID'], $visibleLanguages)) {
             unset($availableLanguages[$key]);
         }
     }
     return $availableLanguages;
 }
 /**
  * Returns ids of visible languages.
  *
  * @return	array<integer>
  */
 public function getVisibleLanguageIDArray()
 {
     if ($this->visibleLanguageIDArray === null) {
         $this->visibleLanguageIDArray = array();
         if (!$this->spiderID && count(Language::getAvailableContentLanguages(PACKAGE_ID)) != 0) {
             $this->visibleLanguageIDArray[] = 0;
             if ($this->user->languageIDs) {
                 $this->visibleLanguageIDArray = array_merge($this->visibleLanguageIDArray, explode(',', $this->user->languageIDs));
             } else {
                 if (WCF::getLanguage()->isContentLanguage()) {
                     $this->visibleLanguageIDArray[] = WCF::getLanguage()->getLanguageID();
                 } else {
                     $this->visibleLanguageIDArray[] = Language::getDefaultLanguageID();
                 }
             }
         }
     }
     return $this->visibleLanguageIDArray;
 }
 /**
  * Updates the tags of this entry.
  *
  * @param	array<string>		$tagArray
  */
 public function updateTags($tagArray)
 {
     // include files
     require_once WCF_DIR . 'lib/data/tag/TagEngine.class.php';
     require_once WCF_DIR . 'lib/data/contest/TaggedContest.class.php';
     // save tags
     $tagged = new TaggedContest(null, array('contestID' => $this->contestID, 'taggable' => TagEngine::getInstance()->getTaggable('de.easy-coding.wcf.contest.entry')));
     $languageID = 0;
     if (count(Language::getAvailableContentLanguages()) > 0) {
         $languageID = WCF::getLanguage()->getLanguageID();
     }
     // delete old tags
     TagEngine::getInstance()->deleteObjectTags($tagged, array($languageID));
     // save new tags
     if (count($tagArray) > 0) {
         TagEngine::getInstance()->addTags($tagArray, $tagged, $languageID);
     }
 }
 /**
  * @see ThreadAddForm::getAvailableLanguages()
  */
 protected function getAvailableLanguages()
 {
     $visibleLanguages = explode(',', WCF::getUser()->languageIDs);
     $availableLanguages = Language::getAvailableContentLanguages(PACKAGE_ID);
     foreach ($availableLanguages as $key => $language) {
         if (!in_array($language['languageID'], $visibleLanguages) && !$this->board->getModeratorPermission('canEditPost')) {
             unset($availableLanguages[$key]);
         }
     }
     return $availableLanguages;
 }
 /**
  * @see Page::readData()
  */
 public function readData()
 {
     parent::readData();
     // default values
     if (!count($_POST)) {
         $this->subject = $this->entry->subject;
         $this->text = $this->entry->message;
         $this->enableSmilies = $this->entry->enableSmilies;
         $this->enableHtml = $this->entry->enableHtml;
         $this->enableBBCodes = $this->entry->enableBBCodes;
         $this->enableSolution = $this->entry->enableSolution;
         $this->enableOpenSolution = $this->entry->enableOpenSolution;
         $this->enableParticipantCheck = $this->entry->enableParticipantCheck;
         $this->enablePricechoice = $this->entry->enablePricechoice;
         $this->priceExpireSeconds = $this->entry->priceExpireSeconds;
         $this->enableSponsorCheck = $this->entry->enableSponsorCheck;
         $this->userID = $this->entry->userID;
         $this->groupID = $this->entry->groupID;
         $this->state = $this->entry->state;
         $this->isFullDay = $this->entry->isFullDay;
         $this->fromTime = $this->entry->fromTime;
         $this->untilTime = $this->entry->untilTime;
         $this->classIDArray = array_keys($this->entry->getClasses());
         if ($this->groupID > 0) {
             $this->ownerID = $this->groupID;
         }
         // tags
         if (MODULE_TAGGING) {
             $this->tags = TaggingUtil::buildString($this->entry->getTags(array(count(Language::getAvailableContentLanguages()) > 0 ? WCF::getLanguage()->getLanguageID() : 0)));
         }
     }
     $from = $this->fromTime == 0 ? time() : $this->fromTime;
     $until = $this->untilTime == 0 ? time() : $this->untilTime;
     $this->eventDate = new ContestDate(array('isFullDay' => $this->isFullDay, 'fromDay' => date('d', $from), 'fromMonth' => date('m', $from), 'fromYear' => date('Y', $from), 'fromHour' => date('h', $from), 'fromMinute' => date('i', $from), 'untilDay' => date('d', $until), 'untilMonth' => date('m', $until), 'untilYear' => date('Y', $until), 'untilHour' => date('h', $until), 'untilMinute' => date('i', $until)));
     // get classes
     $this->classList = new ContestClassTree();
     $this->classList->readObjects();
     $this->availableClasses = ContestClass::getClasses();
     $this->states = $this->getStates();
     $this->availableGroups = ContestUtil::readAvailableGroups();
 }