コード例 #1
0
ファイル: role.php プロジェクト: staabm/redaxo
 public static function removeOrReplaceItem(rex_extension_point $ep)
 {
     $params = $ep->getParams();
     $key = $params['key'];
     $item = '|' . $params['item'] . '|';
     $new = isset($params['new']) ? '|' . $params['new'] . '|' : '|';
     $sql = rex_sql::factory();
     $sql->setQuery('SELECT id, perms FROM ' . rex::getTable('user_role'));
     $update = rex_sql::factory();
     $update->prepareQuery('UPDATE ' . rex::getTable('user_role') . ' SET perms = ? WHERE id = ?');
     foreach ($sql as $row) {
         $perms = json_decode($row->getValue('perms'), true);
         if (isset($perms[$key]) && strpos($perms[$key], $item) !== false) {
             $perms[$key] = str_replace($item, $new, $perms[$key]);
             $update->execute([json_encode($perms), $row->getValue('id')]);
         }
     }
 }
コード例 #2
0
ファイル: clang_handler.php プロジェクト: DECAF/redaxo
 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;
     }
 }
コード例 #3
0
ファイル: category_handler.php プロジェクト: skerbis/redaxo
 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;
     }
 }
コード例 #4
0
ファイル: media_handler.php プロジェクト: skerbis/redaxo
 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);
 }