[BUG] Umbenennen Alias [gelöst]

Gesperrt
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

[BUG] Umbenennen Alias [gelöst]

Beitrag von rethus » Mo 17. Jun 2013, 09:42

Folgende Fehlermeldung erscheint, wenn man versucht einen Alias einer Kategorie umzubennen:
Warning: Missing argument 4 for strRenameCategory(), called in /....../contenido/main.php(242) : eval()'d code on line 1 and defined in /......./contenido/includes/functions.str.php on line 757
Parameter 4 ist laut Sourcecode (http://fossies.org/dox/Contenido_4.8.18 ... 0e7f781d5c) $newcategoryalias
Zuletzt geändert von rethus am Mo 17. Jun 2013, 12:58, insgesamt 1-mal geändert.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [BUG] Umbenennen Alias

Beitrag von rethus » Mo 17. Jun 2013, 11:03

Ich habe den BUG weiter eingegrenzt.
Klicke ich den Bearbeiten-Stift für die Kategorie, erscheinen 2 Textfelder:

1) Categoryname
2) Alias

In Alias kann man eintragen was man will, der wird nie übernommen, sondern für beide Felder wird der Wert aus Categoryname übernommen.

Auch wenn beide Felde befüllt sind, wird oben die Fehlermeldung ausgegeben.

kann dass einer für 4.8.18 bestätigen?!
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [BUG] Umbenennen Alias

Beitrag von rethus » Mo 17. Jun 2013, 11:47

Hab den Bug teilweise gelöst. Zumindest so, dass das Speichern der Alias-Werte nun funktioniert. Die Fehlermeldung erscheint immer noch am Kopf der Seite.

contenido/includes/include.str_overview.php:
Zeile: 55

Code: Alles auswählen

  if(!($perm->have_perm_area_action($tmp_area, "str_renamecat") || $perm->have_perm_area_action_item($tmp_area, "str_renamecat", $iIdCat)) ) {
ändern in:

Code: Alles auswählen

  if(($perm->have_perm_area_action($tmp_area, "str_renamecat") || $perm->have_perm_area_action_item($tmp_area, "str_renamecat", $iIdCat)) ) {
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [BUG] Umbenennen Alias

Beitrag von rethus » Mo 17. Jun 2013, 12:58

Der eigentliche Fehler hat folgenden Trace:

contenido/main.php - Zeile 242

Code: Alles auswählen

eval($backend->getCode($action));
dies gibt die Funktion

Code: Alles auswählen

strRenameCategory($idcat, $lang, $newcategoryname);
zurück, welcher der 4. Parameter fehlt.

Die eigentliche Funktion ist in der DB-Tabele con_actions mit dem Namen str_renamecat gespeichert. Ergänzt man dort den 4. benötigten Parameter, ist der Fehler behoben:

Code: Alles auswählen

strRenameCategory($idcat, $lang, $newcategoryname, $newcategoryalias);
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: [BUG] Umbenennen Alias [gelöst]

Beitrag von Faar » Do 8. Aug 2013, 17:29

Ich habe das Problem nicht in 4.8.18, ich kann den Alias so umschreiben wie ich möchte und das wird so auch gespeichert.
Aber andersherum ist es so: wenn ich dann den Namen der Kategorie ändere, wird dieser auch für den Alias übernommen.
Das heißt, ich kann nachträglich keinen Kategorienamen ändern ohne den Alias (und somit die URL) zu verändern.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: [BUG] Umbenennen Alias ungelöst

Beitrag von Faar » Do 8. Aug 2013, 17:59

Ich habe es nun in verschiedenen Installationen getestet, alle Version 4.8.18:

In einer Installation wird der Kategorie Alias überschrieben, sowie ich den Kategorie Namen ändere.
In zwei anderen Installationen kann ich den Namen oder Alias ändern wie ich will, das bleibt unberührt.
Woran kann es liegen, dass die eine Installation so reagiert und die andere anders?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: [BUG] Umbenennen Alias

Beitrag von Faar » Mo 12. Aug 2013, 15:59

rethus hat geschrieben: In Alias kann man eintragen was man will, der wird nie übernommen, sondern für beide Felder wird der Wert aus Categoryname übernommen.
Auch wenn beide Felde befüllt sind, wird oben die Fehlermeldung ausgegeben.
kann dass einer für 4.8.18 bestätigen?!
Eine Fehlermeldung erscheint nicht bei mir.

Aber die Funktion in der Datei contenido/includes/include.str_overview.php ab Zeile 53

Code: Alles auswählen

  if(!($perm->have_perm_area_action($tmp_area, "str_renamecat") || $perm->have_perm_area_action_item($tmp_area, "str_renamecat", $iIdCat)) ) {
wäre eigentlich schon richtig, weil sie prüft ob die Berechtigung für das Umbenennen einer Kategorie nicht vor liegt, was laut Autor so sein soll:

Code: Alles auswählen

//Everybody is allowed to update aliases, if there is no Permission to update category names, this block updates category alias only
In der Folge wird Anhand der Formulardaten in Zeile 56 geprüft, ob es für den Alias bereits einen Eintrag gibt:

Code: Alles auswählen

if (trim($_POST['newcategoryalias']) != '') {
dann wird sinnigerweise der Eintrag übernommen:

Code: Alles auswählen

$sUrlName = capiStrCleanURLCharacters($_POST['newcategoryalias']);
Sollte es im Alias-Feld keinen Eintrag geben, wird ab Zeile 64 als Alias immer der Name übernommen:

Code: Alles auswählen

      if ($db->next_record()) {
        $sUrlName = capiStrCleanURLCharacters($db->f('name'));
Aber wo steht nun die Funktion für jene, die die Berechtigung für die Umbenennung des Kategorie-Namens haben?

Code: Alles auswählen

  elseif(($perm->have_perm_area_action($tmp_area, "str_renamecat") || $perm->have_perm_area_action_item($tmp_area, "str_renamecat", $iIdCat)) ) {
(man beachte das fehlende ! im Code)

Geschieht das dann beliebig je nachdem wie das Programm gerade Lust hat, ob der Alias mit dem Namen überschrieben wird oder nicht?

VG
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: [BUG] Umbenennen Alias [gelöst]

Beitrag von xmurrix » Di 13. Aug 2013, 09:12

Habe mir gerade den Code angesehen, deie Logik für das Umbenennen von Kategotien sollte man überarbeiten.

Werde dafür ein Ticket im CONTENIDO-Ticketsystem erstellen.

Danke für eure Anmerkungen.

Grüße
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Gesperrt