/** * @see \wcf\data\ISortableAction::updatePosition() */ public function updatePosition() { $smileyList = new SmileyList(); $smileyList->readObjects(); $i = $this->parameters['data']['offset']; WCF::getDB()->beginTransaction(); foreach ($this->parameters['data']['structure'][0] as $smileyID) { $smiley = $smileyList->search($smileyID); if ($smiley === null) { continue; } $editor = new SmileyEditor($smiley); $editor->update(array('showOrder' => $i++)); } WCF::getDB()->commitTransaction(); }
/** * @see \wcf\page\IForm::save() */ public function save() { parent::save(); $this->objectAction = new SmileyAction(array(), 'create', array('data' => array_merge($this->additionalFields, array('smileyTitle' => $this->smileyTitle, 'smileyCode' => $this->smileyCode, 'aliases' => $this->aliases, 'smileyPath' => $this->smileyPath, 'showOrder' => $this->showOrder, 'categoryID' => $this->categoryID ?: null, 'packageID' => 1)), 'fileLocation' => $this->uploadedFilename ? WCF_DIR . 'images/smilies/' . $this->uploadedFilename : '')); $this->objectAction->executeAction(); $returnValues = $this->objectAction->getReturnValues(); $smileyEditor = new SmileyEditor($returnValues['returnValues']); $smileyID = $returnValues['returnValues']->smileyID; if (!I18nHandler::getInstance()->isPlainValue('smileyTitle')) { I18nHandler::getInstance()->save('smileyTitle', 'wcf.smiley.title' . $smileyID, 'wcf.smiley', 1); // update title $smileyEditor->update(array('smileyTitle' => 'wcf.smiley.title' . $smileyID)); } // reset values $this->smileyCode = ''; $this->categoryID = 0; $this->showOrder = 0; $this->smileyPath = ''; $this->aliases = ''; $this->uploadedFilename = ''; I18nHandler::getInstance()->reset(); $this->saved(); // show success message WCF::getTPL()->assign('success', true); }