Inhalte aufrufen


Issue information

  • #000012

  • 1.9.91 (Sefrengo 2.0 beta)

  • 1.9.92 (Sefrengo 2.0 beta2)

  • Erledigt

  • 2 - Fair


Issue Confirmations

  • Yes (0)No (0)
Profilbild

Beim anlegen einer CSS oder JS Datei wird ein Fehler ausgegeben

Geschrieben von bjoern on 26 Januar 2012 - 22:32

Wenn unter "Design > Stylesheet" oder "Design > Javascript" eine neue Datei im Backend angelegt wird, wird nach dem Speichern die Fehlermeldung "

Die Rechte konnten nicht angelegt werden!

" ausgegeben.


changed status to: Zugewiesen Bjoern

In backend\API\MODEL\FileSqlItem.php (Zeile 685 ff.) wird das iddirectory verlangt um die Rechte zu kopieren. Allerdings ist diese im CSS- und JS-Bereich iddirectory="0", da gegenüber dem Dateimanager auch Dateien im Basisverzeichnis abgelegt werden können. Diese darf jedoch nach xcopy_perm (backend\inc\class.user_perms.php) nicht leer sein.

@ Björn: Kannst du da bitte weiterhelfen? Kann die xcopy_perm modifiziert werden, so dass auch iddirectory="0" zulässig ist, oder geht das mit dem Rechtesystem nicht?

// set userright after upload
  // 1. if userrights are existing ... no changes
  // 2. no userrights are existing ... xcopy directory-rights to the file, reset the directory bits
  if ($this->permsExists() == FALSE) {
   // copy userrights from directory
   $bool = $this->cfg->perm()->xcopy_perm(
    $fields['iddirectory'],
    $this->objperm['upload']['type'],
    $this->getId(),
    $this->objperm['default']['type'],
    0x01B50000,
    0,
    0,
    TRUE
   );
   if($bool == FALSE)
   {
    throw sf_exception('warning', 'add_rights_failed', array('path' => $this->getPath($fields['area'], '', $fields['filename'])));
    return FALSE;
   }
  }


Wenn eine Datei kein Elternordner hat, weil sich diese im Wurzelverzeichnis befindet, dann muß das "area" Recht abgefragt werden. Denn dieses ist dann das Elternelement.

Also statt

$this->cfg->perm()->xcopy_perm('', 'directory', ....

einfach so:

$this->cfg->perm()->xcopy_perm('', 'area_fm', ....

Dann gehts. Ich hab das getestet, funktioniert. In der FileSqlItem Klasse befindet sich das xcopy an 4 Stellen. Wäre vielleicht ganz gut, wenn da noch eine Methode draus gemacht wird.


changed status to: Zugewiesen Holger

changed fixed-in version to: 1.9.92 (Sefrengo 2.0 beta2)
changed status to: Erledigt

@Björn. Vielen Dank für den Hinweis. Der Code ist refaktorisiert und der Fehler behoben; beides in der nächsten Version enthalten.






0 user(s) are reading this issue

0 Mitglieder, 0 Gäste, 0 anonyme Nutzer