Example #1
0
 /**
  * @see	\wcf\system\importer\IImporter::import()
  */
 public function import($oldID, array $data, array $additionalData = array())
 {
     // copy smiley
     $data['smileyPath'] = 'images/smilies/' . basename($additionalData['fileLocation']);
     if (!@copy($additionalData['fileLocation'], WCF_DIR . $data['smileyPath'])) {
         return 0;
     }
     // check smileycode
     if (isset($this->knownCodes[mb_strtolower($data['smileyCode'])])) {
         return $this->knownCodes[mb_strtolower($data['smileyCode'])];
     }
     $data['packageID'] = 1;
     if (!isset($data['aliases'])) {
         $data['aliases'] = '';
     }
     // check aliases
     $aliases = array();
     if (!empty($data['aliases'])) {
         $aliases = explode("\n", StringUtil::unifyNewlines($data['aliases']));
         foreach ($aliases as $key => $alias) {
             if (isset($this->knownCodes[mb_strtolower($alias)])) {
                 unset($aliases[$key]);
             }
         }
         $data['aliases'] = implode("\n", $aliases);
     }
     // get category id
     if (!empty($data['categoryID'])) {
         $data['categoryID'] = ImportHandler::getInstance()->getNewID('com.woltlab.wcf.smiley.category', $data['categoryID']);
     }
     // save smiley
     $smiley = SmileyEditor::create($data);
     // add smileyCode + aliases to knownCodes
     $this->knownCodes[mb_strtolower($data['smileyCode'])] = $smiley->smileyID;
     foreach ($aliases as $alias) {
         $this->knownCodes[mb_strtolower($alias)] = $smiley->smileyID;
     }
     return $smiley->smileyID;
 }