Zum Inhalt springen

suche nach Quellcode für checkboxen

Erstellt am 9. September 2006 · 1 Antwort · letzte Antwort am 9. September 2006

Tags: TCA, PHP, Frage

yoggi74 ·

Hallo,
wenn ich z.B. FE_Usern eine Eigenschaft mit Mehrfachauswahl hinzufüge (über Extention Kickstarter), wird diese in MySQL als Dezimalwert gespeichert.
Beispiel:
FE_User erhalten die Eigenschaft "spricht Sprache";
mögliche Sprachen (also die Checkboxen): englisch; deutsch; französisch

Werte für "spricht Sprache":

0 - keine Sprache
1 - englisch
2 - deutsch
3 - englisch + deutsch
4 - französisch
5 - französisch + englisch
6 - französisch + deutsch
7 - alle Sprachen

Was mich jetzt interessiert, ist der Quellcode für die Umrechnung. Kann mir jemand sagen, in welcher Klasse und welcher Methode diese Checkboxen ausgewertet und umgerechnet werden?
Ich habe schon selber gesucht, aber da mir noch der Überblick über die Struktur des TYPO3-Codes fehlt, ähnelt die Sache bei mir eher der Suche nach der Stecknadel im Heuhaufen ;-)

steffenk ·

die Umrechnung geht über bits, also

2^0 + 2^1 + 2^2 + 2^3 ...
das wäre, wenn alle gesetzt sind.

Ist bei Dir z.B. 2 und 5 gesetzt, so steht in der DB
2^2 + 2^5 = 4 + 32 = 36

Umrechnung wäre also

function int2Array ($val) {
  $ret=array();
  for($i=0;$i<8;$i++) {
	$ret[$i]=$val & pow(2,$i) ? 1 : 0;
  }
  return $ret;
}