Seite 1 von 1

Class 'cRights' not found

Verfasst: Mi 27. Mai 2020, 18:46
von malsdgtac
Hallo,

ich habe auf Contenido 4.10.1 (mit PHP 7.3) geupdatet. Beim Anlegen einer neuen Kategorie wird nun nur noch eine weiße Seite angezeigt - folgender Fehler entsteht im Errorlog:

Code: Alles auswählen

PHP Fatal error:  Uncaught Error: Class 'cRights' not found in .../contenido/includes/functions.str.php:240
Stack trace:
#0 .../contenido/includes/type/action/include.str_newcat.action.php(20): strNewCategory(770, 'test', true, 'test', 0, 1, '0')
#1 .../contenido/main.php(190): include_once('...')
#2 {main}
  thrown in .../contenido/includes/functions.str.php on line 240
Die gewünschte Kategorie wird zwar trotzdem angelegt, ein neuerlicher Aufruf von Kategorie zeigt diese auch an. Auch das Anlegen von Artikeln in der Kategorie funktioniert.

laut viewtopic.php?f=115&t=43758&p=180445 gab es für die 4.10.1 auch eine Änderung an der cRights. Da gibts wohl irgendwo einen Haken.

Re: Class 'cRights' not found

Verfasst: Mi 27. Mai 2020, 19:04
von malsdgtac
Beim Löschen einer Kategorie entsteht auch eine Fehlermeldung:

Code: Alles auswählen

PHP Fatal error:  Uncaught Error: Class 'cRights' not found in .../contenido/includes/functions.str.php:817
Stack trace:
#0 .../contenido/includes/type/action/include.str_deletecat.action.php(20): strDeleteCategory('864')
#1 .../contenido/main.php(190): include_once('...')
#2 {main}
  thrown in .../contenido/includes/functions.str.php on line 817
Außerdem - ich weiß nicht genau ob es daran liegt - wird kein "urlpath" in der Tabelle "cat_lang" erstellt - und somit funktionieren Verlinkungen zu dieser Kategorie (mit mod_rewrite) nicht.

Auch die Zuordnung des Standardtemplates funktioniert nicht.

Re: Class 'cRights' not found

Verfasst: Do 28. Mai 2020, 09:59
von xmurrix
Hallo malsdgtac,

das Problem bei dir ist, dass die Funktion zum automatischen Laden benötigter Klassen die PHP Klasse 'cRights' nicht findet. Wegen der Fehlermeldung mit der fehlenden Klasse 'cRights' kannst du dir folgende Punkte prüfen:

1. Gibt es eine Datei 'contenido/classes/class.rights.php'?

2. Enthält die Datei die Deklaration der Klasse 'cRights'?

Code: Alles auswählen

class cRights
3. Gibt es folgenden Eintrag in der Datei 'data/config/{environment}/config.autoloader.php'?

Code: Alles auswählen

    'cRights' => 'contenido/classes/class.rights.php',
PHP Fehler, die nicht abgefangen werden, sorgen dafür dass die Ausführung weiterer Funktionen unterbrochen wird. Daher kann das Anlegen einer Kategorie unvollständig sein.

Außerdem ist zu klären, warum das Problem mit 'cRights' bei dir nur bei Kategorien vorkommt. Die Klasse 'cRights' wird im Backend fast überall verwendet. Ist der Backendcode für Kategorien modifiziert oder gibt es ein Plugin, dass die Backendfunktionalität ändert?

Gruß
xmurrix

Re: Class 'cRights' not found

Verfasst: Do 28. Mai 2020, 16:53
von malsdgtac
Danke für deine Hilfe und rasche Antwort.

Es hat an der "data/config/{environment}/config.autoloader.php" gelegen, ich hatte vergessen, die Dateien im dem Ordner neu hochzuladen.

Re: Class 'cRights' not found

Verfasst: Mi 18. Aug 2021, 19:12
von rethus
@malsdgtac
Danke für dein Feedback nachdem du es gelöst hast, hat mir gerade auch weiter geholfen.