Seite 1 von 2

Startartikel Eigenschaft wird gelöscht

Verfasst: Do 22. Jun 2006, 22:40
von Beleuchtfix
Wie haben bei dem Modul PSMetatags festgestellt, dass die Startartikel Eigenschaft gelöscht wird, wenn der User nicht berechtigt ist, diese Eigenschaft zu bearbeiten. Bug :?:

Siehe http://contenido.org/forum/viewtopic.ph ... highlight=

Ende der 2. Seite.
Gruß
Florian

Verfasst: Fr 23. Jun 2006, 05:55
von emergence
kann sein.. wenns ohne funktioniert ziemlich sicher fehler des plugins...

ähm, und jetzt ?

Verfasst: Fr 23. Jun 2006, 10:17
von Beleuchtfix
Ohne Plugin hat vielleicht noch keiner ausgetestet.

Dann muss ich wohl mal einen Zugang ohne Plugin und mit entsprechenden Rechten einrichten und austesten.

Gruß
Florian

Verfasst: Fr 23. Jun 2006, 14:38
von Beleuchtfix
Ich habe das Ganze jetzt mit einer fast leeren 4.6.8 Demo getestet.

Einzig gesetzten Rechte sind Artikeleigenschaften bearbeiten. Startartikel setzen ist nicht erlaubt.

Sobald die Artikeleigenschaften bearbeitet wurden, wird die Eigenschaft Startartikel gelöscht :!:

Also wohl doch ein Bug in Contenido.
Gruß
Florian

Verfasst: Fr 23. Jun 2006, 17:46
von mvf
Beleuchtfix hat geschrieben:Sobald die Artikeleigenschaften bearbeitet wurden, wird die Eigenschaft Startartikel gelöscht :!:
kann ich bestätigen für 4.6.8.5 und die MR von stese vom 03.06., beide ohne psMetaTag Plugin!

denke auch das dies ein bug ist :?

Verfasst: Fr 23. Jun 2006, 22:57
von HerrB
Ja, ist einer, wurde auch schon mal irgendwo gepostet...

Gruß
HerrB

Verfasst: Sa 24. Jun 2006, 01:17
von emergence
entweder ist das ein bug in der
db: con_actions - con_saveart

oder in der functions.con.php
-> function conEditArt

das klingt für mich so das ganze komplett auseinander zu nehmen und am besten gleich neu zu schreiben... (meine güte -> das wird stunden kosten)
da kann man auch gleich die conEditFirstTime mit überarbeiten (zwei funktion machen was ähnliches aber nicht 100%ig ident...)

jetzt frag ich mal ganz blöd, hat jemand lust das zu finanzieren ?

Verfasst: Sa 24. Jun 2006, 18:07
von m.wohlers
Hallo!
emergence hat geschrieben:jetzt frag ich mal ganz blöd, hat jemand lust das zu finanzieren ?
Also ich stimme für ein "Bounty-System", bei dem gewissen Features durch die Community finanziert werden können...

Wäre sofort mit einem zweistelligen Betrag dabei!

Mit schwarz-rot-goldenen Grüssen...

Verfasst: So 25. Jun 2006, 09:27
von emergence
yep, wäre ne nette idee...

Verfasst: So 25. Jun 2006, 21:31
von m.wohlers
Hallo,
emergence hat geschrieben:yep, wäre ne nette idee...
Wie heißt es so schön?
Du bist Deutschland!
8)

Also ich bin dabei, das müsste nur jemand organisieren (à la Communido)...

Mit freundlichen Grüssen,

Verfasst: Di 27. Jun 2006, 13:26
von xmurrix
Hallo zusammen,

habe das Problem mit dem eingrenzen können. In der Datei "contenido/includes/include.con_edit_form.php" steht in der Zeile 327 folgender Eintrag:

Code: Alles auswählen

$tmp_start = ($tmp_is_start == 0) ? '<input disabled="disabled" type="checkbox" name="" value="1">' : '<input disabled="disabled" type="checkbox" name="" value="1" checked="checked">';
Da der Name "is_start" der Checkbox nicht gesetzt wird, wenn der User keine Berechtigung hat, wird die Eigenschaft beim Speichern auf 0 gesetzt.

Die Änderung auf

Code: Alles auswählen

$tmp_start = ($tmp_is_start == 0) ? '<input disabled="disabled" type="checkbox" name="is_start" value="1">' : '<input disabled="disabled" type="checkbox" name="is_start" value="1" checked="checked">';
sollte das Problem beheben...

Grüße
xmurrix

