/** * doActionModify * * @return void */ protected function doActionModify() { $form = \Includes\Pattern\Factory::create($this->getFormClass()); $data = $form->getRequestData(); $util = '\\Includes\\Utils\\ArrayManager'; $pref = $this->getPrefixPostedData(); \XLite\Core\Request::getInstance()->mapRequest(array($pref => array('cleanURL' => $util::getIndex($util::getIndex($data, $pref), 'cleanURL')))); if ($form->getValidationMessage()) { \XLite\Core\TopMessage::addError($form->getValidationMessage()); } elseif ($this->isNew()) { $this->doActionAdd(); } else { $this->doActionUpdate(); } }
/** * Common method to add entries * * @param string $index Index in the "entries" array * @param string $class Entry class name * @param array $args Constructor arguments OPTIONAL * * @return \XLite\Upgrade\Entry\AEntry */ protected function addEntry($index, $class, array $args = array()) { try { $entry = \Includes\Pattern\Factory::create('\\XLite\\Upgrade\\Entry\\' . $class, $args); } catch (\Exception $exception) { $entry = null; \XLite\Upgrade\Logger::getInstance()->logError($exception->getMessage()); } if (isset($entry)) { $this->entries[$index] = $entry; } return $entry; }
/** * Detect custom repository class name by entity class name * * @param string $class Entity class name * * @return string */ protected function detectCustomRepositoryClassName($class) { $class = \Includes\Utils\Converter::getPureClassName($class); $class = \Includes\Utils\Converter::prepareClassName(str_replace('\\Model\\', '\\Model\\Repo\\', $class), false); if (!\XLite\Core\Operator::isClassExists($class)) { $class = '\\XLite\\Model\\Repo\\Base\\' . (preg_match('/\\wTranslation$/Ss', $class) ? 'Translation' : 'Common'); } elseif (\Includes\Pattern\Factory::getClassHandler($class)->isAbstract()) { $class = null; } return $class; }