Exemplo n.º 1
0
 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;
     }
 }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 /**
  * 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();
 }
Exemplo n.º 4
0
 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);
 }