bug class.genericdb.php

Gesperrt
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

bug class.genericdb.php

Beitrag von emergence »

in function deleteWhere

findet sich

Code: Alles auswählen

			if ($this->_where["global"][$field]["operator"] == $operator && $this->_where["global"][$field]["restriction"] = $restriction)
da fehlt ein =

also so

Code: Alles auswählen

			if ($this->_where["global"][$field]["operator"] == $operator && $this->_where["global"][$field]["restriction"] == $restriction)
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

das selbe bei function deleteWhereGroup zu finden
*** make your own tools (wishlist :: thx)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

auf noch was blödes draufgenagelt...

class Item -> function store()

da gibts

Code: Alles auswählen

		foreach ($this->modifiedValues as $key => $value)
		{
			if ($first == true)
			{
				$sql .= "$key = '".$this->values[$key]."'";
				$first = false;
			} else
			{
				$sql .= ", $key = '".$this->values[$key]."'";
			}
		}
das hat bei mir nun ein fehler verursacht da ich ein db feld für $key hatte das als sql anweisung misinterpretiert wurde...

zuerst bin ich das ganze umgangen in dem ich etwas wie das hier verwendet habe

Code: Alles auswählen

            $oTEST_Object_Check_Item->set("`".$key."`", $value, true);
dies hat aber nach dem aufruf von store zu folge das der value und lastModified array des objekts diese keys ebenso mit ` aufweist...

in der db wird es aber richtig gesichert...

somit...

änderung in der store methode

Code: Alles auswählen

		foreach ($this->modifiedValues as $key => $value)
		{
			if ($first == true)
			{
				$sql .= "`$key` = '".$this->values[$key]."'";
				$first = false;
			} else
			{
				$sql .= ", `$key` = '".$this->values[$key]."'";
			}
		}
und man kann ruhigen gewissens etwas wie das hier verwenden

Code: Alles auswählen

            $oTEST_Object_Check_Item->set($key, $value, true);
*** make your own tools (wishlist :: thx)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Checkin.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

backtick nicht generic

Beitrag von knb »

Das mit dem Backtick ist doch mysql-Proprietär , nicht wahr?
Diese Änderungen machen den Code doch weniger "generic" ?

(Meinetwegen kann der geänderte Code auch so bleiben, da wohl niemand was anderes als das mysql DBMS als Datastore für Contenido benutzt.)
Gruss,
Knut
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Na ja, es ist ja geplant, noch einen DB-Abstraktionslayer dazwischenzulegen. Die genericdb ist - trotz des Namens - nicht dieser Layer.

Wenn also der Layer eingezogen wird, muss sowieso jeder Bereich angefasst werden, das fällt dann nicht mehr auf...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Done.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Gesperrt