Kategorien lassen sich nicht sperren

Gesperrt
Nakoda
Beiträge: 219
Registriert: Fr 2. Jul 2004, 23:50
Wohnort: Hamburg
Kontaktdaten:

Kategorien lassen sich nicht sperren

Beitrag von Nakoda » Mo 28. Apr 2008, 12:44

Hallo zusammen,

hab ein kleines Problem mit dem schützen von Kategorien.
Ich erhalte dann folgendes im Errolog:

Code: Alles auswählen

[28-Apr-2008 13:25:21] /contenido/main.php?area=con&action=con_makepublic&frame=2&idcat=87&public=1&contenido=850d39c8b0496b1e5b7af97e01e55e28 MySQL error 1366: Incorrect integer value: '' for column 'public' at row 1
UPDATE con_cat_lang SET public='', lastmodified = '2008-04-28 13:25:21' WHERE idcat='87' AND idlang='1'
Die Meldung ist ja auch soweit verständlich. Denn er bekommt ja keinen Wert. Die Frage ist nur warum will er NULL eintragen obwohl 'ne '0' doch richtig wäre? Kann mir da jemand weiterhelfen?
Eine Suche mit Kategorie schützen Freigeben hat mir leider nicht das benötigte Ergebnis geliefert.
Danke schon mal im voraus.
Gruß aus HH

Armin
http://sig.sysprofile.de/quicksys/sysp-102592.png
Contenido 4.8.18

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

Beitrag von emergence » Mo 28. Apr 2008, 15:02

erstmal verschoben...

betroffene funktion

Code: Alles auswählen

function conMakePublic($idcat, $lang, $public)
{
    global $db, $cfg;
    
	$a_catstring = conDeeperCategoriesArray($idcat);
	foreach ($a_catstring as $value) {
		$sql = "UPDATE ".$cfg["tab"]["cat_lang"].
			   " SET public='".!$public."', lastmodified = '".date("Y-m-d H:i:s").
			   "' WHERE idcat='$value' AND idlang='$lang' ";
		$db->query($sql);
	}	
}
naja das !$public ist nicht gerade ideal...

sag welche mysql version hast du im einsatz ?
*** make your own tools (wishlist :: thx)

timo.trautmann_4fb
Beiträge: 472
Registriert: Di 15. Apr 2008, 15:57
Wohnort: Michelstadt
Kontaktdaten:

Beitrag von timo.trautmann_4fb » Mo 28. Apr 2008, 16:48

Fix für nächstes Release checkin:

Code: Alles auswählen

function conMakePublic($idcat, $lang, $public)
{
    global $db, $cfg;
    $public = (int) $public;
    if ($public != 1) {
        $public = 0;
    }
    
	$a_catstring = conDeeperCategoriesArray($idcat);
	foreach ($a_catstring as $value) {
		$sql = "UPDATE ".$cfg["tab"]["cat_lang"].
			   " SET public='".$public."', lastmodified = '".date("Y-m-d H:i:s").
			   "' WHERE idcat='$value' AND idlang='$lang' ";
		$db->query($sql);
	}	
}

Gesperrt