/** * @see \wcf\system\package\plugin\AbstractXMLPackageInstallationPlugin::import() */ protected function import(array $row, array $data) { if (!empty($row)) { // ignore show order if null if ($data['showOrder'] === null) { unset($data['showOrder']); } else { if ($data['showOrder'] != $row['showOrder']) { $data['showOrder'] = $this->getMenuItemPosition($data); } } } else { $data['showOrder'] = $this->getMenuItemPosition($data); } parent::import($row, $data); }
/** * @see wcf\system\package\plugin\AbstractXMLPackageInstallationPlugin::prepareImport() */ protected function prepareImport(array $data) { $result = parent::prepareImport($data); // position $result['menuPosition'] = (!empty($data['elements']['position']) && $data['elements']['position'] == 'footer') ? 'footer' : 'header'; // class name if (!empty($data['elements']['classname'])) { $result['className'] = $data['elements']['classname']; } // validate controller and link (cannot be empty at the same time) if (empty($result['menuItemLink']) && empty($result['menuItemController'])) { throw new SystemException("Menu item '".$result['menuItem']."' neither has a link nor a controller given"); } return $result; }