Verfasst: Fr 30. Jun 2006, 17:24
von emergence
intressante variante...
bin mir da aber nicht sicher ob bei einem disabled="disabled" die gesetzten werte übertragen werden... (das muss nicht bei allen browsern ident sein...)

na wie auch immer, vielleicht kann ja einer testen und hier feedback geben (intressant obs bei firefox, ie, safari geht)

Verfasst: Mo 3. Jul 2006, 11:12
von xmurrix
emergence hat geschrieben:bin mir da aber nicht sicher ob bei einem disabled="disabled" die gesetzten werte übertragen werden... (das muss nicht bei allen browsern ident sein...)

na wie auch immer, vielleicht kann ja einer testen und hier feedback geben (intressant obs bei firefox, ie, safari geht)
IE, Firefox, Opera, Netscape übertragen keine Daten von Formularfeldern, die das Attribut "disabled" haben. Also war mein Vorschlag für die Katz.

Die Idee, "readonly" anstatt "disabled" zu verwenden, ist auch keine Lösung, da dies bei einer Checkbox gar keinen Einfluss hat.

Eine schnelle Lösung wäre in der Datei 'include.con_edit_form.php' zusätzlich ein Hidden-Feld mit dem aktuellen $is_start-Wert hinzuzufügen, wenn der User kein Recht auf das Setzen der Startartikel Eigenschaft hat.

Aber in der DB (con_actions - con_saveart) sehe ich einen Fehler ab der Zeile 156:

Code: Alles auswählen

$sql = "SELECT * FROM ".$cfg["tab"]["cat_lang"]." WHERE idcat = '$idcat' AND idlang = '$lang' AND startidartlang != '0' ";
$db->query($sql);
if ( $db->next_record() )
{
    $tmp_startidartlang = $db->f('startidartlang');
    if ($idartlang == $tmp_startidartlang)
    {
        conMakeStart($tmp_idcatart, 0);
    }else
    {
        ; # do nothing
    }
    
}else
{
    conMakeStart($tmp_idcatart, 0);
}

Wenn $idartlang gleich $tmp_startidartlang ist, dann sollte auch die Startartikel Eigenschaft nicht auf '0' gesetzt werden, also:

Code: Alles auswählen

    $tmp_startidartlang = $db->f('startidartlang');
    if ($idartlang == $tmp_startidartlang)
    {
        ; # do nothing
    }else
    {
        conMakeStart($tmp_idcatart, 0);
    }
Was meint ihr?

Grüße
xmurrix

Verfasst: Mo 3. Jul 2006, 18:50
von emergence
Was meint ihr?
hmm... eine erste bereinigung der action hab ich ja mal vorgenommen...
hier zu finden -> http://www.contenido.org/forum/viewtopi ... 2039#82039
änderungen daran vorzunehmen ist vielleicht leichter... (könnte auch sein das ich obriges dort schon gekillt hab... weiss ich jetzt aber nicht mehr...)

die andere sache
der code mit is_start hat in der action con_saveart sowieso nichts verloren...
sollte in die funktion rein... und in der funktion findet sich auch ein have_perms aufruf... hat auch nix dort verloren... sollte in die action...

das führt aber wieder dazu das zeugs neu schreiben zu müssen...
(die mehrfachzuordung wird ja auch noch in der funktion erledigt...)

ist noch immer viel arbeit...

Verfasst: Mo 3. Jul 2006, 19:33
von xmurrix
eine erste bereinigung der action hab ich ja mal vorgenommen...
hier zu finden -> http://www.contenido.org/forum/viewtopi ... 2039#82039
änderungen daran vorzunehmen ist vielleicht leichter... (könnte auch sein das ich obriges dort schon gekillt hab... weiss ich jetzt aber nicht mehr...)
Der Code sieht schon viel besser aus. Allerdings wird auch hier die Startartikel-Eigenschaft auf '0' gesetzt. Ab Zeile 71 den Code:

Code: Alles auswählen

                        $tmp_startidartlang = $db->f('startidartlang'); 
                        if ($idartlang == $tmp_startidartlang) 
                        { 
                            conMakeStart($tmp_idcatart, 0); 
                        } 
ersetzen mit

Code: Alles auswählen

                        $tmp_startidartlang = $db->f('startidartlang'); 
                        if ($idartlang != $tmp_startidartlang) 
                        { 
                            conMakeStart($tmp_idcatart, 0); 
                        } 
Wenigstens ist dann der Fehler behoben.

Der Sache mit der Arbeit an "con_saveart", "conEditFirstTime" und "conEditArt" stimme ich zu. Auch wenn ich mit Contenido sehr zufrieden bin, gibt es doch hier und da immer Möglichkeiten zur Verbessung/Optimierung.

Gruß
xmurrix