public function extendForm(rex_extension_point $ep) { $params = $ep->getParams(); if (isset($params['sql'])) { $params['activeItem'] = $params['sql']; } $result = ' <tr id="' . self::CONTAINER . '" class="collapse mark"> <td colspan="2"></td> <td colspan="6"> <div class="rex-collapse-content"> ' . parent::renderFormAndSave(self::PREFIX, $params) . ' </div> </td> </tr>'; // Bei CLANG_ADDED und CLANG_UPDATED nur speichern und kein Formular zurückgeben if ('CLANG_UPDATED' == $ep->getName() || 'CLANG_ADDED' == $ep->getName()) { return $ep->getSubject(); } else { return $ep->getSubject() . $result; } }
public function extendForm(rex_extension_point $ep) { $params = $ep->getParams(); if (isset($params['category'])) { $params['activeItem'] = $params['category']; // Hier die category_id setzen, damit beim klick auf den REX_LINK_BUTTON der Medienpool in der aktuellen Kategorie startet $params['activeItem']->setValue('category_id', $params['id']); } $result = ' <tr id="' . self::CONTAINER . '" class="collapse mark"> <td colspan="2"></td> <td colspan="5"> ' . parent::renderFormAndSave(self::PREFIX, $params) . ' </td> </tr>'; // Bei CAT_ADDED und CAT_UPDATED nur speichern und kein Formular zur�ckgeben if ('CAT_UPDATED' == $ep->getName() || 'CAT_ADDED' == $ep->getName()) { return $ep->getSubject(); } else { return $ep->getSubject() . $result; } }
/** * Registers an extension point. * * @param rex_extension_point $extensionPoint Extension point * * @return mixed Subject, maybe adjusted by the extensions */ public static function registerPoint(rex_extension_point $extensionPoint) { if (static::hasFactoryClass()) { return static::callFactoryClass(__FUNCTION__, func_get_args()); } $name = $extensionPoint->getName(); foreach ([self::EARLY, self::NORMAL, self::LATE] as $level) { if (isset(self::$extensions[$name][$level]) && is_array(self::$extensions[$name][$level])) { foreach (self::$extensions[$name][$level] as $extensionAndParams) { list($extension, $params) = $extensionAndParams; $extensionPoint->setExtensionParams($params); $subject = call_user_func($extension, $extensionPoint); // Update subject only if the EP is not readonly and the extension has returned something if (!$extensionPoint->isReadonly() && null !== $subject) { $extensionPoint->setSubject($subject); } } } } return $extensionPoint->getSubject(); }
public function extendForm(rex_extension_point $ep) { $params = $ep->getParams(); // Nur beim EDIT gibts auch ein Medium zum bearbeiten if ($ep->getName() == 'MEDIA_FORM_EDIT') { $params['activeItem'] = $params['media']; unset($params['media']); // Hier die category_id setzen, damit keine Warnung entsteht (REX_LINK_BUTTON) // $params['activeItem']->setValue('category_id', 0); } elseif ($ep->getName() == 'MEDIA_ADDED') { $sql = rex_sql::factory(); $qry = 'SELECT id FROM ' . rex::getTablePrefix() . 'media WHERE filename="' . $params['filename'] . '"'; $sql->setQuery($qry); if ($sql->getRows() == 1) { $params['id'] = $sql->getValue('id'); } else { throw new rex_exception('Error occured during file upload!'); } } return parent::renderFormAndSave(self::PREFIX, $params); }